diff --git a/changelogs/unreleased/8450-kaovilai b/changelogs/unreleased/8450-kaovilai new file mode 100644 index 0000000000..1fa585c9e3 --- /dev/null +++ b/changelogs/unreleased/8450-kaovilai @@ -0,0 +1 @@ +Upgrade go.mod k8s.io/ go.mod to v0.31.3 and implemented proper logger configuration for both client-go and controller-runtime libraries. This change ensures that logging format and level settings are properly applied throughout the codebase. The update improves logging consistency and control across the Velero system. diff --git a/config/crd/v1/bases/velero.io_backuprepositories.yaml b/config/crd/v1/bases/velero.io_backuprepositories.yaml index a74e3bd7df..2ac737063e 100644 --- a/config/crd/v1/bases/velero.io_backuprepositories.yaml +++ b/config/crd/v1/bases/velero.io_backuprepositories.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: backuprepositories.velero.io spec: group: velero.io diff --git a/config/crd/v1/bases/velero.io_backups.yaml b/config/crd/v1/bases/velero.io_backups.yaml index 11a70e1fb9..9a2a88e3f0 100644 --- a/config/crd/v1/bases/velero.io_backups.yaml +++ b/config/crd/v1/bases/velero.io_backups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: backups.velero.io spec: group: velero.io @@ -63,7 +63,6 @@ spec: DefaultVolumesToRestic specifies whether restic should be used to take a backup of all pod volumes by default. - Deprecated: this field is no longer used and will be removed entirely in future. Use DefaultVolumesToFsBackup instead. nullable: true type: boolean diff --git a/config/crd/v1/bases/velero.io_backupstoragelocations.yaml b/config/crd/v1/bases/velero.io_backupstoragelocations.yaml index a5ad561915..c5f49321c9 100644 --- a/config/crd/v1/bases/velero.io_backupstoragelocations.yaml +++ b/config/crd/v1/bases/velero.io_backupstoragelocations.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: backupstoragelocations.velero.io spec: group: velero.io @@ -92,9 +92,7 @@ spec: This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. - TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. type: string optional: description: Specify whether the Secret or its key must be defined @@ -146,7 +144,6 @@ spec: description: |- AccessMode is an unused field. - Deprecated: there is now an AccessMode field on the Spec and this field will be removed entirely as of v2.0. enum: @@ -158,7 +155,6 @@ spec: LastSyncedRevision is the value of the `metadata/revision` file in the backup storage location the last time the BSL's contents were synced into the cluster. - Deprecated: this field is no longer updated or used for detecting changes to the location's contents and will be removed entirely in v2.0. type: string diff --git a/config/crd/v1/bases/velero.io_deletebackuprequests.yaml b/config/crd/v1/bases/velero.io_deletebackuprequests.yaml index 9d301e8043..5825524785 100644 --- a/config/crd/v1/bases/velero.io_deletebackuprequests.yaml +++ b/config/crd/v1/bases/velero.io_deletebackuprequests.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: deletebackuprequests.velero.io spec: group: velero.io diff --git a/config/crd/v1/bases/velero.io_downloadrequests.yaml b/config/crd/v1/bases/velero.io_downloadrequests.yaml index 03644a56bb..3b1f3f4161 100644 --- a/config/crd/v1/bases/velero.io_downloadrequests.yaml +++ b/config/crd/v1/bases/velero.io_downloadrequests.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: downloadrequests.velero.io spec: group: velero.io diff --git a/config/crd/v1/bases/velero.io_podvolumebackups.yaml b/config/crd/v1/bases/velero.io_podvolumebackups.yaml index 08e703ef27..9ccff4124a 100644 --- a/config/crd/v1/bases/velero.io_podvolumebackups.yaml +++ b/config/crd/v1/bases/velero.io_podvolumebackups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: podvolumebackups.velero.io spec: group: velero.io @@ -96,7 +96,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- diff --git a/config/crd/v1/bases/velero.io_podvolumerestores.yaml b/config/crd/v1/bases/velero.io_podvolumerestores.yaml index 1c38a7d71c..888ac16696 100644 --- a/config/crd/v1/bases/velero.io_podvolumerestores.yaml +++ b/config/crd/v1/bases/velero.io_podvolumerestores.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: podvolumerestores.velero.io spec: group: velero.io @@ -93,7 +93,6 @@ spec: the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change in the future. type: string kind: description: |- diff --git a/config/crd/v1/bases/velero.io_restores.yaml b/config/crd/v1/bases/velero.io_restores.yaml index ce18d29bf6..1b92ea4fcc 100644 --- a/config/crd/v1/bases/velero.io_restores.yaml +++ b/config/crd/v1/bases/velero.io_restores.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: restores.velero.io spec: group: velero.io diff --git a/config/crd/v1/bases/velero.io_schedules.yaml b/config/crd/v1/bases/velero.io_schedules.yaml index 6d1f1a3f09..857d4a1ee1 100644 --- a/config/crd/v1/bases/velero.io_schedules.yaml +++ b/config/crd/v1/bases/velero.io_schedules.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: schedules.velero.io spec: group: velero.io @@ -102,7 +102,6 @@ spec: DefaultVolumesToRestic specifies whether restic should be used to take a backup of all pod volumes by default. - Deprecated: this field is no longer used and will be removed entirely in future. Use DefaultVolumesToFsBackup instead. nullable: true type: boolean diff --git a/config/crd/v1/bases/velero.io_serverstatusrequests.yaml b/config/crd/v1/bases/velero.io_serverstatusrequests.yaml index a0e8c6bcef..af35815fed 100644 --- a/config/crd/v1/bases/velero.io_serverstatusrequests.yaml +++ b/config/crd/v1/bases/velero.io_serverstatusrequests.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: serverstatusrequests.velero.io spec: group: velero.io diff --git a/config/crd/v1/bases/velero.io_volumesnapshotlocations.yaml b/config/crd/v1/bases/velero.io_volumesnapshotlocations.yaml index b92ca6f35e..111a19df5a 100644 --- a/config/crd/v1/bases/velero.io_volumesnapshotlocations.yaml +++ b/config/crd/v1/bases/velero.io_volumesnapshotlocations.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: volumesnapshotlocations.velero.io spec: group: velero.io @@ -63,9 +63,7 @@ spec: This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. - TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. type: string optional: description: Specify whether the Secret or its key must be defined diff --git a/config/crd/v1/crds/crds.go b/config/crd/v1/crds/crds.go index 397042b4af..60c18e9eb9 100644 --- a/config/crd/v1/crds/crds.go +++ b/config/crd/v1/crds/crds.go @@ -29,17 +29,17 @@ import ( ) var rawCRDs = [][]byte{ - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xccXO\xaf\xdb6\f\xbf\xe7S\x10\xdduNZl\x87!\xb76[\x81bm\xf1\x90\x14\xef\xae\xd8t\xa2>Y\xd2$*]\xf6\xe7\xbb\x0f\x94\xecı\x95\xf8\xe5\r\x18\xa6\x9b%\x92\"\xf9#\x7fTR\x14\xc5LX\xf9\x88\xceK\xa3\x97 \xac\xc4\xdf\t5\x7f\xf9\xf9\xd3O~.\xcd\xe2\xf0f\xf6$u\xb5\x84U\xf0d\x9a5z\x13\\\x89?c-\xb5$i\xf4\xacA\x12\x95 \xb1\x9c\x01\b\xad\r\t\xde\xf6\xfc\tP\x1aM\xce(\x85\xaeء\x9e?\x85-n\x83T\x15\xbah\xbc\xbb\xfa\xf0z\xfe\xe6\xc7\xf9\xeb\x19\x80\x16\r.a+ʧ`\x1dZ\xe3%\x19'\xd1\xcf\x0f\xa8Й\xb943o\xb1d\xeb;g\x82]\xc2\xf9 i\xb77'\xaf\xdfEC\xeb\xce\xd01\x1e)\xe9\xe9\xd7\xec\xf1G\xe9)\x8aX\x15\x9cP9Gⱗz\x17\x94p#\x01\xbe\xc0\x97\xc6\xe2\x12>\xb3/V\x94X\xcd\x00\xdaH\xa3o\x05\x88\xaa\x8a\xb9\x13\xea\xc1IM\xe8VF\x85\xa6\xcbY\x01_\xbd\xd1\x0f\x82\xf6K\x98wٝ\x97\x0ecb\xbf\xc8\x06=\x89\xc6F\xd9.aow\xd8~ӑ/\xaf\x04\xe1\xd8\x18gn~\xf6\xf5\xcb\xd1⅕s\"\xa0w\x96,zrR\xeffg\xe1Û\x94\x8ar\x8f\x8dX\xb6\xb2Ƣ~\xfb\xf0\xe1\xf1\x87\xcd\xc56\x80uƢ#\xd9\xc1\x93V\xaf\xfcz\xbb\x00\x15\xfa\xd2IK\xb18\xfe*.\xce\x00\xf8\x82\xa4\x05\x15\xd7!z\xa0=v9ƪ\xf5\tL\r\xb4\x97\x1e\x1cZ\x87\x1eu\xaaL\xde\x16\x1a\xcc\xf6+\x964\x1f\x98ޠc3\xe0\xf7&\xa8\x8a\xcb\xf7\x80\x8e\xc0aivZ\xfeq\xb2\xed\x81L\xbcT\tBO\x10Q\xd4B\xc1A\xa8\x80߃\xd0\xd5\xc0r#\x8e\xe0\x90\uf120{\xf6\xa2\x82\x1f\xfa\xf1\xc98\x04\xa9k\xb3\x84=\x91\xf5\xcb\xc5b'\xa9k\xca\xd24MВ\x8e\x8b\xd8_r\x1b\xc88\xbf\xa8\xf0\x80j\xe1\xe5\xae\x10\xae\xdcK\u0092\x82Å\xb0\xb2\x88\x81\xe8ؘ\xf3\xa6\xfaεm\xec/\xae\x1d\x01\x9dV\xec\xa4;\xe0\xe1\xd6\x02\xe9A\xb4\xa6R\x88g\x14x\x8bS\xb7\xfee\xf3\x05:O\x12R\t\x94\xb3\xe8(/\x1d>\x9cM\xa9ktI\xafv\xa6\x896QW\xd6HM\xf1\xa3T\x125\x81\x0f\xdbF\x12\x97\xc1o\x01=1tC\xb3\xabH\\\xb0E\b\x96[\xa7\x1a\n|а\x12\r\xaa\x95\xf0\xf8\x1fcŨ\xf8\x82Ax\x16Z}:\x1e\n\xa7\xf4\xf6\x0e:*\xbd\x02\xed\x90\x1e7\x16KF\x96\x93˪\xb2\x96e\xea\xa9\xda8\x10#\xf9\xcbL\xe5)\x80W\"\xd1\r\x19'v\xf8\xd1$\x9bC\xa1\xa9\xb2\xe3\xf5.g\xa8\xf3\x98i+q\x02\xe6\x053\x06i/\xa8G\x06$\xa4>qJ6\xc8\x1b\xc8Dt\x043\x85\x16\xba\xc4\xf7\xb1\x1euy\x9c\b\xf4SF\x85Cڛo`jB\xdd7\xda\xfa\x9a\x89d\x8b\xe0\x82\xbe\xcb\xd9s\x8c+\xa3k\xb9\x1b;\xda\x1fd\xd7\xc0\x9d\xb8d\x10\xedzp'G\xca\xc5u\xf6\xa5\xe8*\x8f\x01\xa9\xe5.\xb8k\xe0\xd5\x12U5\xa2\x10\x00\x1d\x94\x12[\x85K \x17\xf0JFF\xbdr\x99\x11\x9e\x8f\x13\xc0\xad/\x84Aꊻ\xa5\x1dV|IW\x8c\\\xfe\xa8+p\x97ϔ\xfeB\x1d\x9a\xf1u\x05<\x19+Efߡ'Yf\x0e^\xbd\xba\xaf\x02\xd8̇\x8a騖\xe8^ғ끍\xae\x1d\xeb\xa0T{AQ\x9a\xc6\n\x92[\x85\xdd\xcc`\xcce\xd29\xe6\x8a\x06\xfeU\x1b\x1e\xf8\xbd\x85\xa7\x17\xdaK\xc2z\xbc4\xd1'\x99\xb4\x11\xfdK\xcc\xd6s\xb3c\x11\x9f1iM\xd5z\xd6\xea\xc5ҿ#0\xa6\a\xe9p0\xad\x8b<\xbf\x0edr\xcc4\x10\x19V\xc3\xe0x\x90\xd4g\xcd\x1f\x12\x14\xfc=\x13(*t\xc9.\x83sq§]~ؽx\x06)\xe1\xa9G\xb5\xfc̞(\x8b\x8fc\x8d\xce16\x06\xc4\x1b\x8c|?\xb7\x19\xd8}(K\xc4j\xfc\xe8\x00\x86\xbf\x11\x94\x9e\xf3\x05\xdb{\x19\x97\xe5G\x11z/vSA~JR\xe9=ת\x80ؚ@W\x10\xa0}.\xc6ۨLxj\xf7\xc2O\xf9\xf9\xc02\xb9\xba\x18\x8c\xfc[.\\#\xd9\xcf\xf8-\xb3\xbbFQ\x8d\x89\xba\x80φ\xf2G7y\xb6D\xdd/\xa6\xc9\xd12\x90\xe7\xc8/0hM\x8e\xeao\x1c\xb5$l\xb2C\xfbz\xaf\xa4Ť\xad\x90\xf0\xf4\x8b4/6p}5\xd4:\x81\x96\x0e\xf8\xc1\x16;\xe7j-u)\x9b\n,\xad\xe9\x16Jk\xa2\x91Һ\xf9\x8e\x81[M\x95\xc9Ľ\xadu5\x15\t\xee\xe7\xa5c2\x02\x87>(zV\x00\xeb(\xda\xe1\x97\x14\xcf\xe5\xf7<\x7f\xf2=\x97V\x01\x9b\x8e\x1a\xafJ\xbc\x17R]=\x9e\f֓pt_\xfdn.TN\xbf\x86x\xb7_\xb7\xff\xcb\xfa\xbc\xf1\xb2\xed\x0e\x85s\xe28=\xbaG\x9b\x9e\x7f\x98W=\xe7|zm\xf4w\xc2\xf6\xf4\xbf\xc3\x12\xfe\xfc{\xf6O\x00\x00\x00\xff\xff\x1e(\xcb\xee\x81\x14\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec}_s\xdb8\x92\xf8{>\x05ʿ\x87\xd9ݒ\xecI\xfd\xf6\xe1\xcao\x19'\xb9Q\xedL\xe2\x8a=\xd9g\x88lI\x18\x83\x00\x17\x00ek\xef\xee\xbb_\xa1\x01\xf0\x8f\b\x92\xa0,{\xb2{\xe1Kb\x11l\x00ݍ\xfe\x0f`\xb9\\\xbe\xa1%\xfb\nJ3)\xae\t-\x19<\x19\x10\xf6/}\xf9\xf0\x1f\xfa\x92ɫ\xfd\xdb7\x0fL\xe4\xd7\xe4\xa6\xd2F\x16_@\xcbJe\xf0\x1e6L0äxS\x80\xa195\xf4\xfa\r!T\bi\xa8\xfdY\xdb?\tɤ0Jr\x0ej\xb9\x05q\xf9P\xada]1\x9e\x83B\xe0\xa1\xeb\xfd\x8f\x97o\xffz\xf9\xe3\x1bB\x04-\xe0\x9a\xaci\xf6P\x95\xfar\x0f\x1c\x94\xbcd\xf2\x8d.!\xb3 \xb7JV\xe55i^\xb8O|wn\xa8?\xe1\xd7\xf8\x03g\xda\xfc\xad\xf5\xe3/L\x1b|Q\xf2JQ^\xf7\x84\xbfi&\xb6\x15\xa7*\xfc\xfa\x86\x10\x9d\xc9\x12\xae\xc9'\xdbEI3\xc8\xdf\x10\xe2G\x8d].\xfd\x80\xf7o\x1d\x84l\a\x05uc!D\x96 \xdeݮ\xbe\xfe\xff\xbb\xceτ\xe4\xa03\xc5J\x83s\xff\xefe\xfd;\xf1\xa3$L\x13J\xbe\xe2\x1c\x89\xf2('fG\rQP*\xd0 \x8c&f\a$\xa3\xa5\xa9\x14\x10\xb9!\x7f\xab֠\x04\x18\xd0-x\x19\xaf\xb4\x01E\xb4\xa1\x06\b5\x84\x92R2a\b\x13İ\x02ȟ\xdeݮ\x88\\\xff\x0e\x99ф\x8a\x9cP\xadeƨ\x81\x9c\xec%\xaf\np\xdf\xfe\xf9\xb2\x86Z*Y\x822, \xdd=-Nj\xfd:6W\xfbX\xf4\xb8\xafHnY\nܴ<\x8a!\xf7\x18\xb5\xf33;\xa6\x9b\xe9#\x93ٟ\xa9\xf0ÿ<\x02}\aʂ!z'+\x9e[N܃\xb2\b\xcc\xe4V\xb0\x7fְ51\x12;\xe5Ԁ\xb6\x981\xa0\x04\xe5dOy\x05\v\x8b\x94#\xc8\x05=\x10\x05\xb6OR\x89\x16<\xfc@\x1f\x8f\xe3W\xa9\x800\xb1\x91\xd7dgL\xa9\xaf\xaf\xae\xb6̄\xf5\x95ɢ\xa8\x043\x87+\\*l]\x19\xa9\xf4U\x0e{\xe0W\x9am\x97Te;f \xb3d\xbe\xa2%[\xe2D\x04\xae\xb1\xcb\"\xff\x7f\x81=t\xa7[s\xb0l\xab\x8dbb\xdbz\x81\xebc\x06y\xec\xd2q\xcc\xe8@\xb9)6T\xb0?Y\xd4}\xf9pw\xdffT\xa6=QZ\xfc:D\x1f\x8bM&6\xa0\xdcw\x1b%\v\x84\t\"w\xac\x8a|\xce\x19\bCt\xb5.\x98\xb1l\xf0\x8f\n\xb4]\x03\xf2\x18\xec\r\xca \xb2\x06R\x95\xb9e\xe3\xe3\x06+Anh\x01\xfc\x86jxeZY\xaa\xe8\xa5%B\x12\xb5ڒ\xf5\xb8\xb1Co\xebE\x10\x90\x03\xa4u\x82宄\xac\xb3\xd0\xecWl\xc32\xb7\x9c6R5r\xc7\xc9\xc0.\x86\xe2K\xdf>\x99fw\x82\x96z'\xcd=+@V\xe6\xb8\xc5\x14\xaf!\xf1\xeeVGP\xc2\b\xfdxQfU\x1ar\xbbh\x1f)38曻\x15\xf9\x8a\xc2*|\x8dB\xab\xd2\xc4TJX.\x89\xf4\xf5\x05h~\xb8\x97\xbfi y\x85̝)@<,\xc8\x1a6\x96\x13\x14\xd8\xef\xed+P\xca\xe2F\xe3\x00d\xd5\x136\xf6\xb9߁\xc5-\xad\xb8\xf1\xeb\x84i\xf2\xf6GR0Q\x99\x1e\xab\rR\x1d1E\r-\xe4\x1e\xd4)H|O\r\xfd\xd5~|\x84;\v\x94 T\x8b\xbc\xb5\xc7\xe3\xfa\x80/c\xd4v\xcfjӂ\xc84\xb9\xb8 R\x91\v\xa7\x81/\x16\xee\xeb\x8aq\xb3d\xa2\xdd\xc7#\xe3<\xf42o\xf2\x0e\x87\x8e\xa0\xfa^~ԎyO\xc2\xc5\x00\xac\x16j\x1ew`v\xa0H)k\x8d\xb7a\x1c\x88>h\x03\x85GL\xd0\"~>\x91\x9ep\xedp\xeeAh\x8bW?\x91\xfe\xe4E\xc59]s\xb8&FU0\x80\x9b\xb5\x94\x1c\xa8\x98@\xce\x17Іe\xe7@\x8d\x83\x14A\x8c\xf2/:\x18@\xa5I\x1f\x80\xd0\bh\x8f3\xab\x9d9o!\xb6\x8b\x957\xd1A\x95\n2+\xb6\xaf\xbd:`\xc0Q\x05\tI\xb8\x14[P\xae{k\xaa\x04\x0eS`9.'V\xd2*\xe0V\x9d\x90Me\x85\xf0%\xb1\xcb{\x90\t\x98\xd0\x06h\x84;\x9fA x\xcax\x95C~\xe3,\xaf;k@\xe6\xc1l\xee\x89\xcd\x14B}\x18\x85\xe8\xd53g\x19Z\x81\xde\xe0[\xa2\xe1\x1a\xe3\xd3FK\x1fJp\xb6\xb3\xa5\xa5\x1fv\xa3~G\x05\x82\x06c?\xba\xf8\xcb\xc5\x02I\xdc\xed\xb5ۇ&TA\x8d\x96d\xc1\tEi\x0e\xfd\xd6\xcc@\x11\xc1\xe2\xa8@I\xa4'U\x8a\x1e\x06\xa8Y;\x00g\xa4\xe7\x10\xcc#\x8a\x8a\xd0\xec\x95iz\xdc\xef\xbf3U\xcfCG\x8d\xee.e\xc2\xd2\xcfz\x9e\x1d\xf2i\xe7\xc0Y\xb4\ti\"\xf0\x98p\xf0\xd07\x1b\xa1\xd6\x1f\x84\xac\xb3\xf0\xfc\x10\x93\u05fc\xe5\x99\xf7_\x12S;)\x1f\xa6\xb0\xf3\xb3m\xd3xE$ð\nYÎ\xee\x99T~ꍮ\x85'\xc8*\x13]\xf5Ԑ\x9cm6\xa0,\x9crG5h\xe7'\x0f#d\xd8~'-1\x12}y4\x8f\x86\x90\x96L8\xf3\xa1\xa1[C\xe2XK\x86\xc7\x0e\xd4\xdaר\x8cs\xb6gyE9\xeae*27\x1fZ\x8f+&eF\x88\xdc\x1bs\x943\xdd\xe3\f\x820)K\xa4\x8e\xab$\x05X\xa3\xb7\xb0NA\xbf\xe9\xf0\xcc\xd7\xd4\xda*rh\xf6\x04\x89\xa5*\x0e\xdaw\x95\xa3\x1d\xd9ȌEC\x14\x8cD\x10N\xd7\xc0\x89\x06\x0e\x99\x91*\x8e\x91):\xbb'E\b\x0e 2\"\xf9\xba\xaeF3\x81\x11\x90\x04}\xb8\x1d\xcbv\xceԳL\x84pH.\xc1\x1a|\x86в\xe4\x11u\xd1<\xa3\xc4\xf7\x9d\x8c\xad\xf5\xe6\x99X\xf5\xc7\xf0b\xeb\xbfy\x12df\xf3DQ۬\xaf.fkv\x88;\xb5\xcd\xf3\xef\x89\xd8 \xf9O`ڑ\xd5O0,\x94\xccӃ|k\xb1\xca@_Zs\n-\x9d\x05a&\xfc:\xb5\x12:6W/Z\xd6A·M\x9b\xf9L\x9fH\x9a\x945\xf1B\x84\xa9\xbb\xf8\x17\xa4\v\xaa\x8c;\xaf1\x92i\xf2K\xfb\xab\x05a\x9b\x1a\xe9\xf9\x82l\x187\xa0\x8e\xb0\x7f\x92\xa8\x0f\x949\a2R\xb4\x1e\xc1\xf8\xbd\xc9v\x1f\x9e\xac\t\xa6\x9bTU\"^\x8e?v\x86l\xb0\xf6\xbb\xeay\x02.\xc186SP`|\x1c=\xa6\xf6/hZ\xbd\xfb\xf4>\xee_\xb5\x9f\x04\xce\xebMdbѹ\xe7\xddь\xda\xe3\xf3&|x\x836P\xed\x00\xb9\\ȂP\xf2\x00\ag\xbaPA,}hh\x9cн\x02L\xca \x9f=\xc0\x01\xc1ij,\xfd'\x95\x1b\xdc\xf3\x00\x87\x94fG8\xb4cb\xdag\x8f,\x9e\xec\x0f\x88\b\f\xae\xa7\xb2\x81{\xfcR\x88\xe44\xe2O\xa2,\tO\xc0\xfd\t\xd3Lb\x95v\x1f\xed4%r\xc0\x0f\xda\xd1Ү\x98\x1d+Q\xacb\xc4An\x92\tꞯ\x94\xb3\xbc\xeeȭ\x91\x95X\x90O\xd2\xd8\x7f><1\xed3\x99\xef%\xe8O\xd2\xe0//\x82Q7\xf0\x97ħ\xeb\x01\x17\x9apR\xde\"\xac\x9d\x8bs:\xcdr[\x8d{\xa6\xc9JXwš$\xb1+L\xbb\xba\xee\\GE\xa51\x8d&\xa4X\xba\xb0M\xac'\x8fo\xa9:\xe8~v\xa7\xbe\xc3{\xab,\xdc\x1b\x97\xfc\xe54\x83<\xe4k0+I\rlY\x96\xd8_\x01j\v\xa4\xb4\"<\x8d#\x12\x05\xab\x9f\xcd<\xf6I\xd3\xde\xed\xe7i\xf9P'\xf9\x97V\xe5,=\x04#\x8b\x04\x1cxٝO\xcfgi\xd7lB\xab\xc0\t\x93M\a\x92\x96\xc3MS\x90\xf2\ft\xa0\x16G\x13g\x92\xba4ϱЅ\xf2\xdb\x19\x1ae\x06/\xcc\x15\r\xad\xb1;\x15\\P̵\xfc\x97մ\xb8\x9a\xfe\x87\x94\x94)}I\xdeaM\v\x87\xce;\x1f4k\x81I\xe8\x12kR,\xff\xec)\xb7\xba\xdf\npA\x80;K@nzvт<\xee\xa4vj\xbbN\xe2\\<\xc0\xc1\xa5\f'\xbbl\v\x99\x8b\x95\xb8p6DO`\xd4\x06\x87\x14\xfc@.\xf0\xdd\xc5sL\xa9DNMl\xd6aт\x96i\x1c\x8a5E\xa9\x86\xbauX\x83\x11b?\xacke\xac\x91=6\xdb$\x16-\xa5\x8ed\xf2\a\x862\xc1\xbc\xb7R\x1b\x17/\xeb\xd8\xccр\x9a\fA4B7\xae\x80I\xaaPmb\x85\xf2T\xe8\xb7\xfd\xdc\xef@\x83\xcfW\xf8\xc0\x9c\x03j=\xbb\x8bf};i\x7f\xe1\xf2%\xd8\t\xcd\xd0b\xc1oK%3\xd0\xd1dv\xf3$\xe8\x8bHYF{\xeeȗ:/\xc9\xd5d\x8c\x87@Ón\xf2ZD\xcc\xf4\x17><\xb5\x02\xa2v\xedۿ\xa7xl\xee\xb8\b\xd6\f\x16\x05=\xaeSJ\x1a\xe2\x8d\xfb2\xac\x06\x0f\xc89\x1fj[\xa1$H\xd5\xe55\x03~\v\x86B\xc1\xc4\n; o_\xc0\xb0\xf024Vm\x12{N3eoB'\ru\xea\x1f\xdcR.%\xa6\n\x14t\x88\u05cf\xaa\xa3\x1d*\xa4i\x05$f\x98\x9b\xa5\xcc\x7f\xd0dÔ6\xed!\xe8\x81:\x95(\x98\x99\x8e\x97\xf8\xa0\xd4I~\xd7g\xf7e+ܵ\x93\x8f\xa1>\xcb!&q\xe6\x98_\x02\xc26\x84\x19\x02\"\x93\x95\xc0\x00\x8e]\xc7\u0605C\xae\x93\xb0,u\x91\xa4\xad~\xfb\x80\xa8\x8a4\x04,\x91S\x98\x18\x8d\xf4\xb4\x9b\x7f\xa4\x8c\xbf\x04\xd9\xccP\x19[\xec9mM\x84\x1a\xb7vE^A\x9fXQ\x15\x84\x16\x96F\xa8\xccY\x01]\xa27\x95o\xf6\vT\x13F\xda\x15Sr0\xe0\xab\xd7\x12ǐI\xa1Y\x0e\xb5r\xf5\x8c \x05\xa1dC\x19\xafT\xa2\x04\x9c\x85\xde9\xae\x88\x97\x04\xe7\xf31\xd2:_\"*\x12\xa2\xb9\x89\xb6\xe2\xb84.U\xba\xc57ef)\x98oe\x95\x8aI\xac\v<\xb3\xa1\xe5+)\xa98|\xb7\xb4R\x87\xfa\xdd\xd2\x1a{\xbe[Z\x13\xcfwK뻥\x95\xd2\xf2\xbb\xa5\xf5\xdd\xd2j?\xff',\xad\xa9\x11\xb9\r}\x03/'G\x91\x90\xaa\x1e\x1b\xe2\b|_\\\xe1k\xc0\x9fU\x8b\xb9\x8a\x83\x8aT\xfe\x0f\x94uDŽV\xa3<\xea\xe2L\xbbj\x02ϻ\xfdE\x13\xa6\xe43\xaa\xeeC\xa7竺_\x8dBΠ\xcdw\xe4s\xe9bO\xb3\xed\x8e\xf1\x98JZ1\xe1\xc9%\x84\xdd\x12\xc1\x01\xbbtn\xb6\xfb,[&\xfe\x90\xd2\xc0\xf9\x05\x81)\x11\xb1\x89\xe2\xbf\x13J\xfe\x12k\x8b\x9f\x9d\x9eO)\xea\x9b\xe31\xbfX\x01\xdf\xf9\xcb\xf6\x92\xf03]\xa27\a;/^\x8e\xf7\x8aEx\xafSz\x97Xpw\xbe\xca\xf9\xb4x\xecI\x95cӡ\x83ᢹ\xc9R\xb9\xc9\xd0\xc2\xd4\xc4fOi\xb2\x04nN\xe1\xdb$uҖ٫\x95\xb6\xbdZA\xdb떱\x8dr\xd1\xe8\xcb9\x85j\xf1siȤ\xb2\xe5\xaf\xc5l\xa7\xa2A\xaa\x8e\xf9z\x92\x7f\xf5\xf9\b\x86%|0\xed^\xc9F.*nX\xc91\x91\xbagy4\xd8`vp\xa8\x0f\xd0\xf8]\xe2\xd6S\x7f\x14\xcc\xe7/5\xd7^\x1eY\xfaT\x93G\xe0\x9c\xd0غ\xea\xcd\x9b2\x90SwK\xbd\xac\x8b3\xdfə\xb4*\xd2-\xbf?h\x17\xd4)\xbb\x9f\xd2\n\x00&w;\xbd\x94\xcb3\xe5\xf4$\xdbyi\xbb\x99\xe6%\v_p\xf7\xd2K\xecZJ\xc4T\xca.\xa5yxz\x85]I\xaf\xba\x1b\xe9\xb5v!%\xef>J*qI\xce\x02\xa7\x96\xa8\x9c\xb8\x9df:\xc7;\xbe\x9b(a\x17QB\xf6wz\x92'L/a\x97м\xddA\t4K]\x8a\xaf\xb8\v\xe8\x15w\xff\xbc\xf6\xae\x9f\tΚx=ow\xcf\xc9)\v\xa9rP\xa3i\x9fT.\x1c\xe5\xbf\x14ߦ;\x90\xa3|G8\xf6϶\xea\xd8˨\x1e\xfcI\xa3x\xa6\xecP\xfa\xd2rZ\xcb\xda\xe8\xe4\xa2\x1a\xf3\xa7kL\xfa\x83f]\xbaJCI\x15\x1e^\xbc>\xb8r\x96\xa8j\xfe@\xb3\xdd\x11\xf4\x1d\xd5d#UA\r\xb9\xa8\x13\x80W\x0e\xb8\xfd\xfb⒐\x8f\xb2\xae\x89h\x9fˣYQ\xf2\x83\xf5P\xc8E\xfb\x83\xd38 \xcam\xa1\xb7[\xc9Y\x16\xb1ݢg3\xb9ƽ\xc32\xf0Ĩ\xac]2Pچq\xd3\rͼ\xee\x19\x98\x1bɹ|\x9c\xe9\xfbӒ\xfd'\x1e\xdd\xfd\x8c\xe8л\xdb\x15\xc2\b\xec\x81g\x81\xd7\xc5Y\xf5l\xd6`\xd5r3ϡ\xb5\xbf\xdat v\xeb\x1cۧ\xe3B\xee\x0eB\x0ef\x81\x17\x9d\x99\xb4\xd2\xe5v\xe5\xc61ԋ\xe5\x19*\x0eDbE\x8d\xd91\x95/K\xaa\xcc\xc1\x15j,:c\b\xbat,\xba3\xa8=\xfa\x87;G\xd1\x1b\xcet\xc6\f\xe5\xa1\xec&}\x8fqw\xca8\x86w/N\xee[<\xe38\x86͒%b*\xf2s\xb4\xf2\xeblQ3\xed\x8f&\xfeU\xee\xe1}4z\xd6A\xcf\xddQ\xf3HyV\x80\xe8N\xdd\x1d\xacR]\x03\x9e\xc8\xdb\x7f\xf5\x8cz\xabе?S\xf5\x94@\xd9]\x17Dd~\xe1\x88\xd9\xd0YL>\xe1\t\xf0\ar\xfb\x15}\xb4Z\xb4\xf9%\xea}\xb4\x10*\v\xc9\xe0\b\x1c\xff\xc1O\xe7/M\xd3F*\xba\x85_\xa4;d{\x8a\xec\xdd֝\xc3\u05fd\xd5\x13\xeaGâ\x89\x9d\xc0\xeb\x8f\xfb>\x02\xd6\xd4|\xf7N5\xb6\xa3\x9cyN\xb31\xfc\x14\xba\xdf\xdf\xff\xe2feX\x01\x97\xef+W\xee`e\xa2\x06\x8b\xe20[\aim\xff\xbb\x93\x8fx\xf8o<\x8e\x19.Mh&\xa3\x00\x8bͱ\x04q֔\xaa\x92K\x9a\x83\xba\x91bö\x13\xb3\xfb\xad\xd3\xf8H\xcdf\xf8\xa3\x9f\\\xad\xa3\x02\xfc3\xd7 X\x9b\x87s\xe0\x1f\x19\a톕 \x80o\xfb_\xd5\xf2\xb8*\xd6Ά\xdbؗu\a\x03:\xceM\vC\xd1%(kE\xb9\xa0u\xa5\x03\xaf\x0eO\xbc\xa1\b\x13\x06\xb6\xd0\xf7\x02G$\xf0\xbes\xe8{\xe0\xf3)q\xf45\xfeUˬl\xad4gW\xcaMd\xe0CpZWh<2㏼:\xef\x19\xa5C\xce\xc2\xd0\xe5\x00x\x1a\xfe\xf4\xf5\x00\xee\xd0|\x7f\xa9\x88g\xe4J\xe1\x01\xa3\xfe@}<\x90\xf3\xa4\x1b\x02\xd6u\xa9S]6\xa5\xdf\x19\x03EibZzZ\x90\xfc4\x06\xb0\xb6p\xa4\xa1\xbc\xc5\xcf44\x88٨\xfa \xb2\xb1\x92,\xbf\x8eG\xa89\xc6\xc91\x04\xdc\xf8\x9d\x04gC@\rp\b\x01\xba\xca2\xd0zSq~\xa872|#\xd8\xf8H\x19?\x1f*\x1c\xb4AF\xb0\xd3\x1b\x8549a_(\r\"\x0f+=l\xf2\x99\x87\nO\x05_G\xa8\r-N\xba\xeb\xe0\xa6\x0f\x06o\xbbQy\xab\x1c\x91\xd6c\xa7\xba!\x7fL,7\xe0ܗ\xe8\x9eXh\x90\x13\u0603 V\xaf9\x14\x87\xeb\x9afB\xf1{C\x9dn\b\x9a\"\x04\x11\xa2w\xfa\x10\x1f'\xd0xw\xcc\x0f\xba\x86\x89U\x96x\x15H\x1f\t}\xb3\xd1\xf9\xf9\xd7\xd6n\x86\xa5\x05q\x9a\xbd\x17\x95͙f]\xbd\xf0\xd4\r-nІD\xea4ע\x01g[f\xbd\x04K\xb9-Uk\xba\x85e&9\a\x94\xd6\xfdq\xbd\xe4Z\xf7\xbb\xf6\xbe\x00ՓS\xfb\xd8n\xebsg\x8e\xda.eL]\xa18^|e\x98\x82\xe6\x0e\xbaހ$v<˱qX\x88^\xd0\xd6\x1fi\xbbmXu^,\xfb\b\xa9\xbf\x9fm\xe1=\xea8?\x16\xf4w\xa9\x16\xa4`\xc2\xfeCE\xeeR_\xe1\xe3Y\xe3\xdfI\xf9p\x171b{\x83\xff\xb9n\xd8$\t\x98p\xc3ƭ\x96kY\xf9\xbcum\xd0\xc6\x13\x12x\xa6\xfd\x99\x1d5\x849\xa2\x0fz\xd3\x19\x8c\x85\xfe܁4\xa9\n\\\xcf\x03\xb0\xee\xc2%`\x9c\x1f\x16ǐ\x8f.\x1cl`\xb7\xce\xfc\xf7f@\xb3\x93\x7f\xa0\xa3\x90ˉ\x02\xa9\x8f\x8ch\v\xf4S\xfcE\x8f\xe6!c\xb2\x87㟛\xd6Cxt\xc3l\x99{\x03\x13\xec\x18\x81\xe7uu\xf1\x82\x87\t濵m\xea]\xff-\xc7-\xd4W\rƷ\xe2\xbbƗ\xe4\x13\xf4\x03\xfdn#8\xe4XӀ\xab*\xd2d%n\x95\xdc*\xd0}\xa6[\x92\xbfSf\x98\xd8~\x94\xea\x96W[&>\x0foz\x19k|K\x95a\x96i\xddxb\x03e\x82r\xf6Ϙ|j\xbf\x9c\x06t3\xe8(-I\xc20\x86^\xbc\ak\xab\x0e\xfa\xf7QQXz\xbc\x9ebw\x04\x9aL\xc9\xc6\xda&hl\x8a\xd0\xed%\xf9$\xa3\v\xdc\x17\x04\xb1.LkZ\x816K\xd8l\xa42._\xbb\\\x12\xb6\tA\x04+;0r\xe4\xaek$,\x96h\xadK-\x1a5\x84a_\x85\xda\x14\x0fs/\xe8\xc1\xe5fh\x96U\xd6R\xba҆\xf2\x88\xa1\xf2,\x01\x8e\xd1\x1a\xbb\x88 \xff\xedY\xb9\xacU\x1bP?\xec\x86\xfd8\x94\xe2q\x12\xcez\xe3v\x8a ȣb\xc6X\xdbH\x8e$\xd3=\xaa\x8c\xb5\x918'ڢ\xfa\xa4\xf8\x1bq\xe2p5\\\x94\x926\xe5\xfb\x1aʐ\x98\xf5\xb3\xc6\xcb\t\u05c8\x1bb\xedW\xac\xbf\xf1\xad,\x99\xb3\x1d\x15\xdb\xc1=\xfa;%\xab\xed.p\xf2\x80QL\xf2\n0\\\x89\"E\x87\xbbuM\xa5D+\x99>\xb2\xf1\x99\x04f\xc0\xe1\xd2\xec\x81T\xe5\xc2\xdf]\xeb\xaf&\xbe\xf2\xb7\x80,7J\x16K\xdf/\x16\xd0-|.[1i-\x10\xb3\x8bb\x9d8\xeb\xdb\x1f\xb4\x8f\x9cP\x96 \bվ焳\x92NV7\xdaPe\x9e\x15\x8e\xb8\xeb@\x98\x88D`w\xf1I\xdc\xf9\x94\xbe;,\xea\xc6\xdf\xd1Y\x03^\x10\xcdD\xb8\x1dٕ\a8\xfe\x88f\x8b\x04\xdef(U\xbcbo<\xb4Н\xd0\xebF\x15\xf6\xb5\xae\xfdp\xb2\xd3\xf9\xf5\b\xc6\xd1\xc6_\xbc\xbc\xb2n\x12\x1c\xc5?\xb1X\xe4\x1bK=3;\x95?\xff\xe1\x1bz\xf7INM\x1c#c>\x0e\xba/\xc3\xceJ\xf7\xae\xca[\x0e\xd6\xf4\xd2\x00]\xf7i\x96\x9b\xbc?c\xdc\xe8\x9cA\xa3p\x0f\xf8y\xa2&\xfb3\x86\x8b^,Vt\xde)?R\xbcE\xf8\xa4U\xfbw\xffm$X\xe4\xc1\x9e;\\Ԋ\x16\x85\x81\xbfj\xbc(\xaa\x95z?\xa2\x9c\xce[\xd2\xc2\xf7\xe4\x7f\xf9\xdf\x00\x00\x00\xff\xffU\xf5M\xfa݀\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xccYK\x93Z\xbb\x11\xde\xf3+\xba\xee]xc\xc0\xceM\xa5nؤ0\x93T\xb92\xceL\x99\xc9dk!5\xa0\x8b\x8et\xa2\a\x98<\xfe{\xaa\xf5\x80\xc3y\f\x8c\x93r\xae63\xe8\xd1\xeaw\x7f\xad3\x1e\x8fG\xac\x96\xcfh\x9d4z\x06\xac\x96\xf8գ\xa6_n\xb2\xfb\xd9M\xa4\x99\xeeߏvR\x8b\x19,\x82\xf3\xa6\xfa\x8c\xce\x04\xcb\xf1\x0e\xd7RK/\x8d\x1eU\xe8\x99`\x9e\xcdF\x00Lk\xe3\x19M;\xfa\t\xc0\x8d\xf6\xd6(\x85v\xbcA=م\x15\xae\x82T\x02m$^\xae\u07bf\x9b\xbc\xff\xed\xe4\xdd\b@\xb3\ng\xb0b|\x17j\xe7\x8de\x1bT\x86'\x92\x93=*\xb4f\"\xcd\xc8\xd5\xc8醍5\xa1\x9e\xc1y!Qȷ'\xce?Db\xcbD\xec>\x13\x8b\xebJ:\xff\xe7\xe1=\xf7\xd2\xf9\xb8\xafV\xc125\xc4V\xdc\xe2\xb6\xc6\xfa\xbf\x9c\xaf\x1e\xc3ʩ\xb4\"\xf5&(f\a\x8e\x8f\x00\x1c75\xce \x9e\xae\x19G1\x02Ȫ\x89\xd4\xc6\xc0\x84\x88\xcaf\xea\xd1J\xed\xd1.\x8c\n\x95>\xdd%\xd0q+k\x1f\x95\x99d\x81,\f\x14i\xc0y\xe6\x83\x03\x17\xf8\x16\x98\x83\xf9\x9eI\xc5V\n\xa7\x7fլ\xfc\x1f\xe9\x01\xfc\xe2\x8c~d~;\x83I:5\xa9\xb7̕\xd5d\xa3\xc7ƌ?\x92\x00\xce[\xa97},\xdd3矙\x92\"r\xf2$+\x04\xe9\xc0o\x11\x14s\x1eQ\x89:\xea\xe7Tu\xee\xba`\x9bX\x81\xe7\x16\x95\xc4?\xcdd\xee\x1bd\x8b\x7fO\xb8\xc5\x13I\xe7YU_Нop\x88\u0605*\xeep͂\xf2MQ\xc9J\xaa闗b\xd5\xc8'\"\x9d\xba\xb8\xf1\xeeb.ݺ2F!KTҮ\xfd\xfb\xe4\x85|\x8b\x15\x9b\xe5ͦF=\x7f\xfc\xf8\xfc\xd3\xf2b\x1a\xfa\x1c\xa9\x15\x14d8ְ\xcd\x16-\xc2s\x8c\xbfd7\x97E;\xd1\x040\xab_\x90\xfb\xb3\x11kkj\xb4^\x96`I\xa3\x91\x8b\x1a\xb3-\x9e\xfe5\xbeX\x03 1\xd2)\x10\x94\x940\xf9U\x8e\x1f\x14Yr0k\xf0[\xe9\xc0bmѡNi\x8a\xa6\x99\xce\fNZ\xa4\x97h\x89\f\xc5vP\x82r\xd9\x1e\xad\a\x8b\xdcl\xb4\xfclj\xb6\x03o\xb23{t\x1eb\x84j\xa6\xc8Y\x03\xbe\x05\xa6E\x8brŎ`\x91\ue120\x1b\xf4\xe2\x01\xd7\xe6\xe3\x13E\x83\xd4k3\x83\xad\xf7\xb5\x9bM\xa7\x1b\xe9K\x86榪\x82\x96\xfe8\x8d\xc9V\xae\x827\xd6M\x05\xeeQM\x9d܌\x99\xe5[\xe9\x91\xfb`q\xcaj9\x8e\x82\xe8\x94R+\xf1\xa3\xcd9\xdd]\\\xdb\t\xe94bJ}\x85y(\xbd&\x97I\xa4\x92\x88g+\xd0\x14\xa9\xee\xf3\x1f\x97OP8I\x96JF9o\xed\xe8\xa5؇\xb4)\xf5\x1am:\xb7\xb6\xa6\x8a4Q\x8b\xdaH\xed\xe3\x0f\xae$j\x0f.\xac*\xe9\xc9\r\xfe\x1e\xd0y2]\x9b\xec\"V1X!\x84:&\x89\xf6\x86\x8f\x1a\x16\xacB\xb5`\x0e\xbf\xb3\xad\xc8*nLF\xb8\xc9Z\xcd\xda\xdcޜ\xd4\xdbX(5u\xc0\xb4\xbd\xd9`Y#\xbf\x88;\x81NZ\x8a\f\xcf<\xc6\xe8j)(\xa7\x8a\xe1\xa2\\F\x7f\x92\xa0\xc18G\xe7>\x19\x81\xed\x95\x16\xcb\xf3\xd3\xc6\v\x1ek\xb4\x95t\xb1\xbc\xc2\xda\xd8v\xe5a\xa7L\xde\x1c%\xe3\xb5\r\x0e\x80:T]F\xc6\xf0\x19\x99x\xd0\xea8\xb0\xf47+}\xf7\xa2\x01C\xd2H,.\x8f\x9a?\xa2\x95F\\\x11\xfeCk\xfbI\x05[s\x80u\xf4\x7f\xedՑr\x97;j\xde\xcd\xdae\xcc\x1f?\x96\f\x9eb+\af\xd6\xd5\x04\xe69\xa8\xcd\x1aށ\x90\x8e\x80\x84\x8bD\xbb\xca\xd2AE\xa01\x03oë\xc4\xe7F\xaf\xe5\xa6+t\x13\x1b\ry\xcc\x15\xd2-\xcd-\xe2M\x94\xb5\xc8;jk\xf6R\xa0\x1dS|ȵ䙓`S\x05YKT\xa2\x93\x9b\x06\xa3,\x8abQPP3uņ\x8b\xd3ƈ\xa4\x99\xd4Ƀ\xcf\x04b\xae\xb1U.\xcdڣ\x16خ6\x91\x1b\x13\x13\x9aC\x01\a\xe9\xb7)S\xaa\xbe\xb8\x83\x17c\x8f\xc6\x0e\x8f}\xd3-ޟ\xb6H;S\xe1Ep\xc8-\xfa\xe8m\xa8\xc8}ȕ&\x00\x9f\x82\x8b\xb9\xb6\x9d'ʈ\x80\xaf\x9c\xdeᱫh\xb8f\xdc\f\x85\x06X\x8e j\x06?\xfcp]\xa4Nu+\x83\xa0{\x11\xd4\xe2\x1a-\xea\x0e\x9a(\xe3)\xd6(r\x1a\xf20\\\xaf\x91{\xb9Gu\x8c5\x89\x92\xe7[X\x05\x0f\"`\xb4\x1a\xe3\xbb\x03\xb3\xc2\x017Uͼ\\I%\xfd\x11\xa4\x1b\xa0ϔ2\a\x14\xd9\xe2X\xd5\xfe8\x81\x8f\xday\xa69\xba\x13\x0e\"\x8d%W`:\xed\xcaQ\x1c\x01\x1d\xb3}90\x91\xaf\x8c\xf3\xc0ђ;\xaa#\x1c\xacћAa\x1f\xee\x1ef0\x17\x02\x8cߢ%\a\\\aUb\xa6\x01\xf9\xdeFd\xf1\x16\x82\x14\x7f\x18\xa0\xd5SZ\xa9\x9f\xb4\x1a=\xc6\xea*\fwTX9\xd6\xdeM\xcd\x1e\xed^\xe2az0v'\xf5fL\u008es\"\x9b\xc6.q\xfac\xfc\xf3\"\xefw\xd6\xd4\xf0\xa5Ѹβ\xcb|!\xec\xab[\x1d.\b\x83N\xbf\xf1\xa0\x11\x05H\xdf\x04\x01۰\x9apS5\x98\x1e;\xb9q\xd3\x06\xed\xa9t.\xa0\x9b\xfe\xf4\xf3\xef\x7f\xf7M\x8en\xea\x94\no\x88\xcfeLgG\x92\"\x9a\x86|w\x99\xc2\xccX \x8cD\xd1[\xe5\xf0Lţ/\xb3\xf4\xb5\x1e\xcdQ\xbc\xba\xafD\xee\xb0[\x1d_ț\x00_\xc7\r\xedU\xac\x1e\xa7\xdd̛J\xf2Q[\xda\x14\xda/\xa7\xd8ҏI-$'\xfc~\x99\x1aK\x9f*.ڶ\x1e5\xb4\x1b\xb9\xa1\x82Я\xa6$n\x86CW8~h\xee=w\xf7\xa9:e\x88\xe3\xd0\x13\xb4v\xa0\x91 \x10\xb3]=ǚ\xc0\x8d֔\x8c\xbd\x01v\xaato\\\xbbĿ\xb2@\xac\x02\xdfa\x8f\xe2;\xa2|\x88\x1b\x8b\x8e\xd31\xe2%8\x8c\xb5\xf7\x1a\x1bp=\"8[\xa0\xbd\x85\x97Ŝ6\x9eP\x12\x83\xc5\x1cVA\v\x85\x85\xa3\x18\xef{\xb4r}쿋\xc6\xd3\xfd\xb2h5\x02\xcc\xdc\x1a\x16\xdd\xf6ːJ\xf8\fV\xc7\x1eHx\x83\x90\xb5ŵ\xfcz\x83\x90\x8fqcQx\xcd\xfc\x16\xa4vR \xb0\x1e\xf5'\xac> \xe8\t\xfe=\xe4\x9c\xf3\r\xe6y)7$v^\x93\x1e\x8a\x8e\xaf\xc4\xcfc\xdev\xd2B\xf9\x9d\v\xf8e+0\x14ǽ\x12\xedO\xefN\x7fJ\x00\x9b\xf7 \xa5\vf\x9e\xbb'^\x00\xea\xe5\xf5\xab/\x98\t\x16\x1ak\xd1\xd5F\vj\xabo\x83\xe9g\x96\xffw`\xbd߬\xe3\xcb,\xd7Z+V\xb8\xa9S\x8d/}\xaf\xeeU\xd3\xfbg\xb3\x134+\x87v\xdfhW[2~\x97.\xb5\x17U6ZW\xe9\b\xa2\x05\x1d\xc1{DN\x93Ѩ\xe7\xc8\x1d\xd6\x16\xa9\x84\x89\x19\tg\xe3Im\x0et\xbaA.AO\xa3S\xc1\xa7\xfe\x9di\x91_Nh\xa9\x87\xf2A*E \xc0beH[\xd4zXB\xac,\xe2\xc9\xfdo&\xef\xfe\x7fm\xb1b\xceS\x97\x8b\xe23\xeee\xf7\xf9\xf06}\xdfw\xa8\x94\xf4p\n\x1a\xfa\U00065f28Lm\xde\xf6\x05\xd6R\x11.m\xe4\x8e\x1b\xe0A\xcf\xe3\xf7\x87\xe5\xfd\x1b\x17\xf1$j\xef\xe0@\x16t\x91%j\xecL~\xc5\n\xceS\x15\xb9\xee\x00\xcd.C\x1bPFo\b\x80\xa7'-\x82xɟ\x8c\x05\x81\x9e\xaa\x95\xde\x00\xdf2\xbd\xa1\xd8\xe8K\xfa\x91\xe3\xcc~\x93Qr\x9fA\x0f\x91z\xc0=n\xb2\xe8\x93\xec\xeb\xdb^c\xcd\xe1o\r'\xfe\xb3i\xcfO\xda-\xc5\x0f%\xdbb\x8a\xf6b)\xe6\xa4\xe8\xb1?\x7f\x7f8\x8fo\x7f\x04\xe9~\xdc\xf8V\xf5\xfcW\x9fc:\x9fa~\x15ʩ\b\xe9^\x85ϟҮ\xf4(\x9d\x8f\x00[\x99\xe0{\xaa\x7f\xc3\xe1{\x83:~qz\r\x8f\xf1;\xda5\x80B{\x8aEx\xb06>\\\x97\a\u0558*\xfa\xea\xd2\xed)x\xde\xfa\xdc\xd7\\\xeb~\f\xbcA\xae\xde:ݙL\xb5\xb6a\u05ec\xe4\xe6LX\x9d>G\xcc\xe0\x9f\xff\x1e\xfd'\x00\x00\xff\xff\xa1\a\xb8\x04\xa5\x1e\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcVMs\xdb6\x10\xbd\xebW\xecL\xaf%\x15O{\xe8\xf0\xd689x\xdaf4v&w\bX\x89\x88A\x00\xdd]\xc8u?\xfe{\a\x00)K\x14\xe5$\x97\xf0&`\xb1\xfb\xf0\xde\ue0da\xa6Y\xa9h?!\xb1\r\xbe\x03\x15-\xfe%\xe8\xf3/n\x1f\x7f\xe1ֆ\xf5\xe1f\xf5h\xbd\xe9\xe06\xb1\x84\xe1\x1e9$\xd2\xf8\x0ew\xd6[\xb1\xc1\xaf\x06\x14e\x94\xa8n\x05\xa0\xbc\x0f\xa2\xf22\xe7\x9f\x00:x\xa1\xe0\x1cR\xb3G\xdf>\xa6-n\x93u\x06\xa9$\x9fJ\x1f\u07b47?\xb7oV\x00^\r\u0601A\x87\x82[\xa5\x1fS$\xfc3!\v\xb7\atH\xa1\xb5a\xc5\x11uο\xa7\x90b\a/\x1b\xf5\xfcX\xbb\xe2~WR\xbd-\xa9\xeek\xaa\xb2\xeb,\xcbo\xd7\"~\xb7cTt\x89\x94[\x06T\x02\xd8\xfa}r\x8a\x16CV\x00\xacC\xc4\x0e>dXQi4+\x80\xf1\xda\x05f\x03ʘB\xa4r\x1b\xb2^\x90n\x83K\xc3D`\x03\x06Y\x93\x8dR\x88\xfa\xd8c\xb9\"\x84\x1dH\x8fPˁ\x04\xd8\xe2\x88\xc0\x94s\x00\x9f9\xf8\x8d\x92\xbe\x836\xf3\xd5\xd6\xd0\fd\f\xa8T\xbf\x9d/\xcbs\x06\xccB\xd6\xef\xafA`Q\x92x\x02Q\xea\xda\xe0\x81N\xf8=\aP\xe2\xdb\xd8+>\xaf\xfeP6\xaeU\xae1\x87\x9bʴ\xeeqP\xdd\x18\x1b\"\xfa_7w\x9f~z8[\x86s\xac\v҂eP\x13\xd2L\\e\r\x82G\b\x04C\xa0\x89Un\x8fI#\x85\x88$vj\xad\xfa\x9d\f\xcf\xc9\xea\f¿\xcd\xd9\x1e@F]O\x81\xc9S\x84\\H\x1c\x9b\x02\xcdx\xd1J\xaee \x8c\x84\x8c\xbe\xceU^V\x1e\xc2\xf63jig\xa9\x1f\x90r\x1a\xe0>$g\xf2\xf0\x1d\x90\x04\bu\xd8{\xfb\xf717\xe7{\xe7\xa2NI\xa1$\xb7\x9dW\x0e\x0e\xca%\xfc\x11\x947\xb3̃z\x06\xc2\\\x13\x92?\xc9W\x0e\xf0\x1c\xc7\x1f\x99D\xebw\xa1\x83^$r\xb7^\xef\xadL\x96\xa2\xc30$o\xe5y]\xdc\xc1n\x93\x04\xe2\xb5\xc1\x03\xba5\xdb}\xa3H\xf7VPK\"\\\xabh\x9br\x11_l\xa5\x1d\xcc\x0f4\x9a\x10\x9f\x95\xbd\xe8\x9e\xfa\x15\x17\xf8\x06y\xb2'\xd4\x1e\xa9\xa9\xea\x15_T\xc8K\x99\xba\xfb\xf7\x0f\x1faBR\x95\xaa\xa2\xbc\x84^\xf02\xe9\x93ٴ~\x87T\xcf\xed(\f%'z\x13\x83\xf5R~hg\xd1\vp\xda\x0eVx\xea\xd8,\xdd<\xedm\xb1\xdd\xec\x00)\x1a%h\xe6\x01w\x1enՀ\xeeV1~g\xad\xb2*\xdcd\x11\xbeJ\xad\xd3\xc7d\x1e\\\xe9=٘\x9e\x81+\xd2.\f\xffCD\x9d\xc5\xcd\xfc\xe6\xd3vgu\x1d\xab] x\xea\xad\xee\xa7\xe1\x9f\xd1t4\x8as\xfe\x96\x8d!\x7f/v;߹zy(\"[\xc2Y\xc36p\xe1ݯ\xf3RL\xf5\x1b\x99\xa9\x8e>r\xa3\x13Qi\xbe\xa3ϫ\xa5C_\xcb\x05\x12\x05\xbaX\x9d\x81z_\x82\xca?\x06e=\x83\xf2\xcf\xe3A\x90^\t\xfe\xa5\x13ǂ\xf5#\x96mɚ\x13\x06 Y\x8f~\x9a\x16\xea\x12\x06\x98m\xf4Y$c\x7f3\r\xcc+\v\n\x8b\xdd!\xa6ӣ\xf9C\x13\xfb\xf9\x03\n\xf8=a\xbe\xb7\xed\xc5\xf5\xb55\xc4sq\xd1\xe9\xc9\xea\xd8\xe3\xc6\b\x17:\xfb\x86\xef\x1da\xff\xa7C\x9f\xafዮ\xe3m\xbe\xbb\xfa.8F}\xf6\xdcG\xe4\x1b\x04\xcfg:8\\\x15\xe5\nL\x83\xe7U\x89\xae7w\xef\xa1\xf0\x8c\xfb;\x8atg\x1a\xfbF\x8a{\xc7Y\xbf320~\xe9\r\xf1vO\xf3+d\xeciޒ\xefN\x84ϱBo\x900\xec\x95\xfaEQ7\x1b\x11\xe0\xa5S\xb2K\x1b\xd3@\xf0%\x10\x82\x95jNR\xaf\x80\xcf:\xa2<\xce\fe\x91\x86u\xc6\xcc\xe0O\xccg\xd4\xef\xdc\x01ŠHW)(\t\x8a\xe1\x1d\x1a\x9a\xfcG\xaae\xf4>]Q\xd9\xca/\x93\xe9\x86kEtT\x9e\xbf\x1e\xef\xdfP\xd2۽gzq\ve2\x1a\xe7\xb1\b\xaa\xe5\x17\x14\xaf\xb1\x96&\x8d;%#\x7f\xc7/\xbcc\xa2f+\x8aߜ\xca\x03\xf8\x06\xc4O;\xc7,\xf8h\xf2=?}æ\x80\x18\xf8\xb9\x05R\x98\x19\x8c\x15B\x8d\x1a\tk\xa8^\xf3\xcd\xf5\x1a\b\xfbS܍\xf5\xbd\xa0\x15\xf0\xfd_\x90\x9ai#\x13\xb5\x16\x95\xc6\x15\x90\x8f\xe7\xbal6q\u05c903\x86G9?\xb0\xcf\\c\xec\x86\xf1bg\xc0\xd9\xfb\xa5\x80/\xf82c}\xf0Vb\bx:Fg3\x99\x1d\x82\x13c\xe0GZ}\xc0\xd2\xf0\x97a\xb0\xfc\x1f\x00\x00\xff\xff\xc02\xee\xedJ\x0e\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4ZKs\x1b7\x12\xbe\xebWt)\x87$U\x1e2\xf6\xa6\xb6\xb6x\xb3\xe5͖v\x13Yeʾ\xa4r\x00\a=3\x88f\x00\x04\xc0\x90\xe2f\xf3߷\x1a\x0fr^$E:\xb1\xe7b\x13\x8f\xee\x0f\xfdFCY\x96]1->\xa2\xb1B\xc9\x050-\xf0ɡ\xa4_v\xf6\xf8\x0f;\x13j\xbe~y\xf5($_\xc0Mk\x9djޣU\xad\xc9\xf1-\x16B\n'\x94\xbcj\xd01\xce\x1c[\\\x010)\x95c4l\xe9'@\xae\xa43\xaa\xae\xd1d%\xca\xd9c\xbb\xc2U+j\x8e\xc6\x13O\xac\xd7\xdf\xcd^~?\xfb\xee\n@\xb2\x06\x17\xa0\x15_\xab\xbamp\xc5\xf2\xc7V\xdb\xd9\x1ak4j&ԕ\u0558\x13\xedҨV/`?\x11\xf6F\xbe\x01\xf3\xbd\xe2\x1f=\x997\x9e\x8c\x9f\xa9\x85u\xff\x99\x9a\xfdQX\xe7W\xe8\xba5\xac\x1e\x83\xf0\x93VȲ\xad\x99\x19M_\x01\xd8\\i\\\xc0\x1d\xc1\xd0,G~\x05\x10\x8f\xe8ae\xc08\xf7Bc\xf5\xbd\x11ҡ\xb9!\nIX\x19p\xb4\xb9\x11\xday\xa1\xdc+\x0e\x01 \x04\x84`\x1ds\xad\x05\xdb\xe6\x150\vw\xb8\x99\xdf\xca{\xa3J\x836\xc0\x03\xf8\xd5*y\xcf\\\xb5\x80YX>\xd3\x15\xb3\x18g\x83x\x97~\"\x0e\xb9-\x81\xb6\xce\bYN\xc1x\x10\r¦B\t\xae\x12\x16\xc2ia\xc3,\xc11Οr\x9a\xb1\x9f\xa7\xedֱF\xf7\x10\xdc\x18d\xfb\xad\x01\x02g\x0e\xa7\x00\xec\xe4\t\xaa\x00W!I\xde\x1b\x16\x13R\xc8\xd2\x0f\x05M\x80S\xb0B\x0f\x119\xb4z\x02\x99\xc6|\xa6\x15\x9f\xc9D\xb4\a\xebn0zJ6\xb4\xfe\xcfF\xd5\x03t\xaf\xf8\x05P\xce\xe2\x1b\x16\xf7\xb8~\xec\x0e\x9d\xb4\x8f\n\xfd\x9aļյb\x1c\r\xb1\xaf\x98\xe45\x92f\x198ä-\xd0\x1c\x80\x91\xb6=lu\x1ḟD\xaf3s\x8e0\xa2\xef,\x9d2\xacD\xf8Q\xe5>@\x91I\x1b\xecٴ\xadT[sX%.\x00\xd6)3i\xe0\x848\xec\x8at\x13ف\x9f\xf5y\x1eFߡ\x9d\xe2\xe9,'\x1f\x11JN{\xd0\xeb\x12\xa7\xbd'L\xaf_\x86p\x95WذE\\\xa94\xca\xd7\xf7\xb7\x1f\xff\xb6\xec\r\x03h\xa34\x1a'R\xf8\f_'9tF\xa1/\xea\xffe\xbd9\x00b\x10v\x01\xa7,\x816\xd8d\x18C\x1e1\x05\xf5\b\v\x06\xb5A\x8b2\xe4\r\x1af\x12\xd4\xeaW\xcc\xddl@z\x89\x86\xc8$E\xe5J\xae\xd180\x98\xabR\x8a\xff\xeeh[\xb2=bZ3\x87ց\x0f\xb5\x92հfu\x8b/\x80I>\xa0ܰ-\x18$\x9e\xd0\xca\x0e=\xbf\xc1\x0eq\xfc\xa4\f\x82\x90\x85Z@圶\x8b\xf9\xbc\x14.\xa5\xcc\\5M+\x85\xdb\xce}\xf6\x13\xab\xd6)c\xe7\x1c\xd7Xϭ(3f\xf2J8\xcc]kpδ\xc8\xfcA\xa4O\x9b\xb3\x86\x7feb\x92\xb5=\xb6#\xab\t\x9f\xcftg\xa8\x87r\x1f\b\v,\x92\nG\xdck!Ů\xf7\xff\\>@B\x124\x15\x94\xb2_:\x92K\xd2\x0fISȂb\x00\xed+\x8cj\xa98\x9e8ܝ\xe28\x05\x9b\xb6\x82\xabX\xb0n*\xde(\xb8\xb5R\x8e\xb9Ч\xe4Y\xc0\xb4\xe2'pE\x8e\f\f\x16hP昢\xe0\xb1\xcad\x02Y\xb7f\x18c\x8a\xfc'\xe5C_!\xb0\xe6>\x8b\x9e\xe6=i\xa2\xf4\xdd\x16\x01\x84\x8f\x8dN\x01\x03-0Ԟ\xbb\xbc\x04BZ\x87\x8c\xc7A\n\a\x06\xe3܋\x10\xf3\x0e\x82\xa4o\x9f\xbfH'\xc0(\x06\v\x0e\xff^\xbe\xbb\x9b\xffK\x85s\x00\xcbs\xb4\xbe\xc8vؠt/vu?G+\fr\xaa\xe2q\xd60)\n\xb4n\x16\xa9\xa1\xb1?\xbf\xfaeZ~\x00?(\x03\xf8\xc4\x1a]\xe3\v\x10A滰\x9e\xccF\xd8p\xf0\x1dE\xd8\bWy\xa0Z\xf1x\xc0\x8d?\x82c\x8f\b*\x1e\xa1E\xa8\xc5\xe3\x84\xff\x84\xef\xdaWM{\x98\xbf\x93\xf7\xfcq\r\xdf\x047\xbe\xa6\x9f\xd7\x01\xc6.\x81w\x1dl\x0f'x\x99\x11e\x89\xfb\xf2ld,\x94p(T\x7f\v\xca\xd0Y\xa5\xea\x90\xf0\x84IO!R\"\x1f\xc1\xfb\xf9\xd5/\xd7\xf0M_\x06\aX\t\xc9\xf1\t^\x81\x88w$\xad\xf8\xb73x\xf0v\xb0\x95\x8e=\x11\xa7\xbcR\x16%(YoCi\xbcF\xb0\x8a\xeeVX\xd7Y(\x958l\xd8\x16Tq\x80OR\x11\x99&\x03͌;Z.\xa5\xef\xe1\xdd\xdbw\x8b\x80\x8cL\xa7\xf4Q\x972j!\xa8(b\x92\xc7<\xed\xed\x8e@\xb7\xc1$\x9c\x82\xbcb\xb2\xc4p2\x84\xa2\xa5)\xb8|\xb8}\xfb%=\xaa\x15\x97D\x92\x03\xb7\x86\xf0=e{TY\xc3t\x16V3\xa7\x1a\x91\x0fVS\xd5|\xcbII\x85@s\xa2\xcc|\xdf[\x9c\n\xe1\x89\xfa{\xb7\xe6\xac:ױr\xa2\xb0\xec\xf6M\x8f\x95\x9fG\xe5u\xda\x14\x1eXi\x81\x19\x04\x06\r\xd3d\x11\x8f\xb8\xcdBe\xa3\x99\xa0\xb2\x84*\x8f]\x9f\b\x98\xd65\xd5\x0e\xa1Z\x99\xa0\x18\xeb\xec(\x1ef\xfd\xf9\x0e\tdR\x95\xa9/\xb6DGw\xf3/'\x9c\x0f\x03 \x7f\xae\xa0v]\xc3\\\xc9B\x94\xad\xf1w\xbe\xb1\xa4d[\xd7lU\xe3\x02\x9ciDŽ\x9e!\xc8\aZr\xfc\xfc\x1f:K\x93\x85\x9fhqN\x9f\xaa\xd7\xf8\x1c\x1f\x06eی\xa1d\xf0\xa8\xb4`\x13\xe3\x06\xad\x1by/M\\_\x9f\xe3c\xc1(/\xb9\xc3\xc7爉\xdbo4\xf4xQH7\xe0n\azR\xe9g\xc4\x06\x83\xbf\xb5t\xed\xe9\xe3Φ\x1b\x14\x835t7\x1f\fi\xc5\a#\xfd08\x98\xecuɻH\xc7]\x1b\xff\xf8qF\xdf&<\xeaD\x99\x86\xe4\xe8\xd2S\x0f\x95\xf7\x97vnrE\u05fc^\a\xf9\x12\x9dߌ\xc9\xf8\x8e\xab\xe1\xd11DCq\xa0\xf3.\x14\x19O\xb5^\xba\xe4\xc2N_\xa3\x105\xe4\xfe\xbaF\xb7ɂ\x89\x1a9\xa4ǿ3\xa9\xac\xb0\xa0\x1c\x1d\x9c45<\"\xbc\xc3\x17\xa5\x87\n\xc1\xfa\xfe\xe5\xd7vG\xb3\xb5\xc8}\xfblB\b\xe3\x8c](\xd30\x17Z\xf1\x19\x91\xb8,zM\xfal\x83ֲ\xf2\x94\xd3\xfe\x14V\x85>P\xdc\x02l\xa5Z\xb7k\x04\xf52\xd2\xd76\x1a\xday\xbd\xa8\xc9\x16K\xdfƙ\xab\x92I\x17m]\xfb=\xdd\xe8\xb0\x7f\x18\xf6\xa8V8]\xd7\x1diD\x1d\x03X1{JT\xf7\xb4f\xca\xebv!\xed\xa8\xdb\xc1\x91\xf0}\x87\x9b\x89\xd1\xd1Kmw\xf2&\xb9\xcc\xc4\xdc\x0f\xde\x1b\xce:\x7fdt\x89\xbb'\x90P\xa9:y\xb8r\xac\x06\xd96+4$\x9c\xd5֡\x1d\x04\xfe\xd0D\xd8Ir\xea\xf6\xb7ߟ\x94\x1a(\xc5NIΤo\xf1\xdbP&pauͶ\xbb\xb3\xf8\x9a\x9b\xfck\xba\x15\xbc7\xf2\xe4\xe9\x1a\x0f\xd5\x10\xc7[\x98\x1e\xd3[%\x0f\xdcR\x93\x93\v\xe9\xfe\xfe\xfd\x91\xa2]H\x87\xe5 \x8d\xc4y\x12\xe7\x1b\xe2\xf2\xd7p8R\x03Yɴ\xad\x94\xbb}{\xc24\x96\xbb\x85\xc9E\xf6\xf5\xbc\x0f\x88\xfe\x95!.\x8a\xa60\x01u\x1fp\xce\xf2\xdf\xfe\x1f\x0e\\b\xc5\xcb\x1e\x85\x13\xf9*\xfe\x1d\xc3TVX\xa2f\x86b\x82\x7fú\x19\xbeȾ\x00+|\xa3\x9d\xaa\xddP\xfe\x86\x86\xd9\xd4uNI_\xc0)3~P\x84\x93\t\xa8\x7f\xa0ϙ{&\xcdi4\xe8\x91\xf3\x0e\xed\xf8|\xd3\x1diW\xbb\x97\xcd\x05\xfc\xfe\xc7\xd5\xff\x03\x00\x00\xff\xff\x8b\xcb\x17\x16\x81$\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4Y_s\xdb6\x12\x7f\xf7\xa7\xd8q\x1f\xda΄R\x93\xeb\xdc\xdc\xe8-q\xae7\xbek\x1dO\xe4\xe4\xa5Ӈ\x15\xb1\"Q\x93\x00\n\x80\x92u\xbd~\xf7\x9b\x05H\x8a\xff$YJ\x9b\xe0\xc5\x16\xb0X\xfc\xb0\xff\xb1L\x92\xe4\n\x8d\xfcH\xd6I\xad\x16\x80Fғ'ſ\xdc\xec\xf1\x1fn&\xf5|\xf3\xf2\xeaQ*\xb1\x80\x9b\xcay]\xbe'\xa7+\x9b\xd2[ZK%\xbd\xd4\xea\xaa$\x8f\x02=.\xae\x00P)푧\x1d\xff\x04H\xb5\xf2V\x17\x05\xd9$#5{\xacV\xb4\xaad!\xc8\x06\xe6\xcdћ\xeff/\xbf\x9f}w\x05\xa0\xb0\xa4\x05\x18-6\xba\xa8J\xb2伶\xe4f\x1b*\xc8\xea\x99\xd4W\xceP\xca\xcc3\xab+\xb3\x80\xfdB\xdc\\\x1f\x1cA\xdfk\xf11\xf0y\x1f\xf9\x84\xa5B:\xff\x9f\xc9\xe5\x1f\xa5\xf3\x81\xc4\x14\x95\xc5b\x02GXuReU\x81v\xbc~\x05\xe0Rmh\x01w\f\xc5`J\xe2\n\xa0\xbeg\x80\x96\x00\n\x11$\x87Ž\x95ʓ\xbda\x16\x8d\xc4\x12\x10\xe4R+\x8d\x0f\x92i\xf9\x80^\x83ω\x8f\fRE\xa9\xa4\xca\xc2T\x84\x00^Ê\xa0F\"\x023\x80_\x9dV\xf7\xe8\xf3\x05\xccXp3\xa3\xc5L5?\x81>N\xc4\xe5\xcd\xcb\x18\xcaҜJ\\Ԕڐz}\x7f\xfb\xf1o\xcb\xde4\x80\xb1ڐ\xf5\xb2\x89\xaeqt\x92Gg\x16\xfa\x92\xfd_\xd2[\x03\xe0\x03\xe2.\x10\x9cE\xc8E'\x89s$jL\xd1y\xa4\x03Kƒ#\x15\xf3\nO\xa3\x02\xbd\xfa\x95R?\x1b\xb0^\x92e6\xe0r]\x15!\"m\xc8z\xb0\x94\xeaL\xc9\xff\xb6\xbc\x1d\xfb\"\x1fZ\xa0'烬\xad\xc2\x026XT\xf4\x02P\x89\x01\xe7\x12w`\x89τJu\xf8\x85\rn\x88\xe3'\xb6\x1f\xa9\xd6z\x01\xb9\xf7\xc6-\xe6\xf3L\xfa&\xa5\xa6\xba,+%\xfdn\x1e\xb2\xa3\\U^[7\x17\xb4\xa1b\xeed\x96\xa0Ms\xe9)\xf5\x95\xa59\x1a\x99\x84\x8b\xa8\x90Vg\xa5\xf8\xca\xd6I\xd8\xf5\x8e\x1dyd\x1c!\x11\x9e\xa1\x1eΌ \x1d`\xcd*^q\xaf\x85&\xbe\xbf\xff\xe7\xf2\x01\x1a$QSQ){ґ\\\x1a\xfd\xb04\xa5Zs\x84\xe6}k\xab\xcb\xc0\x93\x940Z*\x1f~\xa4\x85$\xe5\xc1U\xabRz6\x83\xdf*r\x9eU7d{\x13\xca\x0e\x0e\xae\x95a3\x17C\x82[\x057XRq\x83\x8e>\xb3\xaeX+.a%Vf\xe9\xb5Ō~ԑ\xe7\x90\xe8\x94\xd9\xf1x3ŨA\xac:\t5\x9e\b.RBQ\x93N\xb0\xdc\xe6d\xa9\xbbǒ\xd1Nzmw\xcc8\xa6\xe2\xa1I\x1c\xd4N\x90\x83\x16'\xeeƹ$8\x90\xa55YR)5\xe1\xe6X\x994\x01\xbeS-\x8c!\x1e\xd6\a\x1c\t͓\x80_\xdf\xdf6᷑p\r}\x14aO\x8a\x87\xc7ZR!B\xb6:}\xf6\xa4!\xf0\xb8]G\x10!\x06y\r\bFR,\x83\xdb\xf8\x0fR9O(\xeaIv;K\xf5ڋ\x18[\x0e\x82\xe4\xb1\xcf\x13\xac\x12@\x8euR\xc0\xbf\x97\xef\xee\xe6\xff\xd2\xf1\x1e\x80iJ΅r\x80JR\xfeE[\x12\brҒຈf%*\xb9&\xe7g57\xb2\xee\xe7W\xbfL\xcb\x0f\xe0\am\x81\x9e\xb04\x05\xbd\x00\x19eކ\xcf\xc6j\xa4\x8b\x17o9\xc2V\xfa<\x005Z\xd4\x17܆+x|$\xd0\xf5\x15*\x82B>Ҵ\xf4\x01\xaeC\xa1\xb9\x87\xf9;\xbb\xd6\x1f\xd7\xf0Mt\x96k\xfey\x1da\xb4\x89\xb2\xeb}{8>G\x0f\xde\xca,\xa3}E;2\x16\x0e\xec\x1c\x12\xbf\x05m\xf9\xaeJwX\x04Ƭ\xa7\x18\x90H\x8c\xe0\xfd\xfc\xea\x97k\xf8\xa6/\x83\x03GI%\xe8\t^\x81TQ6F\x8bog\xf0\x10\xec`\xa7<>\xf1Ii\xae\x1d)Ъ\xd8\xc5\a\u0086\xc0\xe9\x92`KE\x91ĒD\xc0\x16w\xa0\xd7\a\xceiTĦ\x89`\xd0\xfa\xa3eI3\x1e\u07bd}\xb7\x88\xc8\xd8t\xb2\x10\xdb8s\xad%\x17\x1f\xa8D\x9d\x0f\x83\xdd1\xe8*\x9a\x84א\xe6\xa82\x8a7#XW\x9co.r\xceq=Ќ\xe7\xf9e\xa8\x0f\x9e\x15%\xbeXn}\xa6$B!\xfc\t\x92\xe8>\xf1.\x90\xc4c\xb5\"\xab\xc8S\x10\x86Щc9\xa4d\xbc\x9b\xeb\rٍ\xa4\xed|\xab\xed\xa3TY\xc2F\x9fD\xebr\xf3\xf0~\x9f\x7f\x15\xfe\\z\xf1\xf0\xd2\xff\xd4\xdb\xf7\x1a\x13\x9f_\x04|\xba\x9b_\"\x81\xa6n}~\x8e<(\x87e]I\ry\xb2\xd3ns\x99\xe6\xcd+\xa6\x13\xd5K\x141\xec\xa3\xda}!\xdfa9W\x96\x11풺I\x97\xa0\x12\xfc\xbf\x93\xce\xf3\xfc%\x82\xad\xe4'\x05\x97\x0f\xb7o\xbf\xa4GU\xf2\x92Hr\xa0:\x8f\xe3)٣JJ4I\xa4F\xafK\x99\x0e\xa8\xb96\xbd\x15\xac\xa4\xb5${\xa2\xca|\xdf#n\xaa\xe4\x89*\xb7\xa59\xab\xccu\n\x8d˵\xbf}{\x02Dz%l0\xecuX\x17\xb7\r\xafA\a\xec<<\xc1\xb7\xee\x0eG\xae>\xa8>u\x83L[\x99\x85Tۆ\x8f\xf0\xf4QXb\xb7\xf3\xd9\x1d%\x1a#Uv\x16֦\x91\xb8$\xcf\xcf\xe5\x89\x02\xbd\xdb\x02>V\xc6\x1f\xb5\xbb\xd3.\xf5a\x00\x04\xd0\x12 ߉5\xf4H\xbb$V\x8b\x06%\x97z\\\xcd\xd5%\xf1\x8a\x00\x8d)\xb8\x1e\x8b\x15\xe0\x94\xaf7m\xd1T\xab\xb5\xcc*\x1b\x1eacI\xa9\xaa(pU\xd0\x02\xbc\xadƌ\x8e\xb8O\xb7#{B\xe3\x1f:\xa4\x8d\xbaO\xf4\x84\xa7o\xd5\xeb\x14\x8f/C\xaa*\xc7P\x12x\xd4F\xe2\xc4<\x1b\xfb\xc8\xd1y\xe1\xfa\xfa\x1c\x93\x8a\x9etB\x06u\x03s\xe2\xc1\\;b\xfd|\xe0\x19~\xa4\x06w\x9cΎ\xe7:\xa8\xa5\xdf*~\v\xf5\x11&ӽ\x81\x01\x8d\xd1\xe2j(\xb4nl\x1b,\xee#\xd3p\xa1\xef\xf4\x83\xd5^c\xbd{\x9bq[%tm\xcfi\xac\xc4Nq-\xf7\x98V}\xd3?\xe6\x87\xc1ŭ\x95T\xf3\v\xb1\xd7佤\xb1r3f\x13\x9a\xa2VԎ\"K\n\xfd\x8a\xd8\xf9ޢkN\x9e2\x82.\xbf\xb85\xd47̎Dx\xea\xf1Kt\x8d\xb2 \x01\xed\a\xbc\t6\x0f9\x81\v-\xc1\xaf]˨r$BT\x9e\x00=N\xceM\x03^\xa0\xa7\x84Y\\\x16}&}\xae$\xe70;\xe5t?E\xaa\xd8\xf1\xa9\xb7\x00\xaet\xe5ۖO\xed}\xb5(\xbev\xb5i\x9c\xd7v\xcaѝ\x82r\xcf4Sf\xd8Ɓ\xe3v\bG\xe2\xdb\x1dm'fG\x1fD\xba\x8b7\x8d\tM\xac\xfd\x10\xac\xe3,\x01\xd4\a]b\xff\rH\xc8uј\xbc\xf6\\\aT\xe5\x8a,K'|\x9ai\xc4\xd4\x16,\xf1I\xde\ns\xea-\xd5rh\xa2fdU\xb7\x1dRT\xa1/\xedb\"\x15ҙ\x02w\xedeB\x01\xcb\x16<ݽܛQ\xe3\x9a\x1c(\x0e\xa4\xd9\xe3\r\xc1\xf6\xd3\xd3ty>\xf5!\xab?\xc6_\xa5\x06\xeb\xed7\xb7\xbf\xe6\x84#e\x82\xf3h\xfd'\x05\xc8e\x8fé\xd8\x18Λ\x8e\x8c\xc7CZ\xff\x98\xcf\x19\xcd&\xa57\x9a\f\xc8E\x87w\xdda\xef\xceT\xab\xf6\xf3\xd3\x02~\xff\xe3\xea\xff\x01\x00\x00\xff\xff\xc5p\x17\xe3F\"\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xdc=]s۸v\xef\xf9\x15\x98\xf4a\xdb\x19˹\x99އ\x8e\xdf\\\xafӸ\xf7\xae\xe3\xb1\xd3\xec3D\x1e\x89\xb8\x06\x01.\x00JѶ\xfd\xef\x1d\x1c|\x90\x94@\x12\x92-o\xb6xɘ\x02\x0e\x80\xf3}\x0e\x0e\x90\xc5b\xf1\x8e6\xec\x1b(ͤ\xb8\"\xb4a\xf0݀\xb0\x7f\xe9\xcb\xe7\x7fӗL~\xd8||\xf7\xccDyEnZmd\xfd\bZ\xb6\xaa\x80\x9fa\xc5\x043L\x8aw5\x18ZRC\xaf\xde\x11B\x85\x90\x86\xda\xcf\xda\xfeIH!\x85Q\x92sP\x8b5\x88\xcb\xe7v\t˖\xf1\x12\x14\x02\x0fSo\xfer\xf9\xf1\xaf\x97\x7fyG\x88\xa05\\\x11\x05\xdaH\x05\xfar\x03\x1c\x94\xbcd\xf2\x9dn\xa0\xb00\xd7J\xb6\xcd\x15\xe9~pc\xfc|n\xad\x8fn8~\xe1L\x9b\xbf\xf5\xbf\xfe\x9di\x83\xbf4\xbcU\x94w\x93\xe1G\xcdĺ\xe5T\xc5\xcf\xef\bхl\xe0\x8a\xdc\xdbi\x1aZ@\xf9\x8e\x10\xbft\x9cv\xe1W\xbd\xf9\xe8@\x14\x15\xd4ԭ\x87\x10ـ\xb8~\xb8\xfb\xf6\xafO\x83τ\x94\xa0\v\xc5\x1a\x83\b\xf8\x9fE\xfcN\xc2B\tӄ\x92o\xb8Q\xbb\x1aD<1\x155DA\xa3@\x830\x9a\x98\n\bm\x1a\xce\n\xc4;\x91\xab\x1e\xa40J\x93\x95\x92u\amI\x8b\xe7\xb6!F\x12J\fUk0\xe4o\xed\x12\x94\x00\x03\x9a\x14\xbc\xd5\x06\xd4e\x04\xd4(ـ2,`ٵ\x1e\xef\xf4\xbeNm\xcc6\x8b\v7\x8a\x94\x96\x89\xc0m\xc1\xe3\x13J\x8f>\"W\xc4TLw[\r\xdb#T\x10\xb9\xfc\a\x14\xe6r\x0f\xf4\x13(\v\x86\xe8J\xb6\xbc\xb4\xbc\xb7\x01e\x91Uȵ`\xbfG\xd8\xdan\xdcNʩ\x01m\b\x13\x06\x94\xa0\x9cl(o\xe1\x82PQ\xeeA\xae\xe9\x8e(\xb0s\x92V\xf4\xe0\xe1\x00\xbd\xbf\x8e_\x90xb%\xafHeL\xa3\xaf>|X3\x13$\xaa\x90u\xdd\nfv\x1fP8ز5R\xe9\x0f%l\x80\x7f\xd0l\xbd\xa0\xaa\xa8\x98\x81´\n>І-p#\x02\xa5\xea\xb2.\xff)\x12u0\xad\xd9Y\x1e\xd5F1\xb1\xee\xfd\x80\x02q\x04y\xac\xa88\xc6s\xa0\xdc\x16;*\xd8O\x16u\x8f\xb7O_\xfbLɴ'J\x8f7\xc7\xe8c\xb1\xc9\xc4\n\x94\x1b\x87\xacia\x82(\x1bɄ\xc1?\n\xce@\x18\xa2\xdbe͌e\x83\xdfZЖ\xdf\xe5>\xd8\x1b\xd4:d\t\xa4mJj\xa0\xdc\xefp'\xc8\r\xad\x81\xdfP\roL+K\x15\xbd\xb0DȢV_\x97\xeewv\xe8\xed\xfd\x104\xe2\bi\xbd\x16yj\xa0\x18H\x9a\x1d\xc6VA]\xac\xa4\x1a(\x19;d\x88\xa3\xb4\xf0\xdb洈U\x8b\xfb\xbf\xccq\x99m\xff\x1eG[~\xb3+k\x05\xfb\xad\x05T\xa6N\xfc\xe1P_\xa9\x9ej\x1f6\xcbF\xfb\xd4\x1dE\xb4m\xf0\xbd\xe0m\te\xd4\xeb\a\x1b\xcc\xd9\xc6\xed\x01\x144z\x94\t+D\xd6\xfaؽ\x88\xeeWT\xe0T\x01\x11\xd2$\xe01\xe1\xe0\x11&\x10\x03I\x9a`G\x03ubœ[&D\xb4\x9c\xd3%\x87+bT{\x88F7\x96*Ew#\xd8\n\x1e\xc0\x8b\x90\x15\x81xU\xc3Y\x81$\x8f\n\x05\xf1\xf5\xe7E\x15\xd3VQ\x86]>HΊ\xdd\f\xben\x93\x83\x82\xb4z\xd9\xf5;$K\xa8\xe8\x86I\x95\x12\x03\xa9\xb0kϞwjZZ-\xe9\x81\xec۸\xcc\r'\x91UI\xf9<\xc7\x10\x9fm\x9f\xce:\x90\x02\x1dʸ\x15Omo\xbb\x97@\xe0;\x14\xadI,\x93\x90\xb2E\xd3$\x15i\xa46\xe3t\x1fW]\xa4\xef\x1c\xa5~\x9c`\x9a\x83\x9d%Y\xdd5\xaf\x84\x03Q-\x0e\x06\nY\n\xb0ۨ-Q\xbb\xbeJ\xb6\xae\xef(RȒj(\x89\x14\xa33#\xbb\xb4\x1c\xb4\x9f\xabD\xce\xe8\xf4\xd0E\xb7\x7f\xf4x\b\xa7K\xe0D\x03\x87\xc2Hu\x88\xcc\x1c\x94\xba\x96\xa3XGP\x99ЦC\t\xe860\x01\x92XN\xdfV\xac\xa8\x9c\x87a\xd9\x13\xe1\x90R\x82\xb6\xda\x04]\xe6\xdd\xd8&\xc9\x1c\xf9\xfd$Sڣk3b\xb5\x0f/\xa5Q\xba\x96\xa1\x86\xbb\x96Dm\xa7{\x0ft\x8b\xffn\xe4\xe4\xb6\xff\x7f\"6\x18\x93\x13\x98vB\xfe\t\xba\x9f\xd9<=ʷ\x18ၾ$w+\x02ucv\x17\x84\x99\xf0uN\x12(\xe7\xbd9\xfeĴ9\x9e\xe93I\x93#\x13g\"L\x9c\xe2OH\x174\x19O\xdebd\xd3\xe4\xef\xfdQ\x17\x84\xad\"\xd2\xcb\v\xb2b܀\xda\xc3\xfeI\xaa>P\xe65\x90\x91c\xf5\b\xe6\tLQ\xdd~\xb7.\x8e\xee\x92`\x99x\xd9\x1f\xec|\xe3\x10A\f\xcd\xf3\f\\\x82\xf12SPc\x1cN\xbe\"6\xbb/\xe8T_\xdf\xff|\x18+\xef\xb7\f\xce;\xd8Ȍйv\xbd\xb7\xa3\xfe\xfa|T\x10~A\x1f(\x06U.\xe7rA(y\x86\x9ds]\xa8 \x96>4tΘ^\x01&\x7f\x90Ϟa\x87`\xd2ٜÖ\xcb\r\xae=C\xc2\xf5O\xb5\x01\x0e\xed\x9a|X\xec\xf0d? \"0\x86\xcfe\x03\u05fc($r'閩KB\v\xb8?a\x9bY\xacҟ\xa3\x9f\xfaD\x0e\xf8I;ZZ\x89\xa9\x98\xcfij@\x99\xc9%\xa8k\xdf(ge\x9c\xc8\xc9ȝ\xb8 \xf7\xd2\xd8\x7f0@\xd3\xc8(?K\xd0\xf7\xd2\xe0\x97\xb3`\xd4-\xfc\x9c\xf8t3\xa0\xa0\t\xa7\xe5-\xc2\xfa9?g\xd3,\xb7E\xdc3M\ue10dW\x1cJ2\xa7\xc2\xf4\xae\x9b\xceMT\xb7\x1a\xd3uB\x8a\x05\xda\xcc\xe4L\x1e\xdfR\r\xd0\xfd\xe2I\xfd\x84_\xad\xb1p\xbf\xb8$3\xa7\x05\x94!\xb2\xc4\xec'5\xb0fE\xe6|5\xa85\x90ƪ\xf0<\x8e\xc8T\xac~7DZO\x9e\xf5\xee\xb7\xef\x8b\xe7\x98/XX\x93\xb3\xf0\x10\x8c\xac3p\xe0uw9\xbf\x9f\x85\x95ٌ^\x81\x13f\xbb\x8e$Gǻ\xe6 \xe5\x05\xe8@+\x8e.\xce,uiY\xe2\x11\x1a\xe5\x0fGX\x94#x\xe1X\xd5\xd0[\xbb3\xc15m\xacZ\xf8okiQ\x9a\xfe\x974\x94)}I\xae\xf1\xa4\x8c\xc3\xe07\x9f\x87\xeb\x81ɘ\xb2\xb1SY\xfe\xd9Pnm\xbfU\xe0\x82\x00w\x9e\x80\\\x1d\xf8E\x17d[I\xed\xcc\xf6\x8a\x01\xc7\xf3\x8a\xf7ϰ{\x7fa\xa7\x9f\x9d\xb2\xafd\xde߉\xf7·8P\x18\xd1ᐂ\xef\xc8{\xfc\xed\xfdK\\\xa9LN\xcd\xec6`њ6y\x1c*\x92\xc9\xfa\xae\r8\xa6\x9f\x9b\xef\x92\xf2\xdeɞ\xdam\x16\x8b6R\x9b\xcf\xe9\xbc\xe1\xc8z\x1e\u0088\xa1g\x9cȱ\xcdF\f>\x8f\x16\xf5\xbdu\"W\x06\x94\xcf%:\x1b\x10\xe2\x8f\x17Ff\xa9S\x99\xfebc2\x90\xc6\xfc\xaeE\xf0\f7\xb9\x83\x9b\x9c%\x1e\xe3\xb0Z\xbc\x1c\xe9\xed\xdf~\xef\xe53\xad\xe4ڿ\xfb\x1bym\x87\xba\x90uM\xf7O5\xb3\x96z\xe3F\x06\x9e\xf6\x80\x1c\xf5պEyε\xc8\x1d\x0f\xe1\xf9喙\x8a\tB\x83\xda\x00\xe5\x19\x8a\x92F\xa6rةVQM\x96\x00\"\xa6\xe8\x7f\x04W\xa2f\xe2\x0e' \x1f\xcf\xe0zDt\x9d\xd3ٽ\x894\x89\x94\x8f\x1f\x9c\xc9jdI\xb6\x15(\x180\xc6a\xde\x1d=U!M/eq\x84C\xda\xc8\xf2'MVLi\xd3_\x82&\xadΥ\xf5\x91\xe4\xb3\xeb\xfe\xcaj\x90\xad9'\x82o\xbbi\x06g\xcd5\xfd\xce\xea\xb6&\xb4\x96\xad3\xe6\x86\xd5\xf1TףwK\x99\x89\xc7V\x98\xbf1Ғ\xa0\xe1`\x80,a\x95>\xefM\xb5B\n\xcdJP\xa1J\xc1\x91\x8dI+\x98+\xcax\x9b:%J\xb5c#`q\xab\xd4I\x01\xf0\x177\xb2\x97w\xac\xe4v\x88\xa0̽\xe3A\x1a\x10\xb6\"\xcc\x10\x10\x85\xc58(\xa7\x92q\n\x8f\fD\r\xcb\xd5sy\n\xdc6\x10m\x9d\x87\x80\x05\n$\x13\x93)\xb7~\xf7O\x94\xf1s\x90\xcdr\xde'\xa9\x1e\x81\x96\xa7\xe4h~\xed\r' t\xab\xf0\xf0\xdf\xe9\x8e-\xe3yk\xb6\x94#\x9c\xb6\xa2\xa8\x00\x95\x90\x18\xea\x06\a\x9e\tm\x80\xe6\xf2\x82\xf5\x8aZ!\x98X\xe7\xd1.;\x11\xda5\x87\ua954\x1c\xe8\xf8)d\xd7,\xae\xdf@\x13\xfd\xdaM\xf3BM\xd4\x11\xc1\x1d\x9b#\x1d\xb2)j\x95\x16\xa1\xc6@\xdd8\x91\x93D\xb5\xa2o]Π\x88\x8e\t\xc3\xfd*^3\xbef\x82e\xd0v@\xd7;\xc1L\xdfy\xb4 \xce\xea<\xda\t\xa2;pJ\x86\xedn\x00\xc0\nh\x88Cp\xed\x91k\x8ep$\x97@hYB\xe9r\x97\xd6\x15\xf1a\x89+|\x1b)nH\xee\xeexO0\x8b\xb2\xa1\r\x82N\xccê\r,Z\xf1,\xe4V,0\x18\xd7G\xeb\x90\x13\xb3T/\x9dޜ\xac\x8c\xe6\xf5K\xbe\x9a\x9e\xd3BC~\xcd\xe7\xa9\xe0?\x9dA\xcbd\xf3\xcdQ\t\x8f).\x98\xd3k\xae\x00{\xe4\xc7\xd9UL\xcd?1\xd8\x1fJ߸b\xe9\x17\x95\xc5ݥA\xf5\x9c\xc2m\x05\xa6\x02\x15J\xb3\x17X\x92^N\x9e\x90v\xc1K\xac\x93\xb3L\x15\\dW\xfe\xb9W9\x87\xd1M\xcb\xf9\x85\xe5m\xda\xf2d8l$\x8a\xd8!geՏ\xa5=\x86\x9c\xea\x8bl<\xf6+-\x86\xf5\x85\xb1\n\"\x14\x18\xca0\xb3\xa7qj\xbfXX\xda;\xdf\x1f\x96S`\xfe/,\xff\x0f/=̨\x94\xc8Gcn\x95fDb\x02V\x82\xc1zh\xec\xea+|?_\xe8\xfbc\xe1\xd4@\xfd\xa5\xf1\x123\xea\xc2f\xa05\x01g\xaf\xde\x04\xadA\xab\x9d+\x10\xed\x80\xcf\x19\xda\xf1ׅ\xbb\x05\x11\xc0\xa4\xf8\xf5k\x05A|}\xf5>\xd3䯤\x92m\xa2\xaao\x02e3\xd5\x1d\xf3\x1b\x1e\x14z\xf8\x03\x050t\xf3\xf1r\xf8\x8b\x91\xbe\xec\x03\xb3h\t@\x18\x14u\x99Y&J\xb6aeKy\x90\xda\xee\x0e\x81c\xa0\x8e\xcf\x12Ф\"\x82qǀa\xfc\x80\xe1ȗ\xc6\x1d\xcb\x1c\xad\xe2\xa6}ѼꐓkB\x865\x1f#\xd6\xf0\xd8\xe3\x8bW\xa9\x82\xfdCj=\x8e\xaf\xf0ȉ$f\xaa9N\xa8\xe1\xc8,\x16{\xf1yKN\x95\xc611\xf7\xd9*2^\xbf\x0e#\v?\xf35\x17\xc7`\xe7\xec\xf5\x15oXU\xf16\xb5\x14\x99\x15\x14\xafW\n\x99\x17}\x9eT\n0\x1f\xb0\x8cWA\xcc\xd6>\xbc(\xa09iK\xb35\r\xc7T2\xccR'O\xccެV\xe1\xcd*\x14\u07b6.a\x92\x8b&\x7f<\xa6\xf2 \xc6I\xbfЦab}\xc8\x14\xb9\xac3\xc96\xf3,s\xbf\xb7\x90\x01\xcf\xf4Ù.:\x1c\t}\xddu\xe9D$\x19ҖL\x18yI\xae\xc5\xce\xc3M\xc0酏B\x9a\x83\x8blvY[\xc6y\xff\xb6\x16\x82\x9d\x06\xe5\xefLjZ\xbbU\x8dy\xfbI\xbaJ5p\xcaO\n\x1c\xbf\xec\xc1\xe8gG\xdf\xd2\xf3\xaf[nX\xc3\xc1zt\x1bV&\uf419\nv\x11\xc9\xff\x90xCj\xb9CH_\x1e\xa3,^\xee\x051T\x93-pNh\x8a;\x0e\xb6_\xb8\x9bɅ\\\xe0\x95@K\xde\xc0$\xfe>\xf3\x85\x93b\xbc\x06\x86ԫ\x13p\v*\xf0v\xb3Nld\xd4\x1c\xe6h\xd1\x03\xbf\xdcE\x17\xf8\xed\xb7\x16Ԏ\xc8\r\x960xﭻ\xab\xe0Ս\xb61fP\x80^\x19\x8f\x1d*\x1c\x842\x9d\x82\"\xd7\xc2\xf9\x12\xfb\xeb\xc11V\xf3u\xa1\x9aU\xe76\nK\xce12\\\xc88:1l\xce\xed\xcf-\xea?o\xe0v|\xe86\xeb+\xe5\xfb\xb3\x7fP\xb1\xfe)E\xfay\xc7A\xb3E\xf9\xe7\n\xe4\xe6B\xb9l\xef5\xaf\xe8\xfe\xb8C\xd43\x16ٟ\xa3\xb8>\x13S9\xc5\xf4\xc7\xe1\xe9\r\x8a\xe7ߴh\xfe\xad\x8a峋\xe4\xb3\xce1\xb3\x0f\xadr\x8f\x19O\xac\xfa\x9e?u\x9f.z\xcf(v\xcf8I\x9b\xdf\xe4\t\xdb\xcb(f?\xae\x88=\x83f\xb9\xa2\xf8\x86\xc5\xeaoX\xa4\xfe\xd6\xc5\xe93\x9c5\xf3\xf3qE\xe8'\x9f\xc0\x84\xa3\xfe{Y\u0083Tf.8y\xd8\xef\x9f8I\xed\x05l\x92\x97D\x84\xae\x89]b\x88\xe1Ë\xd36\x95>\xf4\f\xee\xf4/\xb2\xb4k\x9b;cy\xdc\xeb~pWy\x05\n\x84{\xe6\xe3?\x9f\xbe\xdcG\xf8)\x9f\xd7{\xc6{\xcfK8\x0f\xa6\xf4\xc8\xf1Gs\xbe\x98\xc9a\v}\x80W>\x17\xa1\r\xfb\x0f|\xd5\xed\x05\xe9\xa0\xeb\x87;\x84\x11\xfc4|&.VQ\xc4\x13\xcb%X\x8b\x15Q5*\x16w\xab\x01\xc4a\xc5o\xff\x19%(ݓY\xc1b\xb2P\xe3e\x05\xef\xe1έcl\x96O\xd6i\x14;\"\x1dGVL\x95\x8b\x86*\xb3C\xb6\xd1\x17\x835\x0433\x95\xce\x19U\xac\x87π%\xd1\x1b^\xff³\xc8]3<\xed\xdd\xc7\xdd)\xeb\x18\xbf\x7f2{\xf3\xe4\x15\xd71n\xb1\x17\x88\xa9\xc4\xe7d\x81ɫ\xa5ɼ&z\xf8vR\xda\xe51\x8e\x9e\xd6s6\x8a\x0e\xa9\xa6\x04\x18;\x1eU\x9d\x16\xb4\xd1U\xe2ɥ\x97\xe9:|\x8d\xccPӾd\x93\x0e\xc0`\x9f\xac\xa8z\xdaj\vA\x9f\x85m\xa3\xb4Ⱄn\xb7\xb6\xd9ս0~\xd1\xcb\x14\xbc͑p\xe6s.'?\xe4\xe2\xd03\xa2~0\xfbeU\xdb!\xa6N8\f\x9eu\xed2\x8a\x8c\xa7\x9d\xd8\xccg@\xf2\f\xc6\tO\x7f \xberqE\x92/\x82d\xbe\xfa\xf1\x87\"zB\xab颂\xb2\xe5p\xea\x9b\x7fO\xbd\xf1\xf3\xaf\xfe\x85\xd92\xde\xfd\xb3\xc8\xee\x19h\xeb3\x0f\xdf\x17\xf4\x94\xf0\x90\xfb\x94\x1cs\xf808pϋ\x15\xee%ʢ\x00\xadW-\x0fUJ\x85\x02j\xa0\fݙ\x8e+>\xaaΦm\xb8\xa4%\xa8\x1b)V,qB2@\xeb\x7f\r:\xef\xf1l\x81\x1f[\xd5=\xed8\xf9,ދ4WC\x15\xe5\x1c\xf8'\xc6A\xff,\xb7®+C \x1fR\xe3z\xf7\xb2\x8aVY\xb3\xbe#\xa2\xad\x97\xd6\xc9\x05cƃŕT\xd3\x15\xd2\x0e\xefL\x18XC*\xbe\xde*f\u0a61J\x03\xae(c\a\xbf\xee\rq\xd1\xe7\x8aӵ+\x85+YA\rD\x03\x8c3\x8c-\x1f\xc7k\x84\xc5wX\x99$G\x92^\xd9B=v%cT\xacǞ\x17M\x98\xea\xe4\x03\xa3\xce\"\x17\xb41x\x01\x06\xe9\x88D4\x1e\x06>ڻ\xf7\xc6\xe8\x00\xec8\xa7\xf92f_0\xa7\r\xad\x13Q¼\u07b99\x04\x83\xcf\x02\xab\xb2Ww\xd7\x7f`1\x16ؑ-ձ\x98:\xe9{w\xb0\x1d\x18t\xd5-h(\tl@\x10+\x8a\x94q(\xa78\xf5+&\x92\xd5\x06\xd4O:\xc2\xc1J@\xcb\xe2O\x86*\x13\x97~\xe8Ǭ\xa4\xaa\xa9\xb9\"%5\xb0\xb0\xa3Os\xdd\xd2Ϥ*u\xe2q \xdel\xf3\xe2Q\x84k7\xd6\xfa\xb9\xfbh5hM\xd7!\b݂\x02\xb2\x06a\xf1\x1es\x8bI\x8f)\\\xe9\xf3\xc6\"\x96\x96Z\x14\xd2´\xd4O\xe0\\\xb8xz\x1a\xde'\xc6(v=\xaa\xa2Ӫ\xc2_\x1e|\x04\xaa\xf7\x9f\xbb>\xc0ŧ~_\x9f$v;vg#\xd4\x15x\xe2\x83dž\xc5\xc8:%\xd3F\xe2\xccG\x99\x93J\xca\xe7,7\xfbs\xecإ\x93\x98p\xac\x84W&\x97\xb25=?\xc7#<\xb1L|\xfe\xf3\x95\xed\v¼v\x17\xa8\xc6r\xaby\x9e\xde\xe7\x01\xa4\x18\xdeJCy02\x96/c\x87j\xe2\x01\x81\xa7\xf0x2绋}\xc8{\xaf\xb2w\xb0\xab\xee)O\xaf\t\xba\xeb\xe3ciU\x9f\xf5K\x02\x89\xaf\x80v>\xc9؛\x8bs\xf6\x0f\xa1~\xc2Ee\xe0\xf8s\xd7{\f\x8fn\x99\xcea\x06\x91\x8e4\t\x06\x1f\xa6\x8a\x92q\xc2\xd2'\xbcԦ\xa2z\xce=}\xb0}\xa2\xdb\xd13W\xd1\t}\x1c\x91\xca\xf4=\xd7\x05\xb9\x87m\xe2\xabC\x16\x9e~\xa1T%\xba܉\a%\xd7\n\xf4!\xd3-\xf0>#\x13\xebOR=\xf0v\xcdė\xf1\xca\xef\xa9\xce\x0fT\x19f\x99֭'1\xf6&ظ\xc4o\xf3\xa3\xc7\x7f`\x82r\xf6{J\x97\xf7\x7f\x9c\x9baB\xdf5\x1ey\xa7X\xa8\x80\xf89\x05\xe85\xf4O\xbag~¼\x97\xe4^&\xc5\xd8\x1f\x10\xb3!P\xa6\xc9\x12\xb4Y\xc0j%\x95q\xf9\xfbł\xb0Up\x90\xac\x86\xc08ѽfOX*\xf1\x1e\x8fނò\xf2\xa9D\x85V\aCΚ\xee\\F\x92\x16\x85\x8d\t\xe0\x8364\x15\x9b\xbcHOc\xa8\xeae%G\x85\xdc\xf5\xfb\xc7\x1c_T\x1f\bΡ\x0e\xaf\xb3;\x83\xce\xc7δ\x06\xafe\x10m\xb1w\x8a2!N\x8dݍ\x87\xddy\xa6\xe6k\x842\xa6\x1e\xfd\xfe\x06\x0fq\xfb\x03V\xdfɒ\xad\xa8\xa8X\x8f^h\xab\x94l\xd7U\xe0\xcd1\x87\x88\x94-F\xce\r\xaa\x02\x1d\xfe\xe3\x10\xd3*\xd1;\xb4\xf35\x16cZ:.w\xdcGy\x81\xa2V\xddŖNUM\xd8\xfc\xec,\xe1\b\xc4Y۟\x80H\xf5N\x14\x93Wp|\xa0\xcd&\xee\xeaNa(\x89\x84\xa8\x8d_\r\t\x11\xe2\x18\x12\xfa\xbeD\x17\xf1\xfc0\x18\x19\xf3QNDǴ\x13\x83[\x9c\x065\xbf\xe9\xbe\x134tw\x8eC\x87\x1e\x04\x7f'\xa5\xdd\x06\x10\x8e\x89|q\xeet\xdc\xfb\xe3F\xac\x9b\xe8mݞ\x1c\xbb~ۃ\xb1w\x05\xd2F\xb1\xdd4!\xde\xfcg\xb6Jɋ\xfbߙ\x96\x1c\xfe\xe5\xe0\xd77\xbeʸ\xa5J0\xb1>\t#\xbf\xfa\xb1\x89xރ=gD\x1fV\xfej1}\xd2,\x1d|D\x06/{x\xf63\xf9/\xff\x17\x00\x00\xff\xff/\xccd\x1aCm\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec=]s\x1c)\x92\xef\xfa\x15\x84\xeea?B\xdd\x1e\xc7\xedÅ\xde|\xb2\xe7\xae\xe3\xfe\x87Y\n\xf5f\xf7\xf6\xe2Q\xc8\xfc\x9a\xdd\xd4ƪ\xf23\x18U\xeb\f\xde\xc3FHa\x85\x92\x17%X\x9es˯/\x18\xe3R*\xcb\xf1\xb3\xc1?\x19˔\xb4Z\x15\x05\xe8\xc5\x03\xc8\xe5c\xbd\x86u-\x8a\x1c4\x01\x0f]\xef~X\xbe\xfd\xcb\xf2\x87\v\xc6$/ᚙl\vy]\x80Y\xee\xa0\x00\xad\x96B]\x98\n2\x04\xfa\xa0U]]\xb3\xf6\a\xd7\xc8w落\xf3\xed\xe9S!\x8c\xfd\x9f\xde\xe7\x8f\xc2X\xfa\xa9*j͋N\x7f\xf4\xd5\b\xf9P\x17\\\xb7\xdf/\x183\x99\xaa\xe0\x9a\xfd\x8c]U<\x83\xfc\x821\x8f?u\xbd`<ω\"\xbc\xb8\xd5BZ\xd07\xaa\xa8\xcb@\x89\x05\xcb\xc1dZT\x96F|g\xb9\xad\rS\x1bf\xb7\xd0\xed\a˯F\xc9[n\xb7\xd7li\xa8\u07b2\xdar\x13~u$r\x00\xfc'\xbbG܌\xd5B>\x8c\xf5\xf6\x8e\xddh%\x19|\xad4\x18D\x99\xe5\xc4@\xf9\xc0\x9e\xb6 \x99ULגP\xf9O\x9e=\xd6\xd5\b\"\x15d\xcb\x01\x9e\x1e\x93\xfe\xc7)\\\xee\xb7\xc0\nn,\xb3\xa2\x04\xc6}\x87\xec\x89\x1b\xc2a\xa34\xb3[a\xa6i\x82@z\xd8:t>\x0e?;\x84rn\xc1\xa3\xd3\x01\x15\x84w\x99i \xb9\xbd\x17%\x18\xcb\xcb>\xccw\x0f\x90\x00\x8cHT\xf1ڐp\xb4\xado\xbb\x9f\x1c\x80\xb5R\x05py\xd1Vڽu\xb2\x97m\xa1\xe4\u05fe\xb2\xaa@\xbe\xbb]}\xf9\xf7\xbb\xdeg֧\xe8\xff-\x9a\xef\xac\xe1\x06\x13\x86q\xf6\x85f\t\xd3~\xda2\xbb\xe5\x96i@1\x00i\xb1F\xa5a\x11H\x9d3\xa5;\xa0*\xd0B\xe5\"\v,\xa2\xc6f\xab\xea\"gk@n-\x9bڕV\x15h+\xc2Y-;\xf0\xa8\x81\x19\xe2\xf1\x93\xd2\xc0\x84ܨk\xb6\xb5\xb62\xd7o\xde<\b\x1b\x94n\xa6ʲ\x96\xc2\xeeߐ\xfe\x14\xeb\xda*m\xde䰃\xe2\x8d\x11\x0f\v\xae\xb3\xad\xb0\x90\xd9Z\xc3\x1b^\x89\x05\rD\x92\xe2]\x96\xf9\xbf\x05~\x9b^\xb7\a3\xd3\x15R\x993\u0603\xba\xd4I\x97\x03\xe5\x86\xd8r\x01?!\xe9>\x7f\xb8\xbb\xefJ\x9e0\x9e)\x1d\x01\x8c\xf1\a\xa9)\xe4\x06\xbc.\xd8hU\x12L\x90y\xa5\x84\xb4\xf4GV\b\x90\x96\x99z]\n\x8bb\xf0[\r\xc6\"\xeb\x86`o\xc80\xa1\xd0\xd6\x15\xce\xdd|Xa%\xd9\r/\xa1\xb8\xe1\x06^\x99W\xc8\x15\xb3@&$q\xabkn\x87\x95\x1dy;?\x04\x9b\x19am\xd0\x15w\x15d\xbd\xa9\x86\xed\xc4FdnB\xa1JnT\xc9@-\xbb2>\xfb\xe9\x17\xd2}ï\x03<\x9c\x82\f\xbd\x82A\xa3d\xb7\xc4\xfc\xd66\xa2\xc89hLi&\x95=\x80y\xa8Z;\x94\xf0P&09\x10vv\xa0RS,\xe9\b\x90ֶ\x0e\xe5+\xcaj\xc2\xfbQT\xab\xb2\x84\\p\v\xc5\xfe$\xf4\xfb \xc6Ȭ\xa8\x1f\xb6vz^lzD\xcfk`\xa2Ӟ&\xe3_C\x8dCk\xfcW\xb2\xecdD\x1dM\xba\xc0j\xd9\xf2pЏ\x84\xa7C\xd20\xb6\xda0\xabQ\xe7z\xec\x9eDQ\xe0LF\x8c+\xc8{\xa8Ż\x13\x1b&l\x18͚\x13\x06\x92-\x9d\x17\xb5l}\x86\xc6\xfe#\x82\x03\xecH\xed\xbb\xfe\xd1S\xe1\x96I\xf8j\xdbZ8\xec\xc8\b6\xbc0\x83!x\x854k\x18Wl]\xdb\xd30\x80\xb2\xb2\xfb+\xd7v\xa3\x8aB=1C\xca\x16\x8d\xe0F<\xd4\xdaM\xf6?\xe6\xb0\xe1ua\xaf\x1d\xce\x7f\x8aI\xeb\xf84\xb3PVh2O\x91\xd3{\xdf\x16\a\x8c\xb3%ob\x8c\xe0&\a?Dy\xf7c\x04\x88r^l\xa5\xd5N\xe4ޜ\x1f\xa8+vTeaɌ\xb8\x93\xbc2[eQ\"Tm\xc7j\xa5\x8c\n\xcb\xcd\xddj\x00\xad3\t\x11]r\x85IN\xadbO\\Xҹ7w+\xf6\x05c\b\b\xad\x99\x9bl\xcc\xd6Z\xa2\x9d\x8b\xf4\xf7\x19x\xbe\xbfW\xbf\x18`yM&:\xb8\xb7Wl\r\x1b\xb4g\x1a\x10\x06\xfe\x04Z\xa3~7\x84\x84\xaa\x0f\\\xa6\x86=\x8e%(\x1b\xde\xe2\v\xc3\xde\xfe\xc0J!k;*uG\x15\x1bQ\x8f[^\xaa\x1d\xe8\xe7\x10\xf7=\xb7\xfc'\x042\xa0)\x02g\x04\xdd\v\f\xd1w\xbd\xa7\x1f\xd7\x11M\xec\xcajӁ*\f\xbb\xbcDmp\xe9B\xce\xcb+\a\xa1\x16\x85]\b\xd9\xed'\xa8&\xec\xe94\x828\xfa:\xa6\x9b{\xf5\xa3q\"\xff,\xfaD`\x8e\u0601J\xe5lG\xf5\xd8F\x14\xc0\xcc\xdeX(\x83\xd6j=\xffN83,\xe4+\x14\x85\ac\x90\xde~P\xe3\x04\x91uQ\xf0u\x01פ\xe4\x8f\xd0l\\ߌ\x11\xed3\x18+\xb2s\x92\xccA\x1c!\x98\xf6?\xf4(C\xa1\x03\x7f\x04\xc6#\xe0==1N)\x8a\x0e\xd1\xfbԺ\x88\"Wi\xc8Љ\xbd\xf6α\x80\x82\x1cr\xa9X\xa1\xe4\x03h\x87Fc\xacPY\x02Jh\xce\xd0\xef\xd4hb\x84d\x9b\x1a]\xd2%C5\x11\x15\x12!\x8d\x05\x1e\x91\xe630\x0f\xbefE\x9dC~S\xd4Ƃ\xbe\xcbT\x05yXe\x1aUͩL\xfcp\x14\xb2\x0f`\n\x91\x012\"s\x95\x16\xb4\xca\x13\x93\xed6\x96\xd9W\xe0\x16\x9d\x90\xd7~\bm\x902\xa9\\\fXlx\xf9\xe7\xcb+\x12\x81~\xef\xfd~\f\xe3\x1a\x1a2\xcdR\xced\xf2\xc7[\b\ve\x84\xba\x93Jj\x06߹\xd6|\x7f\x84\xeb\xcdj\xda\v\xf0=\x06{\xc0y\x19\xaa}#\xde\x0f\xfb\xffW\xe4\xfey\xf9mhՙ\v\x89|.\x84\xb1=6\x1b\xb7\x8c\x85d\x1d\x8b!=\x81\xa4\x83\x89jr\x8a\xab\xff \xc4<\xeb܉M\x96F6\xfd\x04\xf8\xa7\xa2\xe4V\xa9\xc7\x14\xea\xfd7\xd6kװXF;#l\r[\xbe\x13J\x9b\xe1:)|\x85\xac\xb6Q\xcd\xc2-\xcb\xc5f\x03\x1aa\xd1:\x7f\xb3-p\x8cX\xc7\xe3\x17\xd6QY\xd1\n\x83q\xb5LG\x96\x125bC\xa1\b5\n\xd5y8\x18[\x90\x03\x91\x8b\x9d\xc8k^\x90/\xc1e\xe6\xc6\xc7\x1b\xfcbZmB \x0e\xf0\x8fJ\xb5+Ρ\t\x83D&\xf6\x96\xbd\x94\x04t\xf2K\f\x8e\x0e\xab\xc6)\x11\xd6\x12\x8e\xf6\x8d\xcc\xd4u\x01\xc6w\x97\x93\x9f\xdc꤫\x96Yn\x91\xa1\xe0k(\x98\x81\x022\xabt\x9cB)r\xe0J\xaaҍ\x10wD\xcb\xf6ív0\x13`\x19Ÿ[\x91m\x9d\xfb\x8a\x82F\xb0X\xae\xc0в\b\xaf\xaa\"b\xba\xda2)\x1c\xbe\xb3)\xbdі\x04\r2\x84\x1b\xd3%mI\xd4\xcfm\x19%{;7\xfbT\x1f_\xe8\x1f\xc5\xf7_\x89\xe8\xc1\xea\x9c(\xec\x13\x9a\x84цA\xf2|\x88\x92\x1e).\xc0,;\xcbs\u0086\xaf)\f\xed\xf9\x8f\a{)\aD\xf9}\xf1\xee\xb4\t3\x83u\x93s\xeae\x19\xd7t\xf3O\xc272Yw\xdeb\xcd\xe2\xd9\xc7n\xcb+\xda\x16\xf0\fɯ\xd8F\x14\x16ȩ\x9aB\x94\xcd\xe0\xdc9\t\x94j\x81\x19\xed\x12\xdbl\xfb\xa1\xd9|\xed,Q\xa3v\xc1\xbfS\xa4\xf5\x14\x1c\x19\x1d\xd8(K>\xcc\aNF\xf7Ƶ\x0es\xcc\x03s\xe1\x96~\xa8I\xe7\xcc\xf1:\x1aQ\xfeGsmJ!W\xd4\x11{\xfb\x82\xee\x90\xd7\xe2\xb1\xfc\xa8\xb1r\xba\x93~\x13:k\xb9\xd7|\xf0Iu\x8a6~4\xf4\x98{\xb8'B\u07b5T\xb6\xb3\x8c3Ӊ\xaeT\xfe\a\xc36B\x1b\xdbE\xc3\x1cɬ\x1a\x05uB\xe8)?h}r\xe4\xf9ɵ\xee,(nՓϜ\x9e\x13o\a\x92n\xf9\x0e|\xea*\xc8LՒ\x96\xc2P\x0f`73 :\xd68+\x90h\xef:\x8de]\xa6\x13dA\x92$\xe4\xe4\xbaY\xb7ɏ\\\xa4\xad[\xb1\xd3\xd8j\x8f%q\x8e\x95\xd3\xe7Q\xc8\xf0\xec\xe6ӗ\xfc\xab(\xeb\x92\xf1\x12yHn\x87(\xa1I\xa9w\xecn\xf2>\xb1\x05\x19-\xabp\x96U\x05X\xf0y\x9b3\xf0Ȕ4\"\x87\xc6\xf4{\x11P\x92q\xb6ᢨ\xf5\f\xad:\x9b\xe4s\x830\xafM\xce\x1fY\xa5#\xb2 \x12%\xae\xb3\xcf\xf0\x82\xa75~\xa5\xe7\xf9\xb1)\x0e\xa3\x86\xf9\xfeb\xa5\x85r\xa7\x01\xce\xef2\xfa\xbcc.\xf7\xdf}\xc6\xef>\xe3w\x9fqNG\xdf}Ɖ\xf2\xddg\xfc\xee3\x1e/\xdf}Ɣ\xf2\xddg\x9c\x89ȷ\xf2\x19S0\\\xd0\x1a\xe7\x91\nIX%\xa6BL\xa1=їO\xfa\xf1g5Β˼\x1a\a9r\x8a'r\xfc\"\xe6u\xb4ƫIn\xc6\x19\x18\xe6\x8e;F\x99\xe00\x9f\xe1\xf4L@\xe0\xfc\xa7gVG!\x9f\xf1\xf4\x8c\x1fBZ\x84q\xd2ٙ@\xa4\xf9\xa7'\xae|\x12Q\t\xaaA\xfe¶\xaa\x8e\x9cژ mB\x16m\x1aAzI\xb5>1\x02,߽]\xf6\x7f\xb1ʧز'a\xb7\x11`t!\x05\xcfs\x8c\v:\az\xbc\x1e\bw%\r\x852\x02Li&E\xe1$6@\xe8\xc9+\xfbT\xb9\xd5\xc1\x93\xfd\xa6\xe95\xac\xf4Dܹ\xe9\xb7M\xb6\xe4\xb4\xfb\xfe\x8c\xa4۳\x1e\x8d\xfafi\xb5\xa7%Ӧ\xaeP&$Φ\xa7˦\xb0Օ\xf4$\xd9\xe4\b95!v\xee\nċ&\xbf\xbeL\xcak2\xcd\xd2\xd2[\xe7R\xecURY_9\x81\xf5\xf5\xd2Vg$\xab\x9e\xff\xd4K\xfaZ\xfa\xc9ٕi\xcb2\xc7\x13N\x93\xd2L\x93\x96nR\x06|\xd2P\x93\xd2G\xe7&\x8d&q2}\xba\xbejZ\xe8\xab&\x83\xbe~\n褴MV\x98\x9b\xe49~\xcba(\xd3\x0e@\xf1-\x84\xf3\xb9dR\xba\xe7\x9a?+\xee\xfc4\x80\x85\xc2\x12\xdc\xd4W\x8c\x03ʺ\xb0\xa2*\xda\v\xd9b\x01\xe7\x16\xf6\xcdeE\xbf*:\"\xef\xaf\xea\xfa\xf4\xb9\x91\xf8\xe5 \xaa\xe1\x86=AQ0\x1e\x9b\x9b\aT\xc8\xdcE\xa0\x99Z\x00\xdaF\x9c\xe5\xfe6&\x7f{蕛.t\x1b\x00Y\xd82\xb6\xd4\xc7\xe5\U0006bf8e\x1a\xb0T=v\xe0\x99\xbbx\x83\xbe\xfdV\x83\xde3\xbax\xac\xf1\xcd\xdaC\xa5~\xa2\x1b\fL\x83\xfa\xf1\xea\xf0؞\xc9A\x80Ӫ\a\xf6N:\x8f`\x88\x13\xb5A\xbd\xd3\x06t\xa8T1N\x8b\xf6\x13\x01!U\x03!\xd24\xc5\xf9\x9fs\xca\xf2%»s\x04xI\x1e\xd0<\xef\xf5\x1b\x9e\x9e<\xf5\xd4dz2J\xd2)ɗ\b\xf7\xe6\x04|\xb3\xfc\xd5\xf4S\x90\xf37\x9e_\xf8\xd4\xe3K\x9dv\x9cA\xbd\xd4Ӎ\xf3i\xf7J\xa7\x19_\xfd\x14\xe3k\x9e^\x9cuj19=kV\xc6\xc1\x9cԪg\x1c\xb7K\xcb%\x98>\x85\x98x\xfa01\xd3 m\xf0'\x0e;\xf1t\xe1\xfcS\x85\x89\xfc\x9d3\xa5_\xf9\xf4\xe0+\x9f\x1a\xfc\x16\xa7\x05\x13$0\xa1\xca\xfcS\x81\xcfޒR:\a=\xb9\xed7Gj'\xe555\x96\xeb#6\xd8\xd7\n\xd7\xc9b\xad^\f@f\xc9\xdf\xe4O\xaf6\x1c\xdb\x06G\xc9\xecxD\xbd}\xc9\xd6]\xeb;\xc4\xfe9\a\xb7ui\xa0\xe2h\x00(p\xa3Ԭ\xa8\xab\xf0\x81g\xdbA\x0f[n\xd8F\xe9\x92[v\xd9l\x16\xbfq\x1d\xe0ߗK\xc6~TM\xaeN\xf7\xbe4#ʪ\xd8c$\xc6.\xbb\r\x9e'%Q\xe9\f=ߪBd\x11\x9fs\xf4^=\xd7\xe0\xe0\xb2!\xba\xf9/\xebd\x8b\xc4\x02\x1fl.\u00ad\x8b\xfd;\x99݅\xee'\xae\x95\xf0J\xfc\x17\xbd\xa9t\x86U\xb7w\xb7+\x82\x15Ĉ\x1ekj\x12\x14\x1b\x96\xaf\x01]\x86v\xec\xc7\xf4\xc9jӃ\xda\xcf\x11\xee\xbeV\x01\xb9{\x9a$\xb8-^5g\n\xb5\xd6\xed\xca\xe1r\xac'\x94/.\xf7L\xf9\xb7'\x84\xce\x17\x15\xd7v\uf489\xaezx\x04\xbb>\xb5jv\xd4Z\x1d>\xbd\xd2-=\xb2\x87WWh'{_\xf5\x93\a\x86\xf4|\x0eN\xc7OUO\x9e\xa7~\x01\x9c\x8e\xbbP\v\xa2b\xe4\xa7h\x06\xe4\xd9W,\x8d\xbf\xa2\xff'\xb5\x83\xf7ѕ\xcb\xfe\xf3+\x83&#\xa9\x89\x01*\xdd2\x1f\xa1`\x9b\x8fHw|?O\xed\xc5s\r\x03*\xfe\x8e\xf0\xe7,N\xde\xf5A\x8d\xbfHBW\xa8\x87Nc^\x15\xbd\xf5\xb4g\xb7_(nmT\xa9\x9f\xfa>n\r˓!\xc1 \x02Kȣ\x8f\xb4\x9c\x8b\x8cVi\xfe\x00\x1f\x95{\\'EL\xfa-zO/y\xcf-\xe4k\xfbI\x18S\xf4~lC\x80\xed\xf9\x8c\x83\x9b\xfe\x11\xdb\x13\xdf2\xb0\xb6x\x8e\x8c\xdc\xdf\x7ft#\xa57M\xde\xfb\xe7IP\x1f\x1b@\x16\x04\n8hk\xfc\xefV=\xd1\x05\xf8\xf15\xe6\xf0\x82H\xe7\x113\xa0\x83\"\x94\xc2{\xd20\xeb\xaaP<\a}C\xaf\xa8$\x8c\xf8\x97^\x83\x81;\xd0\x7f\x8b\xc5\xdb\xcd\xc8xB\xcf/\x98%\x83\x1e]Q@\xf1\xa3(\xc08\xc4\x13M\xc3\xeda\xcb\xc6R\xd4\xe5\xday\xaa\x1b\xfc\xb1\xe9\xe4\x88evC\xa5\r\x86\n4\xfa\x89n+\xa26A\xf2\x8f\x13\x835|\x14\xd2\xc2\x03\x8c\xc7\xd0\x136a\xd7{\x8a%̞\x14E\xf8e\xbceǙ\xee\xccc\xf2~\xe3\xea.\x06\x8b\x1b\xa32A\xfe\xf7\x93\xb0\xfe\xe2×\xbbm\xfbX(u\x84\x8e\xb5\x81OO\x12\xf4砫\xcdJƞ8\x99\xd6\x13\xbf\x1c@\x8b>mb\x15\xf6=\x02c\x00\x80\xa9\xb0#dܣ9a#J\x98\xe6\x1d\xb0CzNL\xb6\xb8M\x18wm\x16\xe3\xcf\x16-\x9a\xe7\x95.\x12\xc8\xed\x9e\n\xea\x03\x1e\x7f\xfdͽ)\x94\xf1\xca\xd6:\xe8\xa1Z\xd3}\xe4\b\x04\xdcuݧ\xbd\xff\xd6>\vv\n\x83\xdbw\xb9ڕ\xfaɗCG\xe04/\xb8E\x9f\x83r\xb1\xa7{\xd9s\x81\xf0O\xe3\xf1\xe8\x8cA\x9c\xef\xdc3_\x13D\xf8\xd8\xd6\x1c\x1bp3\f\x1c\xb2\x7f8\xecUGB\xd7\xd3O\x8c\xe1\x16\xeb4\xe7A\xbd\x1cQ\xc3p\xad\xfd]\x8c\t\xe3\x87\x06\x17\xecg8\x8cm\x17\xec\x83\xc4A\x1c\x12\xc0\x9d\f\x84\x9c6!H;\xce\x19\xe2\xaeiE\xc72G4\xe4\xb4\xd8~\x19\xc0\x18\xe4|\xd3\xfbHM\x15w.Ӱ?\x8a1\xbf\x8d\xf6\x962\x1c\xe8\x9f\x0e~\x8dj\xf0\xa3\xda;\xa6\xb9G\xd5\xc8\xc1Gz3.\xefH\x8e\xf7g\xbb_\xeau\xfb\xf4\x00\xfb\xdb\xdf/\xfe?\x00\x00\xff\xffgH\xe37iz\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcV\xcfo\xeb6\f\xbe\xe7\xaf \xb0\xeb\xec\xbcb;\f\xb9\r\xdd\x0eŶ\x87\xa2y\xe8]\x91\x99\x84\xab,y$\x95.\xc3\xfe\xf8A\x92ݦ\xb6\xb2\xf6\xed0\xdd,\x89\x1f?~\xfc!7M\xb32\x03=\"\v\x05\xbf\x013\x10\xfe\xa9\xe8ӗ\xb4O?HKa}\xbaY=\x91\xef6p\x1bEC\xff\x80\x12\"[\xfc\t\xf7\xe4I)\xf8U\x8fj:\xa3f\xb3\x020\xde\a5i[\xd2'\x80\r^98\x87\xdc\x1cзOq\x87\xbbH\xaeC\xce\xe0\x93\xebӧ\xf6\xe6\xfb\xf6\xd3\n\xc0\x9b\x1e7 \xc8\xe9L\x8dFa\xfc#\xa2\xa8\xb4'tȡ\xa5\xb0\x92\x01m\xc2?p\x88\xc3\x06^\x0f\x8a\xfd\xe8\xbb\xf0\xdef\xa8m\x86z(P\xf9ԑ\xe8/\xd7n\xfcJ\xe3\xad\xc1E6\xaeN(_\x90c`\xfd\xfc\xea\xb4\x01\x11.'\xe4\x0f\xd1\x19\xae\x1a\xaf\x00Ć\x017\x90m\ac\xb1[\x01\x8c\x82d\xacf\xd4\xe2tS\xe0\xec\x11{S\x9c\x00\x84\x01\xfd\x8f\xf7w\x8f\xdfm\xdfl\x03t(\x96i\xd0,\xeb\xdf\xcd\xcb>\xd4\xc2\x04\x1200R\x02\r`\xacE\x11\xb0\x91\x19\xbdB\xa1\f\xe4\xf7\x81\xfb\x9cV0\xbb\x10\xf5\x02U\x8f\b\x8fY\xff1\xcc\xf6\xe5p\xe00 +MҔuQq\x17\xbb\xffF<\xad\x14k\xb1\x82.\x95\x1eJ\xf6<\xea\x85\xdd(\x0f\x84=\xe8\x91\x04\x18\aFA_\x8a1m\x1b\x0fa\xf7;Zmg\xd0E\x17I\x99\x8c\xaeK\x15{BV`\xb4\xe1\xe0\xe9\xaf\x17lI\x02%\xa7\xceh\xd6\xce+\xb27\x0eN\xc6E\xfc\x16\x8c\xeffȽ9\x03c\xf2\t\xd1_\xe0e\x03\x99\xf3\xf8-0f\xa97pT\x1dd\xb3^\x1fH\xa7>\xb4\xa1\xef\xa3'=\xafsK\xd1.j`YwxB\xb7\x16:4\x86\xed\x91\x14\xadFƵ\x19\xa8Ɂ\xf8܋m\xdf}\xc3c\xe7\xca\x1b\xb7zN5(\xca\xe4\x0f\x17\a\xb9u\xbe\"=\xa9\x91J1\x15\xa8\x12\xe2k\x16\xd2V\x92\xee\xe1\xe7\xed\x17\x98\x98\x94L\x95\xa4\xbc^]\xe82\xe5'\xa9I~\x8f\\\xec\xf6\x1c\xfa\x8c\x89\xbe\x1b\x02y\xcd\x1f\xd6Q.ܸ\xebIe*픺9\xecm\x9eU\xb0C\x88Cg\x14\xbb\xf9\x85;\x0f\xb7\xa6Gwk\x04\xff\xe7\\\xa5\xacH\x93\x92\xf0\xa1l]N\xe0\xf9\xe5\"\xef\xc5\xc14;\xaf\xa4\xb62%\xb6\x03ڔܤo\xb2\xa6=\xd9\xd2V\xfb\xc0`j&퇘d\x8b\xaf\xe42N\xa4\xc2f6\xa7R\x97\xbfϦ>\x96\xf2\xc9\xd1\b\xce7g\x9c\xeeӝ\xb9\x7fG{\xb4g\xeb\xb0@\x94)\x84\xefSI\v}\xec\x97>\x1b\xf8\x8cϕ\xdd{\x0eiB\xe3|\xd4\\\xad\r(\x8f\u0601\xfc\"\xdcyd\xe5V~\x18\x97#?\a4\x02\x01G\xefSK\a\xbf\x80\xac\xbc\b\x8b;\xa4\xd8W\xd8T\xf9\xdc\xf9}\xc8\x7f\x11&96Z\xda\t\xc7d\x8f~\n\xaf\n\xe0\xf5\\\x97\xb5\x9cs\x1f\x12\xb4\xac\xfc<\xff7\xe34\x97\x88\xb1\xea\xbbɬ\xaa\a\xc9cM\xf1z\x7f\x8d,\xa3sf\xe7p\x03\xcaqi]l\r\xb39ϫf*\xb5/ԣ\xa8\xe9\x87w\nh\xf1*\xa4u\xbf@I\xcd\xf3|D\x7f\xadE\xe0\xd9ȫ\xf3\n\xe4\xee|\xcd\xf4\xf6\xe5os\xd9g\xa5\x9e7\x90f}\xa3T\x11\xf2CJUSZ\xea\xbc\xfa[\xb3Pi{yw\x1a$o\xfae\xfa\xabY\xc6p\x95B\xb5\x02\x16\x9b\x19\xbe\xbb\bO4\xb09L\x01\xff\x13\x00\x00\xff\xff\xd9Ո\xaf\x10\f\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcVM\x8f\x1b7\x12\xbd\xebW\x14\xec\xc3^\xa6\xd56\xbcXxuY\x18\xe3=\x18\xb1\xe3\x81\xe5\xcc\xd9\x14Y-U\xc4&;\xac\xa2d\x05\xf9\xf1\x01\xc9\ue65eVk<\x13\x04\xe9\x8b \xb2\xf8X\x1f\xaf^\xb1\xaa\xaa\x85\xea\xe8\x16\x03\x93w+P\x1d\xe1wA\x97\xfe\xf1r\xff\x96\x97\xe4\xeb\xc3\xebŞ\x9cY\xc1ud\xf1\xed\x17d\x1f\x83\xc6\xf7ؐ#!\xef\x16-\x8a2J\xd4j\x01\xa0\x9c\xf3\xa2\xd22\xa7\xbf\x00\xda;\t\xdeZ\f\xd5\x16\xddr\x1f7\xb8\x89d\r\x86\f>\\}x\xb5|\xfd\xef\xe5\xab\x05\x80S-\xae\xe0\xe0ml\x91\x9d\xeax\xe7\xc5z]0\x97\a\xb4\x18\xfc\x92\xfc\x82;\xd4\xe9\x8am\xf0\xb1[\xc1\xfdF\x81\xe8\xaf/\xae\xdff\xb4u\x8f\xf6\xb1G\xcb\x06\x96X~z\xc4\xe8#\xb1d\xc3\xceƠ\xecEϲ\r\xef|\x90\x9f\xefo\xaf\xe0\xc0\xb6\xec\x90\xdbF\xab¥\xf3\v\x00־\xc3\x15\xe4\xe3\x9d\xd2h\x16\x00}~2\\5\xa4\xe6uA\xd4;lU\xb9\a\xc0w\xe8\xde\xdd|\xb8}\xb3~\xb0\f`\x90u\xa0Nr\x96\xe7C\x04bP0x\x02\xc7\x1d\x06\x84ۜO`\xf1\x01\xb9w\xfa\x0e\x14`\xf0\x9f\x97w\x8b]\xf0\x1d\x06\xa1!\xf8\xf2\x8d\xf85Z\x9d\xf8\xf5G\xf5`\x0f \x85RN\x81IDC\x06\xd9\xe1\x90\x0e4}\xf4\xe0\x1b\x90\x1d1\x04\xec\x022\xbaB\xbd\xb4\xac\x1c\xf8ͯ\xa8e9\x81^cH0\xa9Vњ\xc4\xcf\x03\x06\x81\x80\xdao\x1d\xfd~\x87\xcd >_j\x95 \v\x90\x13\fNY8(\x1b\xf1\n\x943\x13\xe4V\x9d `\xba\x13\xa2\x1b\xe1\xe5\x03<\xf5\xe3\x93\x0f\b\xe4\x1a\xbf\x82\x9dHǫ\xbaޒ\f]\xa7}\xdbFGr\xaas\x03\xd1&\x8a\x0f\\\x1b<\xa0\xad\x99\xb6\x95\nzG\x82Zb\xc0ZuT\xe5@\\\xe9\x92ּ\f}\x9f\xf2\x83k\xe5\x94(\xc6\x12\xc8mG\x1b\xb9K\x9eQ\x9e\xd40\x855\x05\xaa\x84x_\x85\xb4\x94R\xf7\xe5\xff\xeb\xaf0xR*U\x8aroz\x96\x97\xa1>)\x9b\xe4\x1a\f\xe5\\\x13|\x9b1љΓ\x93\xfcG[B'\xc0qӒ$\x1a\xfc\x16\x91%\x95n\n{\x9d\x95\t6\b\xb13J\xd0L\r>8\xb8V-\xdak\xc5\xf8\x0f\xd7*U\x85\xabT\x84'Uk\xac\xb7S\xe3\x92\xdeq\xa3\xf62y\xa1\xb4\xf3\x8a\xb0\xeeP?h\xbc\x84B\r\xf5\n\xd1\xf80I\x90\x1a\xf4b\x1e\xefa>\xe7\x85\x02ʰhh;]\x05P\xc6\xe4Q\xa3\xec\xcdų\x8f$l&\xee\xeb|S\xe2p\xe3C\xf2\xe8@\x06C5\xc4\xd9{\x12C\x1f0\xa15gL\xbd\x98\xf3\x1cJ@\x93J\xac칣\x0f=\xb93̳R\x91+)\xbf\a\xc8\xcc\vm\xaf\xd5N\xd0\x19\x9cjO\xf6\xc6gz3\x1a8\x92\xecJ\xdf\xd8\xf1\xb0{Z\x15ҷ\xc7\xd3\xdc\xf2\xc4\xf7\xaf;L\x96E\x86\x11\x18u@I~0\xda\xd4\xe5\xa9i\x97\x00\x9f\"\xe7\xceS\xb3\x88\x90ԃ\xccpz\x8f\xa7\xf3DÏ\x8aۿ\x1b.\xb8ܨhe\x05/^\xfc8\xa43\xad\x1b\xbe4\x97\x87@\x036\x18Н͖\xe1\xfb\x9a\x15+\x91&1\f\x9b\x06\xb5\xd0\x01\xed)+\x14\x054W\xb0\x89\x02&b\xae\x9a\xd2\xfb\xa3\n\x86A\xfb\xb6SB\x1b\xb2$' \xbe\x80\xaf\xac\xf5G4}ű\xed䴄\x0f\x8eE9\x8d|7\x15S\xc6\n\x15\x94+V\xbdP\xe7\t\xaf\x02^\x84o=\vh\f\x89\x8e\xf6\x04\xc7\xe0\xdd\xf6b\xb0\x9f\xdf\x7f^\xc1;c\xc0\xcb\x0eC\"`\x13\xed\xd03\xa3\a\xc0U\x9e3W\x10\xc9\xfc\xef\x02\u058cЦ\x17cp(\x98\xb5\xd6x\xcdIf5vµ?`8\x10\x1e\xeb\xa3\x0f{r\xdb*\x05[\x95~\xe4:?\x03\xeb\x97\xf9\xe7Q\xdf\xdf\a\xdf\xc1\xb7\xd1\xd3t\xd5S\xe6[z\f\xb9\xc9\x1b\x16\x8cGv\xff\x12p\x88\x06H\xc6#a\x177K\xedۑ\xd3\x15Ӗ\xeb\x11vM\xcc\x11\xb9~\xf3\xf6\xbf\xff\xf9KD\xf7]\x91\xc2'\xf4\xe7:\xcb\xd9)E\x91K\x93\xb8\xbb.m\xe6\x03\xa4\x89\x99\xba\xb7\xed۳\b\xfe\x9c\xb2\f>m\xbc\xb7\xa8εd`\xf5\xb9KU\xba\xe19\xba\t\xf0\xbd\x1ae\xafU]U\xac\x95\xf8\x96\xf4\xc4z\x10\xee\x1fh\xecMo\x96\xba1\xe5`86\xf4sy\xde\xe6ǮڞM\xffG*2\x1fxuw\xc1\x93&\xb4(\x89\xfc\xfc\x19\x9d\x8f\xf5\x96\x9b~N\xeb\x18B~\x10\xe5\xcdI\x1c\xe9U\xfc\xf7\xcc\xe9n\xa7xFl\x9f\xe0\xf5M:9\x94\xc1R\x83\xfa\xa4-\x16@\xf0\xcd\f\xf7\x9e\xe5r\xfa\xd0\xc5v\x8e\x88\xef\x0e\x8a\xac\xda\xd8sի\xe0\x17\xa7.\xee^,\xfel=\xcf\x169\xbdg\xcd\n$Ăݳ\xac_\xf93\x00\x00\xff\xff\x1d6\xacA\x84\x0f\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xccXO\xaf\xdb6\f\xbf\xe7S\x10\xdduNV\f\x1b\x86\xdc\xdal\x05\x8a\xb5\xc5CR\xbc\xbbbӉ\xfadI\x93\xa8tٟ\xef>P\xb2\x13\xc7V\xe2\x977`\x98n\x96H\x8a\xe4\x8f\xfcQIQ\x143a\xe5#:/\x8d^\x82\xb0\x12\x7f'\xd4\xfc\xe5\xe7O?\xf9\xb94\x8b\xc3\xebٓ\xd4\xd5\x12V\xc1\x93i\xd6\xe8Mp%\xfe\x8c\xb5Ԓ\xa4ѳ\x06IT\x82\xc4r\x06 \xb46$x\xdb\xf3'@i49\xa3\x14\xbab\x87z\xfe\x14\xb6\xb8\rRU\xe8\xa2\xf1\xee\xea\xc3w\xf3\xd7?\xce\x7f\x98\x01h\xd1\xe0\x12\xb6\xa2|\n֡5^\x92q\x12\xfd\xfc\x80\n\x9d\x99K3\xf3\x16K\xb6\xbes&\xd8%\x9c\x0f\x92v{s\xf2\xfam4\xb4\xee\f\x1d㑒\x9e~\xcd\x1e\x7f\x90\x9e\xa2\x88U\xc1\t\x95s$\x1e{\xa9wA\t7\x12\xe0\v|i,.\xe1\x13\xfbbE\x89\xd5\f\xa0\x8d4\xfaV\x80\xa8\xaa\x98;\xa1\x1e\x9cԄneTh\xba\x9c\x15\xf0\xc5\x1b\xfd h\xbf\x84y\x97\xddy\xe90&\xf6\xb3lГhl\x94\xed\x12\xf6f\x87\xed7\x1d\xf9\xf2J\x10\x8e\x8dq\xe6\xe6g_?\x1f-^X9'\x02zgɢ''\xf5nv\x16>\xbcN\xa9(\xf7؈e+k,\xea7\x0f\xef\x1f\xbf\xdf\\l\x03Xg,:\x92\x1df\x90\xc7.\x1dnj\x0e\x94\x9bbC\x05\xfb\x93Eݗ\x0fw\xf7mFe\xda\x13\xa5ůC\xf4\xb1\xd8db\x03\xca}\xb7Q\xb2@\x98 rǪ\xc8省0DW\xeb\x82\x19\xcb\x06\x7f\xab@\xdb5 \x8f\xc1ޠ\f\"k U\x99[6>n\xb0\x12\xe4\x86\x16\xc0o\xa8\x86W\xa6\x95\xa5\x8a^Z\"$Q\xab-Y\x8f\x1b;\xf4\xb6^\x04\x019@Z'X\xeeJ\xc8:\v\xcd~\xc56,s\xcbi#U#w\x9c\f\xecb(\xbe\xf4\xed\x93iv'h\xa9w\xd2ܳ\x02de\x8e[L\xf1\x1a\x12\xefnu\x04%\x8cЏ\x17eV\xa5!\xb7\x8b\xf6\x912\x83c\xbe\xb9[\x91\xaf(\xac\xc2\xd7(\xb4*ML\xa5\x84\xe5\x92H__\x80\xe6\x87{\xf9\xab\x06\x92W\xc8ܙ\x02\xc4Â\xacac9A\x81\xfd\u07be\x02\xa5,n4\x0e@V=ac\x9f\xfb\x1dX\xdcҊ\x1b\xbfN\x98&o\xffL\n&*\xd3c\xb5A\xaa#\xa6\xa8\xa1\x85܃:\x05\x89視\xbf؏\x8fpg\x81\x12\x84j\x91\xb7\xf6x\\\x1f\xf0e\x8c\xda\xeeYmZ\x10\x99&\x17\x17D*r\xe14\xf0\xc5\xc2}]1n\x96L\xb4\xfbxd\x9c\x87^\xe6M\xde\xe1\xd0\x11T\xdfˏ\xda1\xefI\xb8\x18\x80\xd5B\xcd\xe3\x0e\xcc\x0e\x14)e\xad\xf16\x8c\x03\xd1\am\xa0\xf0\x88\tZ\xc4\xcf'\xd2\x13\xae\x1d\xce=\bm\xf1\xea'ҟ\xbc\xa88\xa7k\x0e\xd7Ĩ\n\x06p\xb3\x96\x92\x03\x15\x13\xc8\xf9\x02ڰ\xec\x1c\xa8q\x90\"\x88Q\xfeE\a\x03\xa84\xe9\x03\x10\x1a\x01\xedqf\xb53\xe7-\xc4v\xb1\x12\x1dS\xa9 \xb3R\xfb\xdak\x03\x06\x1c5\x90\x90\x84K\xb1\x05\xe5z\xb7\x96J`0\x05\x96\xe1rb\x05\xad\x02n\xb5\t\xd9TV\x06_\x12\xbb\xba\ay\x80\tm\x80F\x98\xf3\x19\U001019ccW9\xe47\xce\xf0\xba\xb3\xf6c\x1e\xac\xe6\x9e\xd4L\xa1ӇQ\x88^;s\x96\xa1\x11\xe8\xed\xbd%ڭ16m\x94\xf4\xa1\x04g:[R\xfaa7\xdawT\x1eh0\xf6\xa3\x8b?],\x90\xc2\xdd^\xbb}hB\x15\xd4hI\x96\x9bP\x94\xe6\xd0o\xcd\f\x14\x11,\x8eʓDzR\xa5\xe8a\x80\x9a\xb5\xfd\x7fFz\x0e\xc1<\xa2\xa8\b\xcd^\x99\xa6\xc7\xfd\xfe3S\xf5o\u00877h\x03\xd5\x0e\x90K\x85,\b%\x0fpp\xa6\v\x15\xc4҇\x86\xc6\t\xdd+\xc0\x9c\f\xf2\xd9\x03\x1c\x10L<\xc9\xd2\x7fR\xb9\xc1=\x0fpHiv\x84C;&\xa6}\xf2\xc8\xe2\xc9\xfe\x80\x88\xc0\xd8z*\x1b\xb8\xc7/\x85HJ#\xfe$ʒ\xf0\x04ܟ0\xcd$Vi\xf7\xd1\xceR\"\a\xfc\xa0\x1d-\xed\x8aٱ\x12\xc5*F\x1c\xe4&\x99\xa0\xee\xf9J9\xcb\xeb\x8e\xdc\x1aY\x89\x05\xf9$\x8d\xfd\xe7\xc3\x13\xd3>\x91\xf9^\x82\xfe$\r\xfe\xf2\"\x18u\x03\x7fI|\xba\x1ep\xa1\t'\xe5-\xc2ک8\xa7\xd3,\xb7ոg\x9a\xac\x84uW\x1cJ\x12\xbb¬\xab\xeb\xceuTT\x1a\xb3hB\x8a\xa5\v\xdb\xc4z\xf2\xf8\x96\xaa\x83\xeegw\xea;\xbc\xb7\xca½q\xb9_N3\xc8C\xba\x06\x93\x92\xd4\xc0\x96e\x89\xfd\x15\xa0\xb6@J+\xc2\xd38\"Q\xb0\xfa\xd9\xccc\x9f4\xed\xdd~\x9e\x96\x0fu\x8e\x7fiU\xce\xd2C0\xb2H\xc0\x81\x97\xdd\xf9\xf4|\x96v\xcd&\xb4\n\x9c0\xd9t g9\xdc4\x05)\xcf@\ajq4q&\xa9K\xf3\x1c\xeb\\(\xbf\x9d\xa1Qf\xf0\xc2\\\xd1\xd0\x1a\xbbS\xc1\x05\xc5T\xcb\x7f[M\x8b\xab\xe9\x7fII\x99җ\xe4\x1d\x96\xb4p\xe8\xbc\xf3A\xb3\x16\x98\x84.\xb1$\xc5\xf2Ϟr\xab\xfb\xad\x00\x17\x04\xb8\xb3\x04\xe4\xa6g\x17-\xc8\xe3Nj\xa7\xb6\xeb$\xce\xc5\x03\x1c\\\xc6p\xb2˶\x90\xb9X\x89\vgC\xf4\x04FmpH\xc1\x0f\xe4\x02\xdf]<ǔJ\xe4\xd4\xc4f\x1d\x16-h\x99ơXR\x94j\xa8[\x875\x18!\xf6úT\xc6\x1a\xd9c\xb3Mb\xd1R\xeaH\"\x7f`(\x13\xcc{+\xb5q\xf1\xb2\x8e\xcd\x1c\r\xa8\xc9\x10D#t\xe3ꗤ\n\xc5&V(O\x85~\xdb\xcf\xfd\x0e4\xf8|\x85\x0f\xcc9\xa0ֳ\xbbhַ\x93\xf6\x17._\x82\x9d\xd0\f-\x16\xfc\xb6T2\x03\x1d\xcde7O\x82\xbe\x88Te\xb4\xe7^\xc7\x1c\xa9\xf3\x92\\I\xc6x\b4<\xe9&\xafE\xc4L\x7f\xe1\xc3S+ j\u05fe\xfd{\x8a\xc7掋`\xc9`Q\xd0\xe32\xa5\xa4!\u07b8/\xc3j\xf0\x80\x9c\xf3\xa1\xb6\x15J\x82T]^3\xe0\xb7`(\x14L\xac\xb0\x03\xf2\xf6\x05\f\v/Cc\xc5&\xb1\xe74S\xf6&t\xd2P\xa7\xfe\xc1-\xe5Rb\xaa@A\x87x\xfd\xa8:ڡB\x9aV@b\x86\xb9Y\xca\xfc\aM6Li\xd3\x1e\x82\x1e(S\x89\x82\x99\xe9x\x89\x0fJ\x9d\xe4w}v_\xb6\xc2];\xf9\x18ʳ\x1cb\x12g\x8e\xf9% lC\x98! 2Y\t\f\xe0\xd8u\x8c]8\xe4:\t\xcbR\x17I\xda\xea\xb7\x0f\x88\xaaHC\xc0\x129\x85\x89\xd1HO\xbb\xf9G\xca\xf8K\x90\xcd\fU\xb1Ş\xd3\xd6D(qk\x17\xe4\x15\xf4\x89\x15UAhai\x84ʜ\x15\xd0%zS\xf8f\xbf@5a\xa4]1%\a\x03\xbex-q\f\x99\x14\x9a\xe5P+W\xcf\bR\x10J6\x94\xf1J%J\xc0Y\xe8\x9d\xe3\x8axIp>\x1f#\xad\xf3%\xa2\"!\x9a\x9bh+\x8eK\xe3R\xa5[|Sf\x96\x82\xf9VV\xa9\x98IJ\xc03\x1bZ\xbe\x90\x92\x8a\xc3wK+u\xa8\xdf-\xad\xb1绥5\xf1|\xb7\xb4\xbe[Z)-\xbf[Z\xdf-\xad\xf6\xf3\xff\xc2Қ\x1a\x91\xdb\xcf7\xf0rr\x14\t\xa9\xea\xb1!\x8e\xc0\xf7\xc5\x15\xbe\x06\xfcY\xb5\x98\xab8\xa8H\xe1\xff@YwLh5ʣ.δ\xab&\xf0\xbc\xdb^4aJ>\xa3\xea>tz\xbe\xaa\xfb\xd5(\xc43U\xdd\xfbaO\xdb\xd8'\xd5\xdc\a\xa4̫\xce^\xf8B\x8d\x02h\b\xab\xbb4|l^C\x1c2\xd1\xff+\x17\xe6\xf6\xaa\xc6\xce\xc8\x1f/^ş\xcc#Q\x92^\xfc\xe9\xe2\xdbC\xffy\x10>\x88\xe2>\xee\xfc\xfe\xe6\bT끶\xcbºUx\xdf&\x1b\x9f\x85oS+\xf1k$F`uY\xf2\b\x8bߪ,0P|.\xbdFz\xc6N\xd5U\x04N\xd2^U\xaa\x0f\"\xdb))d\xa5}T\xc2\xc2z\x97\xb9\r\xed\x01d\x8cY\xa3+\xfc\xdf\xc8NV\x91J\xf0\x11\xf4MT\x04NO\xbeS\x1c\xe8\x93\xd0`\xe8\xfe\xede\xf7\x8d\x91\xbeT\x90<2\xb3\x8b\x00z܁\xc0\f\xbbض7\x00\x84\xf3\b\xfc\xc6\xfcc\x06\x8b\x00\x92\x8a\b\xc6\x1d\xe7է\x19\xb4\xf9\x8e|.]\xeci\xb6\xdd1\x1eSI+&<\xb9\x84\xb0[\"8`\x97\xce\xcdv\x9fe\xcb\xc4\xefR\x1a8\xbf 0%\"6Q\xfcwB\xc9_bm\xf1\xb3\xd3\xf3)E}s<\xe6\x17+\xe0;\x7f\xd9^\x12~\xa6K\xf4\xe6`\xe7\xc5\xcb\xf1^\xb1\b\xefuJ\xef\x12\v\xee\xceW9\x9f\x16\x8f=\xa9rl:t0\\47Y*7\x19Z\x98\x9a\xd8\xec)M\x96\xc0\xcd)|\x9b\xa4N\xda2{\xb5ҶW+h{\xdd2\xb6Q.\x1a}9\xa7P-~,\r\x99T\xb6\xfc\xb5\x98\xedT4H\xd51_O\xf2\xaf>\x1f\xc1\xb0\x84\x0f\xa6\xdd+\xd9\xc8E\xc5\r+9&R\xf7,\x8f\x06\x1b\xcc\x0e\x0e\xf5\x01\x1a\xbfI\xdcz\xeaO\x82\xf9\xfc\xa5\xe6\xda\xcb#K\x9fj\xf2\b\x9c\x13\x1a[W\xbd\x99g\xee$\xa6L.\xc1\xea#\xbb:\xfd\xc1 \xfe\xf8\xa6\x85cw\xdc]\x8bZ\xad\x88\x85\x98\xa8\x18>EfPq\xa4ț\x9e\x05\xeb\xecp\xfc\xedo\x15\xa8\x03\xc1slj;\xa7\xd9\x04\xe6\x17\xa6\xb6\x8eX\x10\x15^l\r\xc5\xcf{F\x7f\xb3\x94\xc9;\xe1\xb4\xee\xf1x\xf0\x1b+#\x1a\xa7\xc6\n>\xeb\xafD\xfb\x18\xf8\\\xc8\xfa\xeb\xc8gS\x06r\xean\xa9\x97uq\xe6;9\x93VE\xba\xe5\xf7;\xed\x82:e\xf7SZ\x01\xc0\xe4n\xa7\x97ry\xa6\x9c\x9ed;/m7Ӽd\xe1\v\xee^z\x89]K\x89\x98J٥4\x0fO\xaf\xb0+\xe9Uw#\xbd\xd6.\xa4\xe4\xddGI%.\xc9Y\xe0\xd4\x12\x95\x13\xb7\xd3L\xe7x\xc7w\x13%\xec\"J\xc8\xfeNO\xf2\x84\xe9%\xec\x12\x9a\xb7;(\x81f\xa9K\xf1\x15w\x01\xbd\xe2\xee\x9f\xd7\xde\xf53\xc1Y\x13\xaf\xe7\xed\xee99e!U\x0ej4\xed\x93ʅ\xa3\xfc\x97\xe2\xdbt\ar\x94\xef\b\xa7\xfe\xd9V\x1d{\x19Ճ?h\x14\x8f\x94\x1dJ_ZNkY\x1b\x9d\\Tc\xfet\x8dI\x7fάKWi(\xa9³\x8b\xd7\aW\xce\x12U\xcd\x1fh\xb6;\x82\xbe\xa3\x9al\xa4*\xa8!\x17u\x02\xf0\xca\x01\xb7\x7f_\\\x12\xf2Q\xd65\x11\xedsy4+J~\xb0\x1e\n\xb9h\x7fp\x1a\aD\xb9-\xf4v+9\xcb\"\xb6[\xf4l&\u05f8wX\x06\x9e\x18\x95\xb5K\x06J\xdb0n\xba\xa1\x99\xd7=\x02s#9\x97\x8f3}\x7fZ\xb2\xff\u0093\xbb\x9f\x11\x1dzw\xbbB\x18\x81=\xf0(\xf0\xba8\xab\x9e\xcd\x1a\xacZn\xe69\xb4\xf6W\x9b\x0e\xc4n\x9dc\xfbp\\\xc8\xdd9\xc8\xc1,\xf0\xa23\x93V\xbaܮ\xdc8\x86z\xb1%\x8e\xbeƿj\x99\x95\xad\x95\xe6\xecJ\xb9\x89\f|\bN\xeb\x06\x8dGf\xfc\x91W\xe7=\xa3t\xc8Y\x18\xba\x1b\x00\x0fß\xbe\x1d\xc0\x9d\x99\xef\xef\x14\xf1\x8c\\)<`ԟ\xa7\x8f\ar\x9etA\xc0\xba.u\xaa˦\xf4;c\xa0(MLKO\v\x92\x1f\xc7\x00\xd6\x16\x8e4\x94\xb7\xf8\x99\x86\x061\x1bU\x1fD6V\x92\xe5\xd7\xf1\b5\xc789\x86\x80\x1b\xbf\x93\xe0l\b\xa8\x01\x0e!@WY\x06Zo*\xce\x0f\xf5F\x86o\x04\x1b\x1f)\xe3\xe7C\x85\x836\xc8\bvz\xa3\x90&'\xec\v\xa5A\xe4a\xa5\x87M>\xf3P\xe1\xa9\xe0\xeb\b\xb5\xa1\xc5IW\x1d\xdc\xf4\xc1\xe0e7*o\x95#\xd2z\xecT7䏉\xe5\x06\x9c\xfb\x12\xdd\x13\v\rr\x02{\x10\xc4\xea5\x87\xe2p[\xd3L(~o\xa8\xd3\rAS\x84 B\xf4J\x1f\xe2\xe3\x04\x1a\xaf\x8e\xf9A\xd70\xb1\xca\x12o\x02\xe9#\xa1o6:?\xff\xda\xdaͰ\xb4 N\xb3\xf7\xa2\xb29Ӭ\xab\x17\x9e'\xe4n\xeeVC\xe0N\x11q\xfd\x8bR\x9e\xb9\x8c\xfb\xd3}\x96H\xebOw\x96@\x8b@\xacy\xfc\xfcsǥ~\xdaq\xe8\xf8\xa538\xb2\xb0\xfb\x8cr\xee\xb7\b\x16\xa05݆s\xd0\x1f\xadѾ\x05\x01.\xb0\xe5\xd2\x0e\x11\xa0\xcd~\xb2\xee)\xe0n\xc9\xd0\xccT\xd4w\x10Jc[\xad~Є\xcb\x18T\xbc\n\x85\x85;\xb6\x8273\x13QO%S)\xdeχ\xba\xa1\xc5\rڐH\x9d\xe6V4\xe0lˬ\x97`)\xb7\xa5jM\xb7\xb0\xcc$\xe7\x80Һ?\xae\x97\\\xeb~\xd7\xde\x17\xa0zrj\x1f\xdbm}\xee\xccQۥ\x8c\xa9+\x14\xc7{\xaf\fS\xd0\\A\xd7\x1b\x90Ďg96\x0e\v\xd1\xfb\xd9\xfa#m\xb7\r\xab\u038be\x1f!\xf5׳-\xbcG\x1d\xe7ǂ\xfe&Ղ\x14L\xd8\x7f\xa8\xc8]\xea+|*\nK\x8f\xd7S\xec\x8e@\x93)\xd9X\xdb\x04\x8dM\x11\xba\xbd$\x9fdt\x81\xfb\x82 օiM+\xd0f\t\x9b\x8dT\xc6\xe5k\x97K\xc26!\x88`e\aF\x8e\xdcm\x8d\x84\xc5\x12\xadu\xa9E\xa3\x860\xec\xabP\x9b\xe2a\xee\x05=\xb8\xdc\fͲ\xcaZJW\xdaP\x1e1T\x9e%\xc01Zc\x17\x11\xe4\xbf>+\x97\xb5j\x03\xea\x87ݰ\x1f\x87R\x93\xc0\f8\\\x9a=\x90\xaa\\\xf8\xabk\xfd\xcd\xc4W\xfe\x16\x90\xe5F\xc9b\xe9\xfb\xc5\x02\xba\x85\xcfe+&\xad\x05bvQ\xac\x13g}\xfb\x83\xf6\x91\x13\xca\x12\x04\xa1\xda\xf7\x9cpV\xd2\xc9\xeaF\x1b\xaa̳\xc2\x11w\x1d\b\x13\x91\b\xec.>\x89;\x9f\xd2w\x87E\xdd\xf8+:k\xc0\v\xa2\x99\b\x97#\xbb\xf2\x00\xc7\x1f\xd1l\x91\xc0\xcb\f\xa5\x8aW썇\x16\xba\x13zݨ¾ֵ\x1fNv:\xbf\x1e\xc18\xda\xf8\x8bwW\xd6M\x82\xa3\xf8\a\x16\x8b|c\xa9gf\xa7\xf2\xc7\xdf}C\xef>ɩ\x89cd\xcc\xc7A\xf7e\xd8Y\xe9\xdeUy\xcb\xc1\x9a^\x1a\xa0\xeb>\xcdr\x93\xf7g\x8c\x1b\x9d3h\x14\xae\x01?O\xd4d\x7f\xc6pыŊ\xce;\xe5G\x8a\x97\b\x9f\xb4j\xff꿍\x04\x8b<\xd8s\x87\x8bZѢ0\xf0W\x8d\x17E\xb5R\xefG\x94\xd3yKZ\xf8\x9e\xfc/\xff\x17\x00\x00\xff\xff\xa5\x85lq\x8aؕ*\xdec͂\xf2]Q\xc9J\xaa\xeb\x97\xd7b\xb5\xc8\xe7\"\x9d\xba\xba\xf1\xfd\xd5\\\xbauc\x8cB\x96\xa8\xa4]\x87\xb7\xc9\v\xf9\x0e\x1b\xb6̛M\x8b\xfa\xe1\xe9\xc3\xcbo\xd7W\xd30\xe6H\xbd\xa0 ñ\x8emvh\x11^b\xfc%\xbb\xb9,ڙ&\x80\xd9\xfc\x8c\xdc_\x8c\xd8ZӢ\xf5\xb2\x04K\x1a\x1d,\xea\xcc\xf6x\xfaWu\xb5\x06@b\xa4S \b\x940\xf9U\x8e\x1f\x14Yr05\xf8\x9dt`\xb1\xb5\xe8P'\x98\xa2i\xa63\x83\xf3\x1e\xe95Z\"C\xb1\x1d\x94 ,;\xa0\xf5`\x91\x9b\xad\x96\xff8\xd3v\xe0Mvf\x8f\xceC\x8cP\xcd\x149k\xc0\x1f\x81iѣܰ\x13X\xa4;!\xe8\x0e\xbdx\xc0\xf5\xf9\xf8H\xd1 um\x96\xb0\xf3\xbeu\xcb\xc5b+}Ahn\x9a&h\xe9O\x8b\b\xb6r\x13\xbc\xb1n!\xf0\x80j\xe1\xe4\xb6b\x96\xef\xa4G\xee\x83\xc5\x05ke\x15\x05\xd1\tR\x1b\xf1\xbd͘\uebae\x1d\x84t\x1a\x11R_a\x1e\x82\xd7\xe42\x89T\x12\xf1b\x05\x9a\"\xd5}\xfe\xe3\xfa\x19\n'\xc9R\xc9(\x97\xad\x03\xbd\x14\xfb\x906\xa5\xaeѦs\xb55M\xa4\x89Z\xb4Fj\x1f\x7fp%Q{pa\xd3HOn\xf0\xf7\x80Γ\xe9\xfadW1\x8b\xc1\x06!\xb4\x11$\xfa\x1b>hX\xb1\x06Պ9\xfc\x85mEVq\x15\x19\xe1.kuss\x7fsRog\xa1\xe4\xd4\tӎ\xa2\xc1\xbaE~\x15w\x02\x9d\xb4\x14\x19\x9ey\x8c\xd1\xd5SP\x86\x8a\xe9\xa4\\\xc68H\xd0`\x9c\xa3s\x1f\x8d\xc0\xfeJ\x8f\xe5\x87\xf3\xc6+\x1e[\xb4\x8dt1\xbdBml?\xf3\xb03\x92wGA\xbc\xbe\xc1\x01P\x87f\xc8H\x05\x9f\x91\x89OZ\x9d&\x96\xfef\xa5\x1f^4aH\x1a\x89\xc5\xf5I\xf3'\xb4҈\x1b¿\xebm?\xab`g\x8ePG\xff\xd7^\x9d\b\xbb\xdcI\xf3!j\x97\xf1\xf0\xf4\xa1 x\x8a\xad\x1c\x98YWsx\xc8Amjx\x03B:*$\\$:T\x96\x0e*\x16\x1aK\xf06\xbcJ|nt-\xb7C\xa1\xbb\xb5є\xc7\xdc \xdd\xd3\xdc*\xdeD\xa8E\xde\xd1Zs\x90\x02mE\xf1!k\xc93'\xc1\xa6\fRKTb\x80M\x93Q\x16E\xb1((\xa8\x99\xbaa\xc3\xd5yc\xac\xa4\x99\xd4Ƀ/\x04\"\xd6\xd8&\xa7f\xedQ\v\xecg\x9bȍ\x89\x80\xe6P\xc0Q\xfa]BJ5\x16w\xf0\xd5أ\xb1\xc7\xd3\xd8t\x8f\xf7\xe7\x1d\xd2Δx\x11\x1cr\x8b>z\x1b*r\x1fr\xa59\xc0\xc7\xe0\"\xd6\xf6q\xa2\x8cX\xf0\x95\xd3{<\r\x15\r\xb7\x8c\x9bK\xa1\t\x96c\x11\xb5\x84ᄏ-\xd2 \xbb\x95A\xa5{\x11\xd4b\x8d\x16\xf5\xa0\x9a(\xe39\xe6(r\x1a\xf20\xack\xe4^\x1eP\x9dbN\"\xf0\xfc\x116\xc1\x83\b\x18\xad\xc6\xf8\xfeȬp\xc0M\xd32/7RI\x7f\x02\xe9&\xe83\xa5\xcc\x11E\xb686\xad?\xcd\xe1\x83v\x9ei\x8e\xee\\\a\x91ƒ+0\x9dv\xe5(\x8e\x05\x1d\xb3c\x18\x98\xc87\xc6y\xe0h\xc9\x1d\xd5\t\x8e\xd6\xe8픰#\xe9\x90z@\xab\xd1c̈\xc2pGɐc\xeb\xdd\xc2\x1c\xd0\x1e$\x1e\x17Gc\xf7Ro+b\xb0\xcaೈ\x9d\xdd\xe2\xfb\xf8\xe7[\xbc\xc0\xb4\t'\xeep\xdeu\x8c\xf5\x13\x95\xb7~\x87)E\xac\x93\x0f\x1a\vT@\x90k7\xd9w\x13\xb2\x8e\x85\xddX]\xde\x1d\xc5\xe4c\xf9c\x8f\xc3\xd4\xf1\x15P\x01\xf8R]t[5\xac\xad\xd2n\xe6M#\xf9\xac/m\xf2\xfb\xaf\xe3OiV\xa4\x16\x92Sq{\x8d\x1b\xa5\x89\x13W=͈\x1a\xfa]\xce\x14Z\x8e\xab)\x89\x9bk\x85\x1b\x1c\x7f\xea\uef74\xbe\t\xbas\xfew\xe8\xa9\xeet\xa0\x91\xea\x03f\x87z\x8e\x80ɍքT\xde\x00;\xa7\x81\x1f\\?\xff\xbd\x12=7\x81\xefqD\xf1\x03Q\xdeōE\xc7\xe9\x18\xf1\x12\x1c\xc6\xc4t\x8b\r\xb8\x1d\x11\x9c\xad\xd0\xde\xc3\xcb\xea\x816\x9eK\b\x06\xab\a\xd8\x04-\x14\x16\x8e\x8e;\xd4\xd4u\xc9\xfa4~\x17\x8d\xe7\xc7u\xd1j\xac\xber\xdfTt;.C\xcaoK\u061cF\xea\xa5;\x84l-\xd6\xf2\xcb\x1dB>ōE\xe1-\xf3;\x90\xdaI\x81\xc0Fԟ\n\xd9\tAϵѧ\x8c9\xdf`\x9e\xafaCb\xe75\xf0Pt|#~\x9e\xf2\xb6\xb3\x16\xca\xef\x9cݮ\xeb\xe4\xa98\x1e\x95\xe8p~\x94\xf9S\xaa>\xf9H\x19q\xc5\xcc\xcb\xf0\xc4W\xaa\xd8\xf244\x16\xccT3\x19kѵF\v\xea9\xef\xaba/,\xff\xef*\xd9q\xb3V\xd7(\xd7[+V\xb8\xab\x8d\x8b\xcf`\xafn\xe4\xd2\xe3`\xb7M2\x1bG\r\xf6\xa5\x97\xeb\xc9\xf8\x8b\xb4p\xa3%W\xa7\xaf\x93\x8eꗠce\x1b\xab\xaa\xf9l\xe4\xc4{l-R\x06\x13K\x92\xcdƃ\xda\x1c\xe9p\x87Z*ˌN\xf9\x9ez[\xa6E~U\xa0\xa5\x11\xcaG\xa9\x14\xd5\x00\x16\x1bCʢ\xb2\xdcR5\xc7b\xadu\xf8\xcd\xfc\xcd\xff\xafeT\xccy\xea\x00Q|ƃ\x1c>\xadݧ\xee\xc7\x01\x95\x82\x0e瘡\x1f?\x95׆\x85\xcd\xdb~\x82Z*\xaa\xff:\xd0qGu0\xf20\xfcn\xfd\xf8\x83\x8b=\x10j\xef\xe0H\x16t\x91%jzL~\xe1\t\xceS\x12\xb9i\xffn\x01\xae\r(\xa3\xb7h\xcbk\x0f\x15xɛ\x8c\x05\x81\x9er\x95\xde\x02\xdf1\xbd\xa5\xc8\x18\x83\xfc\xc8p\xe6\xbe\xcb'yϤ\x83H=\xe1\x1dw\x19\xf4Y\x8e\xb54\xaf1\xe6\xf43\xfc\x99\xffl\xd9\xcbkoO\xefSP[,\xd1_,\xa9\x9c\x14]\xf9\xcb\xd3\xfce|\xfb\xfb\xc0\xf0\xdd\xff[\xd5\xf3_}\xa9\x18|\xa1\xf8U(\xa7\xa1:\xf7f\xf1\xfc1\xedJ\xef\xb5\xf9\b\xb0\x8d\t~$\xf7w\x1c~4\xa6\xe3ǘ\xd7\xf0\x18?1\xdd*OhO\xb1\b\x0f\xd6\xc67\xdd\xf2\xd6\x18\x91b,+ݏ\xc0\x0f\xbd/aݵ\xe1w\xb2;\xe4\x1a\xcd҃ɔi;v\xcdJ\xee΄\xcd\xf9\xa5~\t\xff\xfc\xf7\xec?\x01\x00\x00\xff\xff\x03f\x86Y\xc0\x1d\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcVMo\x1b7\x10\xbd\xebW\f\xd0kwU\xa3hQ\xec\xadqr0\xda\x06\x82\x1d\xe4N\x91#-c.\xc9\xce\f\xe5\xba\x1f\xff\xbd \xb9+K\xab\x95\x93\\\xb27\x91Ù\xc7\xf7f\x1e\xd54\xcdJE\xfb\x11\x89m\xf0\x1d\xa8h\xf1/A\x9f\x7fq\xfb\xf8\v\xb76\xac\x0f7\xabG\xebM\a\xb7\x89%\f\xf7\xc8!\x91Ʒ\xb8\xb3ފ\r~5\xa0(\xa3Du+\x00\xe5}\x10\x95\x979\xff\x04\xd0\xc1\v\x05琚=\xfa\xf61mq\x9b\xac3H%\xf9T\xfa\xf0C{\xf3s\xfb\xd3\n\xc0\xab\x01;0\xe8Pp\xab\xf4c\x8a\x84\x7f&d\xe1\xf6\x80\x0e)\xb46\xac8\xa2\xce\xf9\xf7\x14R\xec\xe0e\xa3\x9e\x1fkW\xdcoK\xaa7%\xd5}MUv\x9de\xf9\xedZ\xc4\xefv\x8c\x8a.\x91rˀJ\x00[\xbfON\xd1b\xc8\n\x80u\x88\xd8\xc1\xfb\f+*\x8df\x050^\xbb\xc0l@\x19S\x88TnC\xd6\v\xd2mpi\x98\bl\xc0 k\xb2Q\nQ\x1fz,W\x84\xb0\x03\xe9\x11j9\x90\x00[\x1c\x11\x98r\x0e\xe0\x13\a\xbfQ\xd2w\xd0f\xbe\xda\x1a\x9a\x81\x8c\x01\x95\xea7\xf3ey\u0380Y\xc8\xfa\xfd5\b,J\x12O J]\x1b<\xd0\t\xbf\xe7\x00J|\x1b{\xc5\xe7\xd5\x1f\xcaƵ\xca5\xe6pS\x99\xd6=\x0e\xaa\x1bcCD\xff\xeb\xe6\xee\xe3\x8f\x0fg\xcbp\x8euAZ\xb0\fjB\x9a\x89\xab\xacA\xf0\b\x81`\b4\xb1\xca\xed1i\xa4\x10\x91\xc4N\xadU\xbf\x93\xe19Y\x9dA\xf8\xb79\xdb\x03Ȩ\xeb)0y\x8a\x90\v\x89cS\xa0\x19/Zɵ\f\x84\x91\x90\xd1\u05f9\xca\xcb\xcaC\xd8~B-\xed,\xf5\x03RN\x03܇\xe4L\x1e\xbe\x03\x92\x00\xa1\x0e{o\xff>\xe6\xe6|\xef\\\xd4))\x94\xe4\xb6\xf3\xca\xc1A\xb9\x84߃\xf2f\x96yP\xcf@\x98kB\xf2'\xf9\xca\x01\x9e\xe3\xf8#\x93h\xfd.tЋD\xee\xd6뽕\xc9Rt\x18\x86\xe4\xad<\xaf\x8b;\xd8m\x92@\xbc6x@\xb7f\xbbo\x14\xe9\xde\njI\x84k\x15mS.⋭\xb4\x83\xf9\x8eF\x13Ⳳ\x17\xddS\xbf\xe2\x02_!O\xf6\x84\xda#5U\xbd\xe2\x8b\ny)Sw\xff\xee\xe1\x03LH\xaaRU\x94\x97\xd0\v^&}2\x9b\xd6\xef\x90\xea\xb9\x1d\x85\xa1\xe4Dob\xb0^\xca\x0f\xed,z\x01N\xdb\xc1\nO\x1d\x9b\xa5\x9b\xa7\xbd-\xb6\x9b\x1d E\xa3\x04\xcd<\xe0\xceí\x1a\xd0\xdd*\xc6o\xacUV\x85\x9b,\xc2\x17\xa9u\xfa\x98̃+\xbd'\x1b\xd33pEڅ\xe1\x7f\x88\xa8\xb3\xb8\x99\xdf|\xda\ueb2ec\xb5\v\x04O\xbd\xd5\xfd4\xfc3\x9a\x8eFq\xce߲1\xe4\xef\xc5n\xe7;W/\x0fEdK8k\xd8\x06.\xbc\xfbu^\x8a\xa9~%3\xd5\xd1Gnt\"*\xcdw\xf4y\xb5t\xe8K\xb9@\xa2@\x17\xab3P\xefJP\xf9Ǡ\xacgP\xfey<\b\xd2+\x81'\xa4\r\x97\x95\x1ax\x8fO\v\xabw~CaO\xc8\xf3\x96ϛ\x9b\xca\x1e\xce߃WXZlʋE\xceVhNXd\t\xa4\xf6\xa7\xbcr\xda\x1e\x9d\xbe\x83\x7f\xfe[\xfd\x1f\x00\x00\xff\xff\xbeM\x1a\xea\xb1\n\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcWMo\xe36\x10\xbd\xfbW\f\xd0K\v\xac\xe4\x06E\x8b·\xd6\xd9C\xb0\xe96\x88\xb7\xb9S\xd4HbC\x91,9t6E\x7f|1\xa4\xe4\x0fYv\x9c\xcb\xea\xe6\xe1p\xf8\xe6\xcd\xcc#]\x14\xc5B8\xf5\x84>(kV \x9c¯\x84\x86\x7f\x85\xf2\xf9\xd7P*\xbb\xdc\xde,\x9e\x95\xa9W\xb0\x8e\x81l\xff\x88\xc1F/\xf1\x16\x1be\x14)k\x16=\x92\xa8\x05\x89\xd5\x02@\x18cI\xb09\xf0O\x00i\ry\xab5\xfa\xa2ES>\xc7\n\xab\xa8t\x8d>\x05\x1f\x8f\xde\xfeX\xde\xfcR\xfe\xbc\x000\xa2\xc7\x15\xd4\xf6\xc5h+j\x8f\xffD\f\x14\xca-j\xf4\xb6Tv\x11\x1cJ\x8e\xddz\x1b\xdd\n\xf6\vy\xefpn\xc6|;\x84y\xccaҊV\x81>ͭޫ\xc1\xc3\xe9\xe8\x85>\x05\x91\x16\x832m\xd4\u009f,/\x00\x82\xb4\x0eW\xf0\x99a8!\xb1^\x00\f)&XŐ\xdd\xf6&\x87\x92\x1d\xf6\"\xe3\x05\xb0\x0e\xcdo\x0fwO?m\x8e\xcc\x005\x06镣D\xd4\x7f\xc5\xce\x0e\xd3\x04@\x05\x100\xc0\x01\xb2;\x84 \f\bO\xaa\x11\x92\xa0\xf1\xb6\x87J\xc8\xe7\xe8\xc0V\x7f\xa3$\bd\xbdh\xf1\x03\x84(;\x10\x1c%;\x1c\x9c\xa5m\v\x8d\xd2X\xeel\xce[\x87\x9e\xd4Hy\xfe\x0e\x1a\xea\xc0z)\v\xfe8\xf1\xbc\vj\xee,\f@\x1d\x8e\xe4a=p\x05\xb6\x01\xeaT\x00\x8f\xcec@\x93{\x8d\xcd\xc2\fٔ\x93\xd0\x1b\xf4\x1c\x06Bg\xa3\xae\xb9!\xb7\xe8\t\x1aE\xaf\xcb41\xaa\x8ad}XָE\xbd\f\xaa-\x84\x97\x9d\"\x94\x14=.\x85SEJĤQ+\xfb\xfa;?\ff8:\x96^\xb9!\x03yeڃ\x854\x1d\xef(\x0f\xcfK\xee\xae\x1c*\xa7\xb8\xaf\x02\x9b\x98\xbaǏ\x9b/0\"ɕ\x1aZl\xe7z\xc2\xcbX\x1ffS\x99\x06}ޗڔc\xa2\xa9\x9dU\x86\xd2\x0f\xa9\x15\x1a\x82\x10\xab^Q\x18{\x9dK7\r\xbbNR\x04\x15Bt\xb5 \xac\xa7\x0ew\x06֢G\xbd\x16\x01\xbfq\xad\xb8*\xa1\xe0\"\\U\xadC\x81\x9d:gz\x0f\x16Fy&j^\x01\x128\xe1[\xa4\xa9u\x82\xe5Kr\xe2\xe3_:q,X\xdfcٖ\xac9a\x00\x92\xf5\xe8\x87i\xa1.a\x80\xd9F\x9fE2\xf67\xd3\xc0\xbc\xb2\xa0\xb0\xd8\x1db:=\x9a?4\xb1\x9f?\xa0\x80\xdf\x13\xe6{\xdb^\\_[C<\x17\x17\x9d\x9e\xac\x8e=n\x8cp\xa1\xb3o\xf8\xde\x11\xf6\x7f:\xf4\xf9\x1a\xbe\xe8:\xde滫\xef\x82c\xd4g\xcf}D\xbeA\xf0|\xa6\x83\xc3UQ\xae\xc04x^\x95\xe8zs\xf7\x1e\nϸ\xbf\xa3Hw\xa6\xb1o\xa4\xb8w\x9c\xf5;#\x03\xe3\x97\xde\x10o\xf74\xbfBƞ\xe6-\xf9\xeeD\xf8\x14+\xf4\x06\t\xc3^\xa9_\x14u\xb3\x11\x01^:%\xbb\xb41\r\x04_\x02!X\xa9\xe6$\xf5\n\xf8\xac#\xca\xe3\xccP\x16iXg\xcc\f\xfe\xc4|F\xfd\xce\x1dP\f\x8at\x95\x82\x92\xa0\x18ޡ\xa1\xc9\x7f\xa4ZF\xef\xd3\x15\x95\xad\xfc2\x99n\xb8VDG\xe5\xf9\xeb\xf1\xfe\r%\xbd\xdd{\xa6\x17\xb7P&\xa3q\x1e\x8b\xa0Z~A\xf1\x1akiҸS2\xf2w\xfc\xc2;&j\xb6\xa2\xf8թ<\x80o@\xfc\xb8ŝ\x8f&\xdf\xf3\xd37l\n\x88\x81\x9f[ \x85\x99\xc1X!Ԩ\x91\xb0\x86\xea5\xdf\\\xaf\x81\xb0?\xc5\xddX\xdf\vZ\x01\xdf\xff\x05\xa9\x9962QkQi\\\x01\xf9x\xae\xcbf\x13w\x9d\b3cx\x94\xf3\x03\xfb\xcc5\xc6n\x18/v\x06\x9c\xbd_\n\xf8\x8c/3\xd6\ao%\x86\x80\xa7ct6\x93\xd9!81\x06~\xa4\xd5\a,\r\x7f\x19\x06\xcb\xff\x01\x00\x00\xff\xffx\xae@\xbaJ\x0e\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4ZK\x93\x1b\xb7\x11\xbe\xef\xaf\xe8Z\x1flWi\xc8HI\\)ޤU\x9c\xda\xc4\xdel\x89+]\\>4\aM\x0e\xbc3\x00\f`\xb8b\x1c\xff\xf7T\xe3A\xce\f\x87\xe4\x92r\xa4\xb9Hģ\xfbC\xbf\xd1آ(\xae\xd0\xc8\x0fd\x9d\xd4j\x06h$}\xf4\xa4\xf8\x97\x9b<\xfe\xcdM\xa4\x9e\xae_^=J%fp\xd3:\xaf\x9bw\xe4tkKzKK\xa9\xa4\x97Z]5\xe4Q\xa0\xc7\xd9\x15\x00*\xa5=\xf2\xb0\xe3\x9f\x00\xa5V\xde\xea\xba&[\xacHM\x1e\xdb\x05-ZY\v\xb2\x81xf\xbd\xfe\xd3\xe4\xe5w\x93\xbf^\x01(lh\x06F\x8b\xb5\xaeۆ\x16X>\xb6\xc6M\xd6T\x93\xd5\x13\xa9\xaf\x9c\xa1\x92i\xaf\xacn\xcd\fv\x13qo\xe2\x1b1\xdfk\xf1!\x90y\x13Ȅ\x99Z:\xff\xaf\xb1\xd9\x1f\xa4\xf3a\x85\xa9[\x8b\xf5>\x880\xe9\xa4Z\xb55ڽ\xe9+\x00WjC3\xb8c\x18\x06K\x12W\x00\xe9\x88\x01V\x01(D\x10\x1a\xd6\xf7V*O\xf6\x86)da\x15 ȕV\x1a\x1f\x84r\xaf\x05D\x80\x10\x11\x82\xf3\xe8[\a\xae-+@\aw\xf44\xbdU\xf7V\xaf,\xb9\b\x0f\xe0\x17\xa7\xd5=\xfaj\x06\x93\xb8|b*t\x94f\xa3x\xe7a\"\r\xf9\r\x83v\xdeJ\xb5\x1a\x83\xf1 \x1b\x82\xa7\x8a\x14\xf8J:\x88\xa7\x85't\f\xc7\xfap\xcaq\xc6a\x9e\xb7;\x8f\x8d\xe9!\xb8\xb1\x84\xbb\xad\x11\x82@Oc\x00\xb6\xf2\x04\xbd\x04_\x11K>\x18\x16J%\xd5*\fEM\x80װ\xa0\x00\x91\x04\xb4f\x04\x99\xa1rb\xb4\x98\xa8L\xb4\a\xebn0zJ6\xbc\xfe\x8fF\xd5\x03t\xaf\xc5\x05P\xce\xe2\x1b\x17\xf7\xb8~\xe8\x0e\x9d\xb4\x8f\x8a\u009a̼5\xb5FA\x96\xd9W\xa8DM\xacY\x04oQ\xb9%\xd9\x030\U000b61cd\xe9\x83y\x9f\xe9uf\xce\x11F\xf2\x9d\xb9\xd7\x16W\x04?\xe82\x04(6iK=\x9bv\x95nk\x01\x8b\xcc\x05\xc0ymG\r\x9c\x11\xc7]\x89n&;\xf0\xb3>\xcf\xc3\xe8;\xb4s<\x9d\x94\xec#R\xabq\x0fz\xbd\xa2q\xef\x89\xd3\xeb\x971\\\x95\x1558K+\xb5!\xf5\xfa\xfe\xf6ß\xe7\xbda\x00c\xb5!\xebe\x0e\x9f\xf1\xeb$\x87\xce(\xf4E\xfdߢ7\a\xc0\f\xe2.\x10\x9c%\xc8E\x9b\x8cc$\x12\xa6\xa8\x1e\xe9\xc0\x92\xb1\xe4Hż\xc1è@/~\xa1\xd2O\x06\xa4\xe7d\x99LVT\xa9՚\xac\aK\xa5^)\xf9\x9f-mǶ\xc7Lk\xf4\xe4<\x84P\xab\xb0\x865\xd6-\xbd\x00Tb@\xb9\xc1\rXb\x9eЪ\x0e\xbd\xb0\xc1\rq\xfc\xa8-\x81TK=\x83\xca{\xe3f\xd3\xe9J\xfa\x9c2K\xdd4\xad\x92~3\r\xd9O.Z\xaf\xad\x9b\nZS=urU\xa0-+\xe9\xa9\xf4\xad\xa5)\x1aY\x84\x83\xa8\x906'\x8d\xf8ʦ$\xebzl\xf7\xac&~!ӝ\xa1\x1e\xce} \x1d`\"\x15\x8f\xb8\xd3B\x8e]\xef\xfe>\x7f\x80\x8c$j**e\xb7tO.Y?,M\xa9\x96\x1c\x03x\xdf\xd2\xea&\xd0$%\x8c\x96ʇ\x1fe-Iyp\xed\xa2\x91\x9e\xcd\xe0ז\x9cg\xd5\r\xc9ބ\xb2\x82cYk\xd8\xcc\xc5p\xc1\xad\x82\x1bl\xa8\xbeAG\x9fYW\xac\x15W\xb0\x12\x9e\xa5\xadn\xb14\\\x1c\xc5ۙȥ\xce\x01\xd5\x0eꗹ\xa1\x92\x15˲\xe5\x9dr)S\xa4[j\v8\\ޗ\xd3x\x00\xe0o4\xca\r\x17\x9d2:\xfeތ\x11ʀU'`\xe7h\x9c\x82g\xdd\x0f\x9e\xdd/\x87\xf0\xed\x1eKF;\xe9\xb5\xdd0\xe1\x18\xbd\x87\x06qP7\xfc)-\xe8\xc4\xe1\ued201ؼ\x15|\x85Ѻ\xb9x\xe3\xe0\xd6*\xb5υ?\xad\xce\x02f\xb48\x81+qD\xb0\xb4$K\xaa\xa4\x1c\x05\x8fU&#Ⱥ5\xc3>\xc6Ö\x02GR\xc6(\xe2\xd7\xf7\xb79-d!&\xec{\x91\xff\xa4|\xf8[J\xaaEȢ\xa7y\x8f\x9a(\x7f\xb7\xcb\b\"\xc4F\xaf\x01\xc1H\x8a\xb5\xe76/\x81T\xce\x13\x8a4\xc8\xe1\xc0R\x9a{\x11c\xdeA\x90\xfc\xed\xf2\x17\xeb\x04\x90c\xb0\x14\xf0\xcf\xf9\xbf\xef\xa6\xff\xd0\xf1\x1c\x80eI.\x14ٞ\x1aR\xfeŶ\xee\x17\xe4\xa4%\xc1Ubcjz\x012\xca|\x1bֳ\xd9H\x17\x0f\xbe\xa5\bO\xd2W\x01\xa8\xd1\"\x1d\xf0)\x1c\xc1\xe3#\x81NGh\tj\xf98\xe2?\xf1\xbb\x0eU\xd3\x0e\xe6o\xec=\xbf_\xc37э\xaf\xf9\xe7u\x84\xb1M\xe0]\a\xdb\xc1\x89^f\xe5jE\xbb\xf2l\xcfX8\xe1p\xa8\xfe\x16\xb4\xe5\xb3*\xdd!\x11\b\xb3\x9eb\xa4$\xb1\a\xef\xa7W?_\xc37}\x19\x1c`%\x95\xa0\x8f\xf0\nd\xba#\x19-\xbe\x9d\xc0C\xb0\x83\x8d\xf2\xf8\x919\x95\x95v\xa4@\xabz\x13K\xe35\x81\xd3|\xb7\xa2\xba.b\xa9$\xe0\t7\xa0\x97\a\xf8d\x15\xb1i\"\x18\xb4\xfeh\xb9\x94\xe4p\xdci\xf6\xeb\x87\xfc=\xcf_B=\xf1,\xef\xfdb\xb9\xf8\x99\x92\b\x85\xf3'H\xa2{\xe9\xb8@\x12\x8f킬\"OA\x18B\x97\x8e\xe5P\x92\xf1n\xaa\xd7dג\x9e\xa6O\xda>J\xb5*\xd8\x18\x8b\xa8u7\rw\xd9\xe9W\xe1\x9fK\x0f\x1en\xbd\x9fz\xfa\xde-\xfd\U000cb039\xbb\xe9%\x12\xc8u\xee\xf3s\xd7A9\xccS\xe95\xa4\xc9>\xffTɲʷ\x9eN\xb4mP\xc4p\x8cj\xf3\x85|\x87\xe5\xdcZF\xb4)RӮ@%\xf8\xffN:\xcf\xe3\x97\b\xb6\x95\x9f\x14\\\xde߾\xfd\x92\x1e\xd5\xcaK\"Ɂj>~\x1f\x8b\x1d\xaa\xa2AS\xc4\xd5\xe8u#\xcb\xc1j\xaefo\x05+i)ɞ(\xff\xde\xf5\x16\xe7\x02u\xa4.ޮ9\xab\xfe\xf4\xb8\x1a)\xf8\xba\xfd\xccce\xe1Qy\x9d6\x85\a\\9@K\x80Рa\x8bx\xa4M\x11+\x0e\x83\x92\xcb\x05\xae\b\xb6\xfd\x1b@cj\xce鱊\x18\xa1\x98\xea\xdf$\x1et\xe1|\x87\x042\xaa\xcaܯ\x9a\x93\xe7;\xf3\x97\x13\xce\xfb\x01\x90?VP\xdbn^\xa9\xd5R\xaeZ\x1b\xeeb\xfb\x92Rm]㢦\x19x\xdb\xee\x13z\x86 \x1fx\xc9\xf1\xf3\xbf\xef,\xcd\x16~\xa2\xf58~\xaa^Cr\xff0\xa4\xdaf\x1fJ\x01\x8f\xdaH\x1c\x19\xb7\xe4\xfc\x9e\xf7\xf2\xc4\xf5\xf59>\x16\x8d\xf2\x92\xbbuz&\x18\xb9\x95&CO\x05|\xbe\x99v;ãJ?#6X\xfa\xb5\xe5\xebH\x1fw1\xde8\x18\xac\xe1;\xf3`\xc8h1\x18\xe9\x87\xc1\xc1d\xaf{\xddE\xba\xdfM\t\x8f\x12g\xf4S\xe2cK\x92iL\x8e>?\xc1p\xd9}iG\xa5\xd4|\xfd\xeauv/\xd1\xf9\xcd>\x99\xd0\t\xb5\"9\x86l8\x0et\xdek\x12㱖H\x97\\\xdc\x19j\x14\xa6F\"\\\xa3\xf8\x96\xb7DY\x93\x80\xfc(w&\x95\x05-9GG'͍\x88\x04\xef\xf0\x05\xe6\xa1\"p\xa1\xaf\xf8\xb5\xdb\xd2l\x1d\x89\xd0\xd6\x1a\x11\xc2~\xc6^j۠\x8f-\xf2\x82I\\\x16\xbdF}\xb6!\xe7pu\xcai\x7f\x8c\xabb\x7f&m\x01\\\xe8\xd6o\x1b4\xbd\x8c\xf4\xb5K\x86v^\x8fh\xb4\xf5ѷq\xf4U6\xe9e[\xd7aO7:\xec\x1el\x03\xaa\x05\x8d\xd7uG\x1aD\xc7\x00V\xe8N\x89\xea\x9e\u05ccy\xdd6\xa4\x1du;8\x12\xbe\xef\xe8idt\xef\x05\xb5;y\x93]fd\xee\xfb\xe0\rg\x9d?1\xba\xc4\xdd3H\xa8t\x9d=\\{\xacA\xb5͂,\vg\xb1\xf1\xe4\x06\x81\x1f\x95\xe8Jr\xec\xf6\xb7۟\x95\x1a)\xa5\x0eF\x89*\xb4\xde],\x13\x84t\xa6\xc6\xcd\xf6,\xa1\xe6f\xff\x1ao\xd1\xee\x8c<{\xba\xa1C5\xc4\xf1\xd6b\xc0\xf4V\xab\x03\xb7\xd4\xec\xe4R\xf9\xef\xfer\xa4h\x97\xca\xd3j\x90F\xd2<\x8b\xf3\rs\xf9\xffp8R\x039\x85\xc6U\xda߾=a\x1a\xf3\xed\xc2\xec\"\xbbz>\x04\xc4\xd0\xfdO\x8b\x92)\x8c@\xdd\x05\x9c\xb3\xfc\xb7\xff\xa0\x7f\x89\x15\xcf{\x14N\xe4\xab\xf4\xf7\x05cYaN\x06-DŽ\xf0\xb6t3|)}\x01N\x86\x068W\xbb\xb1\xfc-+T\xab\xd1\xfe\x88V\xa1\x80\xd3v\xff\xa1\x0fN&\xa0\xfe\x81>g\xee\x195\xa7\xbd\xc1\x80\\th\xa7g\x95\xeeH\xbbؾ8\xce\xe0\xb7߯\xfe\x17\x00\x00\xff\xff\x8fTl=\x19$\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4Y_\x93۶\x11\x7fקع<$\x991\xa5\xdam3\x1d\xbd\xd9\xe7\xa6smr\xbd\xb1\xce~\xc9\xe4aE\xacHD$\x80\x00\xa0d5\xcdw\xef,@R\xfc'\xe9tnl\xbe\xdc\t\x00\x17?\xfc\xf6/\x96I\x92\xcc\xd0\xc8\x0fd\x9d\xd4j\th$}\xf4\xa4\xf8\x97\x9bo\xff\xe6\xe6R/v/g[\xa9\xc4\x12n+\xe7u\xf9\x8e\x9c\xaelJoi#\x95\xf4R\xabYI\x1e\x05z\\\xce\x00P)푇\x1d\xff\x04H\xb5\xf2V\x17\x05\xd9$#5\xdfVkZW\xb2\x10d\x83\xf0f\xebݟ\xe6/\xbf\x9b\xffu\x06\xa0\xb0\xa4%\x18-v\xba\xa8J\xb2伶\xe4\xe6;*\xc8\xea\xb9\xd43g(e\xe1\x99ՕY\xc2q\"\xbe\\o\x1cA?h\xf1!\xc8y\x17儩B:\xff\xaf\xc9\xe9\x1f\xa4\xf3a\x89)*\x8b\xc5\x04\x8e0\xeb\xa4ʪ\x02\xedx~\x06\xe0Rmh\t\xf7\f\xc5`Jb\x06P\x9f3@K\x00\x85\b\xcca\xf1`\xa5\xf2doYD\xc3X\x02\x82\\j\xa5\xf1\x81\x99V\x0e\xe8\r\xf8\x9cx\xcb\xc0*J%U\x16\x86\"\x04\xf0\x1a\xd6\x045\x12\x11\x84\x01\xfc\xe2\xb4z@\x9f/a\xce\xc4͍\x16s\xd5Ȭ\xd7D\xce\xef\a\xa3\xfe\xc0\xe7p\xdeJ\x95\x9dB\xf6\x7f\x06\xd5\xc3\xf3\xa0\xc5\x13\x91<\xe6\x14\xd64h*Sh\x14dy\xf3\x1c\x95(\b\xd8@\xc1[TnC\xf6\x04\x8a\xe6\xb5ǃ\xe9#y\xdf\xc8\xeb\xcc\\\xc3\xce5Tĵ\xbd\xed?t\x87.\xed\xfb\xa0E\xfd\x02\xd4F\rΣ\xaf\x1c\xb8*\xcd\x01\x1d\xdc\xd3~q\xa7\x1e\xac\xce,97\x01#,\x9f\x9b\x1c]\x1f\xc7*L\xfc\xb186ږ\xe8\x97 \x95\xff\xee/\xa7\xb1\xd5/ͽ\xf6X\xbc9xr=\xa4\x8f\xc3ሖ\x9d-\xab\xd5\xffE\xe0\xae\x19\xd2[\xad\xfa\xbc\xbe\x19\x8cN\x81\xed\bm\xe2\xed<\xb5\x14B\xed\xa3,\xc9y,MO\xea\xeb\xac/O\xa0\x8f\x03qz\xf72\x86\xb24\xa7\x12\x97\xf5JmH\xbd~\xb8\xfb\xf0\xe7Uo\x18\xc0Xm\xc8z\xd9D\xd7\xf8t\x92Gg\x14\xfa\xcc\xfe7\xe9\xcd\x01\xf0\x06\xf1-\x10\x9cE\xc8E'\x89c$jL\xd1y\xa4\x03Kƒ#\x15\xf3\n\x0f\xa3\x02\xbd\xfe\x85R?\x1f\x88^\x91e1\xe0r]\x15!\"\xed\xc8z\xb0\x94\xeaL\xc9\xff\xb4\xb2\x1d\xfb\"oZ\xa0'\xe7\x03\xd7Va\x01;,*z\x01\xa8\xc4@r\x89\a\xb0\xc4{B\xa5:\xf2\xc2\vn\x88\xe3G\xb6\x1f\xa96z\t\xb9\xf7\xc6-\x17\x8bL\xfa&\xa5\xa6\xba,+%\xfda\x11\xb2\xa3\\W^[\xb7\x10\xb4\xa3b\xe1d\x96\xa0Ms\xe9)\xf5\x95\xa5\x05\x1a\x99\x84\x83\xa8\x90V\xe7\xa5\xf8\xca\xd6I\xd8\xf5\xb6\x1dyd|B\"\xbcB=\x9c\x19A:\xc0ZT<\xe2Q\vM|\x7f\xf7\xf7\xd5#4H\xa2\xa6\xa2R\x8eKG\xbc4\xfaa6\xa5\xdap\x84\xe6\xf76V\x97A&)a\xb4T>\xfcH\vIʃ\xab֥\xf4l\x06\xbfV\xe4<\xabn(\xf66\x94\x1d\x1c\\+\xc3f.\x86\v\xee\x14\xdcbI\xc5-:\xfa̺b\xad\xb8\x84\x95\xf0$mu\x8b\xa9\xe1\xe2Hog\xa2\xa9\x84N\xa8vXݬ\f\xa5\xacY&\x97_\x95\x1b\x99F\x9f\xdah\v8Z\xdfgj:\x04\xf0\xb3\xc6t[\x99\x95\xd7\x163\xfaAG\x99\xc3E\x97̎\x9f7S\x82\x1aĪ\x93P\xe3\x8e\xe0\xe2J(\xea\xa5\x13\"\xf79Y\xea\xbec\xc9h'\xbd\xb6\a\x16\x1cS\xf1\xd0$Nj'\xf0\xa0Ņ\xb3q.\t\x0ediC\x96TJM\xb89W&M\x80\xefT\vc\x88\xa7\xf5\x01gB\xf3$\xe0\xd7\x0fwM\xf8m\x18\xae\xa1\x8f\"\xecEz\xf8\xd9H*D\xc8V\x97\xf7\x9e4\x04~\xee6\x11D\x88A^\x03\x82\x91\x14\xcb\xe06\xfe\x83T\xce\x13\x8az\x90\xdd\xceR=\xf7\"Ɩ\x93 \xf99\xe6\tV\t \xc7:)\xe0\x9f\xab\x7f\xdf/\xfe\xa1\xe39\x00Ӕ\x9c\v\xe5\x00\x95\xa4\xfc\x8b\xb6$\x10\xe4\xa4%\xc1u\x11\xcdKTrC\xce\xcfkid\xddO\xaf~\x9e\xe6\x0f\xe0{m\x81>bi\nz\x012rކ\xcf\xc6j\xa4\x8b\ao%\xc2^\xfa<\x005Z\xd4\a܇#x\xdc\x12\xe8\xfa\b\x15A!\xb74\xcd>\xc0M(4\x8f0\x7fc\xd7\xfa\xfd\x06\xbe\x89\xcer\xc3?o\"\x8c6Qv\xbd\xef\b\xc7\xe7\xe8\xc1[\x99et\xachG\xc6\u0081\x9dCⷠ-\x9fU鎈 \x98\xf5\x14\x03\x12\x89\x11\xbc\x9f^\xfd|\x03\xdf\xf498\xb1\x95T\x82>\xc2+\x90*rc\xb4\xf8v\x0e\x8f\xc1\x0e\x0e\xca\xe3G\xde)͵#\x05Z\x15\x87xA\xd8\x118]\x12\xec\xa9(\x92X\x92\b\xd8\xe3\x01\xf4\xe6\xc4>\x8d\x8a\xd84\x11\fZ\x7f\xb6,\xa9y8\xef4\xe3<\xdd?\x05\xbc\xbb[<\x87\x81\xa6\x9e|z\xee:\xc9ê\xaep\x862\xd9\xe7\xf7\xb9L\xf3\xe6vщ\xb6%\x8a\x18\x8eQ\x1d\xbe\x90\xef0ϕeD\x87\xa4n\x9e%\xa8\x04\xff\xef\xa4\xf3<\xfe\x1cb+\xf9I\xc1\xe5\xfd\xdd\xdb/\xe9Q\x95|N$9Q5\xc7\xe7crD\x95\x94h\x92\xb8\x1a\xbd.e:X\xcd5\xe3\x9d`%m$\xd9\v\xd5\u07fb\xde\xe2\xa6z\x9d\xa8>\xdb5W\x95\x9fN\xa1q\xb9\xf6wo/\xe0X\xb5\v\x1b\fG\x1d\xd6Eg#kЙ\xba\x0eO\xf0\xad\xfbӑ\xab\x0f\xaa\xbf\xbaA\xa6\xad\xcc$߿\xdb\xf0\x11\xae$\nK\xecv$\xbbO\x89\xc6H\x95]\x85\xb5i\xf0\xad\xc8\xf35v\xa2p\xee\xb6fϕ\xd7g\xed\xee\xb2K\xbd\x1f\x00\x01\xb4\x04\xc8gb\rm\xe9\x90\xc4*Π\xe4\x12\x8c\xab\xac\xbaT]\x13\xa01\x05\xd7I\xb12\x9b\xf2\xf5\xa6]\x99j\xb5\x91Ye\xc3\xe5h̔\xaa\x8a\x02\xd7\x05-\xc1\xdbj,\xe8\x8c\xfbt;\xa5\x174\xfe\xbe\xb3\xb4Q\xf7\x85^\xed\xf4\xa9z\x1d\xdc\xf1aHU\xe5\x18J\x02[m$N\x8c\xb3\xb1\x8f\x1c\x9d'nn\xae1\xa9\xe8I\x178\xa8\x1b\x8b\x13\x17\xd9\xda\x11벞G\xf8\xf2\x18\xdcq:;^렖~\xad\xf8\x8e\xd2G\x98L\xdf\xd9\ak\x8c\x16\xb3!i\xdd\xd86\x980\xf5\x9f\xf1ע\xc1|\xfb-\xec\x8f\xd9\xe1L\x99\xe0\x83\x00\x17\x00\xa5h\xdb\xfe\xf7\x0e\x0e.$%\x90\x84d˛-^2\xa6\x80\x03\xe0\xdc\xcf\xc1\x01\xb2X,\xdeц}\x03\xa5\x99\x14W\x846\f\xbe\x1b\x10\xf6/}\xf9\xfco\xfa\x92\xc9\x0f\x9b\x8f\uf799(\xaf\xc8M\xab\x8d\xac\x1fA\xcbV\x15\xf03\xac\x98`\x86I\xf1\xae\x06CKj\xe8\xd5;B\xa8\x10\xd2P\xfbY\xdb?\t)\xa40Jr\x0ej\xb1\x06q\xf9\xdc.a\xd92^\x82B\xe0a\xea\xcd?^~\xfc\xd7\xcb\x7fyG\x88\xa05\\\x11\x05\xdaH\x05\xfar\x03\x1c\x94\xbcd\xf2\x9dn\xa0\xb00\xd7J\xb6\xcd\x15\xe9~pc\xfc|n\xad\x8fn8~\xe1L\x9b\xbf\xf4\xbf\xfe\x95i\x83\xbf4\xbcU\x94w\x93\xe1G\xcdĺ\xe5T\xc5\xcf\xef\bхl\xe0\x8a\xdc\xdbi\x1aZ@\xf9\x8e\x10\xbft\x9cv\xe1W\xbd\xf9\xe8@\x14\x15\xd4ԭ\x87\x10ـ\xb8~\xb8\xfb\xf6OO\x83τ\x94\xa0\v\xc5\x1a\x83\b\xf8\x9fE\xfcN\xc2B\tӄ\x92o\xb8Q\xbb\x1aD<1\x155DA\xa3@\x830\x9a\x98\n\bm\x1a\xce\n\xc4;\x91\xab\x1e\xa40J\x93\x95\x92u\amI\x8b\xe7\xb6!F\x12J\fUk0\xe4/\xed\x12\x94\x00\x03\x9a\x14\xbc\xd5\x06\xd4e\x04\xd4(ـ2,`ٵ\x1e\xef\xf4\xbeNm\xcc6\x8b\v7\x8a\x94\x96\x89\xc0m\xc1\xe3\x13J\x8f>\"W\xc4TLw[\r\xdb#T\x10\xb9\xfc\x1b\x14\xe6r\x0f\xf4\x13(\v\x86\xe8J\xb6\xbc\xb4\xbc\xb7\x01e\x91Uȵ`\xbfG\xd8\xdan\xdcNʩ\x01m\b\x13\x06\x94\xa0\x9cl(o\xe1\x82PQ\xeeA\xae\xe9\x8e(\xb0s\x92V\xf4\xe0\xe1\x00\xbd\xbf\x8e_\x90xb%\xafHeL\xa3\xaf>|X3\x13$\xaa\x90u\xdd\nfv\x1fP8ز5R\xe9\x0f%l\x80\x7f\xd0l\xbd\xa0\xaa\xa8\x98\x81´\n>І-p#\x02\xa5\xea\xb2.\xff.\x12u0\xad\xd9Y\x1e\xd5F1\xb1\xee\xfd\x80\x02q\x04y\xac\xa88\xc6s\xa0\xdc\x16;*\xd8O\x16u\x8f\xb7O_\xfbLɴ'J\x8f7\xc7\xe8c\xb1\xc9\xc4\n\x94\x1b\x87\xacia\x82(\x1bɄ\xc1?\n\xce@\x18\xa2\xdbe͌e\x83\xdfZЖ\xdf\xe5>\xd8\x1b\xd4:d\t\xa4mJj\xa0\xdc\xefp'\xc8\r\xad\x81\xdfP\roL+K\x15\xbd\xb0DȢV_\x97\xeewv\xe8\xed\xfd\x104\xe2\bi\xbd\x16yj\xa0\x18H\x9a\x1d\xc6VA]\xac\xa4\x1a(\x19;d\x88\xa3\xb4\xf0\xdb洈U\x8b\xfb\xbf\xccq\x99m\xff\x1eG[~\xb3+k\x05\xfb\xad\x05T\xa6N\xfc\xe1P_\xa9\x9ej\x1f6\xcbF\xfb\xd4\x1dE\xb4m\xf0\xbd\xe0m\te\xd4\xeb\a\x1b\xcc\xd9\xc6\xed\x01\x144z\x94\t+D\xd6\xfaؽ\x88\xeeWT\xe0T\x01\x11\xd2$\xe01\xe1\xe0\x11&\x10\x03I\x9a`G\x03ubœ[&D\xb4\x9c\xd3%\x87+bT{\x88F7\x96*Ew#\xd8\n\x1e\xc0\x8b\x90\x15\x81xU\xc3Y\x81$\x8f\n\x05\xf1\xf5\xe7E\x15\xd3VQ\x86]>HΊ\xdd\f\xben\x93\x83\x82\xb4z\xd9\xf5;$K\xa8\xe8\x86I\x95\x12\x03\xa9\xb0kϞwjZZ-\xe9\x81\xec۸\xcc\r'\x91UI\xf9<\xc7\x10\x9fm\x9f\xce:\x90\x02\x1dʸ\x15Omo\xbb\x97@\xe0;\x14\xadI,\x93\x90\xb2E\xd3$\x15i\xa46\xe3t\x1fW]\xa4\xef\x1c\xa5~\x9c`\x9a\x83\x9d%Y\xdd5\xaf\x84\x03Q-\x0e\x06\nY\n\xb0ۨ-Q\xbb\xbeJ\xb6\xae\xef(RȒj(\x89\x14\xa33#\xbb\xb4\x1c\xb4\x9f\xabD\xce\xe8\xf4\xd0E\xb7\x7f\xf4x\b\xa7K\xe0D\x03\x87\xc2Hu\x88\xcc\x1c\x94\xba\x96\xa3XGP\x99ЦC\t\xe860\x01\x92XN\xdfV\xac\xa8\x9c\x87a\xd9\x13\xe1\x90R\x82\xb6\xda\x04]\xe6\xdd\xd8&\xc9\x1c\xf9\xfd$Sڣk3b\xb5\x0f/\xa5Q\xba\x96\xa1\x86\xbb\x96Dm\xa7{\x0ft\x8b\xffn\xe4\xe4\xb6\xff\x7f\"6\x18\x93\x13\x98vB\xfe\t\xba\x9f\xd9<=ʷ\x18ၾ$w+\x02ucv\x17\x84\x99\xf0uN\x12(\xe7\xbd9\xfeĴ9\x9e\xe93I\x93#\x13g\"L\x9c\xe2OH\x174\x19O\xdebd\xd3\xe4\xaf\xfdQ\x17\x84\xad\"\xd2\xcb\v\xb2b܀\xda\xc3\xfeI\xaa>P\xe65\x90\x91c\xf5\b\xe6\tLQ\xdd~\xb7.\x8e\xee\x92`\x99x\xd9\x1f\xec|\xe3\x10A\f\xcd\xf3\f\\\x82\xf12SPc\x1cN\xbe\"6\xbb/\xe8T_\xdf\xff|\x18+\xef\xb7\f\xce;\xd8Ȍйv\xbd\xb7\xa3\xfe\xfa|T\x10~A\x1f(\x06U.\xe7rA(y\x86\x9ds]\xa8 \x96>4tΘ^\x01&\x7f\x90Ϟa\x87`\xd2ٜÖ\xcb\r\xae=C\xc2\xf5O\xb5\x01\x0e\xed\x9a|X\xec\xf0d? \"0\x86\xcfe\x03\u05fc($r'閩KB\v\xb8?a\x9bY\xacҟ\xa3\x9f\xfaD\x0e\xf8I;ZZ\x89\xa9\x98\xcfij@\x99\xc9%\xa8k\xdf(ge\x9c\xc8\xc9ȝ\xb8 \xf7\xd2\xd8\x7f0@\xd3\xc8(?K\xd0\xf7\xd2\xe0\x97\xb3`\xd4-\xfc\x9c\xf8t3\xa0\xa0\t\xa7\xe5-\xc2\xfa9?g\xd3,\xb7E\xdc3M\ue10dW\x1cJ2\xa7\xc2\xf4\xae\x9b\xceMT\xb7\x1a\xd3uB\x8a\x05\xda\xcc\xe4L\x1e\xdfR\r\xd0\xfd\xe2I\xfd\x84_\xad\xb1p\xbf\xb8$3\xa7\x05\x94!\xb2\xc4\xec'5\xb0fE\xe6|5\xa85\x90ƪ\xf0<\x8e\xc8T\xac~7DZO\x9e\xf5\xee\xb7\xef\x8b\xe7\x98/XX\x93\xb3\xf0\x10\x8c\xac3p\xe0uw9\xbf\x9f\x85\x95ٌ^\x81\x13f\xbb\x8e$Gǻ\xe6 \xe5\x05\xe8@+\x8e.\xce,uiY\xe2\x11\x1a\xe5\x0fGX\x94#x\xe1X\xd5\xd0[\xbb3\xc15m\xacZ\xf8okiQ\x9a\xfe\x974\x94)}I\xae\xf1\xa4\x8c\xc3\xe07\x9f\x87\xeb\x81ɘ\xb2\xb1SY\xfe\xd9Pnm\xbfU\xe0\x82\x00w\x9e\x80\\\x1d\xf8E\x17d[I\xed\xcc\xf6\x8a\x01\xc7\xf3\x8a\xf7ϰ{\x7fa\xa7\x9f\x9d\xb2\xafd\xde߉\xf7·8P\x18\xd1ᐂ\xef\xc8{\xfc\xed\xfdK\\\xa9LN\xcd\xec6`њ6y\x1c*\x92\xc9\xfa\xae\r8\xa6\x9f\x9b\xef\x92\xf2\xdeɞ\xdam\x16\x8b6R\x9b\xcf\xe9\xbc\xe1\xc8z\x1e\u0088\xa1g\x9cȱ\xcdF\f>\x8f\x16\xf5\xbdu\"W\x06\x94\xcf%:\x1b\x10\xe2\x8f\x17Ff\xa9S\x99\xfebc2\x90\xc6\xfc\xaeE\xf0\f7\xb9\x83\x9b\x9c%\x1e\xe3\xb0Z\xbc\x1c\xe9\xed\xdf~\xef\xe53\xad\xe4ڿ\xfb\x1bym\x87\xba\x90uM\xf7O5\xb3\x96z\xe3F\x06\x9e\xf6\x80\x1c\xf5պEyε\xc8\x1d\x0f\xe1\xf9喙\x8a\tB\x83\xda\x00\xe5\x19\x8a\x92F\xa6rةVQM\x96\x00\"\xa6\xe8\x7f\x04W\xa2f\xe2\x0e' \x1f\xcf\xe0zDt\x9d\xd3ٽ\x894\x89\x94\x8f\x1f\x9c\xc9jdI\xb6\x15(\x180\xc6a\xde\x1d=U!M/eq\x84C\xda\xc8\xf2'MVLi\xd3_\x82&\xadΥ\xf5\x91\xe4\xb3\xeb\xfe\xcaj\x90\xad9'\x82o\xbbi\x06g\xcd5\xfd\xce\xea\xb6&\xb4\x96\xad3\xe6\x86\xd5\xf1TףwK\x99\x89\xc7V\x98\xbf1Ғ\xa0\xe1`\x80,a\x95>\xefM\xb5B\n\xcdJP\xa1J\xc1\x91\x8dI+\x98+\xcax\x9b:%J\xb5c#`q\xab\xd4I\x01\xf0\x177\xb2\x97w\xac\xe4v\x88\xa0̽\xe3A\x1a\x10\xb6\"\xcc\x10\x10\x85\xc58(\xa7\x92q\n\x8f\fD\r\xcb\xd5sy\n\xdc6\x10m\x9d\x87\x80\x05\n$\x13\x93)\xb7~\xf7O\x94\xf1s\x90\xcdr\xde'\xa9\x1e\x81\x96\xa7\xe4h~\xed\r' t\xab\xf0\xf0\xdf\xe9\x8e-\xe3yk\xb6\x94#\x9c\xb6\xa2\xa8\x00\x95\x90\x18\xea\x06\a\x9e\tm\x80\xe6\xf2\x82\xf5\x8aZ!\x98X\xe7\xd1.;\x11\xda5\x87\ua954\x1c\xe8\xf8)d\xd7,\xae\xdf@\x13\xfd\xdaM\xf3BM\xd4\x11\xc1\x1d\x9b#\x1d\xb2)j\x95\x16\xa1\xc6@\xdd8\x91\x93D\xb5\xa2o]Π\x88\x8e\t\xc3\xfd*^3\xbef\x82e\xd0v@\xd7;\xc1L\xdfy\xb4 \xce\xea<\xda\t\xa2;pJ\x86\xedn\x00\xc0\nh\x88Cp\xed\x91k\x8ep$\x97@hYB\xe9r\x97\xd6\x15\xf1a\x89+|\x1b)nH\xee\xeexO0\x8b\xb2\xa1\r\x82N\xccê\r,Z\xf1,\xe4V,0\x18\xd7G\xeb\x90\x13\xb3T/\x9dޜ\xac\x8c\xe6\xf5K\xbe\x9a\x9e\xd3BC~\xcd\xe7\xa9\xe0?\x9dA\xcbd\xf3\xcdQ\t\x8f).\x98\xd3k\xae\x00{\xe4\xc7\xd9UL\xcd?1\xd8\x1fJ߸b\xe9\x17\x95\xc5ݥA\xf5\x9c\xc2m\x05\xa6\x02\x15J\xb3\x17X\x92^N\x9e\x90v\xc1K\xac\x93\xb3L\x15\\dW\xfe\xb9W9\x87\xd1M\xcb\xf9\x85\xe5m\xda\xf2d8l$\x8a\xd8!geՏ\xa5=\x86\x9c\xea\x8bl<\xf6+-\x86\xf5\x85\xb1\n\"\x14\x18\xca0\xb3\xa7qj\xbfXX\xda;\xdf\x1f\x96S`\xfe/,\xff\x0f/=̨\x94\xc8Gcn\x95fDb\x02V\x82\xc1zh\xec\xea+|?_\xe8\xfbc\xe1\xd4@\xfd\xa5\xf1\x123\xea\xc2f\xa05\x01g\xaf\xde\x04\xadA\xab\x9d+\x10\xed\x80\xcf\x19\xda\xf1ׅ\xbb\x05\x11\xc0\xa4\xf8\xf5k\x05A|}\xf5>\xd3\xe4\x9fI%\xdbDU\xdf\x04\xcaf\xaa;\xe67<(\xf4\xf0\a\n`\xe8\xe6\xe3\xe5\xf0\x17#}\xd9\af\xd1\x12\x800(\xea2\xb3L\x94l\xc3ʖ\xf2 \xb5\xdd\x1d\x02\xc7@\x1d\x9f%\xa0IE\x04\xe3\x8e\x01\xc3\xf8\x01Ñ/\x8d;\x969Z\xc5M\xfb\xa2y\xd5!'ׄ\fk>F\xac\xe1\xb1\xc7\x17\xafR\x05\xfb\x87\xd4z\x1c_\xe1\x91\x13I\xccTs\x9cPÑY,\xf6\xe2\xf3\x96\x9c*\x8dcb\xee\xb3Ud\xbc~\x1dF\x16~\xe6k.\x8e\xc1\xce\xd9\xeb+ް\xaa\xe2mj)2+(^\xaf\x142/\xfa<\xa9\x14`>`\x19\xaf\x82\x98\xad}xQ@sҖfk\x1a\x8e\xa9d\x98\xa5N\x9e\x98\xbdY\xad\u009bU(\xbcm]\xc2$\x17M\xfexL\xe5A\x8c\x93~\xa1M\xc3\xc4\xfa\x90)rYg\x92m\xe6Y\xe6~o!\x03\x9e\xe9\x873]t8\x12\xfa\xba\xeb҉H2\xa4-\x990\xf2\x92\\\x8b\x9d\x87\x9b\x80\xd3\v\x1f\x854\a\x17\xd9첶\x8c\xf3\xfem-\x04;\r\xcaߙԴv\xab\x1a\xf3\xf6\x93t\x95j\xe0\x94\x9f\x148~ك\xd1ώ\xbe\xa5\xe7_\xb7ܰ\x86\x83\xf5\xe86\xacL\xde!3\x15\xec\"\x92\xff&\xf1\x86\xd4r\x87\x90\xbe]\xf4\x9eQ\xec\x9eq\x926\xbf\xc9\x13\xb6\x97Q\xcc~\\\x11{\x06\xcdrE\xf1\r\x8b\xd5߰H\xfd\xad\x8b\xd3g8k\xe6\xe7\xe3\x8a\xd0O>\x81\tG\xfd\xf7\xb2\x84\a\xa9\xcc\\p\xf2\xb0\xdf?q\x92\xda\v\xd8$/\x89\b]\x13\xbb\xc4\x10Ç\x17\xa7m*}\xe8\x19\xdc\xe9_di\xd76w\xc6\xf2\xb8\xd7\xfd\xe0\xae\xf2\n\x14\b\xf7\xcc\xc7\x7f>}\xb9\x8f\xf0S>\xaf\xf7\x8c\xf7\x9e\x97p\x1eL\xe9\x91\xe3\x8f\xe6|1\x93\xc3\x16\xfa\x00\xaf|.B\x1b\xf6\x1f\xf8\xaa\xdb\v\xd2A\xd7\x0fw\b#\xf8i\xf8L\\\xac\xa2\x88'\x96K\xb0\x16+\xa2jT,\xeeV\x03\x88Ê\xdf\xfe3JP\xba'\xb3\x82\xc5d\xa1\xc6\xcb\n\xdeÝ[\xc7\xd8,\x9f\xac\xd3(vD:\x8e\xac\x98*\x17\rUf\x87l\xa3/\x06k\bff*\x9d3\xaaX\x0f\x9f\x01K\xa27\xbc\xfe\x85g\x91\xbbfxڻ\x8f\xbbS\xd61~\xffd\xf6\xe6\xc9+\xaec\xdcb/\x10S\x89\xcf\xc9\x02\x93WK\x93yM\xf4\xf0\xed\xa4\xb4\xcbc\x1c=\xad\xe7l\x14\x1dRM\t0v<\xaa:-h\xa3\xabēK/\xd3u\xf8\x1a\x99\xa1\xa6}\xc9&\x1d\x80\xc1>YQ\xf5\xb4\xd5\x16\x82>\v\xdbFi\xc5a)\xddnm\xb3\xab{a\xfc\xa2\x97)x\x9b#\xe1\xcc\xe7\\N~\xc8šgD\xfd`\xf6˪\xb6CL\x9dp\x18<\xeb\xdae\x14\x19O;\xb1\x99π\xe4\x19\x8c\x13\x9e\xfe@|\xe5\xe2\x8a$_\x04\xc9|\xf5\xe3\x0fE\xf4\x84V\xd3E\x05e\xcb\xe1\xd47\xff\x9ez\xe3\xe7_\xfd\v\xb3e\xbc\xfbg\x91\xdd3\xd0\xd6g\x1e\xbe/\xe8)\xe1!\xf7)9\xe6\xf0ap\xe0\x9e\x17+\xdcK\x94E\x01Z\xafZ\x1e\xaa\x94\n\x05\xd4@\x19\xba3\x1dW|T\x9dM\xdbpIKP7R\xacX\xe2\x84d\x80\xd6\xff\x1at\xde\xe3\xd9\x02?\xb6\xaa{\xdaq\xf2Y\xbc\x17i\xae\x86*\xca9\xf0O\x8c\x83\xfeYn\x85]W\x86@>\xa4\xc6\xf5\xeee\x15\xad\xb2f}GD[/\xad\x93\vƌ\a\x8b+\xa9\xa6+\xa4\x1dޙ0\xb0\x86T|\xbdU\xcc\xc0SC\x95\x06\\Q\xc6\x0e~\xdd\x1b\xe2\xa2\xcf\x15\xa7kW\nW\xb2\x82\x1a\x88\x06\x18g\x18[>\x8e\xd7\b\x8b\xef\xb02I\x8e$\xbd\xb2\x85z\xecJƨX\x8f=/\x9a0\xd5\xc9\aF\x9dE.hc\xf0\x02\f\xd2\x11\x89h<\f|\xb4w\xef\x8d\xd1\x01\xd8qN\xf3e̾`N\x1bZ'\xa2\x84y\xbdss\b\x06\x9f\x05Ve\xaf\xee\xae\xff\xc0b,\xb0#[\xaac1u\xd2\xf7\xee`;0\xe8\xaa[\xd0P\x12\u0600 V\x14)\xe3PNq\xeaWL$\xab\r\xa8\x9ft\x84\x83\x95\x80\x96ş\fU&.\xfdЏYIUSsEJj`aG\x9f溥\x9fIU\xea\xc4\xe3@\xbc\xd9\xe6ţ\b\xd7n\xac\xf5s\xf7\xd1jК\xaeC\x10\xba\x05\x05d\r\xc2\xe2=\xe6\x16\x93\x1eS\xb8\xd2\xe7\x8dE,-\xb5(\xa4\x85i\xa9\x9f\xc0\xb9p\xf1\xf44\xbcO\x8cQ\xeczTE\xa7U\x85\xbf<\xf8\bT\xef?w}\x80\x8bO\xfd\xbe>I\xecv\xec\xceF\xa8+\xf0\xc4\a\x8f\r\x8b\x91uJ\xa6\x8dę\x8f2'\x95\x94\xcfYn\xf6\xe7رK'1\xe1X\t\xafL.ekz~\x8eGxb\x99\xf8\xfc\xe7+\xdb\x17\x84y\xed.P\x8d\xe5V\xf3<\xbd\xcf\x03H1\xbc\x95\x86\xf2`d,_\xc6\x0e\xd5\xc4\x03\x02O\xe1\xf1d\xcew\x17\xfb\x90\xf7^e\xef`W\xddS\x9e^\x13t\xd7\xc7\xc7Ҫ>\xeb\x97\x04\x12_\x01\xed|\x92\xb17\x17\xe7\xec\x1fB\xfd\x84\x8b\xca\xc0\xf1\xe7\xae\xf7\x18\x1e\xdd2\x9d\xc3\f\"\x1di\x12\f>L\x15%ㄥOx\xa9ME\xf5\x9c{\xfa`\xfbD\xb7\xa3g\xae\xa2\x13\xfa8\"\x95\xe9{\xae\vr\x0f\xdb\xc4W\x87,<\xfdB\xa9Jt\xb9\x13\x0fJ\xae\x15\xe8C\xa6[\xe0}F&֟\xa4z\xe0횉/\xe3\x95\xdfS\x9d\x1f\xa82\xcc2\xad[Ob\xecM\xb0q\x89\xdf\xe6G\x8f\xff\xc0\x04\xe5\xec\xf7\x94.\xef\xff87Ä\xbek<\xf2N\xb1P\x01\xf1s\n\xd0k\xe8\x9ft\xcf\xfc\x84y/ɽL\x8a\xb1? fC\xa0L\x93%h\xb3\x80\xd5J*\xe3\xf2\xf7\x8b\x05a\xab\xe0 Y\r\x81q\xa2{͞\xb0T\xe2=\x1e\xbd\x05\x87e\xe5S\x89\n\xad\x0e\x86\x9c5ݹ\x8c$-\n\x1b\x13\xc0\amh*6y\x91\x9e\xc6P\xd5\xcbJ\x8e\n\xb9\xeb\xf7\x8f9\xbe\xa8>\x10\x9cC\x1d^gw\x06\x9d\x8f\x9di\r^\xcb \xdab\xef\x14eB\x9c\x1a\xbb\x1b\x0f\xbb\xf3L\xcd\xd7\beL=\xfa\xfd\r\x1e\xe2\xf6\a\xac\xbe\x93%[QQ\xb1\x1e\xbd\xd0V)ٮ\xab\xc0\x9bc\x0e\x11)[\x8c\x9c\x1bT\x05:\xfc\xc7!\xa6U\xa2wh\xe7k,ƴt\\\uee0f\xf2\x02E\xad\xba\x8b-\x9d\xaa\x9a\xb0\xf9\xd9Y\xc2\x11\x88\xb3\xb6?\x01\x91\xea\x9d(&\xaf\xe0\xf8@\x9bM\xdc՝\xc2P\x12\tQ\x1b\xbf\x1a\x12\"\xc41$\xf4}\x89.\xe2\xf9a02棜\x88\x8ei'\x06\xb78\rj~\xd3}'h\xe8\xee\x1c\x87\x0e=\b\xfeNJ\xbb\r \x1c\x13\xf9\xe2\xdc\xe9\xb8\xf7ǍX7\xd1ۺ=9v\xfd\xb6\ac\xef\n\xa4\x8db\xbbiB\xbc\xf9\xf7l\x95\x92\x17\xf7\xbf3-9\xfc\xc3\xc1\xafo|\x95qK\x95`b}\x12F~\xf5c\x13\xf1\xbc\a{Έ>\xac\xfc\xd5b\xfa\xa4Y:\xf8\x88\f^\xf6\xf0\xecg\xf2_\xfe/\x00\x00\xff\xffP\a\xb5\x16Cm\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec=]s\x1c)\x92\xef\xfa\x15\x84\xeea?B\xdd^\xc7}ą\xde|\xb2\xe7\xae\xe3\xfe\xa7Y\n\xf5f\xf7\xf6\xe2Q\xc8\xfc\x9a\xdd\xd4ƪ\xf23\x18U\xeb\f\xde\xc3FHa\x85\x92\x17%X\x9es˯/\x18\xe3R*\xcb\xf1\xb3\xc1?\x19˔\xb4Z\x15\x05\xe8\xc5\x03\xc8\xe5c\xbd\x86u-\x8a\x1c4\x01\x0f]\xef\xfe\xb4|\xfb\x1f\xcb\x7f\xbf`L\xf2\x12\xae\x99ɶ\x90\xd7\x05\x98\xe5\x0e\n\xd0j)ԅ\xa9 C\xa0\x0fZ\xd5\xd55k\x7fp\x8d|\x87\x0e\xd9;ߞ>\x15\xc2\xd8\xff\xed}\xfe(\x8c\xa5\x9f\xaa\xa2ּ\xe8\xf4G_\x8d\x90\x0fu\xc1u\xfb\xfd\x821\x93\xa9\n\xae\xd9O\xd8U\xc53\xc8/\x18\xf3\xf8S\xd7\v\xc6\xf3\x9c(\u008b[-\xa4\x05}\xa3\x8a\xba\f\x94X\xb0\x1cL\xa6Eei\xc4w\x96\xdb\xda0\xb5av\v\xdd~\xb0\xfcb\x94\xbc\xe5v{͖\x86\xea-\xab-7\xe1WG\"\a\xc0\x7f\xb2{\xc4\xcdX-\xe4\xc3Xo\xef؍V\x92\xc1\xd7J\x83A\x94YN\f\x94\x0f\xeci\v\x92Y\xc5t-\t\x95\xff\xe2\xd9c]\x8d RA\xb6\x1c\xe0\xe91\xe9\x7f\x9c\xc2\xe5~\v\xac\xe0\xc62+J`\xdcwȞ\xb8!\x1c6J3\xbb\x15f\x9a&\b\xa4\x87\xadC\xe7\xe3\xf0\xb3C(\xe7\x16<:\x1dPAx\x97\x99\x06\x92\xdb{Q\x82\xb1\xbc\xec\xc3|\xf7\x00\t\xc0\x88D\x15\xaf\r\tG\xdb\xfa\xb6\xfb\xc9\x01X+U\x00\x97\x17m\xa5\xdd['{\xd9\x16J~\xed+\xab\n\xe4\xbb\xdb\u0557\x7f\xbd\xeb}f}\x8a\xfe\xff\xa2\xf9\xce\x1an0a\x18g_h\x960\xed\xa7-\xb3[n\x99\x06\x14\x03\x90\x16kT\x1a\x16\x81\xd49S\xba\x03\xaa\x02-T.\xb2\xc0\"jl\xb6\xaa.r\xb6\x06\xe4ֲ\xa9]iU\x81\xb6\"\xccCW:\xea\xa5\xf3\xf5\x18\xfaXpĮ\x95\x13S0$\x99~\xb6A\xee\x89\xe4&\x8f0\xedx\x88\x83\xf8\x99K\xa6ֿ@f\x97\x03\xd0w\xa0\x11L\x18E\xa6\xe4\x0e4R$S\x0fR\xfc_\x03\xdb\xe0\x94\xb0$\xa9\x16\x8ce4\x9f%/؎\x175\\1.\xf3\x01\xe4\x92\xef\x99\x06\xec\x93ղ\x03\x8f\x1a\x98!\x1e?*\rLȍ\xbaf[k+s\xfd\xe6̓\xb0A\xe9f\xaa,k)\xec\xfe\r\xe9O\xb1\xae\xad\xd2\xe6M\x0e;(\xde\x18\xf1\xb0\xe0:\xdb\n\v\x99\xad5\xbc\xe1\x95X\xd0@$)\xdee\x99\xffK\xe0\xb7\xe9u{03]!\x959\x83=\xa8K\x9dt9Pn\x88-\x17\xf0\x13\x92\xee\xf3\x87\xbb\xfb\xae\xe4\t\xe3\x99\xd2\x11\xc0\x18\x7f\x90\x9aBn\xc0낍V%\xc1\x04\x99WJHK\x7fd\x85\x00i\x99\xa9ץ\xb0(\x06\xbf\xd6`,\xb2n\b\xf6\x86\f\x13\nm]\xe1\xdc͇\x15V\x92\xdd\xf0\x12\x8a\x1bn\xe0\x95y\x85\\1\vdB\x12\xb7\xba\xe6vXّ\xb7\xf3C\xb0\x99\x11\xd6\x06]qWA֛j\xd8NlD\xe6&\x14\xaa\xe4F\x95\fԲ+㳟~!\xdd7\xfc:\xc0\xc3)\xc8\xd0+\x184JvK\xccom#\x8a\x9c\x83ƔfR\xd9\x03\x98\x87\xaa\xb5C\t\x0fe\x02\x93\x03ag\a*5Œ\x8e\x00im\xebP\xbe\xa2\xac&\xbc\x1fE\xb5*K\xc8\x05\xb7P\xecOB\xbf\x0fb\x8c̊\xfaak\xa7\xe7ŦG\xf4\xbc\x06&:\xedi2\xfe9\xd48\xb4\xc6\x7f&\xcbNF\xd4Ѥ\v\xac\x96-\x0f\a\xfdHx:$\rc\xab\r\xb3\x1au\xae\xc7\xeeI\x14\x05\xcedĸ\x82\xbc\x87Z\xbc;\xb1a\u0086Ѭ9a \xd9\xd2yQ\xcb\xd6gh\xec?\"8\xc0\x8eԾ\xeb\x1f=\x15n\x99\x84\xaf\xb6\xad\x85Î\x8c`\xc3\v3\x18\x82WH\xb3\x86q\xc5ֵ=\r\x03(+\xbb\xbfrm7\xaa(\xd4\x133\xa4l\xd1\bn\xc4C\xad\xddd\xff}\x0e\x1b^\x17\xf6\xda\xe1\xfc\x87\x98\xb4\x8eO3\ve\x85&\xf3\x149\xbd\xf7mq\xc08[\xf2&\xc6\bnr\xf0C\x94w?F\x80(\xe7\xc5VZ\xedD\xee\xcd\xf9\x81\xbabGU\x16\x96̈;\xc9+\xb3U\x16%B\xd5v\xacVʨ\xb0\xdcܭ\x06\xd0:\x93\x10\xd1%W\x98\xe4\xd4*\xf6ą%\x9d{s\xb7b_0\x86\x80К\xb9\xc9\xc6l\xad%ڹH\x7f\x9f\x81\xe7\xfb{\xf5\xb3\x01\x96\xd7d\xa2\x83{{\xc5ְA{\xa6\x01a\xe0O\xa05\xeawCH\xa8\xfa\xc0ej\xd8\xe3X\x82\xb2\xe1-\xbe0\xec\xed\x9fX)dmG\xa5\xee\xa8b#\xeaq\xcbK\xb5\x03\xfd\x1c\xe2\xbe\xe7\x96\xff\x88@\x064E\xe0\x8c\xa0{\x81!\xfa\xae\xf7\xf4\xe3:\xa2\x89]Ym:P\x85a\x97\x97\xa8\r.]\xc8yy\xe5 Ԣ\xb0\v!\xbb\xfd\x04Մ=\x9dF\x10G_\xc7ts\xaf~0N\xe4\x9fE\x9f\b\xcc\x11;P\xa9\x9c\xed\xa8\x1eۈ\x02\x98\xd9\x1b\ve\xd0Z\xad\xe7\xdf\tg\x86\x85|\x85\xa2\xf0`\f\xd2\xdb\x0fj\x9c \xb2.\n\xbe.\xe0\x9a\x94\xfc\x11\x9a\x8d\xeb\x9b1\xa2}\x06cEvN\x929\x88#\x04\xd3\xfe\x87\x1ee(t\xe0\x8f\xc0x\x04\xbc\xa7'\xc6)E\xd1!z\x9fZQ\xdc*\r\x19\xfa\xb0\xd7\xde7\x16P\x90?.\x15+\x94|\x00\xed\xb0hl\x15\xeaJ@\x01\xcd\x19\xba\x9d\x1a-\x8c\x90lS\xa3G\xbad\xa8%\xa22\"\xa4\xb1\xc0#\xc2|\x06\xde\xc1\u05ec\xa8s\xc8o\x8a\xdaX\xd0w\x99\xaa \x0f\x8bL\xa3\x9a9\x95\x87\x1f\x8eB\xf6\xf1K!2@>d\xae҂\x16yb\xa2݆2\xfb\nܚ\x13\xb2\xda\x0f\xa1\x8dQ&u\x8b\x01\x8b\r/\xffxyE\x12\xd0\xef\xbdߏa\\CC\xa6Y\xba\x99,\xfex\va\xa1\x8cPwRG\xcd\xe0;ך\xef\x8fp\xbdYL{\x01\xbe\xc7`\x0f8/C\xb5o\xc4\xfba\xff\xff\x8c\xdc?/\xbf\r-:s!\x91υ0\xb6\xc7f\xe3V\xb1\x90\xacc!\xa4'\x90t0QMNq\xf5\uf118g\x9d;\xb1\xc9\xd2Ȧ\x9f\x00\xffP\x94\xdc*\xf5\x98B\xbd\xff\xc1z\xed\x12\x16\xcbhc\x84\xada\xcbwBi3\\&\x85\xaf\x90\xd56\xaaY\xb8e\xb9\xd8l@#,Z\xe6ov\x05\x8e\x11\xebx\xf8\xc2:*+Za0\xae\x96\xe9\xc8R\xa2Fl(\x14\xa0F\xa1:\a\aC\vr r\xb1\x13y\xcd\v\xf2%\xb8\xcc\xdc\xf8x\x83_L\xabM\b\xc4\x01\xfeQ\xa9v\xc594a\x90\xc8\xc4ު\x97\x92\x80>~\x89\xb1\xd1a\xd58%\xc2R\xc2Ѿ\x91\x99\xba.\xc0\xf8\xeerr\x93[\x9dt\xd52˭1\x14|\r\x053P@f\x95\x8eS(E\x0e\\IU\xba\x11\xe2\x8eh\xd9~\xb4\xd5\x0ef\x02,\xa3\x10w+\xb2\xads_Q\xd0\b\x16\xcb\x15\x18Z\x15\xe1UUDLW[&\x85\xc3w6\xa57ڒ\xa0A\x86pc\xba\xa4-\x89\xfa\xb9-\xa3do\xe7f\x9f\xea\xe3\xeb\xfc\xa3\xf8\xfe3\x11=X\x9d\x13\x85}B\x930\xda/H\x9e\x0fQ\xd2#\xc5\x05\x98eguN\xd8\xf05\x85\xa1=\xff\xf1`+\xe5\x80(\xbf-ޝ6af\xb0nrN\xbd,\xe3\x9an\xfeA\xf8F&\xeb\xce[\xacY<\xfb\xd8myE\xbb\x02\x9e!\xf9\x15ۈ\xc2\x029US\x88\xb2\x19\x9c;'\x81R-0\xa3Mb\x9bm?4{G\t-\x06\xb4\x1a\x02p\x0ez\x88r\x88\a\t Y\xe3ZЦ\xa9\xd0P\xd2f,E\x92\xdd/\xe4\n\xbe\xfb\xe9}<\xf6\xec\x96DI=\x18T¤u\xe5\xdd\xc01\xea\xe2\xeaC\x95\xf0\v\xf9kM \xe86\xe1\xaf\x18g\x8f\xb0w.\x16\x97\f\xf9\xc6C\xe5D\x144PF\x00i\x8aG\xd8\x13\xa8\xf1-\xfe\xf12GZ\\y\x84\x91]\xbfX\xe9\xd1\x15\xf1\xf3{)\x8en\xf8\x81\b\x932\x9b\xda\xd2\x10\xd5O\x9f\x91\r\xf6x\x99\xa1\x97B\t|9q\xd8\xc9\xe2\xd4\xed\xab\x9f\x14\xf3\b\xfb\xdf\x19\xc7k\x9ce[A\x9bN\x9cVo\xd4f\x16\xc3]\xf9\xc2\v\x917\x9d\xb9y\xb5\x92W\xec'e\xf1\x9f\x0f_\x85\xc1\x8ee\xce\xde+0?)K_^\x94\xcan\x10\xafAc\xd7\x13MP\xe9,\t\x12\xb1\x9b<\xe2l)\nj\xc3\x0fa\xd8JbH\xe6H4\xa3;\xca\x15r]\xba\xce\xca\xda\xd0V\xabTr\xe1\x96\xc5\xc6z\xf3\xa7N\xd1Ə\x86\x1es\x0f\xf7DȻ\x96\xcav\x96qf:ѕ\xca\x7fg\xd8Fhc\xbbh\x98#\x89U\xa3\xa0N\b=\xe5\a\xadO\x8ems\x06\x1e\x99\x92F\xe4И~/\x02J2\xce6\\\x14\xb5\x9e\xa1Ug\x93|n\x10\xe6\xb5\xc9\xf9#\xabtD\x16D\xa2\xc4u\xf6\x19^\xf0\xb4Ư\xf4c\n\x86\vZ\xe3Unu\xf0d\xbfiz\r+=\x11wn\xfam\x93-9\xed\xbe?#\xe9\xf6\xacG\xa3\xbeYZ\xediɴ\xa9+\x94\t\x89\xb3\xe9\xe9\xb2)lu%=I69BNM\x88\x9d\xbb\x02\xf1\xa2ɯ/\x93\xf2\x9aL\xb3\xb4\xf4ֹ\x14{\x95T\xd6WN`}\xbd\xb4\xd5\x19ɪ\xe7?\xf5\x92\xbe\x96~rveڲ\xcc\xf1\x84Ӥ4Ӥ\xa5\x9b\x94\x01\x9f4Ԥ\xf4ѹI\xa3I\x9cL\x9f\xae\xaf\x9a\x16\xfa\xaaɠ\xaf\x9f\x02:)m\x93\x15\xe6&y\x8e_r\x18ʴ\x03P|\v\xe1|.\x99\x94\xee\xb9\xe6ϊ;?\r`\xa1\xb0\x047\xf5\x15〲.\xac\xa8\x8a\xf6>\xb6X\xc0\xb9\x85}sY\xd1/\x8a\x8e\xc8\xfb\x9b\xba>}n$~9\x88j\xb8aOP\x14\x8c\xc7\xe6\xe6\x01\x152w\x0fh\xa6\x16\x80\xb6\x11g\xb9\xbf\x8c\xc9_\x1ez\xe5\xa6\v\xdd\x06@\x16\xb6\x8c-\xf5qy\xfc\xa6\xaf\xa3\x06,U\x8f\x1dx\xe6.ޠo\xbf֠\xf7\x8c\xee\x1dk|\xb3\xf6P\xa9\x9f\xe8\x06\x03Ӡ~\xbc:<\xb6gr\x10\xe0\xb4ꁽ\x93\xce#\x18\xe2DmP\xef\xb4\x01\x1d*U\x8cӢ\xfdD@H\xd5@\x884Mq\xfe眲|\x89\xf0\xee\x1c\x01^\x92\a4\xcf{\xfd\x86\xa7'O=5\x99\x9e\x8c\x92tJ\xf2%½9\x01\xdf,\x7f5\xfd\x14\xe4\xfc\x8d\xe7\x17>\xf5\xf8R\xa7\x1dgP/\xf5t\xe3|ڽ\xd2i\xc6W?\xc5\xf8\x9a\xa7\x17g\x9dZLNϚ\x95q0'\xb5\xea\x19\xc7\xed\xd2r\t\xa6O!&\x9e>L\xcc4H\x1b\xfc\x89\xc3N<]8\xffTa\"\x7f\xe7L\xe9W>=\xf8ʧ\x06\xbf\xc5i\xc1\x04\tL\xa82\xffT\u0cf7\xa4\x94\xceAOn\xfb͑\xdaIyM\x8d\xe5\xfa\x88\r\xf6\xb5\xc2m\xb2X\xab\x17\x03\x90Y\xf2\x17\xf9ӣ\rǶ\xc1Q2;\x1eQo_\xb2u\xd7\xfa\x0e\xb1\x7f\xcd\xc1m]\x1a\xa88\x1a\x00\n\xdc(5+\xea*|\xe0\xd9v\xd0Ö\x1b\xb6Q\xba\xe4\x96]6\x9b\xc5o\\\a\xf8\xf7咱\x1fT\x93\xabӽ/͈\xb2*\xf6\x18\x89\xb1\xcbn\x83\xe7IIT:CϷ\xaa\x10Y\xc4\xe7\x1c\xbdW\xcf58\xb8l\x88n\xfe\xcb:\xd9\"\xb1\xc0\a\x9b\x8bp\xebb\xffJfw\x9f\xfb\x89k%\xbc\x12\xffMO*\x9da\xd5\xed\xdd\xed\x8a`\x051\xa2\xb7\x9a\x9a\x04ņ\xe5k@\x97\xa1\x1d\xfb1}\xb2\xda\xf4\xa0\xf6s\x84\xbb\x8fU@\xee^&\tn\x8bW͙B\xadu\xbbr\xb8\x1c\xeb\t\xe5\x8b\xcb=S\xfe\xe9\t\xa1\xf3Eŵݻd\xa2\xab\x1e\x1e\xc1\xaeO\xad\x9a\x1d\xb5V\x87/\xaftK\x8f\xec\xe1\xd1\x15\xda\xc9\xdeW\xfd\xe4\x81!=\x9f\x83\xd3\xf1SՓ\xe7\xa9_\x00\xa7\xe3.Ԃ\xa8\x18\xf9)\x9a\x01y\xf6\x15K\xe3o\xe8\xffQ\xed\xe0}t\xe5\xb2\xff\xfaʠ\xc9Hjb\x80J\x97\xccG(\xd8\xe6#\xd2\x1d\xdf\xcfS{\xf1\\À\x8a\xbf#\xfc9\x8b\x93w}P\xe3\x0f\x92\xd0\r\xea\xa1ӘWEO=\xed\xd9\xed\x17\x8a[\x1bUꧾ\x8f[\xc3\xf2dH0\x88\xc0\x12\xf2\xe8\x1b-\xe7\"\xa3U\x9a?\xc0G\xe5\xde\xd6I\x11\x93~\x8b\xde\xcbK\xdes\v\xf9\xda~\x12\xc6\x14\xbd\x1f\xdb\x10`{>\xe3\xe0\xa2\x7f\xc4\xf6ħ\f\xac-\x9e##\xf7\xf7\x1f\xddH\xe9I\x93\xf7\xfeu\x12\xd4\xc7\x06\x90\x05\x81\x02\x0e\xda\x1a\xff\xbbUOt\x01~|\x8d9< \xd2y\xc3\f\xe8\xa0\b\xa5\xf0\x9e4̺*\x14\xcfA\xdf\xd0#*\t#\xfe\xb9\xd7`\xe0\x0e\xf4\x9fb\xf1v32\x9e\xd0\xf3\vfɠGW\x14P\xfc \n0\x0e\xf1D\xd3p{ز\xb1\x14u\xb9v\x9e\xea\x06\x7fl:9b\x99\xddPi\x83\xa1\x02\x8d~\xa2ۊ\xa8M\x90\xfc\xe3\xc4`\r\x1f\x85\xb4\xf0\x00\xe31\xf4\x84M\xd8\xf5^b\t\xb3'E\x11~\x19o\xd9q\xa6;\xf3\x98\xbc߸\xba\x8b\xc1\xe2ƨL\x90\xff\xfd$\xac\xbf\xf8\xf0\xe5n\xdb>\x16J\x1d\xa1cm\xe0ӓ\x04\xfd9\xe8j\xb3\x92\xb1\x17N\xa6\xf5\xc4\xcf\aТ/\x9bX\x85}\x8f\xc0\x18\x00`*\xec\b\x19\xf7fN؈\x12\xa6y\x06쐞\x13\x93-n\x13\xc6]\x9b\xc5\xf8\xabE\x8b\xe6u\xa5\x8b\x04r\xbb\x97\x82\xfa\x80\xc7\x1f\x7fsO\ne\xbc\xb2\xb5\x0ez\xa8\xd6t\x1f9\x02\x01w]\xf7iϿ\xb5\xaf\x82\x9d\xc2\xe0\xf6Y\xaev\xa5~\xf2\xe1\xd0\x118\xcd\x03n\xd1נ\\\xec\xe9\x1e\xf6\\ \xfc\xd3x<:c\x10\xe7;\xf7\xca\xd7\x04\x11>\xb65\xc7\x06\xdc\f\x03\x87\xec\xdf\r{Ց\xd0\xf5\xf4\x13c\xb8\xc5:\xcdyP/G\xd40\\k\x7f\x17c\xc2\xf8\xa1\xc1\x05\xfb\t\x0ec\xdb\x05\xfb q\x10\x87\x04p'\x03!\xa7M\bҎs\x86\xb8kZѱ\xcc\x11\r9-\xb6_\x060\x069\xdf\xf4=\xc0\xfe\xf2\u05cb\xbf\x05\x00\x00\xff\xffq\xe5\x82\xc1hz\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcV\xcfo+5\x10\xbe\xe7\xaf\x18\x89+\xbb\xa1B \x94\x1b*\x1c*\xe0\xa9j\x9ezw\xbc\x93d\xa8\xd7^f\xc6)A\xfc\xf1\xc8\xf6n\x9b\xee:\xb4\x8f\x03\xbe\xad\xed\xf9\xe6\x9bo~x\x9b\xa6Y\x99\x81\x1e\x91\x85\x82߀\x19\b\xffT\xf4\xe9Kڧ\x1f\xa4\xa5\xb0>ݬ\x9e\xc8w\x1b\xb8\x8d\xa2\xa1\x7f@\t\x91-\xfe\x84{\xf2\xa4\x14\xfc\xaaG5\x9dQ\xb3Y\x01\x18\uf0da\xb4-\xe9\x13\xc0\x06\xaf\x1c\x9cCn\x0e\xe8ۧ\xb8\xc3]$\xd7!g\xf0\xc9\xf5\xe9\x9b\xf6\xe6\xfb\xf6\xbb\x15\x807=n@\x90ә\x1a\x8d\xc2\xf8GDQiO\xe8\x90CKa%\x03ڄ\x7f\xe0\x10\x87\r\xbc\x1e\x14\xfb\xd1w\xe1\xbd\xcdP\xdb\f\xf5P\xa0\xf2\xa9#\xd1_\xae\xdd\xf8\x95\xc6[\x83\x8bl\\\x9dP\xbe \xc7\xc0\xfa\xe9\xd5i\x03\"\\N\xc8\x1f\xa23\\5^\x01\x88\r\x03n \xdb\x0e\xc6b\xb7\x02\x18\x05\xc9Xͨ\xc5\xe9\xa6\xc0\xd9#\xf6\xa68\x01\b\x03\xfa\x1f\xef\xef\x1e\xbfݾ\xd9\x06\xe8P,ӠYֿ\x9b\x97}\xa8\x85\t$``\xa4\x04\x1a\xc0X\x8b\"`#3z\x85B\x19\xc8\xef\x03\xf79\xad`v!\xea\x05\xaa\x1e\x11\x1e\xb3\xfec\x98\xed\xcb\xe1\xc0a@V\x9a\xa4)\xeb\xa2\xe2.v\xff\x8dxZ)\xd6b\x05]*=\x94\xecy\xd4\v\xbbQ\x1e\b{\xd0#\t0\x0e\x8c\x82\xbe\x14c\xda6\x1e\xc2\xeew\xb4\xdaΠ\x8b.\x922\x19]\x97*\xf6\x84\xac\xc0h\xc3\xc1\xd3_/ؒ\x04JN\x9dѬ\x9dWdo\x1c\x9c\x8c\x8b\xf85\x18\xdf͐{s\x06\xc6\xe4\x13\xa2\xbf\xc0\xcb\x062\xe7\xf1[`\xccRo\xe0\xa8:\xc8f\xbd>\x90N}hC\xdfGOz^疢]\xd4\xc0\xb2\xee\xf0\x84n-th\f\xdb#)Z\x8d\x8ck3P\x93\x03\xf1\xb9\x17۾\xfb\x8a\xc7Ε7n\xf5\x9cjP\x94\xc9\x1f.\x0er\xeb|AzR#\x95b*P%\xc4\xd7,\xa4\xad$\xdd\xc3\xcf\xdb\xcf01)\x99*Iy\xbd\xba\xd0e\xcaOR\x93\xfc\x1e\xb9\xd8\xed9\xf4\x19\x13}7\x04\xf2\x9a?\xac\xa3\\\xb8qד\xcaT\xda)us\xd8\xdb<\xab`\x87\x10\x87\xce(v\xf3\vw\x1enM\x8f\xee\xd6\b\xfeϹJY\x91&%\xe1Cٺ\x9c\xc0\xf3\xcbEދ\x83iv^ImeJl\a\xb4)\xb9I\xdfdM{\xb2\xa5\xad\xf6\x81\xc1\xd4L\xda\x0f1\xc9\x16_\xc8e\x9cH\x85\xcdlN\xa5.\x7f\x9fM},哣\x11\x9co\xce8ݧ;s\xff\x8e\xf6h\xcf\xd6a\x81(S\bߧ\x92\x16\xfa\xd8/}6\xf0\t\x9f+\xbb\xf7\x1c҄\xc6\xf9\xa8\xb9Z\x1bP\x1e\xb1\x03\xf9E\xb8\xf3\xc8ʭ\xfc0.G~\x0eh\x04\x02\x8eާ\x96\x0e~\x01Yy\x11\x16wH\xb1\xaf\xb0\xa9\xf2\xb9\xf3\xfb\x90\xff\"Lrl\xb4\xb4\x13\x8e\xc9\x1e\xfd\x14^\x15\xc0\xeb\xb9.k9\xe7>$hY\xf9y\xfeo\xc6i.\x11c\xd5w\x93YU\x0f\x92ǚ\xe2\xf5\xfe\x1aYF\xe7\xcc\xce\xe1\x06\x94\xe3Һ\xd8\x1afs\x9eW\xcdTj\x9f\xa9GQ\xd3\x0f\xef\x14\xd0\xe2UH\xeb~\x81\x92\x9a\xe7\xf9\x88\xfeZ\x8b\xc0\xb3\x91W\xe7\x15\xc8\xdd\xf9\x9a\xe9\xed\xcb\xdf\xe6\xb2\xcfJ=o \xcd\xfaF\xa9\"䇔\xaa\xa6\xb4\xd4y\xf5\xb7f\xa1\xd2\xf6\xf2\xee4H\xde\xf4\xcb\xf4W\xb3\x8c\xe1*\x85j\x05,63|w\x11\x9eh`s\x98\x02\xfe'\x00\x00\xff\xff\xef\xf8\xa6>\x10\f\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcVM\x8f\xdb6\x10\xbd\xfbW\f\x92kd7(Z\x14\xbe\x05\xdb\x1e\x82&\xc5\"N\xf7N\x93#{j\x8ad\x87C9.\xfa\xe3\v\x92Ү-\xcb\xc9nQT\x17\xc3\xe4\xf0q>\u07bca\xd34\v\x15\xe8\x019\x92wkP\x81\xf0\x8b\xa0\xcb\xff\xe2\xf2\xf0S\\\x92_\xf5o\x17\arf\rw)\x8a\xef>a\xf4\x895\xfe\x8c-9\x12\xf2nѡ(\xa3D\xad\x17\x00\xca9/*/\xc7\xfc\x17@{'\xec\xadEnv薇\xb4\xc5m\"k\x90\v\xf8xu\xff\xdd\xf2\xed\x8f\xcb\x1f\x16\x00Nu\xb8\x86\xde\xdb\xd4at*Ľ\x17\xebu\xc5\\\xf6h\x91\xfd\x92\xfc\"\x06\xd4\xf9\x8a\x1d\xfb\x14\xd6\xf0\xb4Q!\x86\xeb\xab\xeb\x0f\x05m3\xa0}\x18Њ\x81\xa5(\xbf~\xc5\xe8\x03E)\x86\xc1&V\xf6\xa6g\xc5&\xee=\xcboO\xb77\xd0G[w\xc8\xed\x92U|\xeb\xfc\x02 j\x1fp\r\xe5xP\x1a\xcd\x02`\xc8O\x81k\xc6Լ\xad\x88z\x8f\x9d\xaa\xf7\x00\xf8\x80\xee\xdd\xfd\xfb\x87\xef7\x17\xcb\x00\x06\xa3f\nR\xb2<\x1f\"P\x04\x05\xa3'p\xdc##<\x94|B\x14\xcf\x18\a\xa7\x1fA\x01F\xff\xe3\xf2q1\xb0\x0f\xc8Bc\xf0\xf5;\xe3\xd7\xd9\xeaį\xbf\x9b\x8b=\x80\x1cJ=\x05&\x13\r#\xc8\x1e\xc7t\xa0\x19\xa2\a߂\xec)\x02c`\x8c\xe8*\xf5\xf2\xb2r\xe0\xb7\x7f\xa0\x96\xe5\x04z\x83\x9car\xad\x925\x99\x9f=\xb2\x00\xa3\xf6;G\x7f=bG\x10_.\xb5J0\n\x90\x13d\xa7,\xf4\xca&|\x03ʙ\tr\xa7N\xc0\x98\xef\x84\xe4\xce\xf0ʁ8\xf5\xe3\xa3g\x04r\xad_\xc3^$\xc4\xf5j\xb5#\x19\xbbN\xfb\xaeK\x8e\xe4\xb4*\rD\xdb$\x9e\xe3\xca`\x8fv\x15i\xd7(\xd6{\x12Ԓ\x18W*PS\x02q\xb5K:\xf3\x9a\x87>\x8d\x17\xd7\xca)S,\n\x93\u06ddm\x94.yAyr\xc3T\xd6T\xa8\x1a\xe2S\x15\xf2RNݧ_6\x9fa\xf4\xa4V\xaa\x16\xe5\xc9\xf4*/c}r6ɵ\xc8\xf5\\˾+\x98\xe8L\xf0\xe4\xa4\xfcі\xd0\tĴ\xedH2\r\xfeL\x18%\x97n\n{W\x94\t\xb6\b)\x18%h\xa6\x06\xef\x1dܩ\x0e흊\xf8?\xd7*W%6\xb9\bϪֹ\xdeN\x8dkz\xcf\x1bu\x90\xc9\x1b\xa5\x9dW\x84M@}\xd1x\x19\x85Z\x1a\x14\xa2\xf5i\x8b\x15\x10|;ý\x17\xb9\x9c?t\xa9\x9b#\xe2\xbb^\x91U[{-\t\r\xfc\xee\xd4\xcdݛş\xad\xe7\xd5b̏=\xb3\x06\xe1T\xb1\a\x96\r+\xff\x04\x00\x00\xff\xffNy\xc1Q\xa1\x0e\x00\x00"), } var CRDs = crds() diff --git a/config/crd/v2alpha1/bases/velero.io_datadownloads.yaml b/config/crd/v2alpha1/bases/velero.io_datadownloads.yaml index c322a23859..82f5cc2e0c 100644 --- a/config/crd/v2alpha1/bases/velero.io_datadownloads.yaml +++ b/config/crd/v2alpha1/bases/velero.io_datadownloads.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: datadownloads.velero.io spec: group: velero.io diff --git a/config/crd/v2alpha1/bases/velero.io_datauploads.yaml b/config/crd/v2alpha1/bases/velero.io_datauploads.yaml index 005b11e5ff..02f38d2b4e 100644 --- a/config/crd/v2alpha1/bases/velero.io_datauploads.yaml +++ b/config/crd/v2alpha1/bases/velero.io_datauploads.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.16.5 name: datauploads.velero.io spec: group: velero.io diff --git a/config/crd/v2alpha1/crds/crds.go b/config/crd/v2alpha1/crds/crds.go index d67770b45a..e770397450 100644 --- a/config/crd/v2alpha1/crds/crds.go +++ b/config/crd/v2alpha1/crds/crds.go @@ -29,8 +29,8 @@ import ( ) var rawCRDs = [][]byte{ - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcYKs\xe3\xb8\x11\xbe\xfbWtM\x0es\x19\xc9;\xc9V*\xa5\xdbXN\xaa\\ٙ\xa8֎\xef Ѣ\xb0\x06\x01\x04\x0f9\xca㿧\x1a )\x90\x84,K\xbb\x19\xdd\x044>|\xe8n\xf4\x03\\,\x167̈g\xb4Nh\xb5\x02f\x04\xfeӣ\xa2\x7fn\xf9\xf2'\xb7\x14\xfav\xff\xf9\xe6E(\xbe\x82up^\xb7?\xa3\xd3\xc1\xd6x\x8f[\xa1\x84\x17Zݴ\xe8\x19g\x9e\xadn\x00\x98R\xda3\x1av\xf4\x17\xa0\xd6\xca[-%\xdaE\x83j\xf9\x12*\xac\x82\x90\x1cm\x04\xef\xb7\xde\xff\xb0\xfc\xfc\xe3\xf2\x87\x1b\x00\xc5Z\\\x01\xe1q\xfd\xaa\xa4f\xdc-\xf7(\xd1\xea\xa5\xd07\xce`M\xc0\x8d\xd5\xc1\xac\xe08\x91\x16v\x9b&\xc2\xf7̳\xfb\x0e#\x0eK\xe1\xfc_gS?\t\xe7㴑\xc129\xd9;\xce8\xa1\x9a \x99\x1d\xcf\xdd\x00\xb8Z\x1b\\\xc17\xdaڰ\x1ai\xac;S\xa4\xb2\x00\xc6y\xd4\x12\x93\x1b+\x94G\xbb\xd62\xb4\xbdv\x16\xc0\xd1\xd5V\x18\x1f\xb5\x90\xd3\x02\xe7\x99\x0f\x0e\\\xa8w\xc0\x1c|\xc3\xd7\xdb\a\xb5\xb1\xba\xb1\xe8\x12-\x80_\x9cV\x1b\xe6w+X&\xf1\xa5\xd91\x87\xddlR\xe5c\x9c\xe8\x86\xfc\x81\xf8:o\x85jJ\f\x9eD\x8b\xc0\x83\x8d&\xa4s\xd7\b~'ܘ\xda+sD\xcfz\xe4'\x89\xc4y\x82s\x9e\xb5f\xca([\x9a(q\xe6\xb1Dh\xad[#\xd1#\x87\xea\xe0\xb1?\xc6Vۖ\xf9\x15\b\xe5\xff\xf8\xe3i]t\xcaZƥ\xf7Z\x8d\x15sG\xa3\x90\r'&d\xa5\x06mQ;\xda3\xf9k\x88x\x02\xb8\xcb\xd6'&\t7\x1f?K\x85\\\x0e\xf4\x16\xfc\x0e\xe1\x8e\xd5/\xc1\xc0\xa3ז5\b?\xe9:\x99\xefu\x87\x16\xa3D\x95$\xc8{A\x90\xed\xb4-\x9a\xce`\xbdL\xb2\x1dX\x8f5\xb1\xdfx\xa3\xdfܷj\x8b\xac\xe8[}\xa8YF\t\xa1U\xd9\xc1\xbe4\xf8.\xe7ʕ\xa84\xc7Lc#N\u0081\xb1\xbaF\xe7\xdepx\x02\x18\xb1\xf8v\x1c\x98\xa9&I\xec\x7fϤٱ\xcf)\xc8\xd4;l٪[\xa1\r\xaa/\x9b\x87\xe7?<\x8e\x86ፀ\xc1j\xef(R\x10}c\xb5\u05f5\x96P\xa1\x7fET\xc9\xf4\xadޣ\xa58\xd7\b\xe5\x06D\x8a\xda<\x178\xc6l\xf2\xef\x88G\xb3i\xd2b\xf4\x1e\"hs\xeb\x03\xedi\xd0z\xd1G\xe1\x0e\xfb\x98`\xb2\xd1\xc99\xfe\xb3\x18\xcd\x01\xd0\xd1\xd3*\xe0\x94i0\x1d\xab\x8b\xad\xc8;m%\xe3\t\a\x16\x8dE\x87*\xe5\x1e\x1af\nt\xf5\v\xd6~9\x81~DK0\xe0v:HN\x87ݣ\xf5`\xb1֍\x12\xff\x1a\xb0\x1dx\x1d7\x95̣\xf3\xf12Z\xc5$\xec\x99\f\xf8\x89\x946An\xd9\x01,Ҟ\x10T\x86\x17\x17\xb8)\x8f\xaf\xa4E\xa1\xb6z\x05;\xef\x8d[\xdd\xde6\xc2\xf7i\xb7\xd6m\x1b\x94\xf0\x87\xdbh\rQ\x05\xaf\xad\xbb\xe5\xb8Gy\xebD\xb3`\xb6\xde\t\x8f\xb5\x0f\x16o\x99\x11\x8bx\x10\x15S\xef\xb2忳]\xa2v\xa3mg\x8e\x98~1a^`\x1eʢt+X\a\x95\x8ex\xb4\x02\r\x91\xea~\xfe\xf3\xe3\x13\xf4L\x92\xa5\x92Q\x8e\xa23\xbd\xf4\xf6!m\n\xb5E\x9b\xd6m\xadn#&*n\xb4P>\xfe\xa9\xa5@\xe5\xc1\x85\xaa\x15\x9e\xdc\xe0\x1f\x01\x9d'\xd3Maױ4\x81\n!\x18\x8a\a|*\xf0\xa0`\xcdZ\x94k\xe6\xf0;ۊ\xac\xe2\x16d\x84wY+/\xb8\xa6\xc2I\xbd\xd9D_1\x9d0m\x1eA\x1e\r\xd6dUR,-\x13[\xd1e\x12\n\x03l$;\xd6P\xf9\xeaӯ\x98M\xa6B\xe7܍~w%\xa0\x9e\xad\xca\x02y\x97\xeb\\\x97\xa4\xe48I\xe5\xbfY~\xb4h\xb4\x13^\xdb\xc31KN]\xe1\xa4U\xe8W3U\xa3\xbc\xe6x\xeb\xb8\x12\x84\xe2\xa4s\x1c\\\x99\x82PB\x8dD\xb5j4]\xae\x91)\xe0\xc1\x93\f\xf9\xb6C_>\xa8*f5\xa1\xe0XSB^;N\x8f[i-\x91M\xb5H^\xf8\x95\xd2\xc2Z\xab\xadh\xe6\a\xcf\xcb\xdfS.rF\xa7\x05\x87Ͷ\xa4S\x90w\x12\x93E\xccP\x8b\xdeu)\xb4oE\x13\xec)\xfbo\x05J>\x8b?'oR\x7f\xe0\xb8\xcb56\x1e\xa8\xf7\xb7\xab\xcbjY\xea\xf5:F(\x17\xeb\xdd\xcc5\xe7$\x01\x1e\xb6\x19\xa2p\xf0\xe1\x03h\v\x1fRO\xf4\xe1SZ\x1d\x84\xf4\v1\xca\xff\xafB\xca~\x97\x8b\xbc{H\xf9Tu\xe9\xe0\xaf\xd1\xc1\xdf&\x18\x13Ux\xaa\x11\xe3\xf1\xbd\x86W&\xb2\xb4;\xec\xee>\x15p+\xdcR\x8c\xb6\xe8\x83UtC\xd0Z\nZ.B\xea0+\x03\xde<\xa9S̸\x9d\xf6\x0f\xf7g\xce\xf88\b\xf6\xa1\xe8\xe1\xbe\x0fD\xcf\xd1\x10C<\xea$\xc1\xeb\"\xfd\xbe\xb0\xe21\xd3]\xc66\xa6ס\t\xbd\xc6,\x8fc\x88\xfe0ڊF\x90\xf2\xd50s\f\x9a{\xead\xa3(\x1d\x119\x04s\x82;P\x84\xa2|^!p\xb1ݢ\xa5\xa4\x1d3z\xdax\xf3\xbc\xfe\xe8\xb2M\xc46\xffC\xc1\xb0e\xc6 \xa7\xf6\x81\x8c\xdb\xe9\xea\"-yf\x1b\xf4ϑ\xf4\x19\x15=e\xa2\xbd*(\xfbS\xafו\x97\xd1Y\xa3\x18l\x9eׅb\x90~\x9b\xe79\xc3ө\x12\xba\xbe\xe0\x84\x11g,g\xd6\xea\xf8\f\x18E\x887#-\x80ٿc\xe7\xcds)\xf1\x0e\xea\x00\xbfc\x9e$\xba>\x0e\xaaC\x11\x13\xfa+ҙ\xf3:\xbe\xf5\xbb\b\xaf\xdfd\xbc\x9eR>\xc1\xb7:\xfcjʔׅE>g\xbdx\xc3r\v0\xfb\xe2`\xfd\xfe\xecU\xdeyQ.\xd1&2\xd3\xd0?\x99>\xc6\xcb\xe9\xc48\xaeLf\xf3+\xf9\xaeZ6v\xda\xef\xadf\xd3\xfbYg\xf6:\xd8\x18t\xbaW5j\x10\xaf\xaagY]\xa3\xf1\xc8\xef\x0e\xd4ޟ\x89#$B\x04\xd4\xdb\xef\f\x7f7\xc7W\x064\xecҢ\xb3\xa74\xbc\x85\\\x93\x00\xbeLAbCly\x96\x96\xe7tS\xb5r\x9a4\xc0\x13\xb5\x12\xb1\xa1\xfb\x9821-\x8b\xf9\x9d\x8a\xb6٦3\x84\xfe}\x8d:\xb6\x05\xad\x9fI\xa8 %\xab$\xae\xc0\xdbp\xaaz-\x17\xeb\xe9i1\x7fE\xba\xaar\x9f\xc3\xccudžw\x93\xf8\xbe\xd5?j\x96Tv\xc4\x1b\x14\x96\xe0\x90\x03\xeeQ\x01\xf5cLH\xe4=f\xa1\x84=\xa7\xf9\x02i\xf7]\x95ߢs\xac9w\x81\xbe&\xa9\xf4\xd4\xd0-\x01VQ\xdd8mg>\xba\xeen_tw\xd4ov\x89\x8b\x8f\x85\x17q\x89\xed\xd7\x192\x1b\x92)Ŵ\x81\xda\xe9\xa0F?T\xa1-e\x9eo\xf8Z\x18\xed\xefgaj\xd3]\xfa\xc2\xd4\xec+E>\x99\xfa\xdcRb\xec犘\xc3g\x80\xc2\xdc_\xe2e\xb8H\xd3\x1d\xbfk\xae\xfb\xd0-\xef\xb4\xecox|\xbeW\xa1\xadВ\x19\xe2\a\x82\xde\x1eC\xdd\xcf\x14ϭV*\xfe\x06\x84\xa1\x17\x88PKx\xdaQi\x92Z\xfc\xbe;\xe2\xc2\x19\xc9\x0e\xc3a\xf2\n\xb5\x00~\xbc5\xb3\x17\xdcK\x8b\xd4\xe1sJ\xb9\xf2*}\x13\x19\xff\xe6_7&\xf3\xc3g\x92\xff\xcf\x0eo4\xf8\xe3\xcfVW\xb5R#\x84s\xa9\xa0\xfb\x8cvy\x04\x1fo\xf3=\x83wQ{\xb3\xc1Ȝg\xd8݃\\>\x12\xaa\xe1\x95z\x05\xff\xfe\xef\xcd\xff\x02\x00\x00\xff\xff\x84s\xba\x82\x91\x1e\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcYIs\xe3\xb8\x15\xbe\xfbW\xbc\xea\x1c\xe6b\xc9\xd3\xc9T*\xa5[[N\xaa\\\x99vT-\xc7w\x88|\"1\x06\x01\x06\x8b\x14g\xf9\xef\xa9\a\x80\x14HBk\xa6\x87\a\x97\x85\xe5\xe1m\xf8ނ\xd9lv\xc7Z\xfe\x86\xdap%\x17\xc0Z\x8e\xff\xb4(闙\xbf\xff\xc9̹z\xd8}\xbe{\xe7\xb2\\\xc0\xd2\x19\xab\x9aoh\x94\xd3\x05>\xe1\x96Kn\xb9\x92w\rZV2\xcb\x16w\x00LJe\x19\r\x1b\xfa\tP(i\xb5\x12\x02\xf5\xacB9\x7fw\x1b\xdc8.JԞxw\xf4\xee\xc7\xf9\xe7\x9f\xe6?\xde\x01H\xd6\xe0\x02\x88\x9ek\x85b\xa5\x99\xefP\xa0Vs\xae\xeeL\x8b\x05\x91\xad\xb4r\xed\x02\x0e\x13a[<2\xb0\xfb\xc4,\xfb\xbb\xa7\xe0\a\x057\xf6\xaf\xa3\x89\x9f\xb9\xb1~\xb2\x15N318Տ\x1b.+'\x98Ng\xee\x00L\xa1Z\\\xc0\v\x1dٲ\x02i,J\xe2Y\x98\x01+K\xaf\x1b&V\x9aK\x8bz\xa9\x84k:\x9d̠DSh\xdeZ/\xfb\x81!0\x96Yg\xc0\xb8\xa2\x06f\xe0\x05\xf7\x0f\xcfr\xa5U\xa5\xd1\x04\x96\x00~1J\xae\x98\xad\x170\x0f\xcb\xe7m\xcd\f\xc6٠\xbe\xb5\x9f\x88C\xf6\x83\xb85VsY\xe5\xce\x7f\xe5\rB\xe9\xb47\x1b\xc9\\ ؚ\x9b\x94\xb1=3Ĝ\xb6X\x1ee\xc3\xcf\x131cYӎ\xf9I\xb6\x06\x86Jf1\xc7\xceR5\xad@\x8b%l>,vBl\x95n\x98]\x00\x97\xf6\x8f?\x1d\xd7DT\xd5\xdco}Rr\xa8\x96G\x1a\x85d8pB\x16\xaaPgu\xa3,\x13\xff\x0f#\x96\b<&\xfb\x03'\x81n:~\x96\x15r7P[\xb05\xc2#+\xde]\vk\xab4\xab\x10~VE0\u07beF\x1d\x8d\xb7\tKL\xad\x9c(a\xd3I\f`\xac\xd2Y+\xb6X\xccîH\xb7#;2\xe5\xf0\xcc_\xd9\xc9\n\x8d,\xebd\x1d\xca\xcc\xfd\n\xaed\xdeӾTx\x91\x97\xa5ڔ\xaa\xc4^u\x98r\xc4\r\xb4Z\x15h\xcc\t\xbf\xa7\xed\x03\x1e^\x0e\x03\x13\xb5\x84\x15\xbb\xdf3\xd1\xd6\xecs@\x99\xa2Ɔ-\xe2\x0eբ\xfc\xb2z~\xfb\xc3z0\fG1\x83\x15\xd6\x10X\x10\xeb\xadVV\x15J\xc0\x06\xed\x1eQz܂F\xedP\x13\xc8U\\\x1a`\xb2\xeciB\xba\xe0\x00\xd5\xe4\xe4\x9e\x1e͆\xc9\xe8N\xaaE\x9d\x9a\x1d\xe8\xc8\x16\xb5\xe5\x1d\xfa\x86/\t+\xc9\xe8H\x88\xff\xcc\x06s\x00$w\xd8\x05%\xc5\x17\fREl\xc52\xaa*؍\x1b\xd0\xd8j4(Cġa&Am~\xc1\xc2\xceG\xa4ר\x89Lw\x1f\n%w\xa8-h,T%\xf9\xbfz\xda\x06\xac\xf2\x87\nf\xd1X\x7f!\xb5d\x02vL8\xbc\x1fi\x8f\xbe\x86}\x80F:\x13\x9cL\xe8\xf9\rf\xcc\xc7W\xa5\x11\xb8ܪ\x05\xd4ֶf\xf1\xf0Pq\xdb\x05\xdbB5\x8d\x93\xdc~\xe0Λ\xf2w:\x86g38v\xe2\x85\xe1\xf3\x81\xf2\n\xf3P\xfc\xa4+\xc1\"\xa9 \xe2\xc1\n4D\xaa\xfb\xf6\xe7\xf5+t\x9c\x04K\x05\xa3\x1c\x96N\xf4\xd2ه\xb4\xc9\xe5\x16uطժ\xf14Q\x96\xad\xe2\xd2\xfa\x1f\x85\xe0(-\x18\xb7i\xb8%7\xf8\x87Cc\xc9tc\xb2K\x9f\x90\xc0\x06\xc1\xb5\x04\x05\xe5x\xc1\xb3\x84%kP,\x99\xc1\xdf\xd8Vd\x153##\\d\xad4\xcd\x1a/\x0e\xeaM&\xbaL\xe9\x88i\x0f\xf0\xb1n\xb1 \x9b\x92Zi\x13\xdf\xf2\x18K\b\x03X\xb2r\xa8\x9d\xfc\xb5\xa7/\x1bBƋι\x1a}\x8f9B\x1d\xaf2\xc1\xef.\xd4\xc5\xc8$\x86\x91)\xfd\x0e \x1f\xf7hl\x95\xe1V\xe9\x0f\"\x1cB\xe3\xd8\r\x8eZ\x84\xbe\x82\xc9\x02\xc5-\xe2-\xfdN\xe0\xb2$\x8dc\xef\xc6\x04@\x81\xaagT\xc9J\xd1\xc5J\f\x01ϖV\x90W\x1b\xb4y1e&\x94q\t\x87l\x12Ҭq,\xeaF)\x81l\xac\xc1\xc2\xf0\xb5d\xad\xa9\x95=#\xf0\xf3\x16\xba\x95\xaf\x1f-\xd2\xe1\xcb\xf5\xf3=\xfd\xe9\xc6Ƀv\xbc\x8c\x10O\xb7\x8c\xf2\xaa\xbc٢\x9d\x97\xebg0q\xfb\xd4H\xd2\t\xc16\x02\x17`\xb5\x9b\nv\xdca\xe9\xeb\xc8.\x053\xd9\x05#\x01\xd7\xe9\xfa\x9cOv\x04\xa1\xf0+l\xcdr\x86\xf2\x1a\xa7\bG\xe5A\xb2\x89\xf7\x89\x10칭\xb3;O8%\xc44\x8fUx\xb1@\xc9\xf2\xac<\xf1r\x05q\xd4\xf6\x840\xab\xb7\xa5\x97\xf7\x9cd\x84\xed\xb7H\x16H\x1e\xf7ĉlo\x83\r9\xe9F\\\x1e\x13Nѕ#\xe4\xc0\x12\\{=\xeftù\xc6r\xca\xf3l`\xaf\xcc\xf4P\xe8#\xd7v\x12\x06 fx_)\x87[*\xb9\xe5\xd5\xf4\xec\xb4X=uGN\x8a6\t/ɑ\xa4q\x8a&\xc4\xc9̧\x93\xb3.\xd4P\"\xb6\xe5\x95\xd3Ǯ\xfe\x96\xa3('\xd9\xc2\xd9\xdb~F\x1f\x9e\x89[@\xbb\x97\xac\v\x96\x11\xbf\x924:x\x893\xbe\x80Mb\xcdT\x06 \x9c}\x02\xa5\xe1Shl|\xba\x0f\xbb\x1d\x17v\xc6\a\xb9\xfc\x9e\vѝrU\xb8\xea\xf3w\xaa\x9e\x94;\x87\xe3Y\x1d\xfcmDc\xa4\nK\x95\x9e\x17\xdf*\xd83\x9e\xe4\xd0\xfd\xe9\xe6>Cw\x83[J\xb84Z\xa7%\x85<Ԛr\x10\xe3I*\x97\xc1\xfc\x13\x92\x9a$\xfe\x9c\x91r\x1c\xaa\xbc\x14\xf4\xff\x18\xcbS\x00\xc8\b\x90\xb3\xf1)\x0e}~\xdcw\x91n1\xc5zH\xa2c^i^qR\xb8\xecg\x0e\x99Oĺ\xd8\"\xf0H\xe6\xa18\xeb\x9f=Z\x1aB\xcb\x039\xba\xce\xe1pB{&K\x1f\x9c\xfb\xf92^\xbd\xcc\xc5=\xab\x90\xd5\xdb\xf2\x9c\xbd\xfa\x833PN\xc3\xfb\x9a\x17\xf5\xd0t|\n\xaa\x00\x96\xbd\xa3Ot\xaf`3\x8f\xe1\xb3|\xda;Z3\xbe}\xa3\xe9\xd4e\xc7SCCggWoˋJ\x03ߵ\xb8\xac8\b\xedȨ\xe5\xc2i\xedˮ0J\xd5\xf6\r\xe5\x01+\nl-\x96\x8f\x1f/\xaa<\xe7\xf4\xb4\x84\x8e\x97\x97wk\xb0e\xd7\xe6\xf0\x1dK}G閫\xf8eL\xc4\xf7\x16t\x99\x80\xe2\x94\xdd\x00(Ǚ\x06x%'\xf6\xb5\xf1\x0f\x01\ai\x9bGW\xba\x82\x93C'\x14\xbav%\x15\xbf3\xda\x7f[$\xcd\xd7>\xa1S\x9b\xf6\xe2n*\x84\xa6d\xa6\xbac]\xc5曄]\x8b8\xa7\xb1\x03\xb9^_\x81\x1a\x96\x80;\x94@\xb5-\xe3\x82\xe2\xb3'\x99\x01\xa9\xd3Tb\xa0\n\xef\x01]ӣk\x90e\xbbO\xe7-\x99Q\xc2\x14\xb1\xbe\xa71\xfb4\xf1\x1b\x1a'2\x89\xc1wL\x13Ñ\xa1\xfc6\xd94\xf1t}\xc8\f0ЁHD\x89c\xc0t\xb1\x92\xb2\xb9c\x83ư\xea\x1cj}\r\xabB\xab,n\x01\xb6\xa1Ti\xc8\xda\x0f&\x82\xe9Up%\xbf\vn\xc6.\xf7U\x9c\xb4\xcc\xd6g8Y1[w\x01d\xeb\x84\xf0{&\x89U\xccI6H\xb7\xe9\xd7ʯ|\x83\xe3\x1c{\xb4&\x17\xe0\xf0\x12GB\xe9\x9a\\-\xf7\x82\xfb\xcch\a֙\xa9U\x8c\x00\x99\xa9\xc9\xfb_:\x19zH\xb9\x8b\xd6\xcdei\xf6Ol\x99\xb9\xbfxh\xbcJϑ\xbf[\xb0\xbf\xefF\xd5Jtp\xef\x9fƤk6\xa8\xc9\b\xfe\xf1mT\xa8S\u0099X,C8\xd9\xdfg\xb9\x9e\xd2\x1c^kn\xba\xfeYW\xa7\x94ܴ\x82}\xf4\xb2\x9c\x03\x9c\xfe2\x8f\xdfE\xa6Nr\xba\xf1\xd4?T\xe6\xfb\x18\xb9\xd7\xc6\xe17}7\x1c\xcd\xf7\x0f\x90\xdf\xe7\x84\x13h\xd9]\xef\xe7\xa7\v\v\xb0\xe7\xa7\xee*\xf2\x12\xa5\xa5\x9a\xf2\xf0\x16uH\xe5}o3\xa7\xcbqO\xf7\xba\xeac\xf0|}S56\xa0p&\x87\x89\xaf\xe9\xb9LaM`@\x10\xe4_?\x96\xe3\xf7\xce\xfb\xfe\xf9\x94\xd9\xf8\x04S\xd4LV\x98+q\x94\xa4\xc0\xe8\x03\xeb\xf5I\xc9P\xa0\xdf2\x1f\xc9z\xd5d\xd0s^&\xb4c\x13-\x1dq\x9b\xfeMl\x01\xff\xfe\xef\xdd\xff\x02\x00\x00\xff\xff*b\xfd\xb1\xf5\"\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcYKs\xe3\xb8\x11\xbe\xfbWtM\x0es\x19ə<\xb6R\xba\x8d\xe5\xa4ʕ\x9d\x89j\xed\xf8\x0e\x12-\nk\x10@\xf0\x90\xa3<\xfe{\xaa\x01\x92\x02IȲ\xb4\x9b\xd1M@\xe3Ç\xeeF?\xc0\xc5bqÌxF\xeb\x84V+`F\xe0?=*\xfa\xe7\x96/\x7frK\xa1o\xf7\x9fo^\x84\xe2+X\a\xe7u\xfb\x13:\x1dl\x8d\xf7\xb8\x15Jx\xa1\xd5M\x8b\x9eq\xe6\xd9\xea\x06\x80)\xa5=\xa3aG\x7f\x01j\xad\xbc\xd5R\xa2]4\xa8\x96/\xa1\xc2*\b\xc9\xd1F\xf0~\xeb\xfdo\x97\x9f\x7fX\xfe\xf1\x06@\xb1\x16W@x\\\xbf*\xa9\x19w\xcb=J\xb4z)\xf4\x8d3X\x13pcu0+8N\xa4\x85ݦ\x89\xf0=\xf3\xec\xbeÈ\xc3R8\xff\xd7\xd9ԏ\xc2\xf98md\xb0LN\xf6\x8e3N\xa8&Hf\xc7s7\x00\xae\xd6\x06W\xf0\x8d\xb66\xacF\x1a\xeb\xce\x14\xa9,\x80q\x1e\xb5\xc4\xe4\xc6\n\xe5Ѯ\xb5\fm\xaf\x9d\x05pt\xb5\x15\xc6G-\xe4\xb4\xc0y\xe6\x83\x03\x17\xea\x1d0\a\xdf\xf0\xf5\xf6Am\xacn,\xbaD\v\xe0g\xa7Ն\xf9\xdd\n\x96I|iv\xcca7\x9bT\xf9\x18'\xba!\x7f \xbe\xce[\xa1\x9a\x12\x83'\xd1\"\xf0`\xa3\t\xe9\xdc5\x82\xdf\t7\xa6\xf6\xca\x1cѳ\x1e\xf9I\"q\x9e\xe0\x9cg\xad\x992ʖ&J\x9cy,\x11Z\xeb\xd6H\xf4ȡ:x쏱նe~\x05B\xf9\x1f\xfepZ\x17\x9d\xb2\x96q\xe9\xbdVc\xc5\xdc\xd1(dÉ\tY\xa9A[Ԏ\xf6L\xfe\x12\"\x9e\x00\xee\xb2\xf5\x89I\xc2\xcd\xc7\xcfR!\x97\x03\xbd\x05\xbfC\xb8c\xf5K0\xf0\xe8\xb5e\r\u008f\xbaN\xe6{ݡ\xc5(Q%\t\xf2^\x10d;m\x8b\xa63X/\x93l\a\xd6cM\xec7\xde\xe8W\xf7\xad\xda\"+\xfaV\x1fj\x96QBhUv\xb0/\r\xbe˹r%*\xcd1\xd3؈\x93p`\xac\xaeѹ7\x1c\x9e\x00F,\xbe\x1d\af\xaaI\x12\xfb\xdf1iv\xecs\n2\xf5\x0e[\xb6\xeaVh\x83\xea\xcb\xe6\xe1\xf9\xf7\x8f\xa3ax#`\xb0\xda;\x8a\x14D\xdfX\xedu\xad%T\xe8_\x11U2}\xab\xf7h)\xce5B\xb9\x01\x91\xa26\xcf\x05\x8e1\x9b\xfc;\xe2\xd1l\x9a\xb4\x18\xbd\x87\b\xda\xdc\xfa@{\x1a\xb4^\xf4Q\xb8\xc3>&\x98ltr\x8e\xff,Fs\x00t\xf4\xb4\n8e\x1aL\xc7\xeab+\xf2N[\xc9x\u0081EcѡJ\xb9\x87\x86\x99\x02]\xfd\x8c\xb5_N\xa0\x1f\xd1\x12\f\xb8\x9d\x0e\x92\xd3a\xf7h=X\xacu\xa3Ŀ\x06l\a^\xc7M%\xf3\xe8|\xbc\x8cV1\t{&\x03~\"\xa5M\x90[v\x00\x8b\xb4'\x04\x95\xe1\xc5\x05n\xca\xe3+iQ\xa8\xad^\xc1\xce{\xe3V\xb7\xb7\x8d\xf0}ڭu\xdb\x06%\xfc\xe16ZCT\xc1k\xebn9\xeeQ\xde:\xd1,\x98\xadw\xc2c\xed\x83\xc5[f\xc4\"\x1eD\xc5Իl\xf9ol\x97\xa8\xddhۙ#\xa6_L\x98\x17\x98\x87\xb2(\xdd\n\xd6A\xa5#\x1e\xad@C\xa4\xba\x9f\xfe\xfc\xf8\x04=\x93d\xa9d\x94\xa3\xe8L/\xbd}H\x9bBmѦu[\xabۈ\x89\x8a\x1b-\x94\x8f\x7fj)Pyp\xa1j\x85'7\xf8G@\xe7\xc9tS\xd8u,M\xa0B\b\x86\xe2\x01\x9f\n<(X\xb3\x16\xe5\x9a9\xfcζ\"\xab\xb8\x05\x19\xe1]\xd6\xca\v\xae\xa9pRo6\xd1WL'L\x9bG\x90G\x835Y\x95\x14K\xcb\xc4Vt\x99\x84\xc2\x00\x1bɎ5T\xbe\xfa\xf4+f\x93\xa9\xd09w\xa3\xdf]\t\xa8g\xab\xb2@\xde\xe5:\xd7%)9NR\xf9o\x96\x1f-\x1a\xed\x84\xd7\xf6p̒SW8i\x15\xfa\xd5L\xd5(\xaf9\xde:\xae\x04\xa18\xe9\x1c\aW\xa6 \x94P#Q\xad\x1aM\x97kd\nx\xf0$C\xbe\xedЗ\x0f\xaa\x8aYM(8֔\x90\u05ce\xd3\xe3VZKdS-\x92\x17~\xa5\xb4\xb0\xd6j+\x9a\xf9\xc1\xf3\xf2\xf7\x94\x8b\x9c\xd1i\xc1a\xb3-\xe9\x14\xe4\x9d\xc4d\x113Ԣw]\n\xed[\xd1\x04{\xca\xfe[\x81\x92\xcf\xe2\xcfɛ\xd4\x1f8\xeer\x8d\x8d\a\xea\xfd\xed\xea\xb2Z\x96z\xbd\x8e\x11\xca\xc5z7s\xcd9I\x80\x87m\x86(\x1c|\xf8\x00\xda\u0087\xd4\x13}\xf8\x94V\a!\xfdB\x8c\xf2\xff\xab\x90\xb2\xdf\xe5\"\xef\x1eR>U]:\xf8kt\xf0\xb7\t\xc6D\x15\x9ej\xc4x|\xafᕉ,\xed\x0e\xbb\xbbO\x05\xdc\n\xb7\x14\xa3-\xfa`\x15\xdd\x10\xb4\x96\x82\x96\x8b\x90:\xccʀ7O\xea\x143n\xa7\xfd\xc3\xfd\x993>\x0e\x82}(z\xb8\xef\x03\xd1s4\xc4\x10\x8f:I\xf0\xbaH\xbf/\xacx\xcct\x97\xb1\x8d\xe9uhB\xaf1\xcb\xe3\x18\xa2?\x8c\xb6\xa2\x11\xa4|5\xcc\x1c\x83\xe6\x9e:\xd9(JGD\x0e\xc1\x9c\xe0\x0e\x14\xa1(\x9fW\b\\l\xb7h)inj\x9e6\xde<\xaf?\xbal\x13\xb1\xcd\xffP0l\x991ȩ} \xe3v\xba\xbaHK\x9e\xd9\x06\xfds$}FEO\x99h\xaf\n\xca\xfe\xd4\xebu\xe5et\xd6(\x06\x9b\xe7u\xa1\x18\xa4\xdf\xe6y\xce\xf0t\xaa\x84\xae/8a\xc4\x19˙\xb5:>\x03F\x11\xe2\xcdH\v`\xf6\xef\xd8y\xf3\\J\xbc\x83:\xc0\xef\x98'\x89\xae\x8f\x83\xeaPĄ\xfe\x8at漎o\xfd.\xc2\xeb7\x19\xaf\xa7\x94O\xf0\xad\x0e\xbf\x982\xe5ua\x91\xcfY/ް\xdc\x02̾8X\xbf?{\x95w^\x94K\xb4\x89\xcc4\xf4O\xa6\x8f\xf1r:1\x8e+\x93\xd9\xfcJ\xbe\xab\x96\x8d\x9d\xf6{\xab\xd9\xf4~֙\xbd\x0e6\x06\x9d\xeeU\x8d\x1aī\xeaYV\xd7h<\xf2\xbb\x03\xb5\xf7g\xe2\b\x89\x10\x01\xf5\xf6;\xc3\xdf\xcd\xf1\x95\x01\r\xbb\xb4\xe8\xec)\ro!\xd7$\x80/S\x90\xd8\x10[\x9e\xa5\xe59\xddT\xad\x9c&\r\xf0D\xadDl\xe8>\xa6LL\xcbb~\xa7\xa2m\xb6\xe9\f\xa1\x7f_\xa3\x8emA\xebg\x12*H\xc9*\x89+\xf06\x9c\xaa^\xcb\xc5zzZ\xcc_\x91\xae\xaa\xdc\xe70sݱ\xe1\xdd$\xbeo\xf5\x8f\x9a%\x95\x1d\xf1\x06\x85%8\xe4\x80{T@\xfd\x18\x13\x12y\x8fY(a\xcfi\xbe@\xda}W\xe5\xb7\xe8\x1ck\xce]\xa0\xafI*=5tK\x80UT7Nۙ\x8f\xae\xbb\xdb\x17\xdd\x1d\xf5\xab]\xe2\xe2c\xe1E\\b\xfbu\x86̆dJ1m\xa0v:\xa8\xd1\x0fUhK\x99\xe7\x1b\xbe\x16F\xfb\xfbY\x98\xdat\x97\xbe05\xfbJ\x91O\xa6>\xb7\x94\x18\xfb\xb9\"\xe6\xf0\x19\xa00\xf7\x97x\x19.\xd2t\xc7\xef\x9a\xeb>t\xcb;-\xfb\x1b\x1e\x9f\xefUh+\xb4d\x86\xf8\x81\xa0\xb7\xc7P\xf73\xc5s\xab\x95\x8a\xbf\x01a\xe8\x05\"\xd4\x12\x9evT\x9a\xa4\x16\xbf\uf3b8pF\xb2\xc3p\x98\xbcB-\x80\x1fo\xcd\xec\x05\xf7\xd2\"u\xf8\x9cR\xae\xbcJ\xdfDƿ\xf9\u05cd\xc9\xfc\xf0\x99\xe4\xff\xb3\xc3\x1b\r\xfe\xf8\xb3\xd5U\xad\xd4\b\xe1\\*\xe8>\xa3]\x1e\xc1\xc7\xdb|\xcf\xe0]\xd4\xdel02\xe7\x19v\xf7 \x97\x8f\x84jx\xa5^\xc1\xbf\xff{\xf3\xbf\x00\x00\x00\xff\xff\xf1\x13\xc3j\x91\x1e\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcYIs\xe3\xb8\x15\xbe\xfbW\xbc\xea\x1c\xe6b\xc9\xe9,S)\xdd\xdarR\xe5ʴ\xa3j9\xbeC\xe4\x13\x891\b0X\xa48\xcb\x7fO=\x00\xa4@\x12Z3=<\xb8,,\x0fo\xc3\xf7\x16\xccf\xb3;\xd6\xf27Ԇ+\xb9\x00\xd6r\xfc\xa7EI\xbf\xcc\xfc\xfdOf\xce\xd5\xc3\xee\xf3\xdd;\x97\xe5\x02\x96\xceX\xd5|C\xa3\x9c.\xf0\t\xb7\\r˕\xbckв\x92Y\xb6\xb8\x03`R*\xcbh\xd8\xd0O\x80BI\xab\x95\x10\xa8g\x15\xca\xf9\xbb\xdb\xe0\xc6qQ\xa2\xf6Ļ\xa3w\xbf\x9d\x7f\xfeq\xfe\xc7;\x00\xc9\x1a\\\x00\xd1s\xadP\xac4\xf3\x1d\n\xd4j\xce՝i\xb1 \xb2\x95V\xae]\xc0a\"l\x8bG\x06v\x9f\x98e\x7f\xf7\x14\xfc\xa0\xe0\xc6\xfeu4\xf1\x137\xd6O\xb6\xc2i&\x06\xa7\xfaq\xc3e\xe5\x04\xd3\xe9\xcc\x1d\x80)T\x8b\vx\xa1#[V \x8dEI<\v3`e\xe9u\xc3\xc4JsiQ/\x95pM\xa7\x93\x19\x94h\n\xcd[\xebe?0\x04\xc62\xeb\f\x18W\xd4\xc0\f\xbc\xe0\xfe\xe1Y\xae\xb4\xaa4\x9a\xc0\x12\xc0\xcfF\xc9\x15\xb3\xf5\x02\xe6a\xf9\xbc\xad\x99\xc18\x1bԷ\xf6\x13q\xc8~\x10\xb7\xc6j.\xab\xdc\xf9\xaf\xbcA(\x9d\xf6f#\x99\v\x04[s\x932\xb6g\x86\x98\xd3\x16ˣl\xf8y\"f,k\xda1?\xc9\xd6\xc0P\xc9,\xe6\xd8Y\xaa\xa6\x15h\xb1\x84͇\xc5N\x88\xad\xd2\r\xb3\v\xe0\xd2\xfe\xf8\x87㚈\xaa\x9a\xfb\xadOJ\x0e\xd5\xf2H\xa3\x90\f\aN\xc8B\x15\xea\xacn\x94e\xe2\xffa\xc4\x12\x81\xc7d\x7f\xe0$\xd0M\xc7ϲB\xee\x06j\v\xb6FxdŻkam\x95f\x15\xc2O\xaa\b\xc6\xdbר\xa3\xf16a\x89\xa9\x95\x13%l:\x89\x01\x8cU:k\xc5\x16\x8by\xd8\x15\xe9vdG\xa6\x1c\x9e\xf9\v;Y\xa1\x91e\x9d\xacC\x99\xb9_\xc1\x95\xcc{ڗ\n/\xf2\xb2T\x9bR\x95ث\x0eS\x8e\xb8\x81V\xab\x02\x8d9\xe1\xf7\xb4}\xc0\xc3\xcba`\xa2\x96\xb0b\xf7;&ښ}\x0e(S\xd4ذEܡZ\x94_V\xcfo\xbf_\x0f\x86\xe1(f\xb0\xc2\x1a\x02\vb\xbd\xd5ʪB\tؠ\xdd#J\x8f[Ш\x1dj\x02\xb9\x8aK\x03L\x96=MH\x17\x1c\xa0\x9a\x9c\xdcӣ\xd90\x19\xddI\xb5\xa8S\xb3\x03\x1d٢\xb6\xbcC\xdf\xf0%a%\x19\x1d\t\xf1\x9f\xd9`\x0e\x80\xe4\x0e\xbb\xa0\xa4\xf8\x82A\xaa\x88\xadXFU\x05\xbbq\x03\x1a[\x8d\x06e\x8884\xcc$\xa8\xcd\xcfX\xd8\xf9\x88\xf4\x1a5\x91\xe9\xeeC\xa1\xe4\x0e\xb5\x05\x8d\x85\xaa$\xffWOۀU\xfeP\xc1,\x1a\xeb/\xa4\x96L\xc0\x8e\t\x87\xf7#\xed\xd1װ\x0f\xd0Hg\x82\x93\t=\xbf\xc1\x8c\xf9\xf8\xaa4\x02\x97[\xb5\x80\xda\xda\xd6,\x1e\x1e*n\xbb`[\xa8\xa6q\x92ۏ\ao\f\xbeqVi\xf3P\xe2\x0eŃ\xe1Ռ\xe9\xa2\xe6\x16\v\xeb4>\xb0\x96ϼ \xd2\a\xdcyS\xfeF\xc7\xf0l\x06\xc7N\xbc0|>P^a\x1e\x8a\x9ft%X$\x15D\xd6-\x16dSR+m\xe2[\x1ec\ta\x00KV\x0e\xb5\x93\xbf\xf6\xf4eC\xc8x\xd19W\xa3\xef1G\xa8\xe3U&\xf8݅\xba\x18\x99\xc402\xa5\xdf\x01\xe4\xe3\x1e\x8d\xad2\xdc*\xfdA\x84Ch\x1c\xbb\xc1Q\x8b\xd0W0Y\xa0\xb8E\xbc\xa5\xdf\t\\\x96\xa4q\xecݘ\x00(P\xf5\x8c*Y)\xbaX\x89!\xe0\xd9\xd2\n\xf2j\x836/\xa6̄2.\xe1\x90MB\x9a5\x8eE\xdd(%\x90\x8d5X\x18\xbe\x96\xac5\xb5\xb2g\x04~\xdeB\xb7\xf2\xf5\xa3E:|\xb9~\xbe\xa7?\xdd8yЎ\x97\x11\xe2\xe9\x96Q^\x957[\xb4\xf3r\xfd\f&n\x9f\x1aI:!\xd8F\xe0\x02\xacvS\xc1\x8e;,}\x1d٥`&\xbb`$\xe0:]\x9f\xf3Ɏ \x14~\x85\xadY\xceP^\xe3\x14\xe1\xa8\x11\x82=\xb7uv\xe7\t\xa7\x84\x98\xe6\xb1\n/\x16(Y\x9e\x95'^\xae \x8eڞ\x10f\xf5\xb6\xf4\U0009e4cc\xb0\xfd\x16\xc9\x02\xc9\xe3\x9e8\x91\xedm\xb0!'݈\xcbc\xc2)\xbar\x84\x1cX\x82k\xaf\xe7\x9dn8\xd7XNy\x9e\r앙\x1e\n}\xe4\xdaN\xc2\x00\xc4\f\xef+\xe5pK%\xb7\xbc\x9a\x9e\x9d\x16\xab\xa7\xee\xc8I\xd1&\xe1%9\x924Nф8\x99\xf9trօ\x1aJĶ\xbcr\xfa\xd8\xd5\xdfr\x14\xe5$[8{\xdb\xcf\xe8\xc33q\vh\xf7\x92u\xc12\xe2W\x92F\a/q\xc6\x17\xb0I\xac\x99\xca\x00\x84\x93\a\x8a\xdc\xc0\xa7O\xa04|\n\x8d\x8dO\xf7a\xb7\xe3\xc2\xce\xf8 \x97\xdfs!\xbaS\xae\nW}\xfeNՓr\xe7p<\xab\x83\xbf\x8dh\x8cTa\xa9\xd2\xf3\xe2[\x05{Ɠ\x1c\xba?\xdd\xdcg\xe8npK\t\x97F봤\x90\x87ZS\x0ebšϏ\xfb.\xd2-\xa6X\x0fIt\xcc+\xcd+N\n\x97\xfd\xcc!\xf3\x89X\x17[\x04\x1e\xc9<\x14g\xfd\xb3GKChy G\xd79\x1cNh\xcfd\xe9\x83s?_ƫ\x97\xb9\xb8g\x15\xb2z[\x9e\xb3W\x7fp\x06\xcaix_\xf3\xa2\x1e\x9a\x8eOA\x15\xc0\xb2w\xf4\x89\xee\x15l\xe61|\x96O{GkƷo4\x9d\xba\xecxjh\xe8\xec\xec\xeamyQi\xe0\xbb\x16\x97\x15\a\xa1\x1d\x19\xb5\\8\xad}\xd9\x15F\xa9ھ\xa1<`E\x81\xad\xc5\xf2\xf1\xe3E\x95眞\x96\xd0\xf1\xf2\xf2n\r\xb6\xec\xda\x1c\xbec\xa9\xef(\xddr\x15\xbf\x8c\x89\xf8ނ.\x13P\x9c\xb2\x1b\x00\xe58\xd3\x00\xaf\xe4ľ6\xfe!\xe0 m\xf3\xe8JWpr\xe8\x84B\u05ee\xa4\xe2wF\xfbo\x8b\xa4\xf9\xda'tj\xd3^\xdcM\x85Д\xccTw\xac\xab\xd8|\x93\xb0k\x11\xe74v \xd7\xeb+P\xc3\x12p\x87\x12\xa8\xb6e\\P|\xf6$3 u\x9aJ\fT\xe1=\xa0kzt\r\xb2l\xf7\xe9\xbc%3J\x98\"\xd6\xf74f\x9f&~C\xe3D&1\xf8\x8eib82\x94\xdf&\x9b&\x9e\xae\x0f\x99\x01\x06:\x10\x89(q\f\x98.VR6wl\xd0\x18V\x9dC\xad\xafaUh\x95\xc5-\xc06\x94*\rY\xfb\xc1D0\xbd\n\xae\xe4w\xc1\xcd\xd8徊\x93\x96\xd9\xfa\f'+f\xeb.\x80l\x9d\x10~\xcf$\xb1\x8a9\xc9\x06\xe96\xfdR\xf9\x95op\x9cc\x8f\xd6\xe4\x02\x1c^\xe2H(]\x93\xab\xe5^p\x9f\x19\xed\xc0:3\xb5\x8a\x11 35y\xffK'C\x0f)wѺ\xb9,\xcd\xfe\x89-3\xf7\x17\x0f\x8dW\xe99\xf2w\v\xf6\xf7ݨZ\x89\x0e\xee\xfdӘt\xcd\x065\x19\xc1?\xbe\x8d\nuJ8\x13\x8be\b'\xfb\xfb,\xd7S\x9a\xc3k\xcdM\xd7?\xebꔒ\x9bV\xb0\x8f^\x96s\x80\xd3_\xe6\xf1\xbb\xc8\xd4IN7\x9e\xfa\x87\xca|\x1f#\xf7\xda8\xfc\xa6\uf1a3\xf9\xfe\x01\xf2\xfb\x9cp\x02-\xbb\xeb\xfd\xfcta\x01\xf6\xfc\xd4]E^\xa2\xb4TS\x1eޢ\x0e\xa9\xbc\xefm\xe6t9\xee\xe9^W}\f\x9e\xafo\xaa\xc6\x06\x14\xce\xe40\xf15=\x97)\xac\t\f\b\x82\xfc\xeb\xc7r\xfc\xdey\xdf?\x9f2\x1b\x9f`\x8a\x9a\xc9\ns%\x8e\x92\x14\x18}`\xbd>)\x19\n\xf4k\xe6#Y\xaf\x9a\fz\xce˄vl\xa2\xa5#nӿ\x89-\xe0\xdf\xff\xbd\xfb_\x00\x00\x00\xff\xff\xb9\x01\xe2y\xf5\"\x00\x00"), } var CRDs = crds() diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 8d235284ea..ea669c709f 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -8,17 +8,7 @@ rules: - "" resources: - persistentvolumerclaims - verbs: - - get -- apiGroups: - - "" - resources: - persistentvolumes - verbs: - - get -- apiGroups: - - "" - resources: - pods verbs: - get @@ -26,226 +16,18 @@ rules: - velero.io resources: - backuprepositories - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - backuprepositories/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - backups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - backups/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - backupstoragelocations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - backupstoragelocations/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - datadownloads - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - datadownloads/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - datauploads - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - datauploads/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - deletebackuprequests - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - deletebackuprequests/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - downloadrequests - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - downloadrequests/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - podvolumebackups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - podvolumebackups/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - podvolumerestores - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - podvolumerestores/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - restores - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - restores/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - schedules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - velero.io - resources: - - schedules/status - verbs: - - get - - patch - - update -- apiGroups: - - velero.io - resources: - serverstatusrequests + - volumesnapshotlocations verbs: - create - delete @@ -257,20 +39,19 @@ rules: - apiGroups: - velero.io resources: + - backuprepositories/status + - backups/status + - backupstoragelocations/status + - datadownloads/status + - datauploads/status + - deletebackuprequests/status + - downloadrequests/status + - podvolumebackups/status + - podvolumerestores/status + - restores/status + - schedules/status - serverstatusrequests/status verbs: - get - patch - update -- apiGroups: - - velero.io - resources: - - volumesnapshotlocations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch diff --git a/go.mod b/go.mod index 1b72e62099..94b9709771 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( github.com/robfig/cron/v3 v3.0.1 github.com/sirupsen/logrus v1.9.3 github.com/spf13/afero v1.10.0 - github.com/spf13/cobra v1.7.0 + github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.9.0 github.com/vmware-tanzu/crash-diagnostics v0.3.7 @@ -50,16 +50,16 @@ require ( google.golang.org/grpc v1.68.0 google.golang.org/protobuf v1.35.2 gopkg.in/yaml.v3 v3.0.1 - k8s.io/api v0.30.5 - k8s.io/apiextensions-apiserver v0.30.1 - k8s.io/apimachinery v0.30.5 - k8s.io/cli-runtime v0.24.0 - k8s.io/client-go v0.30.5 - k8s.io/klog/v2 v2.120.1 - k8s.io/kube-aggregator v0.19.12 - k8s.io/metrics v0.25.6 - k8s.io/utils v0.0.0-20230726121419-3b25d923346b - sigs.k8s.io/controller-runtime v0.18.5 + k8s.io/api v0.31.3 + k8s.io/apiextensions-apiserver v0.31.3 + k8s.io/apimachinery v0.31.3 + k8s.io/cli-runtime v0.31.3 + k8s.io/client-go v0.31.3 + k8s.io/klog/v2 v2.130.1 + k8s.io/kube-aggregator v0.31.3 + k8s.io/metrics v0.31.3 + k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 + sigs.k8s.io/controller-runtime v0.19.3 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd sigs.k8s.io/yaml v1.4.0 ) @@ -73,6 +73,7 @@ require ( cloud.google.com/go/iam v1.2.2 // indirect cloud.google.com/go/monitoring v1.21.2 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect + github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 // indirect @@ -95,23 +96,21 @@ require ( github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/chmduquesne/rollinghash v4.0.0+incompatible // indirect github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/edsrzf/mmap-go v1.2.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/envoyproxy/go-control-plane v0.13.0 // indirect github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect - github.com/evanphx/json-patch v5.6.0+incompatible // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/fxamacker/cbor/v2 v2.7.0 // indirect github.com/go-ini/ini v1.67.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-logr/zapr v1.3.0 // indirect github.com/go-ole/go-ole v1.3.0 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect + github.com/go-openapi/swag v0.22.4 // indirect github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/goccy/go-json v0.10.3 // indirect github.com/gofrs/flock v0.12.1 // indirect @@ -121,7 +120,7 @@ require ( github.com/golang/protobuf v1.5.4 // indirect github.com/google/gnostic-models v0.6.8 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 // indirect + github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af // indirect github.com/google/s2a-go v0.1.8 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect github.com/googleapis/gax-go/v2 v2.14.0 // indirect @@ -145,7 +144,8 @@ require ( github.com/minio/md5-simd v1.1.2 // indirect github.com/minio/minio-go/v7 v7.0.80 // indirect github.com/mitchellh/go-testing-interface v1.0.0 // indirect - github.com/moby/spdystream v0.2.0 // indirect + github.com/moby/spdystream v0.4.0 // indirect + github.com/moby/term v0.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect @@ -158,13 +158,14 @@ require ( github.com/pierrec/lz4 v2.6.1+incompatible // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.60.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/xid v1.6.0 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/vladimirvivien/gexe v0.1.1 // indirect + github.com/x448/float16 v0.8.4 // indirect github.com/zeebo/blake3 v0.2.4 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/detectors/gcp v1.29.0 // indirect @@ -175,7 +176,7 @@ require ( go.opentelemetry.io/otel/sdk v1.32.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect go.opentelemetry.io/otel/trace v1.32.0 // indirect - go.starlark.net v0.0.0-20201006213952-227f4aabceb5 // indirect + go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.31.0 // indirect golang.org/x/sync v0.10.0 // indirect @@ -188,6 +189,7 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 // indirect google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a // indirect + gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect diff --git a/go.sum b/go.sum index 59efa4bde3..84f59cc764 100644 --- a/go.sum +++ b/go.sum @@ -11,7 +11,6 @@ cloud.google.com/go v0.44.3/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.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -85,24 +84,14 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0/go.mod h1:oDrbWx4ewMylP7xHivfgixbfGBT6APAwsSoHRKotnIc= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.5.0 h1:mlmW46Q0B79I+Aj4azKC6xDMFN9a9SyZWESlGWYXbFs= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.5.0/go.mod h1:PXe2h+LKcWTX9afWdZoHyODqR4fBa5boUM/8uJfZ0Jo= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.6/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= @@ -122,14 +111,10 @@ github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapp github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= @@ -185,7 +170,6 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bombsimon/logrusr/v3 v3.0.0 h1:tcAoLfuAhKP9npBxWzSdpsvKPQt1XV02nSf2lZA82TQ= github.com/bombsimon/logrusr/v3 v3.0.0/go.mod h1:PksPPgSFEL2I52pla2glgCyyd2OqOHAnFF5E+g8Ixco= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= @@ -194,7 +178,6 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chmduquesne/rollinghash v4.0.0+incompatible h1:hnREQO+DXjqIw3rUTzWN7/+Dpw+N5Um8zpKV0JOEgbo= @@ -208,43 +191,36 @@ github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnht github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8ETbOasdwEV+avkR75ZzsVV9WI= github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/danieljoos/wincred v1.2.2 h1:774zMFJrqaeYCK2W57BgAem/MLi6mtSE47MB6BOJ0i0= github.com/danieljoos/wincred v1.2.2/go.mod h1:w7w4Utbrz8lqeMbDAK0lkNJUv5sAOkFi7nd/ogr0Uh8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/edsrzf/mmap-go v1.2.0 h1:hXLYlkbaPzt1SaQk+anYwKSRNhufIDCchSPkUD6dD84= github.com/edsrzf/mmap-go v1.2.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -258,9 +234,7 @@ github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnv github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg= @@ -279,8 +253,8 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= +github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -289,13 +263,10 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2 github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -305,26 +276,19 @@ github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU= +github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= @@ -346,7 +310,6 @@ github.com/golang-jwt/jwt/v4 v4.5.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -383,7 +346,6 @@ github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6 github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -423,13 +385,12 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= +github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af h1:kmjWCqn2qkEml422C2Rrd27c3VGxi6a/6HNq8QmHRKM= +github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -440,25 +401,20 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.14.0 h1:f+jMrjBPl+DL9nI4IQzLUxMq7XrAqFYB7hBPqMNIe8o= github.com/googleapis/gax-go/v2 v2.14.0/go.mod h1:lhBCnjdLrWRaPvLWhmc8IS24m9mr07qSYnHncrgo+zk= -github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hanwen/go-fuse/v2 v2.6.4 h1:ha5d984M3s3FmoRQcYRPSD4mBsdm72/jIEM31+Aq40s= github.com/hanwen/go-fuse/v2 v2.6.4/go.mod h1:ugNaD/iv5JYyS1Rcvi57Wz7/vrLQJo10mmketmoef48= @@ -512,8 +468,6 @@ github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22 github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= @@ -536,7 +490,6 @@ github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQ github.com/klauspost/reedsolomon v1.12.4 h1:5aDr3ZGoJbgu/8+j45KtUJxzYm8k08JGtB9Wx1VQ4OA= github.com/klauspost/reedsolomon v1.12.4/go.mod h1:d3CzOMOt0JXGIFZm1StgkyF14EYr3xneR2rNWo7NcMU= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kopia/htmluibuild v0.0.1-0.20241119233831-fde0bf2a4817 h1:hhGqeQLW6Z5ZS6L+XTTe2FPjb1WhTxMYaByWDPBV9k0= github.com/kopia/htmluibuild v0.0.1-0.20241119233831-fde0bf2a4817/go.mod h1:h53A5JM3t2qiwxqxusBe+PFgGcgZdS+DWCQvG5PTlto= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= @@ -547,7 +500,6 @@ github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -560,7 +512,6 @@ github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9 github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= @@ -572,15 +523,12 @@ github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVc github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= @@ -596,9 +544,11 @@ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0Qu github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8= +github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= +github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= +github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -624,17 +574,14 @@ github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+ github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA= github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= @@ -657,34 +604,27 @@ github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= github.com/project-velero/kopia v0.0.0-20241202090305-70e22854856b h1:9xdetaTaoV8yqYyo+Nfm10tMQtzJOUmD5M9hDFh+Tlg= github.com/project-velero/kopia v0.0.0-20241202090305-70e22854856b/go.mod h1:oHTsEZw2D7ndEmG2IwgNsZX7kSD16MAn0hLKWcUhIgw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= @@ -706,8 +646,6 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= @@ -722,17 +660,14 @@ github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= -github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= @@ -761,14 +696,14 @@ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8 github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tg123/go-htpasswd v1.2.3 h1:ALR6ZBIc2m9u70m+eAWUFt5p43ISbIvAvRFYzZPTOY8= github.com/tg123/go-htpasswd v1.2.3/go.mod h1:FcIrK0J+6zptgVwK1JDlqyajW/1B4PtuJ/FLWl7nx8A= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/vladimirvivien/gexe v0.1.1 h1:2A0SBaOSKH+cwLVdt6H+KkHZotZWRNLlWygANGw5DxE= github.com/vladimirvivien/gexe v0.1.1/go.mod h1:LHQL00w/7gDUKIak24n801ABp8C+ni6eBht9vGVst8w= github.com/vmware-tanzu/crash-diagnostics v0.3.7 h1:6gbv/3o1FzyRLS7Dz/+yVg1Lk1oRBQLyI3d1YTtlTT8= github.com/vmware-tanzu/crash-diagnostics v0.3.7/go.mod h1:gO8670rd+qdjnJVol674snT/A46GQ27u085kKhZznlM= +github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= @@ -786,9 +721,6 @@ github.com/zeebo/blake3 v0.2.4/go.mod h1:7eeQ6d2iXWRGF6npfaxl2CU+xy2Fjo2gxeyZGCR github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo= github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/etcd v0.5.0-alpha.5.0.20200819165624-17cef6e3e9d5/go.mod h1:skWido08r9w6Lq/w70DO5XYIKMu4QFu1+4VsqLQuJy8= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= @@ -820,9 +752,9 @@ go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSW go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM= go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8= go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o= -go.starlark.net v0.0.0-20201006213952-227f4aabceb5 h1:ApvY/1gw+Yiqb/FKeks3KnVPWpkR3xzij82XPKLjJVw= go.starlark.net v0.0.0-20201006213952-227f4aabceb5/go.mod h1:f0znQkUKRrkk36XxWbGjMqQM8wGv/xHBVE2qc3B5oFU= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= +go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -840,15 +772,12 @@ golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-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-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= @@ -906,11 +835,9 @@ golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-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= @@ -938,7 +865,6 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -954,7 +880,6 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -981,14 +906,11 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h 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-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -998,7 +920,6 @@ golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1012,12 +933,10 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1036,8 +955,6 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1048,7 +965,7 @@ golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1062,17 +979,14 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= 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-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1083,9 +997,7 @@ golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1110,7 +1022,6 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1127,7 +1038,6 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1264,16 +1174,15 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= +gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= @@ -1281,7 +1190,6 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= @@ -1292,8 +1200,6 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1301,74 +1207,48 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.19.12/go.mod h1:EK+KvSq2urA6+CjVdZyAHEphXoLq2K2eW6lxOzTKSaY= k8s.io/api v0.22.2/go.mod h1:y3ydYpLJAaDI+BbSe2xmGcqxiWHmWjkEeIbiwHvnPR8= -k8s.io/api v0.24.0/go.mod h1:5Jl90IUrJHUJYEMANRURMiVvJ0g7Ax7r3R1bqO8zx8I= -k8s.io/api v0.30.5 h1:Coz05sfEVywzGcA96AJPUfs2B8LBMnh+IIsM+HCfaz8= -k8s.io/api v0.30.5/go.mod h1:HfNBGFvq9iNK8dmTKjYIdAtMxu8BXTb9c1SJyO6QjKs= -k8s.io/apiextensions-apiserver v0.30.1 h1:4fAJZ9985BmpJG6PkoxVRpXv9vmPUOVzl614xarePws= -k8s.io/apiextensions-apiserver v0.30.1/go.mod h1:R4GuSrlhgq43oRY9sF2IToFh7PVlF1JjfWdoG3pixk4= -k8s.io/apimachinery v0.19.12/go.mod h1:9eb44nUQSsz9QZiilFRuMj3ZbTmoWolU8S2gnXoRMjo= +k8s.io/api v0.31.3 h1:umzm5o8lFbdN/hIXbrK9oRpOproJO62CV1zqxXrLgk8= +k8s.io/api v0.31.3/go.mod h1:UJrkIp9pnMOI9K2nlL6vwpxRzzEX5sWgn8kGQe92kCE= +k8s.io/apiextensions-apiserver v0.31.3 h1:+GFGj2qFiU7rGCsA5o+p/rul1OQIq6oYpQw4+u+nciE= +k8s.io/apiextensions-apiserver v0.31.3/go.mod h1:2DSpFhUZZJmn/cr/RweH1cEVVbzFw9YBu4T+U3mf1e4= k8s.io/apimachinery v0.22.2/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= -k8s.io/apimachinery v0.24.0/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apimachinery v0.30.5 h1:CQZO19GFgw4zcOjY2H+mJ3k1u1o7zFACTNCB7nu4O18= -k8s.io/apimachinery v0.30.5/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= -k8s.io/apiserver v0.19.12/go.mod h1:ldZAZTNIKfMMv/UUEhk6UyTXC0/34iRdNFHo+MJOPc4= +k8s.io/apimachinery v0.31.3 h1:6l0WhcYgasZ/wk9ktLq5vLaoXJJr5ts6lkaQzgeYPq4= +k8s.io/apimachinery v0.31.3/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/cli-runtime v0.22.2/go.mod h1:tkm2YeORFpbgQHEK/igqttvPTRIHFRz5kATlw53zlMI= -k8s.io/cli-runtime v0.24.0 h1:ot3Qf49T852uEyNApABO1UHHpFIckKK/NqpheZYN2gM= -k8s.io/cli-runtime v0.24.0/go.mod h1:9XxoZDsEkRFUThnwqNviqzljtT/LdHtNWvcNFrAXl0A= -k8s.io/client-go v0.19.12/go.mod h1:BAGKQraZ6fDmXhT46pGXWZQQqN7P4E0BJux0+9O6Gt0= +k8s.io/cli-runtime v0.31.3 h1:fEQD9Xokir78y7pVK/fCJN090/iYNrLHpFbGU4ul9TI= +k8s.io/cli-runtime v0.31.3/go.mod h1:Q2jkyTpl+f6AtodQvgDI8io3jrfr+Z0LyQBPJJ2Btq8= k8s.io/client-go v0.22.2/go.mod h1:sAlhrkVDf50ZHx6z4K0S40wISNTarf1r800F+RlCF6U= -k8s.io/client-go v0.24.0/go.mod h1:VFPQET+cAFpYxh6Bq6f4xyMY80G6jKKktU6G0m00VDw= -k8s.io/client-go v0.30.5 h1:vEDSzfTz0F8TXcWVdXl+aqV7NAV8M3UvC2qnGTTCoKw= -k8s.io/client-go v0.30.5/go.mod h1:/q5fHHBmhAUesOOFJACpD7VJ4e57rVtTPDOsvXrPpMk= -k8s.io/code-generator v0.19.12/go.mod h1:ADrDvaUQWGn4a8lX0ONtzb7uFmDRQOMSYIMk1qWIAx8= -k8s.io/component-base v0.19.12/go.mod h1:tpwExE0sY3A7CwtlxGL7SnQOdQfUlnFybT6GmAD+z/s= +k8s.io/client-go v0.31.3 h1:CAlZuM+PH2cm+86LOBemaJI/lQ5linJ6UFxKX/SoG+4= +k8s.io/client-go v0.31.3/go.mod h1:2CgjPUTpv3fE5dNygAr2NcM8nhHzXvxB8KL5gYc3kJs= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= -k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-aggregator v0.19.12 h1:OwyNUe/7/gxzEnaLd3sC9Yrpx0fZAERzvFslX5Qq5g8= -k8s.io/kube-aggregator v0.19.12/go.mod h1:K76wPd03pSHEmS1FgJOcpryac5C3va4cbCvSu+4EmE0= -k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= +k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/kube-aggregator v0.31.3 h1:DqHPdTglJHgOfB884AaroyxrML/aL82ASYOh65m7MSk= +k8s.io/kube-aggregator v0.31.3/go.mod h1:Kx59Xjnf0SnY47qf9Or++4y3XCHQ3kR0xk1Di6KFiFU= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= -k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= -k8s.io/metrics v0.25.6 h1:EezfQTfTsSW/Cs9oHJXAftRlbL0fnHfDh02ObTOs/34= -k8s.io/metrics v0.25.6/go.mod h1:LGcsjMsQQvt/4vrvQzqOIHv9/sIVov1ZE7HtQxc8d9w= -k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/metrics v0.31.3 h1:DkT9I3gFlb2/z+/4BMY7WrQ/PnbukuV4Yli82v/KBCM= +k8s.io/metrics v0.31.3/go.mod h1:2w9gpd8z+13oJmaPR6p3kDyrDqnxSyoKpnOw2qLIdhI= k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/controller-runtime v0.18.5 h1:nTHio/W+Q4aBlQMgbnC5hZb4IjIidyrizMai9P6n4Rk= -sigs.k8s.io/controller-runtime v0.18.5/go.mod h1:TVoGrfdpbA9VRFaRnKgk9P5/atA0pMwq+f+msb9M8Sg= -sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/controller-runtime v0.19.3 h1:XO2GvC9OPftRst6xWCpTgBZO04S2cbp0Qqkj8bX1sPw= +sigs.k8s.io/controller-runtime v0.19.3/go.mod h1:j4j87DqtsThvwTv5/Tc5NFRyyF/RF0ip4+62tbTSIUM= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/kustomize/api v0.8.11/go.mod h1:a77Ls36JdfCWojpUqR6m60pdGY1AYFix4AH83nJtY1g= -sigs.k8s.io/kustomize/api v0.11.4/go.mod h1:k+8RsqYbgpkIrJ4p9jcdPqe8DprLxFUUO0yNOq8C+xI= sigs.k8s.io/kustomize/kyaml v0.11.0/go.mod h1:GNMwjim4Ypgp/MueD3zXHLRJEjz7RvtPae0AwlvEMFM= -sigs.k8s.io/kustomize/kyaml v0.13.6/go.mod h1:yHP031rn1QX1lr/Xd934Ri/xdVNG8BE2ECa78Ht/kEg= -sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/hack/build-image/Dockerfile b/hack/build-image/Dockerfile index fb72a5290c..c5127faa7c 100644 --- a/hack/build-image/Dockerfile +++ b/hack/build-image/Dockerfile @@ -30,7 +30,7 @@ RUN wget --quiet https://github.com/kubernetes-sigs/kubebuilder/releases/downloa chmod +x /usr/local/kubebuilder/bin/kubebuilder # get controller-tools -RUN go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.14.0 +RUN go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.5 # get goimports (the revision is pinned so we don't indiscriminately update, but the particular commit # is not important) @@ -102,4 +102,4 @@ RUN chmod +x ./kubectl RUN mv ./kubectl /usr/local/bin # Fix the "dubious ownership" issue from git when running goreleaser.sh -RUN echo "[safe] \n\t directory = *" > /.gitconfig \ No newline at end of file +RUN echo "[safe] \n\t directory = *" > /.gitconfig diff --git a/internal/hook/wait_exec_hook_handler.go b/internal/hook/wait_exec_hook_handler.go index 5c68816375..6b4b7824e5 100644 --- a/internal/hook/wait_exec_hook_handler.go +++ b/internal/hook/wait_exec_hook_handler.go @@ -214,18 +214,23 @@ func (e *DefaultWaitExecHookHandler) HandleHooks( selector := fields.OneTermEqualSelector("metadata.name", pod.Name) lw := e.ListWatchFactory.NewListWatch(pod.Namespace, selector) - - _, podWatcher := cache.NewInformer(lw, pod, 0, cache.ResourceEventHandlerFuncs{ - AddFunc: handler, - UpdateFunc: func(_, newObj interface{}) { - handler(newObj) - }, - DeleteFunc: func(obj interface{}) { - err := fmt.Errorf("pod %s deleted before all hooks were executed", kube.NamespaceAndName(pod)) - log.Error(err) - cancel() + _, podWatcher := cache.NewInformerWithOptions(cache.InformerOptions{ + ListerWatcher: lw, + ObjectType: pod, + ResyncPeriod: 0, + Handler: cache.ResourceEventHandlerFuncs{ + AddFunc: handler, + UpdateFunc: func(_, newObj interface{}) { + handler(newObj) + }, + DeleteFunc: func(obj interface{}) { + err := fmt.Errorf("pod %s deleted before all hooks were executed", kube.NamespaceAndName(pod)) + log.Error(err) + cancel() + }, }, - }) + }, + ) podWatcher.Run(ctx.Done()) diff --git a/pkg/cmd/cli/datamover/backup.go b/pkg/cmd/cli/datamover/backup.go index 4d704b04c1..ab3dd71d46 100644 --- a/pkg/cmd/cli/datamover/backup.go +++ b/pkg/cmd/cli/datamover/backup.go @@ -20,6 +20,7 @@ import ( "strings" "time" + "github.com/bombsimon/logrusr/v3" "github.com/pkg/errors" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -27,7 +28,7 @@ import ( "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes" - "sigs.k8s.io/controller-runtime/pkg/log/zap" + "k8s.io/klog/v2" "github.com/vmware-tanzu/velero/internal/credentials" "github.com/vmware-tanzu/velero/pkg/buildinfo" @@ -127,7 +128,8 @@ func newdataMoverBackup(logger logrus.FieldLogger, factory client.Factory, confi return nil, errors.Wrap(err, "error to create client config") } - ctrl.SetLogger(zap.New(zap.UseDevMode(true))) + ctrl.SetLogger(logrusr.New(logger)) + klog.SetLogger(logrusr.New(logger)) // klog.Logger is used by k8s.io/client-go scheme := runtime.NewScheme() if err := velerov1api.AddToScheme(scheme); err != nil { diff --git a/pkg/cmd/cli/datamover/restore.go b/pkg/cmd/cli/datamover/restore.go index 244060cc9a..04f1293422 100644 --- a/pkg/cmd/cli/datamover/restore.go +++ b/pkg/cmd/cli/datamover/restore.go @@ -20,6 +20,7 @@ import ( "strings" "time" + "github.com/bombsimon/logrusr/v3" "github.com/pkg/errors" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -27,8 +28,8 @@ import ( "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/kubernetes" + "k8s.io/klog/v2" ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/log/zap" "github.com/vmware-tanzu/velero/internal/credentials" velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" @@ -119,7 +120,8 @@ func newdataMoverRestore(logger logrus.FieldLogger, factory client.Factory, conf return nil, errors.Wrap(err, "error to create client config") } - ctrl.SetLogger(zap.New(zap.UseDevMode(true))) + ctrl.SetLogger(logrusr.New(logger)) + klog.SetLogger(logrusr.New(logger)) // klog.Logger is used by k8s.io/client-go scheme := runtime.NewScheme() if err := velerov1api.AddToScheme(scheme); err != nil { diff --git a/pkg/cmd/cli/nodeagent/server.go b/pkg/cmd/cli/nodeagent/server.go index 713d863593..587959e005 100644 --- a/pkg/cmd/cli/nodeagent/server.go +++ b/pkg/cmd/cli/nodeagent/server.go @@ -25,6 +25,7 @@ import ( "strings" "time" + "github.com/bombsimon/logrusr/v3" "github.com/pkg/errors" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/sirupsen/logrus" @@ -38,11 +39,11 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/kubernetes" + "k8s.io/klog/v2" "k8s.io/utils/clock" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" ctrlclient "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/log/zap" "sigs.k8s.io/controller-runtime/pkg/manager" snapshotv1client "github.com/kubernetes-csi/external-snapshotter/client/v7/clientset/versioned" @@ -156,7 +157,8 @@ func newNodeAgentServer(logger logrus.FieldLogger, factory client.Factory, confi return nil, err } - ctrl.SetLogger(zap.New(zap.UseDevMode(true))) + ctrl.SetLogger(logrusr.New(logger)) + klog.SetLogger(logrusr.New(logger)) // klog.Logger is used by k8s.io/client-go if err := velerov1api.AddToScheme(scheme); err != nil { cancelFunc() diff --git a/pkg/cmd/server/server.go b/pkg/cmd/server/server.go index a0828e69ef..4221bb5cc2 100644 --- a/pkg/cmd/server/server.go +++ b/pkg/cmd/server/server.go @@ -47,6 +47,7 @@ import ( "k8s.io/client-go/dynamic" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" + "k8s.io/klog/v2" "k8s.io/utils/clock" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" @@ -238,6 +239,7 @@ func newServer(f client.Factory, config *config.Config, logger *logrus.Logger) ( } ctrl.SetLogger(logrusr.New(logger)) + klog.SetLogger(logrusr.New(logger)) // klog.Logger is used by k8s.io/client-go var mgr manager.Manager retry := 10 diff --git a/pkg/controller/backup_controller.go b/pkg/controller/backup_controller.go index 61db0b2360..6e753faab5 100644 --- a/pkg/controller/backup_controller.go +++ b/pkg/controller/backup_controller.go @@ -147,6 +147,7 @@ func NewBackupReconciler( func (b *backupReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&velerov1api.Backup{}). + Named(constant.ControllerBackup). Complete(b) } diff --git a/pkg/controller/backup_finalizer_controller.go b/pkg/controller/backup_finalizer_controller.go index 1a912b2952..b24c132fa9 100644 --- a/pkg/controller/backup_finalizer_controller.go +++ b/pkg/controller/backup_finalizer_controller.go @@ -33,6 +33,7 @@ import ( velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" pkgbackup "github.com/vmware-tanzu/velero/pkg/backup" "github.com/vmware-tanzu/velero/pkg/client" + "github.com/vmware-tanzu/velero/pkg/constant" "github.com/vmware-tanzu/velero/pkg/itemoperation" "github.com/vmware-tanzu/velero/pkg/kuberesource" "github.com/vmware-tanzu/velero/pkg/metrics" @@ -238,6 +239,7 @@ func (r *backupFinalizerReconciler) Reconcile(ctx context.Context, req ctrl.Requ func (r *backupFinalizerReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&velerov1api.Backup{}). + Named(constant.ControllerBackupFinalizer). Complete(r) } diff --git a/pkg/controller/backup_operations_controller.go b/pkg/controller/backup_operations_controller.go index 39a577cbeb..1a5b49c0b2 100644 --- a/pkg/controller/backup_operations_controller.go +++ b/pkg/controller/backup_operations_controller.go @@ -98,6 +98,7 @@ func (c *backupOperationsReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&velerov1api.Backup{}, builder.WithPredicates(kube.FalsePredicate{})). WatchesRawSource(s). + Named(constant.ControllerBackupOperations). Complete(c) } diff --git a/pkg/controller/backup_storage_location_controller.go b/pkg/controller/backup_storage_location_controller.go index c8973abb69..a0c9eeb2d1 100644 --- a/pkg/controller/backup_storage_location_controller.go +++ b/pkg/controller/backup_storage_location_controller.go @@ -209,6 +209,7 @@ func (r *backupStorageLocationReconciler) SetupWithManager(mgr ctrl.Manager) err // As the "status.LastValidationTime" field is always updated, this triggers new reconciling process, skip the update event that include no spec change to avoid the reconcile loop For(&velerov1api.BackupStorageLocation{}, builder.WithPredicates(kube.SpecChangePredicate{})). WatchesRawSource(g). + Named(constant.ControllerBackupStorageLocation). Complete(r) } diff --git a/pkg/controller/backup_sync_controller.go b/pkg/controller/backup_sync_controller.go index c9fb1ba665..a6dd930b7e 100644 --- a/pkg/controller/backup_sync_controller.go +++ b/pkg/controller/backup_sync_controller.go @@ -367,6 +367,7 @@ func (b *backupSyncReconciler) SetupWithManager(mgr ctrl.Manager) error { // Filter all BSL events, because this controller is supposed to run periodically, not by event. For(&velerov1api.BackupStorageLocation{}, builder.WithPredicates(kube.FalsePredicate{})). WatchesRawSource(backupSyncSource). + Named(constant.ControllerBackupSync). Complete(b) } diff --git a/pkg/controller/gc_controller.go b/pkg/controller/gc_controller.go index cb0d42dc31..c162a1c282 100644 --- a/pkg/controller/gc_controller.go +++ b/pkg/controller/gc_controller.go @@ -90,6 +90,7 @@ func (c *gcReconciler) SetupWithManager(mgr ctrl.Manager) error { }, })). WatchesRawSource(s). + Named(constant.ControllerGarbageCollection). Complete(c) } diff --git a/pkg/controller/restore_controller.go b/pkg/controller/restore_controller.go index 336f2e1944..342b8788c1 100644 --- a/pkg/controller/restore_controller.go +++ b/pkg/controller/restore_controller.go @@ -46,6 +46,7 @@ import ( "github.com/vmware-tanzu/velero/internal/resourcemodifiers" "github.com/vmware-tanzu/velero/internal/volume" api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + "github.com/vmware-tanzu/velero/pkg/constant" "github.com/vmware-tanzu/velero/pkg/itemoperation" "github.com/vmware-tanzu/velero/pkg/label" "github.com/vmware-tanzu/velero/pkg/metrics" @@ -297,6 +298,7 @@ func (r *restoreReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct func (r *restoreReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&api.Restore{}). + Named(constant.ControllerRestore). Complete(r) } diff --git a/pkg/controller/restore_finalizer_controller.go b/pkg/controller/restore_finalizer_controller.go index d9fa5797ad..4fe984b1e0 100644 --- a/pkg/controller/restore_finalizer_controller.go +++ b/pkg/controller/restore_finalizer_controller.go @@ -38,6 +38,7 @@ import ( "github.com/vmware-tanzu/velero/internal/hook" "github.com/vmware-tanzu/velero/internal/volume" velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + "github.com/vmware-tanzu/velero/pkg/constant" "github.com/vmware-tanzu/velero/pkg/metrics" "github.com/vmware-tanzu/velero/pkg/persistence" "github.com/vmware-tanzu/velero/pkg/plugin/clientmgmt" @@ -86,6 +87,7 @@ func NewRestoreFinalizerReconciler( func (r *restoreFinalizerReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&velerov1api.Restore{}). + Named(constant.ControllerRestoreFinalizer). Complete(r) } diff --git a/pkg/controller/restore_operations_controller.go b/pkg/controller/restore_operations_controller.go index 5f9b2ee565..0539e21a40 100644 --- a/pkg/controller/restore_operations_controller.go +++ b/pkg/controller/restore_operations_controller.go @@ -96,6 +96,7 @@ func (r *restoreOperationsReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&velerov1api.Restore{}, builder.WithPredicates(kube.FalsePredicate{})). WatchesRawSource(s). + Named(constant.ControllerRestoreOperations). Complete(r) } diff --git a/pkg/util/kube/event_handler.go b/pkg/util/kube/event_handler.go index eb31f0d0ac..bc88ddccea 100644 --- a/pkg/util/kube/event_handler.go +++ b/pkg/util/kube/event_handler.go @@ -26,46 +26,48 @@ import ( "sigs.k8s.io/controller-runtime/pkg/reconcile" ) -type MapUpdateFunc func(context.Context, client.Object) []reconcile.Request - // EnqueueRequestsFromMapUpdateFunc has the same purpose with handler.EnqueueRequestsFromMapFunc. -// MapUpdateFunc is simpler on Update event because mapAndEnqueue is called once with the new object. EnqueueRequestsFromMapFunc is called twice with the old and new object. -func EnqueueRequestsFromMapUpdateFunc(fn MapUpdateFunc) handler.EventHandler { - return &enqueueRequestsFromMapFunc{ +// It's simpler on Update event because mapAndEnqueue is called once with the new object. EnqueueRequestsFromMapFunc is called twice with the old and new object. +func EnqueueRequestsFromMapUpdateFunc(fn handler.MapFunc) handler.EventHandler { + return TypedEnqueueRequestsFromMapUpdateFunc(fn) +} + +func TypedEnqueueRequestsFromMapUpdateFunc[object any, request comparable](fn handler.TypedMapFunc[object, request]) handler.TypedEventHandler[object, request] { + return &enqueueRequestsFromMapFunc[object, request]{ toRequests: fn, } } -var _ handler.EventHandler = &enqueueRequestsFromMapFunc{} +var _ handler.EventHandler = &enqueueRequestsFromMapFunc[client.Object, reconcile.Request]{} -type enqueueRequestsFromMapFunc struct { - toRequests MapUpdateFunc +type enqueueRequestsFromMapFunc[object any, request comparable] struct { + toRequests handler.TypedMapFunc[object, request] } // Create implements EventHandler. -func (e *enqueueRequestsFromMapFunc) Create(ctx context.Context, evt event.CreateEvent, q workqueue.RateLimitingInterface) { +func (e *enqueueRequestsFromMapFunc[object, request]) Create(ctx context.Context, evt event.TypedCreateEvent[object], q workqueue.TypedRateLimitingInterface[request]) { e.mapAndEnqueue(ctx, q, evt.Object) } // Update implements EventHandler. -func (e *enqueueRequestsFromMapFunc) Update(ctx context.Context, evt event.UpdateEvent, q workqueue.RateLimitingInterface) { +func (e *enqueueRequestsFromMapFunc[object, request]) Update(ctx context.Context, evt event.TypedUpdateEvent[object], q workqueue.TypedRateLimitingInterface[request]) { e.mapAndEnqueue(ctx, q, evt.ObjectNew) } // Delete implements EventHandler. -func (e *enqueueRequestsFromMapFunc) Delete(ctx context.Context, evt event.DeleteEvent, q workqueue.RateLimitingInterface) { +func (e *enqueueRequestsFromMapFunc[object, request]) Delete(ctx context.Context, evt event.TypedDeleteEvent[object], q workqueue.TypedRateLimitingInterface[request]) { e.mapAndEnqueue(ctx, q, evt.Object) } // Generic implements EventHandler. -func (e *enqueueRequestsFromMapFunc) Generic(ctx context.Context, evt event.GenericEvent, q workqueue.RateLimitingInterface) { +func (e *enqueueRequestsFromMapFunc[object, request]) Generic(ctx context.Context, evt event.TypedGenericEvent[object], q workqueue.TypedRateLimitingInterface[request]) { e.mapAndEnqueue(ctx, q, evt.Object) } -func (e *enqueueRequestsFromMapFunc) mapAndEnqueue(ctx context.Context, q workqueue.RateLimitingInterface, object client.Object) { - reqs := map[reconcile.Request]struct{}{} +func (e *enqueueRequestsFromMapFunc[object, request]) mapAndEnqueue(ctx context.Context, q workqueue.TypedRateLimitingInterface[request], obj object) { + reqs := map[request]struct{}{} - for _, req := range e.toRequests(ctx, object) { + for _, req := range e.toRequests(ctx, obj) { _, ok := reqs[req] if !ok { q.Add(req) diff --git a/pkg/util/kube/periodical_enqueue_source.go b/pkg/util/kube/periodical_enqueue_source.go index 4713343576..66b6ce299c 100644 --- a/pkg/util/kube/periodical_enqueue_source.go +++ b/pkg/util/kube/periodical_enqueue_source.go @@ -32,6 +32,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/event" "sigs.k8s.io/controller-runtime/pkg/predicate" + "sigs.k8s.io/controller-runtime/pkg/reconcile" ) func NewPeriodicalEnqueueSource( @@ -66,7 +67,7 @@ type PeriodicalEnqueueSourceOption struct { } // Start enqueue items periodically -func (p *PeriodicalEnqueueSource) Start(ctx context.Context, q workqueue.RateLimitingInterface) error { +func (p *PeriodicalEnqueueSource) Start(ctx context.Context, q workqueue.TypedRateLimitingInterface[reconcile.Request]) error { go wait.Until(func() { p.logger.Debug("enqueueing resources ...") // empty the list otherwise the result of the new list call will be appended diff --git a/pkg/util/kube/periodical_enqueue_source_test.go b/pkg/util/kube/periodical_enqueue_source_test.go index f8b6061cad..957639aad4 100644 --- a/pkg/util/kube/periodical_enqueue_source_test.go +++ b/pkg/util/kube/periodical_enqueue_source_test.go @@ -42,7 +42,7 @@ func TestStart(t *testing.T) { ctx, cancelFunc := context.WithCancel(context.TODO()) client := (&fake.ClientBuilder{}).Build() - queue := workqueue.NewRateLimitingQueue(workqueue.DefaultItemBasedRateLimiter()) + queue := workqueue.NewTypedRateLimitingQueue(workqueue.DefaultTypedItemBasedRateLimiter[reconcile.Request]()) source := NewPeriodicalEnqueueSource(logrus.WithContext(ctx).WithField("controller", "PES_TEST"), client, &velerov1.ScheduleList{}, 1*time.Second, PeriodicalEnqueueSourceOption{}) require.NoError(t, source.Start(ctx, queue)) @@ -74,7 +74,7 @@ func TestPredicate(t *testing.T) { ctx, cancelFunc := context.WithCancel(context.TODO()) client := (&fake.ClientBuilder{}).Build() - queue := workqueue.NewRateLimitingQueue(workqueue.DefaultItemBasedRateLimiter()) + queue := workqueue.NewTypedRateLimitingQueue(workqueue.DefaultTypedItemBasedRateLimiter[reconcile.Request]()) pred := NewGenericEventPredicate(func(object crclient.Object) bool { location := object.(*velerov1.BackupStorageLocation) @@ -118,7 +118,7 @@ func TestOrder(t *testing.T) { ctx, cancelFunc := context.WithCancel(context.TODO()) client := (&fake.ClientBuilder{}).Build() - queue := workqueue.NewRateLimitingQueue(workqueue.DefaultItemBasedRateLimiter()) + queue := workqueue.NewTypedRateLimitingQueue(workqueue.DefaultTypedItemBasedRateLimiter[reconcile.Request]()) source := NewPeriodicalEnqueueSource( logrus.WithContext(ctx).WithField("controller", "PES_TEST"), client, @@ -175,8 +175,8 @@ func TestOrder(t *testing.T) { first, _ := queue.Get() bsl := &velerov1.BackupStorageLocation{} - require.Equal(t, "location2", first.(reconcile.Request).Name) - require.NoError(t, client.Get(ctx, first.(reconcile.Request).NamespacedName, bsl)) + require.Equal(t, "location2", first.Name) + require.NoError(t, client.Get(ctx, first.NamespacedName, bsl)) require.True(t, bsl.Spec.Default) cancelFunc()