diff --git a/go.mod b/go.mod index 511e874d63..01540aebb5 100644 --- a/go.mod +++ b/go.mod @@ -107,33 +107,33 @@ require ( ) replace ( - k8s.io/api => k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240213173326-5031ae115907 - k8s.io/apiextensions-apiserver => k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240213173326-5031ae115907 - k8s.io/apimachinery => k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240213173326-5031ae115907 - k8s.io/apiserver => k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240213173326-5031ae115907 - k8s.io/cli-runtime => k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240213173326-5031ae115907 - k8s.io/client-go => k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240213173326-5031ae115907 - k8s.io/cloud-provider => k8s.io/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240213173326-5031ae115907 - k8s.io/cluster-bootstrap => k8s.io/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240213173326-5031ae115907 - k8s.io/code-generator => k8s.io/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240213173326-5031ae115907 - k8s.io/component-base => k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240213173326-5031ae115907 - k8s.io/component-helpers => k8s.io/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240213173326-5031ae115907 - k8s.io/controller-manager => k8s.io/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240213173326-5031ae115907 - k8s.io/cri-api => k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240213173326-5031ae115907 - k8s.io/csi-translation-lib => k8s.io/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240213173326-5031ae115907 - k8s.io/dynamic-resource-allocation => k8s.io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240213173326-5031ae115907 - k8s.io/endpointslice => k8s.io/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240213173326-5031ae115907 - k8s.io/kms => k8s.io/kubernetes/staging/src/k8s.io/kms v0.0.0-20240213173326-5031ae115907 - k8s.io/kube-aggregator => k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240213173326-5031ae115907 - k8s.io/kube-controller-manager => k8s.io/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240213173326-5031ae115907 - k8s.io/kube-proxy => k8s.io/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240213173326-5031ae115907 - k8s.io/kube-scheduler => k8s.io/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240213173326-5031ae115907 - k8s.io/kubectl => k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240213173326-5031ae115907 - k8s.io/kubelet => k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240213173326-5031ae115907 - k8s.io/kubernetes => k8s.io/kubernetes v1.30.0-alpha.2 - k8s.io/legacy-cloud-providers => k8s.io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240213173326-5031ae115907 - k8s.io/metrics => k8s.io/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240213173326-5031ae115907 - k8s.io/mount-utils => k8s.io/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240213173326-5031ae115907 - k8s.io/pod-security-admission => k8s.io/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240213173326-5031ae115907 - k8s.io/sample-apiserver => k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240213173326-5031ae115907 + k8s.io/api => k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240227131458-12217672a351 + k8s.io/apiextensions-apiserver => k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240227131458-12217672a351 + k8s.io/apimachinery => k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240227131458-12217672a351 + k8s.io/apiserver => k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240227131458-12217672a351 + k8s.io/cli-runtime => k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240227131458-12217672a351 + k8s.io/client-go => k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240227131458-12217672a351 + k8s.io/cloud-provider => k8s.io/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240227131458-12217672a351 + k8s.io/cluster-bootstrap => k8s.io/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240227131458-12217672a351 + k8s.io/code-generator => k8s.io/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240227131458-12217672a351 + k8s.io/component-base => k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240227131458-12217672a351 + k8s.io/component-helpers => k8s.io/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240227131458-12217672a351 + k8s.io/controller-manager => k8s.io/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240227131458-12217672a351 + k8s.io/cri-api => k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240227131458-12217672a351 + k8s.io/csi-translation-lib => k8s.io/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240227131458-12217672a351 + k8s.io/dynamic-resource-allocation => k8s.io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240227131458-12217672a351 + k8s.io/endpointslice => k8s.io/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240227131458-12217672a351 + k8s.io/kms => k8s.io/kubernetes/staging/src/k8s.io/kms v0.0.0-20240227131458-12217672a351 + k8s.io/kube-aggregator => k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240227131458-12217672a351 + k8s.io/kube-controller-manager => k8s.io/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240227131458-12217672a351 + k8s.io/kube-proxy => k8s.io/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240227131458-12217672a351 + k8s.io/kube-scheduler => k8s.io/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240227131458-12217672a351 + k8s.io/kubectl => k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240227131458-12217672a351 + k8s.io/kubelet => k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240227131458-12217672a351 + k8s.io/kubernetes => k8s.io/kubernetes v1.30.0-alpha.3 + k8s.io/legacy-cloud-providers => k8s.io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240227131458-12217672a351 + k8s.io/metrics => k8s.io/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240227131458-12217672a351 + k8s.io/mount-utils => k8s.io/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240227131458-12217672a351 + k8s.io/pod-security-admission => k8s.io/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240227131458-12217672a351 + k8s.io/sample-apiserver => k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240227131458-12217672a351 ) diff --git a/go.sum b/go.sum index 568598f354..eff0ffce8d 100644 --- a/go.sum +++ b/go.sum @@ -274,28 +274,28 @@ k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e h1:snPmy96t93RredGRjKfMFt+gvxuVAncqSAyBveJtr4Q= k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= -k8s.io/kubernetes v1.30.0-alpha.2 h1:8/qITSBU7WwBmQPxdqNYotv8+bA6FfWksAat11KfGOY= -k8s.io/kubernetes v1.30.0-alpha.2/go.mod h1:ofZ3fQeUXeMqXhsg29euSUrjLIIqwavQ4LBx/APo6F0= -k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240213173326-5031ae115907 h1:GV1lETa93EKuwi+8pqMaBkm+WgwxlTGJbBkD/JQm5lY= -k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240213173326-5031ae115907/go.mod h1:d9PlyLI9hAI8M/nG5InZMhUwGFkcIj2nXezZzTJaqTo= -k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240213173326-5031ae115907 h1:3mx3m3BTi3/SHibF2JaRGqeqsqXSwdev5RCmHn5K7EA= -k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240213173326-5031ae115907/go.mod h1:sqBI88X/z6OjiAFcRipLfj2BddYtoBysnQkGk90KqU8= -k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240213173326-5031ae115907 h1:UPkeN2ucwGkqqqWdG4piTRxzAkn7Xlb07E4ooHNq/kw= -k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240213173326-5031ae115907/go.mod h1:stpXXbKC9SLBBfbqnDb16B+5F4ik+HHWsVof9vJSLIA= -k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240213173326-5031ae115907 h1:idPE59mWzZxDXQtNr6IZyiB4FZqpIh4bK6aVQZSXUjI= -k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240213173326-5031ae115907/go.mod h1:XrwZNa1zOukPB8pVWKO8zx/9j3Yz2eeIC8Mfo4zx5Qc= -k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240213173326-5031ae115907 h1:Ay0VETPO8qs5FF1Jo8lYJJTnskUEUWaJXk+vSdUEiYU= -k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240213173326-5031ae115907/go.mod h1:ERTHYtnBxoxa1Eb60fS2908TALvqLM0TFLMpMqUzrDY= -k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240213173326-5031ae115907 h1:ANs78NqIIp7AXKRl8nQFzxafTH4AjzKR1PTGkh43xcQ= -k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240213173326-5031ae115907/go.mod h1:TnO07pk9VNQREHZUDaIvi1MKaYd+uvvEdKCEPk2GIcI= -k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240213173326-5031ae115907 h1:Q2FdkJrGzoEWQNJBX+eQvn5SibBbudsXnL1DxDp8EpQ= -k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240213173326-5031ae115907/go.mod h1:Sgwdezfq5JvKLV7oj/BEUSndpOQ2Qq+ha0QugeTTvms= -k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240213173326-5031ae115907 h1:8eon1zp+YxzDidY7MBvSpstiEGxDdRv92Qbk0LVunEM= -k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240213173326-5031ae115907/go.mod h1:z2+sP5qP2lt0n6MSzpLoIAkeYx4tR90YTPWli9POTgw= -k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240213173326-5031ae115907 h1:zYuesPGqLfrWCvBHtynqy/zqsV5MV2VVrgCWmr8Utgw= -k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240213173326-5031ae115907/go.mod h1:Il5otSICJcF237TyyC3ED7rEIDB3vs8S2JguLSHnIZM= -k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240213173326-5031ae115907 h1:I7iTBJQo+A7jPIL8Ln/iQTPcLCtbEiCQ5pX8h+O6R4A= -k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240213173326-5031ae115907/go.mod h1:KFvlkaCFMYe1TQ/HtqlVIy6joRQvFqHrZnZ2SXzpagQ= +k8s.io/kubernetes v1.30.0-alpha.3 h1:iNXxeu3ppkuOuUQ+apUVap8UROzQQw1ToOls9doIzo0= +k8s.io/kubernetes v1.30.0-alpha.3/go.mod h1:aW3opQ6TOnY8LHHsjQDykd7OByY5Ybd4FBXQlTlNDXw= +k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240227131458-12217672a351 h1:f6vteP7GMBmMtLUS5+QOpE1r4PhhZWb9Ro+kjUTDOCo= +k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240227131458-12217672a351/go.mod h1:d9PlyLI9hAI8M/nG5InZMhUwGFkcIj2nXezZzTJaqTo= +k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240227131458-12217672a351 h1:N1cw/xHiRzbuKdfdKZmffO3pZrpfJ6qvCqsdfx+z63w= +k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240227131458-12217672a351/go.mod h1:PhU6beDeeh0pfYyJcjA2l7jWs1prRXAdw2z+GbJEiQY= +k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240227131458-12217672a351 h1:htyDXn+v/ITypZXFnS6Y25fQSn0KXzzoj4AUIFzm6TA= +k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240227131458-12217672a351/go.mod h1:Z+wkny2xDaiGrvbiAi++8sRbKevNjf9v2JI3RSGn0rk= +k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240227131458-12217672a351 h1:kL36c+Y6xYWCuq/uEKCAasksqlesn2jOZ57Be/1UywY= +k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240227131458-12217672a351/go.mod h1:MDGYvywVRTyTQiLWNu9fbm95Ex+/VcytEQfvw+M38JU= +k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240227131458-12217672a351 h1:LTLUSuSvCOh6Wwyo5DHwd2udV9viGQhty/T/oe93Heo= +k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240227131458-12217672a351/go.mod h1:pxb62the36wpqNcGW0u7iE3+qrOrJ1MUJoJAvNYOlJA= +k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240227131458-12217672a351 h1:3/mSPZvsxkLp17InkEwnDIVe9hWvA7DE22y+SpztAhA= +k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240227131458-12217672a351/go.mod h1:2tPwJ8NZSkiabV6iUIevqXy75ND9fDRBGgKWY3bpAME= +k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240227131458-12217672a351 h1:iEpEMOU4+UwZS+NFIwQmlukwXL2SMhhIYFAPPdqhT7g= +k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240227131458-12217672a351/go.mod h1:+plvexQz7so9WJhIGrIlVn/LcMXPs7Ek4OttlFWHrh8= +k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240227131458-12217672a351 h1:h7T2Kh/bIFnkS8BBO2IcUbx9pgicxEE4vK0Qxx56Lak= +k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240227131458-12217672a351/go.mod h1:SUvEs9PmXRJ3+DNFLIRkUzJLZZfv6TT6Hkl8QWkszk0= +k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240227131458-12217672a351 h1:kOWwPVkDpNbHF1eCfMjbCjNxKakLe3TpYxt9kNsIIyk= +k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240227131458-12217672a351/go.mod h1:w3WWto1QHcuxlTjjG5ib7A6btWDq6z3wt0xwip4Qow4= +k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240227131458-12217672a351 h1:1ze4lmnBONOgWUEF9xebqMSGweGqhX3bG+GtbCGae+4= +k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240227131458-12217672a351/go.mod h1:UrwcUgoT9Sa+qebcjbAVMxOYnVz0clhqseRLLnVayIE= k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= diff --git a/vendor/k8s.io/api/batch/v1/generated.proto b/vendor/k8s.io/api/batch/v1/generated.proto index f899779889..f050072b7c 100644 --- a/vendor/k8s.io/api/batch/v1/generated.proto +++ b/vendor/k8s.io/api/batch/v1/generated.proto @@ -361,7 +361,8 @@ message JobStatus { // +optional optional k8s.io.apimachinery.pkg.apis.meta.v1.Time completionTime = 3; - // The number of pending and running pods. + // The number of pending and running pods which are not terminating (without + // a deletionTimestamp). // +optional optional int32 active = 4; diff --git a/vendor/k8s.io/api/batch/v1/types.go b/vendor/k8s.io/api/batch/v1/types.go index 53fdf3c8d0..a48190ae1e 100644 --- a/vendor/k8s.io/api/batch/v1/types.go +++ b/vendor/k8s.io/api/batch/v1/types.go @@ -441,7 +441,8 @@ type JobStatus struct { // +optional CompletionTime *metav1.Time `json:"completionTime,omitempty" protobuf:"bytes,3,opt,name=completionTime"` - // The number of pending and running pods. + // The number of pending and running pods which are not terminating (without + // a deletionTimestamp). // +optional Active int32 `json:"active,omitempty" protobuf:"varint,4,opt,name=active"` diff --git a/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go index 980f1e4750..911c436f8d 100644 --- a/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go @@ -137,7 +137,7 @@ var map_JobStatus = map[string]string{ "conditions": "The latest available observations of an object's current state. When a Job fails, one of the conditions will have type \"Failed\" and status true. When a Job is suspended, one of the conditions will have type \"Suspended\" and status true; when the Job is resumed, the status of this condition will become false. When a Job is completed, one of the conditions will have type \"Complete\" and status true. More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/", "startTime": "Represents time when the job controller started processing a job. When a Job is created in the suspended state, this field is not set until the first time it is resumed. This field is reset every time a Job is resumed from suspension. It is represented in RFC3339 form and is in UTC.", "completionTime": "Represents time when the job was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC. The completion time is only set when the job finishes successfully.", - "active": "The number of pending and running pods.", + "active": "The number of pending and running pods which are not terminating (without a deletionTimestamp).", "succeeded": "The number of pods which reached phase Succeeded.", "failed": "The number of pods which reached phase Failed.", "terminating": "The number of pods which are terminating (in phase Pending or Running and have a deletionTimestamp).\n\nThis field is beta-level. The job controller populates the field when the feature gate JobPodReplacementPolicy is enabled (enabled by default).", diff --git a/vendor/k8s.io/api/core/v1/generated.proto b/vendor/k8s.io/api/core/v1/generated.proto index dd95a72055..9d24e7ccb4 100644 --- a/vendor/k8s.io/api/core/v1/generated.proto +++ b/vendor/k8s.io/api/core/v1/generated.proto @@ -3979,7 +3979,7 @@ message PodSpec { // +optional optional string serviceAccountName = 8; - // DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. + // DeprecatedServiceAccount is a deprecated alias for ServiceAccountName. // Deprecated: Use serviceAccountName instead. // +k8s:conversion-gen=false // +optional diff --git a/vendor/k8s.io/api/core/v1/types.go b/vendor/k8s.io/api/core/v1/types.go index f228a2eb7d..5f70beec9c 100644 --- a/vendor/k8s.io/api/core/v1/types.go +++ b/vendor/k8s.io/api/core/v1/types.go @@ -3599,7 +3599,7 @@ type PodSpec struct { // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ // +optional ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"` - // DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. + // DeprecatedServiceAccount is a deprecated alias for ServiceAccountName. // Deprecated: Use serviceAccountName instead. // +k8s:conversion-gen=false // +optional @@ -5867,8 +5867,7 @@ const ( type NodeConditionType string // These are valid but not exhaustive conditions of node. A cloud provider may set a condition not listed here. -// The built-in set of conditions are: -// NodeReachable, NodeLive, NodeReady, NodeSchedulable, NodeRunnable. +// Relevant events contain "NodeReady", "NodeNotReady", "NodeSchedulable", and "NodeNotSchedulable". const ( // NodeReady means kubelet is healthy and ready to accept pods. NodeReady NodeConditionType = "Ready" diff --git a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go index 2a6b2977ad..2d0544b3b0 100644 --- a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -1741,7 +1741,7 @@ var map_PodSpec = map[string]string{ "dnsPolicy": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.", "nodeSelector": "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/", "serviceAccountName": "ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/", - "serviceAccount": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.", + "serviceAccount": "DeprecatedServiceAccount is a deprecated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.", "automountServiceAccountToken": "AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.", "nodeName": "NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.", "hostNetwork": "Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.", diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go b/vendor/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go index 1844ed8d1e..7394b87895 100644 --- a/vendor/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go @@ -44,5 +44,5 @@ func init() { // To add a new feature, define a key for it above and add it here. The features will be // available throughout Kubernetes binaries. var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{ - CRDValidationRatcheting: {Default: false, PreRelease: featuregate.Alpha}, + CRDValidationRatcheting: {Default: true, PreRelease: featuregate.Beta}, } diff --git a/vendor/k8s.io/apimachinery/pkg/util/validation/validation.go b/vendor/k8s.io/apimachinery/pkg/util/validation/validation.go index 0eb33e68aa..94c3fdb77f 100644 --- a/vendor/k8s.io/apimachinery/pkg/util/validation/validation.go +++ b/vendor/k8s.io/apimachinery/pkg/util/validation/validation.go @@ -378,6 +378,16 @@ func IsValidIPv6Address(fldPath *field.Path, value string) field.ErrorList { return allErrors } +// IsValidCIDR tests that the argument is a valid CIDR value. +func IsValidCIDR(fldPath *field.Path, value string) field.ErrorList { + var allErrors field.ErrorList + _, _, err := netutils.ParseCIDRSloppy(value) + if err != nil { + allErrors = append(allErrors, field.Invalid(fldPath, value, "must be a valid CIDR value, (e.g. 10.9.8.0/24 or 2001:db8::/64)")) + } + return allErrors +} + const percentFmt string = "[0-9]+%" const percentErrMsg string = "a valid percent string must be a numeric string followed by an ending '%'" diff --git a/vendor/k8s.io/apiserver/pkg/features/kube_features.go b/vendor/k8s.io/apiserver/pkg/features/kube_features.go index d3a21dc84d..9c90ca2040 100644 --- a/vendor/k8s.io/apiserver/pkg/features/kube_features.go +++ b/vendor/k8s.io/apiserver/pkg/features/kube_features.go @@ -90,6 +90,12 @@ const ( // Add support for distributed tracing in the API Server APIServerTracing featuregate.Feature = "APIServerTracing" + // owner: @linxiulei + // beta: v1.30 + // + // Enables serving watch requests in separate goroutines. + APIServingWithRoutine featuregate.Feature = "APIServingWithRoutine" + // owner: @cici37 @jpbetz // kep: http://kep.k8s.io/3488 // alpha: v1.26 @@ -137,6 +143,13 @@ const ( // Enables the use of derived encryption keys with KMS v2. KMSv2KDF featuregate.Feature = "KMSv2KDF" + // owner: @alexzielenski, @cici37, @jiahuif + // kep: https://kep.k8s.io/3962 + // alpha: v1.30 + // + // Enables the MutatingAdmissionPolicy in Admission Chain + MutatingAdmissionPolicy featuregate.Feature = "MutatingAdmissionPolicy" + // owner: @jiahuif // kep: https://kep.k8s.io/2887 // alpha: v1.23 @@ -189,6 +202,12 @@ const ( // clients. UnauthenticatedHTTP2DOSMitigation featuregate.Feature = "UnauthenticatedHTTP2DOSMitigation" + // owner: @jpbetz + // alpha: v1.30 + // Resource create requests using generateName are retried automatically by the apiserver + // if the generated name conflicts with an existing resource name, up to a maximum number of 7 retries. + RetryGenerateName featuregate.Feature = "RetryGenerateName" + // owner: @caesarxuchao @roycaihw // alpha: v1.20 // @@ -278,6 +297,8 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS APIServerTracing: {Default: true, PreRelease: featuregate.Beta}, + APIServingWithRoutine: {Default: true, PreRelease: featuregate.Beta}, + ValidatingAdmissionPolicy: {Default: false, PreRelease: featuregate.Beta}, CustomResourceValidationExpressions: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.31 @@ -294,6 +315,8 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS RemainingItemCount: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.32 + RetryGenerateName: {Default: false, PreRelease: featuregate.Alpha}, + ServerSideApply: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.29 ServerSideFieldValidation: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.29 diff --git a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go index 36e4eebacd..922b6753ab 100644 --- a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go +++ b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go @@ -606,9 +606,18 @@ type Mount struct { // UidMappings specifies the runtime UID mappings for the mount. UidMappings []*IDMapping `protobuf:"bytes,6,rep,name=uidMappings,proto3" json:"uidMappings,omitempty"` // GidMappings specifies the runtime GID mappings for the mount. - GidMappings []*IDMapping `protobuf:"bytes,7,rep,name=gidMappings,proto3" json:"gidMappings,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_sizecache int32 `json:"-"` + GidMappings []*IDMapping `protobuf:"bytes,7,rep,name=gidMappings,proto3" json:"gidMappings,omitempty"` + // If set to true, the mount is made recursive read-only. + // In this CRI API, recursive_read_only is a plain true/false boolean, although its equivalent + // in the Kubernetes core API is a quaternary that can be nil, "Enabled", "IfPossible", or "Disabled". + // kubelet translates that quaternary value in the core API into a boolean in this CRI API. + // Remarks: + // - nil is just treated as false + // - when set to true, readonly must be explicitly set to true, and propagation must be PRIVATE (0). + // - (readonly == false && recursive_read_only == false) does not make the mount read-only. + RecursiveReadOnly bool `protobuf:"varint,8,opt,name=recursive_read_only,json=recursiveReadOnly,proto3" json:"recursive_read_only,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Mount) Reset() { *m = Mount{} } @@ -692,6 +701,13 @@ func (m *Mount) GetGidMappings() []*IDMapping { return nil } +func (m *Mount) GetRecursiveReadOnly() bool { + if m != nil { + return m.RecursiveReadOnly + } + return false +} + // IDMapping describes host to container ID mappings for a pod sandbox. type IDMapping struct { // HostId is the id on the host. @@ -7698,6 +7714,121 @@ func (m *StatusRequest) GetVerbose() bool { return false } +type RuntimeHandlerFeatures struct { + // recursive_read_only_mounts is set to true if the runtime handler supports + // recursive read-only mounts. + // For runc-compatible runtimes, availability of this feature can be detected by checking whether + // the Linux kernel version is >= 5.12, and, `runc features | jq .mountOptions` contains "rro". + RecursiveReadOnlyMounts bool `protobuf:"varint,1,opt,name=recursive_read_only_mounts,json=recursiveReadOnlyMounts,proto3" json:"recursive_read_only_mounts,omitempty"` + // user_namespaces is set to true if the runtime handler supports user namespaces as implemented + // in Kubernetes. This means support for both, user namespaces and idmap mounts. + UserNamespaces bool `protobuf:"varint,2,opt,name=user_namespaces,json=userNamespaces,proto3" json:"user_namespaces,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RuntimeHandlerFeatures) Reset() { *m = RuntimeHandlerFeatures{} } +func (*RuntimeHandlerFeatures) ProtoMessage() {} +func (*RuntimeHandlerFeatures) Descriptor() ([]byte, []int) { + return fileDescriptor_00212fb1f9d3bf1c, []int{110} +} +func (m *RuntimeHandlerFeatures) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RuntimeHandlerFeatures) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RuntimeHandlerFeatures.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RuntimeHandlerFeatures) XXX_Merge(src proto.Message) { + xxx_messageInfo_RuntimeHandlerFeatures.Merge(m, src) +} +func (m *RuntimeHandlerFeatures) XXX_Size() int { + return m.Size() +} +func (m *RuntimeHandlerFeatures) XXX_DiscardUnknown() { + xxx_messageInfo_RuntimeHandlerFeatures.DiscardUnknown(m) +} + +var xxx_messageInfo_RuntimeHandlerFeatures proto.InternalMessageInfo + +func (m *RuntimeHandlerFeatures) GetRecursiveReadOnlyMounts() bool { + if m != nil { + return m.RecursiveReadOnlyMounts + } + return false +} + +func (m *RuntimeHandlerFeatures) GetUserNamespaces() bool { + if m != nil { + return m.UserNamespaces + } + return false +} + +type RuntimeHandler struct { + // Name must be unique in StatusResponse. + // An empty string denotes the default handler. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Supported features. + Features *RuntimeHandlerFeatures `protobuf:"bytes,2,opt,name=features,proto3" json:"features,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RuntimeHandler) Reset() { *m = RuntimeHandler{} } +func (*RuntimeHandler) ProtoMessage() {} +func (*RuntimeHandler) Descriptor() ([]byte, []int) { + return fileDescriptor_00212fb1f9d3bf1c, []int{111} +} +func (m *RuntimeHandler) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RuntimeHandler) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RuntimeHandler.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RuntimeHandler) XXX_Merge(src proto.Message) { + xxx_messageInfo_RuntimeHandler.Merge(m, src) +} +func (m *RuntimeHandler) XXX_Size() int { + return m.Size() +} +func (m *RuntimeHandler) XXX_DiscardUnknown() { + xxx_messageInfo_RuntimeHandler.DiscardUnknown(m) +} + +var xxx_messageInfo_RuntimeHandler proto.InternalMessageInfo + +func (m *RuntimeHandler) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *RuntimeHandler) GetFeatures() *RuntimeHandlerFeatures { + if m != nil { + return m.Features + } + return nil +} + type StatusResponse struct { // Status of the Runtime. Status *RuntimeStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` @@ -7705,7 +7836,9 @@ type StatusResponse struct { // value should be in json format. The information could include anything useful for // debug, e.g. plugins used by the container runtime. // It should only be returned non-empty when Verbose is true. - Info map[string]string `protobuf:"bytes,2,rep,name=info,proto3" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Info map[string]string `protobuf:"bytes,2,rep,name=info,proto3" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Runtime handlers. + RuntimeHandlers []*RuntimeHandler `protobuf:"bytes,3,rep,name=runtime_handlers,json=runtimeHandlers,proto3" json:"runtime_handlers,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_sizecache int32 `json:"-"` } @@ -7713,7 +7846,7 @@ type StatusResponse struct { func (m *StatusResponse) Reset() { *m = StatusResponse{} } func (*StatusResponse) ProtoMessage() {} func (*StatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{110} + return fileDescriptor_00212fb1f9d3bf1c, []int{112} } func (m *StatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7756,6 +7889,13 @@ func (m *StatusResponse) GetInfo() map[string]string { return nil } +func (m *StatusResponse) GetRuntimeHandlers() []*RuntimeHandler { + if m != nil { + return m.RuntimeHandlers + } + return nil +} + type ImageFsInfoRequest struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_sizecache int32 `json:"-"` @@ -7764,7 +7904,7 @@ type ImageFsInfoRequest struct { func (m *ImageFsInfoRequest) Reset() { *m = ImageFsInfoRequest{} } func (*ImageFsInfoRequest) ProtoMessage() {} func (*ImageFsInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{111} + return fileDescriptor_00212fb1f9d3bf1c, []int{113} } func (m *ImageFsInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7804,7 +7944,7 @@ type UInt64Value struct { func (m *UInt64Value) Reset() { *m = UInt64Value{} } func (*UInt64Value) ProtoMessage() {} func (*UInt64Value) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{112} + return fileDescriptor_00212fb1f9d3bf1c, []int{114} } func (m *UInt64Value) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7851,7 +7991,7 @@ type FilesystemIdentifier struct { func (m *FilesystemIdentifier) Reset() { *m = FilesystemIdentifier{} } func (*FilesystemIdentifier) ProtoMessage() {} func (*FilesystemIdentifier) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{113} + return fileDescriptor_00212fb1f9d3bf1c, []int{115} } func (m *FilesystemIdentifier) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7908,7 +8048,7 @@ type FilesystemUsage struct { func (m *FilesystemUsage) Reset() { *m = FilesystemUsage{} } func (*FilesystemUsage) ProtoMessage() {} func (*FilesystemUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{114} + return fileDescriptor_00212fb1f9d3bf1c, []int{116} } func (m *FilesystemUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7982,7 +8122,7 @@ type WindowsFilesystemUsage struct { func (m *WindowsFilesystemUsage) Reset() { *m = WindowsFilesystemUsage{} } func (*WindowsFilesystemUsage) ProtoMessage() {} func (*WindowsFilesystemUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{115} + return fileDescriptor_00212fb1f9d3bf1c, []int{117} } func (m *WindowsFilesystemUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8047,7 +8187,7 @@ type ImageFsInfoResponse struct { func (m *ImageFsInfoResponse) Reset() { *m = ImageFsInfoResponse{} } func (*ImageFsInfoResponse) ProtoMessage() {} func (*ImageFsInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{116} + return fileDescriptor_00212fb1f9d3bf1c, []int{118} } func (m *ImageFsInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8100,7 +8240,7 @@ type ContainerStatsRequest struct { func (m *ContainerStatsRequest) Reset() { *m = ContainerStatsRequest{} } func (*ContainerStatsRequest) ProtoMessage() {} func (*ContainerStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{117} + return fileDescriptor_00212fb1f9d3bf1c, []int{119} } func (m *ContainerStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8146,7 +8286,7 @@ type ContainerStatsResponse struct { func (m *ContainerStatsResponse) Reset() { *m = ContainerStatsResponse{} } func (*ContainerStatsResponse) ProtoMessage() {} func (*ContainerStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{118} + return fileDescriptor_00212fb1f9d3bf1c, []int{120} } func (m *ContainerStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8192,7 +8332,7 @@ type ListContainerStatsRequest struct { func (m *ListContainerStatsRequest) Reset() { *m = ListContainerStatsRequest{} } func (*ListContainerStatsRequest) ProtoMessage() {} func (*ListContainerStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{119} + return fileDescriptor_00212fb1f9d3bf1c, []int{121} } func (m *ListContainerStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8246,7 +8386,7 @@ type ContainerStatsFilter struct { func (m *ContainerStatsFilter) Reset() { *m = ContainerStatsFilter{} } func (*ContainerStatsFilter) ProtoMessage() {} func (*ContainerStatsFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{120} + return fileDescriptor_00212fb1f9d3bf1c, []int{122} } func (m *ContainerStatsFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8306,7 +8446,7 @@ type ListContainerStatsResponse struct { func (m *ListContainerStatsResponse) Reset() { *m = ListContainerStatsResponse{} } func (*ListContainerStatsResponse) ProtoMessage() {} func (*ListContainerStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{121} + return fileDescriptor_00212fb1f9d3bf1c, []int{123} } func (m *ListContainerStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8362,7 +8502,7 @@ type ContainerAttributes struct { func (m *ContainerAttributes) Reset() { *m = ContainerAttributes{} } func (*ContainerAttributes) ProtoMessage() {} func (*ContainerAttributes) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{122} + return fileDescriptor_00212fb1f9d3bf1c, []int{124} } func (m *ContainerAttributes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8438,7 +8578,7 @@ type ContainerStats struct { func (m *ContainerStats) Reset() { *m = ContainerStats{} } func (*ContainerStats) ProtoMessage() {} func (*ContainerStats) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{123} + return fileDescriptor_00212fb1f9d3bf1c, []int{125} } func (m *ContainerStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8519,7 +8659,7 @@ type WindowsContainerStats struct { func (m *WindowsContainerStats) Reset() { *m = WindowsContainerStats{} } func (*WindowsContainerStats) ProtoMessage() {} func (*WindowsContainerStats) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{124} + return fileDescriptor_00212fb1f9d3bf1c, []int{126} } func (m *WindowsContainerStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8592,7 +8732,7 @@ type CpuUsage struct { func (m *CpuUsage) Reset() { *m = CpuUsage{} } func (*CpuUsage) ProtoMessage() {} func (*CpuUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{125} + return fileDescriptor_00212fb1f9d3bf1c, []int{127} } func (m *CpuUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8658,7 +8798,7 @@ type WindowsCpuUsage struct { func (m *WindowsCpuUsage) Reset() { *m = WindowsCpuUsage{} } func (*WindowsCpuUsage) ProtoMessage() {} func (*WindowsCpuUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{126} + return fileDescriptor_00212fb1f9d3bf1c, []int{128} } func (m *WindowsCpuUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8731,7 +8871,7 @@ type MemoryUsage struct { func (m *MemoryUsage) Reset() { *m = MemoryUsage{} } func (*MemoryUsage) ProtoMessage() {} func (*MemoryUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{127} + return fileDescriptor_00212fb1f9d3bf1c, []int{129} } func (m *MemoryUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8823,7 +8963,7 @@ type SwapUsage struct { func (m *SwapUsage) Reset() { *m = SwapUsage{} } func (*SwapUsage) ProtoMessage() {} func (*SwapUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{128} + return fileDescriptor_00212fb1f9d3bf1c, []int{130} } func (m *SwapUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8892,7 +9032,7 @@ type WindowsMemoryUsage struct { func (m *WindowsMemoryUsage) Reset() { *m = WindowsMemoryUsage{} } func (*WindowsMemoryUsage) ProtoMessage() {} func (*WindowsMemoryUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{129} + return fileDescriptor_00212fb1f9d3bf1c, []int{131} } func (m *WindowsMemoryUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8966,7 +9106,7 @@ type ReopenContainerLogRequest struct { func (m *ReopenContainerLogRequest) Reset() { *m = ReopenContainerLogRequest{} } func (*ReopenContainerLogRequest) ProtoMessage() {} func (*ReopenContainerLogRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{130} + return fileDescriptor_00212fb1f9d3bf1c, []int{132} } func (m *ReopenContainerLogRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9010,7 +9150,7 @@ type ReopenContainerLogResponse struct { func (m *ReopenContainerLogResponse) Reset() { *m = ReopenContainerLogResponse{} } func (*ReopenContainerLogResponse) ProtoMessage() {} func (*ReopenContainerLogResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{131} + return fileDescriptor_00212fb1f9d3bf1c, []int{133} } func (m *ReopenContainerLogResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9055,7 +9195,7 @@ type CheckpointContainerRequest struct { func (m *CheckpointContainerRequest) Reset() { *m = CheckpointContainerRequest{} } func (*CheckpointContainerRequest) ProtoMessage() {} func (*CheckpointContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{132} + return fileDescriptor_00212fb1f9d3bf1c, []int{134} } func (m *CheckpointContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9113,7 +9253,7 @@ type CheckpointContainerResponse struct { func (m *CheckpointContainerResponse) Reset() { *m = CheckpointContainerResponse{} } func (*CheckpointContainerResponse) ProtoMessage() {} func (*CheckpointContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{133} + return fileDescriptor_00212fb1f9d3bf1c, []int{135} } func (m *CheckpointContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9150,7 +9290,7 @@ type GetEventsRequest struct { func (m *GetEventsRequest) Reset() { *m = GetEventsRequest{} } func (*GetEventsRequest) ProtoMessage() {} func (*GetEventsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{134} + return fileDescriptor_00212fb1f9d3bf1c, []int{136} } func (m *GetEventsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9197,7 +9337,7 @@ type ContainerEventResponse struct { func (m *ContainerEventResponse) Reset() { *m = ContainerEventResponse{} } func (*ContainerEventResponse) ProtoMessage() {} func (*ContainerEventResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{135} + return fileDescriptor_00212fb1f9d3bf1c, []int{137} } func (m *ContainerEventResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9269,7 +9409,7 @@ type ListMetricDescriptorsRequest struct { func (m *ListMetricDescriptorsRequest) Reset() { *m = ListMetricDescriptorsRequest{} } func (*ListMetricDescriptorsRequest) ProtoMessage() {} func (*ListMetricDescriptorsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{136} + return fileDescriptor_00212fb1f9d3bf1c, []int{138} } func (m *ListMetricDescriptorsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9307,7 +9447,7 @@ type ListMetricDescriptorsResponse struct { func (m *ListMetricDescriptorsResponse) Reset() { *m = ListMetricDescriptorsResponse{} } func (*ListMetricDescriptorsResponse) ProtoMessage() {} func (*ListMetricDescriptorsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{137} + return fileDescriptor_00212fb1f9d3bf1c, []int{139} } func (m *ListMetricDescriptorsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9360,7 +9500,7 @@ type MetricDescriptor struct { func (m *MetricDescriptor) Reset() { *m = MetricDescriptor{} } func (*MetricDescriptor) ProtoMessage() {} func (*MetricDescriptor) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{138} + return fileDescriptor_00212fb1f9d3bf1c, []int{140} } func (m *MetricDescriptor) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9418,7 +9558,7 @@ type ListPodSandboxMetricsRequest struct { func (m *ListPodSandboxMetricsRequest) Reset() { *m = ListPodSandboxMetricsRequest{} } func (*ListPodSandboxMetricsRequest) ProtoMessage() {} func (*ListPodSandboxMetricsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{139} + return fileDescriptor_00212fb1f9d3bf1c, []int{141} } func (m *ListPodSandboxMetricsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9456,7 +9596,7 @@ type ListPodSandboxMetricsResponse struct { func (m *ListPodSandboxMetricsResponse) Reset() { *m = ListPodSandboxMetricsResponse{} } func (*ListPodSandboxMetricsResponse) ProtoMessage() {} func (*ListPodSandboxMetricsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{140} + return fileDescriptor_00212fb1f9d3bf1c, []int{142} } func (m *ListPodSandboxMetricsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9503,7 +9643,7 @@ type PodSandboxMetrics struct { func (m *PodSandboxMetrics) Reset() { *m = PodSandboxMetrics{} } func (*PodSandboxMetrics) ProtoMessage() {} func (*PodSandboxMetrics) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{141} + return fileDescriptor_00212fb1f9d3bf1c, []int{143} } func (m *PodSandboxMetrics) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9563,7 +9703,7 @@ type ContainerMetrics struct { func (m *ContainerMetrics) Reset() { *m = ContainerMetrics{} } func (*ContainerMetrics) ProtoMessage() {} func (*ContainerMetrics) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{142} + return fileDescriptor_00212fb1f9d3bf1c, []int{144} } func (m *ContainerMetrics) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9626,7 +9766,7 @@ type Metric struct { func (m *Metric) Reset() { *m = Metric{} } func (*Metric) ProtoMessage() {} func (*Metric) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{143} + return fileDescriptor_00212fb1f9d3bf1c, []int{145} } func (m *Metric) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9698,7 +9838,7 @@ type RuntimeConfigRequest struct { func (m *RuntimeConfigRequest) Reset() { *m = RuntimeConfigRequest{} } func (*RuntimeConfigRequest) ProtoMessage() {} func (*RuntimeConfigRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{144} + return fileDescriptor_00212fb1f9d3bf1c, []int{146} } func (m *RuntimeConfigRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9739,7 +9879,7 @@ type RuntimeConfigResponse struct { func (m *RuntimeConfigResponse) Reset() { *m = RuntimeConfigResponse{} } func (*RuntimeConfigResponse) ProtoMessage() {} func (*RuntimeConfigResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{145} + return fileDescriptor_00212fb1f9d3bf1c, []int{147} } func (m *RuntimeConfigResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9791,7 +9931,7 @@ type LinuxRuntimeConfiguration struct { func (m *LinuxRuntimeConfiguration) Reset() { *m = LinuxRuntimeConfiguration{} } func (*LinuxRuntimeConfiguration) ProtoMessage() {} func (*LinuxRuntimeConfiguration) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{146} + return fileDescriptor_00212fb1f9d3bf1c, []int{148} } func (m *LinuxRuntimeConfiguration) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9971,6 +10111,8 @@ func init() { proto.RegisterType((*RuntimeCondition)(nil), "runtime.v1.RuntimeCondition") proto.RegisterType((*RuntimeStatus)(nil), "runtime.v1.RuntimeStatus") proto.RegisterType((*StatusRequest)(nil), "runtime.v1.StatusRequest") + proto.RegisterType((*RuntimeHandlerFeatures)(nil), "runtime.v1.RuntimeHandlerFeatures") + proto.RegisterType((*RuntimeHandler)(nil), "runtime.v1.RuntimeHandler") proto.RegisterType((*StatusResponse)(nil), "runtime.v1.StatusResponse") proto.RegisterMapType((map[string]string)(nil), "runtime.v1.StatusResponse.InfoEntry") proto.RegisterType((*ImageFsInfoRequest)(nil), "runtime.v1.ImageFsInfoRequest") @@ -10017,434 +10159,441 @@ func init() { func init() { proto.RegisterFile("api.proto", fileDescriptor_00212fb1f9d3bf1c) } var fileDescriptor_00212fb1f9d3bf1c = []byte{ - // 6821 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x7d, 0x4d, 0x6c, 0x1c, 0xc9, - 0x75, 0x30, 0x7b, 0x66, 0x48, 0xce, 0xbc, 0xe1, 0x90, 0xc3, 0x12, 0x45, 0x52, 0xa3, 0xff, 0xde, - 0x3f, 0x49, 0xbb, 0xfa, 0x59, 0xed, 0x9f, 0x24, 0xef, 0x8f, 0x46, 0x24, 0x57, 0x3b, 0x6b, 0x89, - 0x1c, 0xf7, 0x90, 0x6b, 0xef, 0xfa, 0x83, 0xfb, 0x6b, 0x4d, 0x17, 0xc9, 0x5e, 0xcd, 0x74, 0xb7, - 0xbb, 0x7b, 0x24, 0xd1, 0xa7, 0x9c, 0x82, 0xc4, 0x27, 0x03, 0x89, 0x63, 0xc4, 0x08, 0x12, 0xe4, - 0x10, 0x24, 0xb7, 0xfc, 0x00, 0x49, 0x1c, 0xe4, 0x0f, 0x30, 0x12, 0xc3, 0x09, 0x10, 0x20, 0x87, - 0x04, 0xf0, 0x21, 0x40, 0xec, 0x4d, 0x80, 0x00, 0x39, 0xfb, 0x90, 0x53, 0x1c, 0xd4, 0x5f, 0x77, - 0x57, 0xff, 0xcd, 0x90, 0xbb, 0xde, 0x5d, 0x9f, 0x38, 0xfd, 0xea, 0xbd, 0x57, 0xaf, 0x5e, 0xbd, - 0x7a, 0xf5, 0xaa, 0xea, 0x55, 0x11, 0x6a, 0x86, 0x6b, 0x5d, 0x71, 0x3d, 0x27, 0x70, 0x10, 0x78, - 0x23, 0x3b, 0xb0, 0x86, 0xf8, 0xca, 0xa3, 0x17, 0x5b, 0x97, 0xf7, 0xac, 0x60, 0x7f, 0xf4, 0xe0, - 0x4a, 0xdf, 0x19, 0x5e, 0xdd, 0x73, 0xf6, 0x9c, 0xab, 0x14, 0xe5, 0xc1, 0x68, 0x97, 0x7e, 0xd1, - 0x0f, 0xfa, 0x8b, 0x91, 0xaa, 0x97, 0x60, 0xfe, 0x3d, 0xec, 0xf9, 0x96, 0x63, 0x6b, 0xf8, 0xeb, - 0x23, 0xec, 0x07, 0x68, 0x15, 0x66, 0x1f, 0x31, 0xc8, 0xaa, 0x72, 0x4e, 0xb9, 0x50, 0xd3, 0xc4, - 0xa7, 0xfa, 0xfb, 0x0a, 0x2c, 0x84, 0xc8, 0xbe, 0xeb, 0xd8, 0x3e, 0xce, 0xc7, 0x46, 0xe7, 0x61, - 0x8e, 0x8b, 0xa5, 0xdb, 0xc6, 0x10, 0xaf, 0x96, 0x68, 0x71, 0x9d, 0xc3, 0x36, 0x8d, 0x21, 0x46, - 0xcf, 0xc1, 0x82, 0x40, 0x11, 0x4c, 0xca, 0x14, 0x6b, 0x9e, 0x83, 0x79, 0x6d, 0xe8, 0x0a, 0x1c, - 0x13, 0x88, 0x86, 0x6b, 0x85, 0xc8, 0x15, 0x8a, 0xbc, 0xc8, 0x8b, 0xda, 0xae, 0xc5, 0xf1, 0xd5, - 0xaf, 0x42, 0x6d, 0x7d, 0xb3, 0xb7, 0xe6, 0xd8, 0xbb, 0xd6, 0x1e, 0x11, 0xd1, 0xc7, 0x1e, 0xa1, - 0x59, 0x55, 0xce, 0x95, 0x89, 0x88, 0xfc, 0x13, 0xb5, 0xa0, 0xea, 0x63, 0xc3, 0xeb, 0xef, 0x63, - 0x7f, 0xb5, 0x44, 0x8b, 0xc2, 0x6f, 0x42, 0xe5, 0xb8, 0x81, 0xe5, 0xd8, 0xfe, 0x6a, 0x99, 0x51, - 0xf1, 0x4f, 0xf5, 0xb7, 0x14, 0xa8, 0x77, 0x1d, 0x2f, 0xb8, 0x6f, 0xb8, 0xae, 0x65, 0xef, 0xa1, - 0x6b, 0x50, 0xa5, 0xba, 0xec, 0x3b, 0x03, 0xaa, 0x83, 0xf9, 0xeb, 0x4b, 0x57, 0xa2, 0x0e, 0xb9, - 0xd2, 0xe5, 0x65, 0x5a, 0x88, 0x85, 0x9e, 0x81, 0xf9, 0xbe, 0x63, 0x07, 0x86, 0x65, 0x63, 0x4f, - 0x77, 0x1d, 0x2f, 0xa0, 0xca, 0x99, 0xd6, 0x1a, 0x21, 0x94, 0xf0, 0x47, 0x27, 0xa1, 0xb6, 0xef, - 0xf8, 0x01, 0xc3, 0x28, 0x53, 0x8c, 0x2a, 0x01, 0xd0, 0xc2, 0x15, 0x98, 0xa5, 0x85, 0x96, 0xcb, - 0xd5, 0x30, 0x43, 0x3e, 0x3b, 0xae, 0xfa, 0xfd, 0x12, 0x4c, 0xdf, 0x77, 0x46, 0x76, 0x90, 0xa8, - 0xc6, 0x08, 0xf6, 0x79, 0x17, 0xc5, 0xaa, 0x31, 0x82, 0xfd, 0xa8, 0x1a, 0x82, 0xc1, 0x7a, 0x89, - 0x55, 0x43, 0x0a, 0x5b, 0x50, 0xf5, 0xb0, 0x61, 0x3a, 0xf6, 0xe0, 0x80, 0x8a, 0x50, 0xd5, 0xc2, - 0x6f, 0xd2, 0x7d, 0x3e, 0x1e, 0x58, 0xf6, 0xe8, 0x89, 0xee, 0xe1, 0x81, 0xf1, 0x00, 0x0f, 0xa8, - 0x28, 0x55, 0x6d, 0x9e, 0x83, 0x35, 0x06, 0x45, 0x6f, 0x42, 0xdd, 0xf5, 0x1c, 0xd7, 0xd8, 0x33, - 0x88, 0x06, 0x57, 0xa7, 0xa9, 0x92, 0x4e, 0xc5, 0x95, 0x44, 0x05, 0xee, 0x46, 0x38, 0x5a, 0x9c, - 0x00, 0xbd, 0x06, 0xf5, 0x91, 0x65, 0x72, 0x7d, 0xfb, 0xab, 0x33, 0xe7, 0xca, 0x17, 0xea, 0xd7, - 0x8f, 0xc7, 0xe9, 0x3b, 0xeb, 0xbc, 0x54, 0x8b, 0x63, 0x12, 0xc2, 0xbd, 0x18, 0xe1, 0x6c, 0x21, - 0x61, 0x0c, 0x53, 0xd5, 0xa1, 0x16, 0x96, 0x44, 0xaa, 0x36, 0xa9, 0x02, 0x1b, 0x5c, 0xd5, 0x26, - 0x31, 0xf1, 0x48, 0xc1, 0x96, 0x49, 0x95, 0xd7, 0xd0, 0xea, 0x21, 0xac, 0x63, 0xa2, 0x65, 0x98, - 0x19, 0x60, 0x7b, 0x2f, 0xd8, 0xa7, 0xda, 0x6b, 0x68, 0xfc, 0x4b, 0xfd, 0x75, 0x05, 0x1a, 0x3b, - 0x3e, 0xf6, 0xc8, 0x38, 0xf0, 0x5d, 0xa3, 0x8f, 0xd1, 0x65, 0xa8, 0x0c, 0x1d, 0x13, 0x73, 0x13, - 0x3a, 0x11, 0x17, 0x32, 0x44, 0xba, 0xef, 0x98, 0x58, 0xa3, 0x68, 0xe8, 0x22, 0x54, 0x46, 0x96, - 0xc9, 0xec, 0x36, 0xb7, 0x4d, 0x14, 0x85, 0xa0, 0xee, 0x11, 0xd4, 0x72, 0x21, 0x2a, 0x41, 0x51, - 0x7f, 0xa6, 0xc0, 0x42, 0x58, 0xdb, 0x16, 0x35, 0x78, 0xf4, 0x12, 0xcc, 0xda, 0x38, 0x78, 0xec, - 0x78, 0x0f, 0xc7, 0xcb, 0x26, 0x30, 0xd1, 0xf3, 0x50, 0x76, 0xb9, 0x46, 0x0a, 0x09, 0x08, 0x16, - 0x41, 0xb6, 0xdc, 0x3e, 0xd5, 0x50, 0x31, 0xb2, 0xe5, 0xf6, 0x89, 0xb9, 0x06, 0x86, 0xb7, 0x87, - 0x69, 0x7f, 0x30, 0xd3, 0xaf, 0x32, 0x40, 0xc7, 0x44, 0xb7, 0x61, 0x7e, 0xe4, 0x63, 0xcf, 0xf6, - 0x75, 0x31, 0x78, 0x89, 0xb1, 0xd5, 0x65, 0xa6, 0x92, 0xde, 0xb5, 0x06, 0x23, 0xd8, 0xe2, 0xa3, - 0x5b, 0x05, 0xe8, 0xd8, 0xc1, 0xab, 0x2f, 0xbf, 0x67, 0x0c, 0x46, 0x18, 0x2d, 0xc1, 0xf4, 0x23, - 0xf2, 0x83, 0xb6, 0xbc, 0xac, 0xb1, 0x0f, 0xf5, 0xaf, 0x2b, 0x70, 0xf2, 0x1e, 0x31, 0xf0, 0x9e, - 0x61, 0x9b, 0x0f, 0x9c, 0x27, 0x3d, 0xdc, 0x1f, 0x79, 0x56, 0x70, 0xb0, 0xe6, 0xd8, 0x01, 0x7e, - 0x12, 0xa0, 0x77, 0x60, 0xd1, 0x16, 0xfc, 0x43, 0x41, 0x14, 0x2a, 0xc8, 0xc9, 0xcc, 0xd6, 0xb1, - 0xca, 0xb5, 0xa6, 0x2d, 0x03, 0x7c, 0x74, 0x27, 0x1a, 0x62, 0x82, 0x4f, 0x29, 0xdd, 0xa0, 0xde, - 0x06, 0x95, 0x86, 0x73, 0x11, 0xa3, 0x4f, 0xf0, 0x78, 0x15, 0x88, 0xd3, 0xd5, 0x0d, 0x5f, 0x27, - 0x2d, 0xa5, 0x5a, 0xae, 0x5f, 0x5f, 0x96, 0xac, 0x20, 0x6c, 0xb0, 0x56, 0xf3, 0x46, 0x76, 0xdb, - 0x27, 0x1a, 0x42, 0x37, 0xa8, 0x03, 0x27, 0x74, 0x7b, 0x9e, 0x33, 0x72, 0x57, 0xab, 0x85, 0x84, - 0x40, 0x09, 0xef, 0x12, 0x4c, 0xea, 0xd7, 0xb9, 0x93, 0xd0, 0x3d, 0xc7, 0x09, 0x76, 0x7d, 0xe1, - 0x18, 0x04, 0x58, 0xa3, 0x50, 0x74, 0x15, 0x8e, 0xf9, 0x23, 0xd7, 0x1d, 0xe0, 0x21, 0xb6, 0x03, - 0x63, 0xc0, 0x2a, 0x22, 0x7d, 0x56, 0xbe, 0x50, 0xd6, 0x50, 0xbc, 0x88, 0x32, 0xf6, 0xd1, 0x19, - 0x00, 0xd7, 0xb3, 0x1e, 0x59, 0x03, 0xbc, 0x87, 0xcd, 0xd5, 0x19, 0xca, 0x34, 0x06, 0x41, 0xaf, - 0x10, 0x5f, 0xdf, 0xef, 0x3b, 0x43, 0x77, 0xb5, 0x96, 0xd6, 0xb7, 0xe8, 0xa7, 0xae, 0xe7, 0xec, - 0x5a, 0x03, 0xac, 0x09, 0x5c, 0xf4, 0x1a, 0x54, 0x0d, 0xd7, 0x35, 0xbc, 0xa1, 0xe3, 0xad, 0xc2, - 0x78, 0xba, 0x10, 0x19, 0xbd, 0x0c, 0x4b, 0x9c, 0x87, 0xee, 0xb2, 0x42, 0xe6, 0x46, 0x67, 0x89, - 0x5d, 0xde, 0x29, 0xad, 0x2a, 0x1a, 0xe2, 0xe5, 0x9c, 0x96, 0x38, 0x55, 0xf5, 0xef, 0x14, 0x58, - 0x48, 0xf0, 0x44, 0xef, 0xc2, 0x9c, 0xe0, 0x10, 0x1c, 0xb8, 0xc2, 0x0d, 0x3c, 0x57, 0x20, 0xc6, - 0x15, 0xfe, 0x77, 0xfb, 0xc0, 0xc5, 0xd4, 0x5f, 0x8a, 0x0f, 0xf4, 0x14, 0x34, 0x06, 0x4e, 0xdf, - 0x18, 0x50, 0xaf, 0xe5, 0xe1, 0x5d, 0xee, 0xd5, 0xe7, 0x42, 0xa0, 0x86, 0x77, 0xd5, 0xdb, 0x50, - 0x8f, 0x31, 0x40, 0x08, 0xe6, 0x35, 0x56, 0xd5, 0x3a, 0xde, 0x35, 0x46, 0x83, 0xa0, 0x39, 0x85, - 0xe6, 0x01, 0x76, 0xec, 0x3e, 0x99, 0x45, 0x6d, 0x6c, 0x36, 0x15, 0xd4, 0x80, 0xda, 0x3d, 0xc1, - 0xa2, 0x59, 0x52, 0xbf, 0x5b, 0x86, 0xe3, 0xd4, 0xf0, 0xba, 0x8e, 0xc9, 0x47, 0x02, 0x9f, 0x72, - 0x9f, 0x82, 0x46, 0x9f, 0xf6, 0xa5, 0xee, 0x1a, 0x1e, 0xb6, 0x03, 0x3e, 0xf1, 0xcc, 0x31, 0x60, - 0x97, 0xc2, 0x90, 0x06, 0x4d, 0x9f, 0xb7, 0x48, 0xef, 0xb3, 0x91, 0xc3, 0x8d, 0x5b, 0x6a, 0x75, - 0xc1, 0x40, 0xd3, 0x16, 0xfc, 0xd4, 0xc8, 0x9b, 0xf5, 0x0f, 0xfc, 0x7e, 0x30, 0x10, 0xde, 0xee, - 0x4a, 0x8a, 0x55, 0x52, 0xd8, 0x2b, 0x3d, 0x46, 0xb0, 0x61, 0x07, 0xde, 0x81, 0x26, 0xc8, 0xd1, - 0x5b, 0x50, 0x75, 0x1e, 0x61, 0x6f, 0x1f, 0x1b, 0xcc, 0xcb, 0xd4, 0xaf, 0x3f, 0x95, 0x62, 0xb5, - 0x26, 0x1c, 0xbd, 0x86, 0x7d, 0x67, 0xe4, 0xf5, 0xb1, 0xaf, 0x85, 0x44, 0xa8, 0x0d, 0x35, 0x4f, - 0x80, 0xb9, 0x17, 0x9a, 0x88, 0x43, 0x44, 0xd5, 0xba, 0x05, 0x73, 0x71, 0xe1, 0x50, 0x13, 0xca, - 0x0f, 0xf1, 0x01, 0x57, 0x26, 0xf9, 0x19, 0xf9, 0x27, 0xd6, 0xc3, 0xec, 0xe3, 0x56, 0xe9, 0x86, - 0xa2, 0x7a, 0x80, 0xa2, 0x96, 0xde, 0xc7, 0x81, 0x61, 0x1a, 0x81, 0x81, 0x10, 0x54, 0x68, 0x30, - 0xc6, 0x58, 0xd0, 0xdf, 0x84, 0xeb, 0x88, 0xbb, 0xea, 0x9a, 0x46, 0x7e, 0xa2, 0x53, 0x50, 0x0b, - 0x3d, 0x11, 0x8f, 0xc8, 0x22, 0x00, 0x89, 0x8c, 0x8c, 0x20, 0xc0, 0x43, 0x37, 0xa0, 0x8a, 0x69, - 0x68, 0xe2, 0x53, 0xfd, 0xd5, 0x69, 0x68, 0xa6, 0x6c, 0xe1, 0x16, 0x54, 0x87, 0xbc, 0x7a, 0xee, - 0x03, 0xcf, 0x48, 0xe1, 0x51, 0x4a, 0x48, 0x2d, 0xc4, 0x27, 0xd1, 0x07, 0xb1, 0xb5, 0x58, 0xfc, - 0x18, 0x7e, 0x33, 0x23, 0xdf, 0xd3, 0x4d, 0xcb, 0xc3, 0xfd, 0xc0, 0xf1, 0x0e, 0xb8, 0xa0, 0x73, - 0x03, 0x67, 0x6f, 0x5d, 0xc0, 0xd0, 0xcb, 0x00, 0xa6, 0xed, 0xeb, 0xd4, 0x86, 0xf7, 0x78, 0x3f, - 0x4a, 0x13, 0x60, 0x18, 0x26, 0x6a, 0x35, 0xd3, 0xf6, 0xb9, 0xc8, 0xaf, 0x43, 0x83, 0xc4, 0x5c, - 0xfa, 0x50, 0x04, 0x0e, 0xd3, 0xd4, 0x96, 0x56, 0x64, 0xb9, 0xc3, 0x08, 0x50, 0x9b, 0x73, 0xa3, - 0x0f, 0x1f, 0xdd, 0x86, 0x19, 0x1a, 0xf6, 0x88, 0x40, 0xe5, 0x42, 0x76, 0x73, 0xb9, 0xf5, 0xdd, - 0xa3, 0xa8, 0xcc, 0xf8, 0x38, 0x1d, 0xda, 0x82, 0xba, 0x61, 0xdb, 0x4e, 0x60, 0x30, 0x8f, 0xcf, - 0xc2, 0x96, 0xcb, 0x85, 0x6c, 0xda, 0x11, 0x3e, 0xe3, 0x15, 0xe7, 0x80, 0x5e, 0x83, 0x69, 0x3a, - 0x25, 0x70, 0x1f, 0x7e, 0x7e, 0xec, 0xa0, 0xd0, 0x18, 0x3e, 0x7a, 0x03, 0x66, 0x1f, 0x5b, 0xb6, - 0xe9, 0x3c, 0xf6, 0xb9, 0x3f, 0x95, 0x4c, 0xf8, 0xcb, 0xac, 0x28, 0x45, 0x2c, 0x68, 0x5a, 0x37, - 0xa1, 0x1e, 0x6b, 0xdf, 0x61, 0xec, 0xb7, 0xf5, 0x26, 0x34, 0x93, 0x6d, 0x3a, 0x94, 0xfd, 0x8f, - 0x60, 0x49, 0x1b, 0xd9, 0x91, 0x68, 0x62, 0x79, 0xf3, 0x32, 0xcc, 0x70, 0x6b, 0x60, 0xc6, 0x78, - 0xaa, 0x48, 0xad, 0x1a, 0xc7, 0x8d, 0xaf, 0x54, 0xf6, 0x0d, 0xdb, 0x1c, 0x60, 0x8f, 0xd7, 0x28, - 0x56, 0x2a, 0xef, 0x30, 0xa8, 0xfa, 0x06, 0x1c, 0x4f, 0x54, 0xcb, 0x17, 0x4a, 0x4f, 0xc3, 0xbc, - 0xeb, 0x98, 0xba, 0xcf, 0xc0, 0x22, 0x96, 0xac, 0x11, 0xdb, 0x11, 0xb8, 0x1d, 0x93, 0x90, 0xf7, - 0x02, 0xc7, 0x4d, 0x8b, 0x3d, 0x19, 0xf9, 0x2a, 0x2c, 0x27, 0xc9, 0x59, 0xf5, 0xea, 0x5b, 0xb0, - 0xa2, 0xe1, 0xa1, 0xf3, 0x08, 0x1f, 0x95, 0x75, 0x0b, 0x56, 0xd3, 0x0c, 0x38, 0xf3, 0xf7, 0x61, - 0x25, 0x82, 0xf6, 0x02, 0x23, 0x18, 0xf9, 0x87, 0x62, 0xce, 0x57, 0x91, 0x0f, 0x1c, 0x9f, 0x75, - 0x64, 0x55, 0x13, 0x9f, 0xea, 0x0a, 0x4c, 0x77, 0x1d, 0xb3, 0xd3, 0x45, 0xf3, 0x50, 0xb2, 0x5c, - 0x4e, 0x5c, 0xb2, 0x5c, 0xb5, 0x1f, 0xaf, 0x73, 0x93, 0x45, 0x9d, 0xac, 0xea, 0x24, 0x2a, 0xba, - 0x01, 0xf3, 0x86, 0x69, 0x5a, 0xc4, 0x90, 0x8c, 0x81, 0x6e, 0xb9, 0x22, 0x68, 0x5e, 0x4c, 0x74, - 0x7d, 0xa7, 0xab, 0x35, 0x22, 0xc4, 0x8e, 0xeb, 0xab, 0x77, 0xa0, 0x16, 0x05, 0xe8, 0xaf, 0x44, - 0x2b, 0xc2, 0xd2, 0xf8, 0x58, 0x2e, 0x5c, 0x2e, 0x6e, 0xa6, 0x26, 0x49, 0x2e, 0xe6, 0x2b, 0x00, - 0xa1, 0x53, 0x15, 0xe1, 0xe1, 0xf1, 0x4c, 0x96, 0x5a, 0x0c, 0x51, 0xfd, 0xf7, 0x4a, 0xdc, 0xc9, - 0xc6, 0x9a, 0x6c, 0x86, 0x4d, 0x36, 0x25, 0xa7, 0x5b, 0x3a, 0xa4, 0xd3, 0x7d, 0x11, 0xa6, 0xfd, - 0xc0, 0x08, 0x30, 0x8f, 0xc7, 0x4f, 0x66, 0x13, 0x92, 0x8a, 0xb1, 0xc6, 0x30, 0xd1, 0x69, 0x80, - 0xbe, 0x87, 0x8d, 0x00, 0x9b, 0xba, 0xc1, 0x66, 0x85, 0xb2, 0x56, 0xe3, 0x90, 0x76, 0x40, 0xbc, - 0x88, 0x58, 0x41, 0x64, 0x4c, 0x84, 0x39, 0xdd, 0x18, 0xad, 0x25, 0x42, 0xef, 0x35, 0x33, 0xd6, - 0x7b, 0x71, 0x52, 0xee, 0xbd, 0x22, 0x4f, 0x3c, 0x5b, 0xe4, 0x89, 0x19, 0xd1, 0x24, 0x9e, 0xb8, - 0x5a, 0xe4, 0x89, 0x39, 0x9b, 0x62, 0x4f, 0x9c, 0xe1, 0x48, 0x6a, 0x59, 0x8e, 0xe4, 0xb3, 0x74, - 0x9d, 0x7f, 0x51, 0x82, 0xd5, 0xf4, 0x78, 0xe6, 0x7e, 0xec, 0x65, 0x98, 0xf1, 0x29, 0xa4, 0xd8, - 0x7f, 0x72, 0x2a, 0x8e, 0x8b, 0xee, 0x40, 0xc5, 0xb2, 0x77, 0x1d, 0x3e, 0xf0, 0xae, 0x14, 0xd2, - 0xf0, 0x9a, 0xae, 0x74, 0xec, 0x5d, 0x87, 0x69, 0x90, 0xd2, 0xa2, 0x7b, 0x70, 0x2c, 0x5c, 0x59, - 0xfb, 0x3a, 0x63, 0x8c, 0x45, 0x9c, 0x27, 0x59, 0x69, 0x18, 0x55, 0x71, 0x8e, 0x28, 0xa2, 0xeb, - 0x71, 0x32, 0x12, 0xe3, 0x10, 0x74, 0x3f, 0x30, 0x86, 0xae, 0xb0, 0xd8, 0x10, 0xd0, 0x7a, 0x0d, - 0x6a, 0x61, 0xf5, 0x87, 0xd2, 0x5d, 0x07, 0x96, 0x12, 0x63, 0x84, 0x2d, 0x24, 0xc3, 0x41, 0xa5, - 0x4c, 0x3a, 0xa8, 0xd4, 0x9f, 0x2a, 0xf1, 0x81, 0xfe, 0xb6, 0x35, 0x08, 0xb0, 0x97, 0x1a, 0xe8, - 0xaf, 0x0a, 0xbe, 0x6c, 0x94, 0x9f, 0x2b, 0xe0, 0xcb, 0xd6, 0x69, 0x7c, 0xc4, 0xbe, 0x07, 0xf3, - 0xd4, 0xc4, 0x75, 0x1f, 0x0f, 0x68, 0xac, 0xc4, 0xf5, 0x78, 0x35, 0x9b, 0x01, 0xab, 0x9d, 0x0d, - 0x91, 0x1e, 0xa7, 0x60, 0x7d, 0xd3, 0x18, 0xc4, 0x61, 0xad, 0xdb, 0x80, 0xd2, 0x48, 0x87, 0xd2, - 0xe0, 0x7d, 0xe2, 0x2f, 0xfd, 0x20, 0x73, 0xe6, 0xde, 0xa5, 0x62, 0x14, 0x5b, 0x1e, 0x13, 0x55, - 0xe3, 0xb8, 0xea, 0xbf, 0x96, 0x01, 0xa2, 0xc2, 0xcf, 0xb9, 0xa3, 0xbc, 0x15, 0x3a, 0x2c, 0x16, - 0x71, 0xaa, 0xd9, 0x2c, 0x33, 0x5d, 0x55, 0x47, 0x76, 0x55, 0x2c, 0xf6, 0x7c, 0x2e, 0x87, 0xc1, - 0xa1, 0x9d, 0xd4, 0xec, 0xe7, 0xcd, 0x49, 0xbd, 0x0d, 0xcb, 0x49, 0x33, 0xe1, 0x1e, 0xea, 0x05, - 0x98, 0xb6, 0x02, 0x3c, 0x64, 0xbb, 0xbd, 0x89, 0x0d, 0x8b, 0x18, 0x3a, 0x43, 0x52, 0xdf, 0x84, - 0x65, 0xb9, 0xaf, 0x0e, 0x17, 0xba, 0xa8, 0xf7, 0x92, 0xb1, 0x4f, 0xe4, 0x2a, 0xb9, 0x7d, 0x64, - 0x6e, 0xfd, 0x24, 0x69, 0x18, 0xa6, 0xfa, 0x03, 0x05, 0x8e, 0x27, 0x8a, 0x72, 0x06, 0xfe, 0x57, - 0x53, 0x03, 0x98, 0xf9, 0xd6, 0x97, 0x0b, 0x6a, 0xf9, 0x14, 0x47, 0xf1, 0x97, 0xa1, 0x25, 0x77, - 0x8f, 0xa4, 0xda, 0x9b, 0x89, 0xa1, 0x7c, 0x7e, 0xac, 0xd0, 0xe1, 0x78, 0xee, 0xc2, 0xc9, 0x4c, - 0xc6, 0x69, 0x9d, 0x97, 0x27, 0xd4, 0xf9, 0xff, 0x94, 0xe2, 0x3e, 0xbb, 0x1d, 0x04, 0x9e, 0xf5, - 0x60, 0x14, 0xe0, 0x4f, 0x36, 0xa8, 0x5a, 0x0f, 0x47, 0x36, 0xf3, 0xb3, 0x2f, 0x64, 0x53, 0x46, - 0xb5, 0x67, 0x8e, 0xf1, 0x9e, 0x3c, 0xc6, 0x2b, 0x94, 0xd5, 0x8b, 0x63, 0x59, 0x15, 0x8e, 0xf6, - 0xcf, 0x72, 0x10, 0xff, 0x83, 0x02, 0x0b, 0x89, 0x5e, 0x41, 0xb7, 0x01, 0x8c, 0x50, 0x74, 0x6e, - 0x1f, 0xe7, 0xc6, 0x35, 0x51, 0x8b, 0xd1, 0x90, 0x39, 0x91, 0xc5, 0x8b, 0x19, 0x73, 0x62, 0x46, - 0xbc, 0x18, 0x86, 0x8b, 0xaf, 0x47, 0x8b, 0x5d, 0xb6, 0x49, 0xaa, 0x16, 0x2e, 0x76, 0x19, 0xad, - 0x20, 0x51, 0x7f, 0xad, 0x04, 0x4b, 0x59, 0xdc, 0xd1, 0xb3, 0x50, 0xee, 0xbb, 0x23, 0xde, 0x12, - 0xe9, 0x68, 0x68, 0xcd, 0x1d, 0xed, 0xf8, 0xc6, 0x1e, 0xd6, 0x08, 0x02, 0xba, 0x0a, 0x33, 0x43, - 0x3c, 0x74, 0xbc, 0x03, 0x2e, 0xb7, 0xb4, 0xdd, 0x70, 0x9f, 0x96, 0x30, 0x6c, 0x8e, 0x86, 0xae, - 0x47, 0x61, 0x35, 0x93, 0x77, 0x55, 0x5a, 0x3d, 0xb0, 0x22, 0x46, 0x12, 0xc6, 0xd2, 0xd7, 0x61, - 0xd6, 0xf5, 0x9c, 0x3e, 0xf6, 0x7d, 0xbe, 0x1b, 0xb2, 0x9a, 0x38, 0xab, 0x22, 0x45, 0x9c, 0x86, - 0x23, 0xa2, 0x5b, 0x00, 0x51, 0x00, 0xc5, 0x67, 0xa6, 0x56, 0x6e, 0xbc, 0xe5, 0x6b, 0x31, 0x6c, - 0xf5, 0x7b, 0x25, 0x58, 0xce, 0xd6, 0x1c, 0xba, 0x1c, 0xd7, 0xcb, 0xc9, 0x0c, 0x55, 0xcb, 0xea, - 0x79, 0x35, 0xa1, 0x9e, 0x33, 0x19, 0x14, 0x59, 0x5a, 0xba, 0x99, 0xd4, 0xd2, 0xd9, 0x0c, 0xc2, - 0x6c, 0x65, 0xdd, 0x4c, 0x2a, 0x2b, 0x8b, 0x34, 0x5b, 0x67, 0xed, 0x0c, 0x9d, 0x9d, 0xcf, 0x6a, - 0x63, 0xbe, 0xea, 0xfe, 0x56, 0x81, 0xb9, 0xb8, 0x5c, 0x72, 0xc8, 0xaa, 0x24, 0x42, 0x56, 0xb4, - 0x09, 0x8b, 0x26, 0xdb, 0xb9, 0xd5, 0x2d, 0x3b, 0xc0, 0xde, 0xae, 0xd1, 0x17, 0x51, 0xe1, 0xf9, - 0x0c, 0xbb, 0xe8, 0x08, 0x1c, 0x26, 0x78, 0x93, 0xd3, 0x86, 0x60, 0xd2, 0x82, 0x90, 0x8f, 0xf0, - 0x5a, 0x13, 0x30, 0x8a, 0x11, 0xa9, 0xff, 0xa2, 0xc0, 0xb1, 0x0c, 0x05, 0x8f, 0x69, 0xc8, 0x4e, - 0x7e, 0x43, 0x2e, 0xe4, 0x77, 0xdd, 0xd8, 0xf6, 0xbc, 0x93, 0xd1, 0x9e, 0xc9, 0xf9, 0xc5, 0x9b, - 0xf5, 0x33, 0x05, 0x8e, 0x67, 0x62, 0x65, 0x6e, 0xaf, 0x5e, 0x87, 0xaa, 0xf7, 0x44, 0x7f, 0x70, - 0x10, 0x60, 0x3f, 0x6b, 0x60, 0xef, 0xc4, 0xce, 0x50, 0x66, 0xbd, 0x27, 0x77, 0x08, 0x1e, 0x7a, - 0x19, 0x6a, 0xde, 0x13, 0x1d, 0x7b, 0x9e, 0xe3, 0x09, 0x5f, 0x94, 0x4b, 0x54, 0xf5, 0x9e, 0x6c, - 0x50, 0x44, 0x52, 0x53, 0x20, 0x6a, 0xaa, 0x8c, 0xa9, 0x29, 0x88, 0x6a, 0x0a, 0xc2, 0x9a, 0xa6, - 0xc7, 0xd4, 0x14, 0xf0, 0x9a, 0xd4, 0x3f, 0x28, 0xc1, 0xa9, 0x22, 0x75, 0x7d, 0x62, 0x8a, 0xd8, - 0x00, 0xe4, 0x3d, 0xd1, 0x5d, 0xa3, 0xff, 0x10, 0x07, 0xbe, 0x6e, 0x7a, 0x8e, 0xeb, 0x62, 0x73, - 0x9c, 0x46, 0x9a, 0xde, 0x93, 0x2e, 0xa3, 0x58, 0x67, 0x04, 0x47, 0xd2, 0xcc, 0x06, 0xa0, 0x20, - 0x5d, 0xf5, 0x18, 0x15, 0x35, 0x83, 0x44, 0xd5, 0xea, 0x87, 0x30, 0x17, 0xf7, 0x10, 0x63, 0x6c, - 0xff, 0x75, 0x68, 0x70, 0x0f, 0xa2, 0xf7, 0x9d, 0x91, 0x1d, 0x8c, 0x53, 0xd4, 0x1c, 0xc7, 0x5e, - 0x23, 0xc8, 0xea, 0xd7, 0xc3, 0xe1, 0xf6, 0xa9, 0x55, 0xf9, 0xcb, 0x25, 0xa8, 0x75, 0x86, 0xc6, - 0x1e, 0xee, 0xb9, 0xb8, 0x4f, 0x66, 0x7a, 0x8b, 0x7c, 0xf0, 0x7e, 0x67, 0x1f, 0xe8, 0x1d, 0x39, - 0x6a, 0x61, 0x71, 0xea, 0xb3, 0xd2, 0x39, 0xa2, 0xe0, 0x30, 0x66, 0x61, 0x72, 0x0d, 0x96, 0x46, - 0x3e, 0xf6, 0x74, 0xdf, 0xc5, 0x7d, 0x6b, 0xd7, 0xc2, 0xa6, 0xce, 0xaa, 0x43, 0xb4, 0x3a, 0x44, - 0xca, 0x7a, 0xa2, 0x88, 0xf2, 0xcc, 0x5a, 0xca, 0x1c, 0xcb, 0x5c, 0xca, 0x7c, 0xdc, 0x50, 0xe6, - 0x3a, 0x54, 0xbf, 0x88, 0x0f, 0xd8, 0x62, 0x7f, 0x42, 0x3a, 0xf5, 0xdb, 0x15, 0x58, 0xc9, 0x39, - 0x06, 0xa2, 0x2b, 0x45, 0x77, 0xa4, 0xbb, 0xd8, 0xb3, 0x1c, 0x53, 0xf4, 0x5a, 0xdf, 0x1d, 0x75, - 0x29, 0x00, 0x9d, 0x04, 0xf2, 0xa1, 0x7f, 0x7d, 0xe4, 0xf0, 0x60, 0xb4, 0xac, 0x55, 0xfb, 0xee, - 0xe8, 0x4b, 0xe4, 0x5b, 0xd0, 0xfa, 0xfb, 0x86, 0x87, 0x99, 0xff, 0x60, 0xb4, 0x3d, 0x0a, 0x40, - 0x2f, 0xc2, 0x71, 0x36, 0x37, 0xea, 0x03, 0x6b, 0x68, 0x11, 0x2f, 0x1b, 0x1b, 0x1a, 0x65, 0x0d, - 0xb1, 0xc2, 0x7b, 0xa4, 0xac, 0x63, 0xb3, 0xc1, 0xa0, 0x42, 0xc3, 0x71, 0x86, 0xba, 0xdf, 0x77, - 0x3c, 0xac, 0x1b, 0xe6, 0x87, 0x74, 0x1c, 0x94, 0xb5, 0xba, 0xe3, 0x0c, 0x7b, 0x04, 0xd6, 0x36, - 0x3f, 0x44, 0x67, 0xa1, 0xde, 0x77, 0x47, 0x3e, 0x0e, 0x74, 0xf2, 0x87, 0x6e, 0xd6, 0xd5, 0x34, - 0x60, 0xa0, 0x35, 0x77, 0xe4, 0xc7, 0x10, 0x86, 0x64, 0x79, 0x36, 0x1b, 0x47, 0xb8, 0x8f, 0x87, - 0xf4, 0xb4, 0x7b, 0x7f, 0xb4, 0x87, 0x5d, 0x63, 0x0f, 0x33, 0xd1, 0xc4, 0x8e, 0x9b, 0x74, 0xda, - 0xfd, 0x0e, 0x47, 0xa1, 0x02, 0x6a, 0xf3, 0xfb, 0xf1, 0x4f, 0x1f, 0xbd, 0x0b, 0xb3, 0x23, 0x9b, - 0x1a, 0xc0, 0x6a, 0x8d, 0xd2, 0x5e, 0x9b, 0xe0, 0xd0, 0xed, 0xca, 0x0e, 0x23, 0xe1, 0x67, 0x80, - 0x9c, 0x01, 0xba, 0x05, 0x2d, 0xae, 0x28, 0xff, 0xb1, 0xe1, 0x26, 0xb5, 0x05, 0x54, 0x05, 0xcb, - 0x0c, 0xa3, 0xf7, 0xd8, 0x70, 0xe3, 0x1a, 0x6b, 0xdd, 0x82, 0xb9, 0x38, 0xd3, 0x43, 0xd9, 0xd2, - 0x1d, 0x68, 0x48, 0x8d, 0x24, 0xbd, 0x4d, 0x95, 0xe2, 0x5b, 0xdf, 0x10, 0x63, 0xab, 0x4a, 0x00, - 0x3d, 0xeb, 0x1b, 0x34, 0x47, 0x81, 0x4a, 0x46, 0xf9, 0x54, 0x34, 0xf6, 0xa1, 0x1a, 0xd0, 0x90, - 0xd2, 0x02, 0x88, 0x4b, 0xa6, 0xe7, 0xff, 0xdc, 0x25, 0x93, 0xdf, 0x04, 0xe6, 0x39, 0x03, 0x21, - 0x01, 0xfd, 0x4d, 0x60, 0xf4, 0x00, 0x9a, 0x1d, 0xa7, 0xd1, 0xdf, 0xb4, 0x0a, 0xfc, 0x88, 0xe7, - 0xf7, 0xd4, 0x34, 0xf6, 0xa1, 0xfe, 0xb6, 0x02, 0xb0, 0x66, 0xb8, 0xc6, 0x03, 0x6b, 0x60, 0x05, - 0x07, 0xe8, 0x22, 0x34, 0x0d, 0xd3, 0xd4, 0xfb, 0x02, 0x62, 0x61, 0x91, 0x70, 0xb5, 0x60, 0x98, - 0xe6, 0x5a, 0x0c, 0x8c, 0x9e, 0x87, 0x45, 0xe2, 0x50, 0x65, 0x5c, 0x96, 0x81, 0xd5, 0x24, 0x05, - 0x12, 0xf2, 0x0d, 0x58, 0x25, 0x7c, 0x8d, 0xe1, 0x03, 0x0b, 0xdb, 0x81, 0x4c, 0xc3, 0x52, 0xb3, - 0x96, 0x0d, 0xd3, 0x6c, 0xb3, 0xe2, 0x38, 0xa5, 0xfa, 0x37, 0x33, 0x70, 0x5a, 0xee, 0xf1, 0x64, - 0xa6, 0xc6, 0x2d, 0x98, 0x4b, 0xc8, 0x9b, 0xca, 0x71, 0x88, 0x5a, 0xa8, 0x49, 0xb8, 0x89, 0x5c, - 0x84, 0x52, 0x2a, 0x17, 0x21, 0x33, 0x0b, 0xa4, 0xfc, 0x09, 0x65, 0x81, 0x54, 0x3e, 0x66, 0x16, - 0xc8, 0xf4, 0x51, 0xb3, 0x40, 0xe6, 0x26, 0xce, 0x02, 0x79, 0x96, 0xba, 0x5e, 0x51, 0x23, 0x0d, - 0x07, 0x98, 0x4f, 0x68, 0x84, 0xdc, 0x6d, 0x91, 0x05, 0x98, 0xc8, 0x16, 0x99, 0x3d, 0x4c, 0xb6, - 0x48, 0x35, 0x37, 0x5b, 0xe4, 0x1c, 0xcc, 0xd9, 0x8e, 0x6e, 0xe3, 0xc7, 0x3a, 0xe9, 0x16, 0x7f, - 0xb5, 0xce, 0xfa, 0xc8, 0x76, 0x36, 0xf1, 0xe3, 0x2e, 0x81, 0xa0, 0xf3, 0x30, 0x37, 0x34, 0xfc, - 0x87, 0xd8, 0xa4, 0x69, 0x1b, 0xfe, 0x6a, 0x83, 0xda, 0x53, 0x9d, 0xc1, 0xba, 0x04, 0x84, 0x9e, - 0x81, 0x50, 0x0e, 0x8e, 0x34, 0x4f, 0x91, 0x1a, 0x02, 0xca, 0xd0, 0x62, 0x99, 0x27, 0x0b, 0x47, - 0xcc, 0x3c, 0x69, 0x1e, 0x26, 0xf3, 0xe4, 0x32, 0x34, 0xc5, 0x6f, 0x91, 0x7a, 0xc2, 0x4e, 0x12, - 0x68, 0xd6, 0xc9, 0x82, 0x28, 0x13, 0xe9, 0x25, 0x79, 0x89, 0x2a, 0x50, 0x98, 0xa8, 0xf2, 0x87, - 0x0a, 0x5f, 0xd3, 0x86, 0x03, 0x88, 0x9f, 0x90, 0x4b, 0xc9, 0x0d, 0xca, 0x51, 0x92, 0x1b, 0xd0, - 0x76, 0x6e, 0xfa, 0xc7, 0xc5, 0x7c, 0x4e, 0xe3, 0x12, 0x40, 0xd4, 0xfb, 0xe1, 0x72, 0xf3, 0x93, - 0x48, 0x63, 0x53, 0xff, 0x53, 0x81, 0xd3, 0x9c, 0x5f, 0x4e, 0xae, 0x57, 0x86, 0x95, 0x2b, 0x39, - 0x56, 0xde, 0xf7, 0xb0, 0x89, 0xed, 0xc0, 0x32, 0x06, 0x34, 0x80, 0x11, 0x27, 0xc8, 0x11, 0x98, - 0xc6, 0x50, 0xe7, 0x61, 0x8e, 0xa5, 0x63, 0xf2, 0x95, 0x27, 0xcb, 0xba, 0xac, 0xd3, 0x8c, 0x4c, - 0xbe, 0xb8, 0xdc, 0xca, 0xf2, 0x2c, 0x95, 0xdc, 0x2d, 0x8b, 0xb1, 0x0e, 0x46, 0x75, 0x60, 0x25, - 0xe7, 0x2c, 0x3f, 0xb3, 0x9b, 0x94, 0x74, 0x37, 0x15, 0x2a, 0x29, 0xdd, 0x4d, 0xdf, 0x56, 0xe0, - 0x6c, 0x6a, 0x05, 0xfc, 0xd9, 0x6b, 0x56, 0xfd, 0x53, 0x25, 0xb4, 0x9f, 0xa4, 0xc9, 0xaf, 0xa5, - 0x4d, 0xfe, 0x99, 0xa2, 0x05, 0x7d, 0xa6, 0xd1, 0xbf, 0x97, 0x6b, 0xf4, 0xcf, 0x17, 0x6e, 0x0e, - 0x8c, 0xd3, 0xe7, 0xbf, 0x29, 0x70, 0x22, 0x57, 0x80, 0x44, 0x3c, 0xa8, 0x24, 0xe3, 0x41, 0x1e, - 0x4b, 0x46, 0xd1, 0x3f, 0x8b, 0x25, 0x69, 0x80, 0xcf, 0x83, 0x36, 0x7d, 0x68, 0x3c, 0xb1, 0x86, - 0xa3, 0x21, 0x0f, 0x26, 0x09, 0xbb, 0xfb, 0x0c, 0x72, 0x94, 0x68, 0xf2, 0x2a, 0x2c, 0x31, 0x47, - 0x4f, 0x03, 0x9a, 0x88, 0x82, 0x05, 0x95, 0x8b, 0xac, 0x8c, 0xc4, 0x36, 0x9c, 0x40, 0x6d, 0xc3, - 0x62, 0xd8, 0xac, 0xc2, 0x5c, 0xa6, 0x58, 0x6e, 0x52, 0x49, 0xce, 0x4d, 0xb2, 0x61, 0x66, 0x1d, - 0x3f, 0xb2, 0xfa, 0xf8, 0x13, 0x49, 0x8b, 0x3e, 0x07, 0x75, 0x17, 0x7b, 0x43, 0xcb, 0xf7, 0xc3, - 0x59, 0xbd, 0xa6, 0xc5, 0x41, 0xea, 0x59, 0xa8, 0xad, 0xad, 0x77, 0x78, 0x95, 0x19, 0xa2, 0xaa, - 0xff, 0x35, 0x03, 0x0b, 0x49, 0x1b, 0xbb, 0x99, 0xca, 0x95, 0x3a, 0x9d, 0xb9, 0xcf, 0x96, 0xb1, - 0xc1, 0xfc, 0xbc, 0x58, 0x7a, 0x95, 0xd2, 0x89, 0x04, 0xe1, 0xf2, 0x4a, 0xac, 0xc8, 0x56, 0x61, - 0xb6, 0xef, 0x0c, 0x87, 0x86, 0x6d, 0x8a, 0xe4, 0x76, 0xfe, 0x49, 0x24, 0x35, 0xbc, 0x3d, 0xb6, - 0xb5, 0x5c, 0xd3, 0xe8, 0x6f, 0x62, 0x02, 0xc4, 0x19, 0x5a, 0x36, 0xcd, 0xb6, 0xa2, 0xbd, 0x54, - 0xd3, 0x80, 0x83, 0xd6, 0x2d, 0x0f, 0x5d, 0x80, 0x0a, 0xb6, 0x1f, 0x89, 0x33, 0x27, 0x69, 0x8b, - 0x53, 0xac, 0x89, 0x34, 0x8a, 0x81, 0x2e, 0xc2, 0xcc, 0x90, 0x98, 0x95, 0x38, 0x91, 0x5f, 0x4c, - 0x25, 0x81, 0x6b, 0x1c, 0x01, 0xbd, 0x00, 0xb3, 0x26, 0xd5, 0x9e, 0x58, 0x04, 0x20, 0x29, 0x6f, - 0x8b, 0x16, 0x69, 0x02, 0x05, 0xbd, 0x15, 0xee, 0xaf, 0xd7, 0xd2, 0x07, 0x5f, 0x09, 0x35, 0x67, - 0x6e, 0xad, 0x6f, 0xca, 0x8b, 0x54, 0x48, 0xef, 0xd2, 0x27, 0xb9, 0x14, 0x2f, 0x55, 0x4f, 0x40, - 0x75, 0xe0, 0xec, 0x31, 0xeb, 0xa9, 0xb3, 0x9b, 0x11, 0x03, 0x67, 0x8f, 0x1a, 0xcf, 0x12, 0x4c, - 0xfb, 0x81, 0x69, 0xd9, 0x34, 0x96, 0xaa, 0x6a, 0xec, 0x83, 0x0c, 0x52, 0xfa, 0x43, 0x77, 0xec, - 0x3e, 0x5e, 0x6d, 0xd0, 0xa2, 0x1a, 0x85, 0x6c, 0xd9, 0x7d, 0xba, 0xa6, 0x0c, 0x82, 0x83, 0xd5, - 0x79, 0x0a, 0x27, 0x3f, 0xa3, 0x6d, 0xee, 0x85, 0x9c, 0x6d, 0xee, 0x84, 0xc0, 0x19, 0xdb, 0xdc, - 0xcd, 0xdc, 0x39, 0x23, 0x49, 0x2b, 0x48, 0x48, 0x1c, 0xb9, 0xb6, 0xde, 0xd1, 0x45, 0xd7, 0x2c, - 0xa6, 0x73, 0xca, 0x43, 0xb3, 0xd7, 0x20, 0xfc, 0xf9, 0x99, 0x9e, 0x32, 0x7c, 0x4f, 0x81, 0xe5, - 0x35, 0x7a, 0xc6, 0x1a, 0xf3, 0x8d, 0x87, 0x49, 0x4f, 0x7a, 0x29, 0xcc, 0x19, 0xcb, 0x48, 0xfc, - 0x49, 0x6a, 0x4a, 0xa4, 0x8c, 0xad, 0xc1, 0xbc, 0x60, 0xcb, 0x89, 0xcb, 0x13, 0x24, 0x9c, 0x35, - 0xfc, 0xf8, 0xa7, 0xfa, 0x3a, 0xac, 0xa4, 0x24, 0xe7, 0x27, 0x5d, 0xc9, 0xcb, 0x07, 0x4c, 0xf0, - 0xf8, 0xe5, 0x03, 0xf5, 0x16, 0x1c, 0xef, 0x05, 0x86, 0x17, 0xa4, 0x9a, 0x3d, 0x01, 0x2d, 0x4d, - 0x25, 0x93, 0x69, 0x79, 0xb6, 0x57, 0x0f, 0x96, 0x7a, 0x81, 0xe3, 0x1e, 0x81, 0x29, 0xf1, 0x3b, - 0xa4, 0xe5, 0xce, 0x48, 0xcc, 0x33, 0xe2, 0x53, 0x5d, 0x61, 0x89, 0x6f, 0xe9, 0xda, 0xbe, 0x00, - 0xcb, 0x2c, 0xef, 0xec, 0x28, 0x8d, 0x38, 0x21, 0xb2, 0xde, 0xd2, 0x7c, 0xef, 0xc2, 0x31, 0x69, - 0xef, 0x9d, 0xe7, 0x69, 0x5c, 0x93, 0xf3, 0x34, 0xf2, 0x8f, 0x39, 0xc2, 0x34, 0x8d, 0xef, 0x94, - 0x62, 0x7e, 0x3c, 0xe7, 0xb0, 0xf6, 0x15, 0x39, 0x4b, 0xe3, 0x6c, 0x3e, 0x57, 0x29, 0x49, 0x23, - 0x6d, 0x9d, 0xe5, 0x0c, 0xeb, 0xdc, 0x49, 0x9d, 0x04, 0x57, 0xd2, 0x59, 0x36, 0x09, 0x09, 0x3f, - 0x95, 0x33, 0xe0, 0x7b, 0x2c, 0x93, 0x23, 0xac, 0x3a, 0x3c, 0xfe, 0x7d, 0x29, 0x71, 0xfc, 0x7b, - 0xb2, 0x40, 0xd2, 0xf0, 0xe0, 0xf7, 0x3b, 0x15, 0xa8, 0x85, 0x65, 0x29, 0x0d, 0xa7, 0x55, 0x55, - 0xca, 0x50, 0x55, 0x7c, 0x7e, 0x2d, 0x1f, 0x71, 0x7e, 0xad, 0x4c, 0x30, 0xbf, 0x9e, 0x84, 0x1a, - 0xfd, 0x41, 0x93, 0xef, 0xd9, 0x7c, 0x59, 0xa5, 0x00, 0x0d, 0xef, 0x46, 0x26, 0x36, 0x33, 0xa1, - 0x89, 0x25, 0xb2, 0x46, 0x66, 0x93, 0x59, 0x23, 0x37, 0xc3, 0xb9, 0xaf, 0x9a, 0x3e, 0xa5, 0x09, - 0x39, 0x66, 0xce, 0x7a, 0x89, 0xad, 0xd9, 0x5a, 0x7a, 0x6b, 0x36, 0xa2, 0xff, 0xdc, 0x9e, 0x22, - 0x6f, 0xb1, 0x54, 0x90, 0xb8, 0x9d, 0x71, 0x1f, 0xf9, 0x8a, 0x74, 0x0a, 0xa7, 0x64, 0xcc, 0x55, - 0xa1, 0x5f, 0x88, 0x9f, 0xbc, 0xed, 0xc0, 0x72, 0x32, 0x85, 0xec, 0x50, 0x3e, 0x2e, 0x27, 0x97, - 0xf5, 0x37, 0xe2, 0x11, 0x5f, 0x4e, 0xe2, 0xe6, 0xcd, 0x54, 0x8e, 0xc1, 0xc4, 0x16, 0x7a, 0x4d, - 0x4e, 0x47, 0x3a, 0xb4, 0x5d, 0xa5, 0xb2, 0x91, 0x68, 0x44, 0x62, 0x78, 0xbc, 0x98, 0x05, 0xe7, - 0x35, 0x0e, 0x69, 0xd3, 0x95, 0xc1, 0xae, 0x65, 0x5b, 0xfe, 0x3e, 0x2b, 0x9f, 0x61, 0x2b, 0x03, - 0x01, 0x6a, 0xd3, 0x5d, 0x4b, 0xfc, 0xc4, 0x0a, 0xf4, 0xbe, 0x63, 0x62, 0x6a, 0xb5, 0xd3, 0x5a, - 0x95, 0x00, 0xd6, 0x1c, 0x13, 0x47, 0xe3, 0xa9, 0x7a, 0xd8, 0xf1, 0x54, 0x4b, 0x8c, 0xa7, 0x65, - 0x98, 0xf1, 0xb0, 0xe1, 0x3b, 0x36, 0xdb, 0xcc, 0xd0, 0xf8, 0x17, 0xe9, 0x88, 0x21, 0xf6, 0x7d, - 0x52, 0x07, 0x0f, 0xc0, 0xf8, 0x67, 0x2c, 0x58, 0x9c, 0x2b, 0x08, 0x16, 0x0b, 0xd2, 0x42, 0x13, - 0xc1, 0x62, 0xa3, 0x20, 0x58, 0x9c, 0x28, 0x2b, 0x34, 0x0a, 0x8b, 0xe7, 0xc7, 0x85, 0xc5, 0xf1, - 0xb8, 0x72, 0x41, 0x8e, 0x2b, 0x5f, 0x8f, 0xaf, 0x50, 0x9b, 0xe9, 0x43, 0xf2, 0xe2, 0xcb, 0x26, - 0x9f, 0xe1, 0x00, 0xfe, 0x47, 0x05, 0x56, 0x52, 0x03, 0x8e, 0x0f, 0xe1, 0x97, 0x12, 0xf9, 0xa6, - 0x85, 0x89, 0x9e, 0x22, 0xdd, 0xb4, 0x2d, 0xa5, 0x9b, 0x5e, 0x2e, 0x22, 0xc9, 0xc9, 0x36, 0x3d, - 0x7a, 0x06, 0xe8, 0xb7, 0x14, 0x40, 0x19, 0x6b, 0xf0, 0x9b, 0x22, 0x5a, 0x3f, 0xc4, 0x6e, 0x19, - 0x0f, 0xd8, 0xdf, 0x8a, 0x02, 0xf6, 0xd2, 0x61, 0xf6, 0x1d, 0xc2, 0xd4, 0x94, 0x1f, 0x97, 0xe0, - 0xec, 0x8e, 0x6b, 0x26, 0xc2, 0x48, 0x8e, 0x35, 0xb9, 0x67, 0xbb, 0x29, 0xe7, 0xd5, 0x1c, 0xb1, - 0x09, 0xe5, 0xa3, 0x34, 0x01, 0x7d, 0x2d, 0x2b, 0xf3, 0xe9, 0x75, 0xe9, 0x8c, 0xb2, 0xb8, 0x81, - 0x63, 0xa6, 0xaf, 0x8f, 0x6b, 0xc2, 0x2a, 0x9c, 0xcb, 0x17, 0x80, 0x87, 0x9c, 0xff, 0x1f, 0x16, - 0x36, 0x9e, 0xe0, 0x7e, 0xef, 0xc0, 0xee, 0x1f, 0x42, 0xeb, 0x4d, 0x28, 0xf7, 0x87, 0x26, 0x3f, - 0x1d, 0x21, 0x3f, 0xe3, 0x51, 0x74, 0x59, 0x8e, 0xa2, 0x75, 0x68, 0x46, 0x35, 0xf0, 0x01, 0xb4, - 0x4c, 0x06, 0x90, 0x49, 0x90, 0x09, 0xf3, 0x39, 0x8d, 0x7f, 0x71, 0x38, 0xf6, 0xd8, 0x4d, 0x16, - 0x06, 0xc7, 0x9e, 0x27, 0x7b, 0xed, 0xb2, 0xec, 0xb5, 0xd5, 0xef, 0x2a, 0x50, 0x27, 0x35, 0x7c, - 0x2c, 0xf9, 0xf9, 0x52, 0xb6, 0x1c, 0x2d, 0x65, 0xc3, 0x15, 0x71, 0x25, 0xbe, 0x22, 0x8e, 0x24, - 0x9f, 0xa6, 0xe0, 0xb4, 0xe4, 0x33, 0x21, 0x1c, 0x7b, 0x9e, 0x7a, 0x0e, 0xe6, 0x98, 0x6c, 0xbc, - 0xe5, 0x4d, 0x28, 0x8f, 0xbc, 0x81, 0xe8, 0xbf, 0x91, 0x37, 0x50, 0xbf, 0xa9, 0x40, 0xa3, 0x1d, - 0x04, 0x46, 0x7f, 0xff, 0x10, 0x0d, 0x08, 0x85, 0x2b, 0xc5, 0x85, 0x4b, 0x37, 0x22, 0x12, 0xb7, - 0x92, 0x23, 0xee, 0xb4, 0x24, 0xae, 0x0a, 0xf3, 0x42, 0x96, 0x5c, 0x81, 0x37, 0x01, 0x75, 0x1d, - 0x2f, 0x78, 0xdb, 0xf1, 0x1e, 0x1b, 0x9e, 0x79, 0xb8, 0x55, 0x2b, 0x82, 0x0a, 0x7f, 0x5b, 0xa0, - 0x7c, 0x61, 0x5a, 0xa3, 0xbf, 0xd5, 0xe7, 0xe0, 0x98, 0xc4, 0x2f, 0xb7, 0xe2, 0x5b, 0x50, 0xa7, - 0xb3, 0x30, 0x5f, 0xd0, 0x3c, 0x1f, 0x3f, 0xd8, 0x1f, 0x33, 0x5b, 0xab, 0xeb, 0xb0, 0x48, 0xe2, - 0x31, 0x0a, 0x0f, 0xfd, 0xcb, 0xd5, 0x44, 0xcc, 0xbf, 0x92, 0x62, 0x91, 0x88, 0xf7, 0x7f, 0xaa, - 0xc0, 0x34, 0x3b, 0xc3, 0x4f, 0xc6, 0x48, 0x27, 0xc9, 0x3c, 0xe7, 0x3a, 0x7a, 0x60, 0xec, 0x85, - 0xef, 0x36, 0x10, 0xc0, 0xb6, 0xb1, 0x47, 0x4f, 0x74, 0x68, 0xa1, 0x69, 0xed, 0x61, 0x3f, 0x10, - 0x27, 0x84, 0x75, 0x02, 0x5b, 0x67, 0x20, 0xa2, 0x18, 0x7a, 0x90, 0x5a, 0xa1, 0xe7, 0xa5, 0xf4, - 0x37, 0xba, 0xc0, 0x2e, 0x41, 0x16, 0x1f, 0x8b, 0xd1, 0xcb, 0x91, 0x2d, 0xa8, 0x26, 0xce, 0xb3, - 0xc2, 0x6f, 0x74, 0x11, 0x2a, 0x74, 0xff, 0x79, 0xb6, 0x48, 0x4b, 0x14, 0x85, 0x58, 0x85, 0x6b, - 0xd9, 0x36, 0x36, 0x69, 0x00, 0x54, 0xd5, 0xf8, 0x97, 0xfa, 0x16, 0xa0, 0xb8, 0xf2, 0x78, 0x07, - 0x5d, 0x84, 0x19, 0xaa, 0x5b, 0x11, 0xc4, 0x2e, 0xa6, 0x58, 0x6b, 0x1c, 0x41, 0xfd, 0x2a, 0x20, - 0x56, 0x97, 0x14, 0xb8, 0x1e, 0xa6, 0x03, 0x0b, 0x42, 0xd8, 0x3f, 0x53, 0xe0, 0x98, 0xc4, 0x9d, - 0xcb, 0xf7, 0x9c, 0xcc, 0x3e, 0x43, 0x3c, 0xce, 0xfa, 0x0d, 0x69, 0x66, 0xbe, 0x98, 0x16, 0xe3, - 0xe7, 0x34, 0x2b, 0xff, 0x93, 0x02, 0xd0, 0x1e, 0x05, 0xfb, 0x7c, 0xa3, 0x35, 0xde, 0x89, 0x4a, - 0xa2, 0x13, 0x5b, 0x50, 0x75, 0x0d, 0xdf, 0x7f, 0xec, 0x78, 0x62, 0x11, 0x19, 0x7e, 0xd3, 0xed, - 0xd1, 0x11, 0x7f, 0xcc, 0xa1, 0xa6, 0xd1, 0xdf, 0xe8, 0x19, 0x98, 0x67, 0x0f, 0x8a, 0xe8, 0x86, - 0x69, 0x7a, 0x22, 0x59, 0xb0, 0xa6, 0x35, 0x18, 0xb4, 0xcd, 0x80, 0x04, 0xcd, 0xa2, 0xa7, 0x11, - 0xc1, 0x81, 0x1e, 0x38, 0x0f, 0xb1, 0xcd, 0x17, 0x86, 0x0d, 0x01, 0xdd, 0x26, 0x40, 0x76, 0xdc, - 0xb8, 0x67, 0xf9, 0x81, 0x27, 0xd0, 0xc4, 0xa1, 0x29, 0x87, 0x52, 0x34, 0xf5, 0x8f, 0x14, 0x68, - 0x76, 0x47, 0x83, 0x01, 0x53, 0xee, 0x51, 0x3a, 0xf9, 0x12, 0x6f, 0x4a, 0x29, 0x6d, 0xf2, 0x91, - 0xa2, 0x78, 0x13, 0x3f, 0x91, 0xbd, 0xac, 0x6b, 0xb0, 0x18, 0x93, 0x98, 0x1b, 0x8e, 0x14, 0xd9, - 0x2b, 0x72, 0x64, 0xaf, 0xb6, 0x01, 0xb1, 0xed, 0x9b, 0x23, 0xb7, 0x52, 0x3d, 0x0e, 0xc7, 0x24, - 0x16, 0x7c, 0x2a, 0xbe, 0x04, 0x0d, 0x9e, 0xb8, 0xc6, 0x0d, 0xe2, 0x04, 0x54, 0x89, 0x4b, 0xed, - 0x5b, 0xa6, 0xc8, 0x90, 0x98, 0x75, 0x1d, 0x73, 0xcd, 0x32, 0x3d, 0xf5, 0x4b, 0xd0, 0xe0, 0x37, - 0xe3, 0x39, 0xee, 0x6d, 0x98, 0xe7, 0xe7, 0x83, 0xba, 0x74, 0x95, 0xf4, 0x44, 0x46, 0x76, 0xa4, - 0x50, 0x85, 0x1d, 0xff, 0x54, 0xbf, 0x06, 0x2d, 0x16, 0x2d, 0x48, 0x8c, 0x45, 0x03, 0x6f, 0x83, - 0x48, 0x4e, 0x2a, 0xe0, 0x2f, 0x53, 0x36, 0xbc, 0xf8, 0xa7, 0x7a, 0x1a, 0x4e, 0x66, 0xf2, 0xe7, - 0xad, 0x77, 0xa1, 0x19, 0x15, 0xb0, 0xfb, 0x8e, 0x61, 0xda, 0x87, 0x12, 0x4b, 0xfb, 0x58, 0x0e, - 0x63, 0xef, 0x92, 0x98, 0xb9, 0x68, 0x78, 0x1d, 0xad, 0xb8, 0xca, 0x79, 0x2b, 0xae, 0x8a, 0xb4, - 0xe2, 0x52, 0xef, 0x87, 0x3a, 0xe4, 0xeb, 0xde, 0xd7, 0xe9, 0xca, 0x9c, 0xd5, 0x2d, 0x9c, 0xda, - 0xa9, 0xec, 0xf6, 0x31, 0x24, 0x2d, 0x86, 0xaf, 0x5e, 0x84, 0x86, 0xec, 0xde, 0x62, 0x1e, 0x4b, - 0x49, 0x79, 0xac, 0xf9, 0x84, 0xb3, 0x7a, 0x31, 0xb1, 0xa4, 0xc8, 0xd2, 0x6b, 0x62, 0x41, 0x71, - 0x43, 0x72, 0x5b, 0x4f, 0x4b, 0x47, 0xf4, 0x3f, 0x27, 0x8f, 0xb5, 0xc4, 0xfd, 0xf8, 0xdb, 0x3e, - 0xa1, 0xe7, 0x0d, 0x55, 0x9f, 0x82, 0xfa, 0x4e, 0xde, 0xfb, 0x24, 0x15, 0x91, 0x57, 0xf6, 0x2a, - 0x2c, 0xbd, 0x6d, 0x0d, 0xb0, 0x7f, 0xe0, 0x07, 0x78, 0xd8, 0xa1, 0xee, 0x65, 0xd7, 0xc2, 0x1e, - 0x3a, 0x03, 0x40, 0x57, 0x91, 0xae, 0x63, 0x85, 0x6f, 0x32, 0xc4, 0x20, 0xea, 0x8f, 0x14, 0x58, - 0x88, 0x08, 0x27, 0x49, 0x1e, 0x7c, 0x05, 0xa6, 0x77, 0x7d, 0xb1, 0xdb, 0x96, 0x38, 0x83, 0xc8, - 0x12, 0x41, 0xab, 0xec, 0xfa, 0x1d, 0x13, 0xbd, 0x0a, 0x30, 0xf2, 0xb1, 0xc9, 0x8f, 0xfd, 0xc6, - 0xa4, 0x73, 0xd6, 0x08, 0x2a, 0x3b, 0x38, 0xbc, 0x01, 0x75, 0xcb, 0x76, 0x4c, 0x4c, 0x8f, 0x84, - 0xcd, 0x71, 0xa9, 0x9c, 0xc0, 0x70, 0x77, 0x7c, 0x6c, 0xaa, 0xbf, 0x17, 0x1d, 0xec, 0x7e, 0x9e, - 0x5b, 0xa8, 0xfe, 0xb1, 0x98, 0x60, 0x45, 0xb7, 0x73, 0x9b, 0x7d, 0x07, 0x16, 0x99, 0x9f, 0xdc, - 0x0d, 0xeb, 0xcc, 0xbc, 0xe3, 0x92, 0x68, 0x9c, 0xd6, 0xb4, 0x78, 0x68, 0x25, 0x88, 0x50, 0x17, - 0x8e, 0x47, 0x11, 0x6f, 0x9c, 0x5b, 0x69, 0x3c, 0xb7, 0xa5, 0x7e, 0x6c, 0x73, 0x56, 0x10, 0xaa, - 0xb7, 0xe0, 0x78, 0x22, 0x8d, 0x7d, 0xf2, 0x1d, 0xfa, 0x77, 0x13, 0x5b, 0x6d, 0xd1, 0x28, 0xbd, - 0x26, 0xdf, 0x9e, 0x2a, 0xba, 0x70, 0xc0, 0x2f, 0xf2, 0xec, 0xc0, 0x09, 0x69, 0x1f, 0x50, 0x92, - 0xe5, 0x46, 0x22, 0xfe, 0x3c, 0x97, 0xcf, 0x2f, 0x11, 0x88, 0xfe, 0xb7, 0x02, 0x4b, 0x59, 0x08, - 0x47, 0xdc, 0x83, 0xfe, 0x20, 0xe7, 0xe6, 0xe5, 0x4b, 0xe3, 0x04, 0xfa, 0x54, 0xf6, 0xec, 0x37, - 0xd9, 0xbd, 0xad, 0xf1, 0x7d, 0x52, 0x9e, 0xac, 0x4f, 0x7e, 0x5a, 0x8a, 0x9d, 0xb3, 0x14, 0xdc, - 0xad, 0xfa, 0x18, 0xfb, 0x9e, 0x6b, 0x89, 0xab, 0x55, 0xcf, 0x67, 0x12, 0x8e, 0xb9, 0x59, 0xa5, - 0x65, 0xed, 0x2f, 0x5c, 0x1b, 0xc7, 0xe9, 0x73, 0xbb, 0x25, 0xfe, 0x9b, 0x25, 0x98, 0x97, 0x3b, - 0x04, 0xbd, 0x95, 0x71, 0xaf, 0xea, 0xec, 0x98, 0x06, 0x4a, 0xd7, 0xaa, 0xf8, 0x3d, 0xa6, 0xd2, - 0xe4, 0xf7, 0x98, 0xca, 0x93, 0xdd, 0x63, 0xba, 0x03, 0xf3, 0x8f, 0x3d, 0x2b, 0x30, 0x1e, 0x0c, - 0xb0, 0x3e, 0x30, 0x0e, 0xb0, 0xc7, 0x1d, 0x7b, 0xa1, 0x2b, 0x6a, 0x08, 0x92, 0x7b, 0x84, 0x82, - 0xae, 0xbc, 0x1e, 0x1b, 0x2e, 0x5f, 0xc0, 0x49, 0x31, 0x61, 0xef, 0xb1, 0xe1, 0x32, 0x1a, 0x8a, - 0xa2, 0x7e, 0xb3, 0x04, 0xc7, 0x33, 0x6f, 0xdf, 0x7c, 0x7c, 0x15, 0x5d, 0x8e, 0xab, 0xe8, 0x30, - 0x57, 0x9a, 0xca, 0x87, 0xba, 0xd2, 0xd4, 0xc9, 0x51, 0x58, 0xd6, 0x41, 0x7e, 0xb1, 0xde, 0xd4, - 0xbf, 0x54, 0xa0, 0x2a, 0x84, 0x1a, 0x7b, 0xc1, 0x68, 0x65, 0x44, 0xd0, 0x74, 0x9a, 0x04, 0x6e, - 0x1b, 0xb6, 0xa3, 0xfb, 0x98, 0x04, 0x65, 0x63, 0xaf, 0x73, 0x2c, 0x51, 0xba, 0x35, 0xc7, 0xc3, - 0x9b, 0x86, 0xed, 0xf4, 0x18, 0x11, 0x6a, 0x43, 0x93, 0xf1, 0xa3, 0xac, 0x08, 0xd3, 0xb1, 0x13, - 0xe5, 0x3c, 0x25, 0x20, 0x4c, 0x08, 0x33, 0x5f, 0xfd, 0xbe, 0x02, 0x0b, 0x09, 0xcd, 0xfe, 0xe2, - 0x35, 0xe2, 0x77, 0xcb, 0x50, 0x8f, 0xf5, 0xf2, 0x98, 0x06, 0xac, 0xc1, 0xa2, 0x48, 0xc6, 0xf1, - 0x71, 0x30, 0xd9, 0x75, 0x9a, 0x05, 0x4e, 0xd1, 0xc3, 0x01, 0x8b, 0xa3, 0x6e, 0xc3, 0x82, 0xf1, - 0xc8, 0xb0, 0x06, 0xd4, 0x82, 0x26, 0x0a, 0x51, 0xe6, 0x43, 0xfc, 0x30, 0x12, 0x63, 0xed, 0x9e, - 0xe8, 0x52, 0x0d, 0x50, 0xdc, 0xe8, 0x6e, 0x93, 0xef, 0xc7, 0x32, 0xbe, 0x0a, 0xef, 0x36, 0xf9, - 0x7e, 0x58, 0x1f, 0xcd, 0x80, 0xa7, 0x97, 0xba, 0x7c, 0xfe, 0x12, 0x48, 0x7e, 0x7d, 0x04, 0xf7, - 0x6d, 0x8a, 0x4a, 0x14, 0x36, 0x34, 0x3e, 0x74, 0x3c, 0x3d, 0x4e, 0x3f, 0x3b, 0x46, 0x61, 0x94, - 0xa2, 0x1b, 0x32, 0x51, 0xff, 0x5c, 0x81, 0x5a, 0xe8, 0x47, 0xc6, 0xf4, 0x50, 0x07, 0x96, 0xe8, - 0x75, 0x81, 0xa4, 0x86, 0xc7, 0x74, 0x12, 0x22, 0x44, 0x6d, 0x59, 0xcb, 0x6d, 0x68, 0x52, 0x56, - 0x71, 0x55, 0x8f, 0xeb, 0x28, 0x5f, 0x88, 0xc9, 0x02, 0xca, 0xbf, 0x2a, 0x01, 0x4a, 0xbb, 0x92, - 0x5f, 0x18, 0x23, 0x8b, 0x77, 0x5a, 0x65, 0xf2, 0x4e, 0xbf, 0x0b, 0xc7, 0xfa, 0xce, 0x70, 0x68, - 0xd1, 0xab, 0x26, 0x8e, 0x77, 0x30, 0x99, 0xb9, 0x2d, 0x32, 0x1a, 0xa6, 0x27, 0xa6, 0xbe, 0x37, - 0xe1, 0x84, 0x86, 0x1d, 0x17, 0xdb, 0xa1, 0xeb, 0xbf, 0xe7, 0xec, 0x1d, 0x22, 0xbe, 0x3d, 0x05, - 0xad, 0x2c, 0x7a, 0xbe, 0x10, 0x1f, 0x41, 0x6b, 0x6d, 0x1f, 0xf7, 0x1f, 0xd2, 0xe5, 0xd7, 0x51, - 0x12, 0x6a, 0x5a, 0x50, 0x1d, 0x38, 0x7d, 0xf6, 0xac, 0x2a, 0xdf, 0xab, 0x12, 0xdf, 0x05, 0xc7, - 0x04, 0xa7, 0xe1, 0x64, 0x66, 0xb5, 0x5c, 0x2a, 0x04, 0xcd, 0xbb, 0x38, 0xd8, 0x78, 0x84, 0xed, - 0x30, 0x7c, 0x56, 0x7f, 0x50, 0x8a, 0x05, 0xea, 0xb4, 0xe8, 0x10, 0x89, 0x48, 0xa8, 0x0b, 0xd1, - 0xca, 0x41, 0xc7, 0x84, 0x9a, 0x3d, 0x72, 0xc8, 0x9e, 0x07, 0xcd, 0x3e, 0xa4, 0xa4, 0x95, 0xd0, - 0xb7, 0x0d, 0xa3, 0xe7, 0x5b, 0x42, 0x58, 0xe2, 0xe8, 0xba, 0x9c, 0x3c, 0xba, 0x7e, 0x17, 0x50, - 0x3c, 0x14, 0xe7, 0xcb, 0xfd, 0xca, 0x04, 0x2f, 0xd6, 0x34, 0xdd, 0xe4, 0xdb, 0x4a, 0x39, 0xef, - 0xce, 0x4c, 0x1f, 0xe9, 0xdd, 0x19, 0xf5, 0x0c, 0x9c, 0x22, 0x01, 0xf6, 0x7d, 0x1c, 0x78, 0x56, - 0x7f, 0x1d, 0xfb, 0x7d, 0xcf, 0x72, 0x03, 0x27, 0xcc, 0x8d, 0x51, 0x75, 0x38, 0x9d, 0x53, 0xce, - 0xd5, 0xfd, 0x26, 0xd4, 0xcd, 0x08, 0x9c, 0xb5, 0x75, 0x92, 0xa4, 0xd5, 0xe2, 0x04, 0xea, 0xfb, - 0xd0, 0x4c, 0x22, 0x64, 0xa6, 0xd2, 0x22, 0xa8, 0xec, 0xe3, 0x81, 0x2b, 0xee, 0x06, 0x91, 0xdf, - 0x44, 0xeb, 0x6c, 0xed, 0xf2, 0x10, 0x1f, 0x88, 0xad, 0xf5, 0x1a, 0x85, 0x7c, 0x11, 0x1f, 0x84, - 0x6d, 0x93, 0x1e, 0x42, 0xf0, 0xac, 0x7e, 0xb2, 0x6d, 0x19, 0xe5, 0x51, 0xdb, 0x48, 0xb7, 0x0d, - 0x19, 0x98, 0xb7, 0xed, 0x74, 0xee, 0x23, 0x0b, 0x94, 0x16, 0x5c, 0xc7, 0xe4, 0xbf, 0xd5, 0x3f, - 0x51, 0x60, 0x31, 0x85, 0x31, 0xe1, 0x71, 0xc9, 0x0b, 0x30, 0x2b, 0xea, 0x2d, 0xa5, 0xf3, 0x4d, - 0x19, 0x2f, 0x4d, 0xa0, 0xa0, 0x0e, 0x2c, 0x46, 0x16, 0x2d, 0xe8, 0xca, 0xe9, 0xbe, 0x88, 0x2f, - 0x5c, 0xa8, 0xb8, 0xcd, 0x7e, 0x02, 0xa2, 0xf6, 0xa1, 0x99, 0xc4, 0x9a, 0x64, 0x4c, 0x1d, 0x4a, - 0x5e, 0xf5, 0xef, 0x15, 0x98, 0x61, 0xb0, 0xcc, 0xce, 0x96, 0xa6, 0x83, 0x52, 0x72, 0x3a, 0x78, - 0x0d, 0xea, 0x8c, 0x8f, 0x1e, 0xde, 0x0c, 0x9b, 0x97, 0x77, 0x8c, 0x19, 0x6b, 0x3a, 0x5a, 0x61, - 0x18, 0xfe, 0x26, 0xcd, 0x60, 0xf6, 0x42, 0x57, 0x26, 0x22, 0xab, 0xb8, 0x4e, 0x61, 0xd4, 0xe5, - 0x92, 0x90, 0x99, 0xaf, 0x61, 0xc6, 0xf8, 0x66, 0xbe, 0xb5, 0xb5, 0x4c, 0x9f, 0xf5, 0x4b, 0xed, - 0x99, 0xaa, 0xdb, 0xf4, 0xdd, 0xbd, 0xf4, 0x5e, 0x27, 0xfa, 0x82, 0x7c, 0xee, 0xfe, 0x4c, 0xea, - 0xd0, 0x5a, 0x22, 0x1b, 0x79, 0xec, 0xf9, 0x69, 0x46, 0xa3, 0x7e, 0x00, 0x27, 0x72, 0x71, 0xd0, - 0x1b, 0xe1, 0x23, 0xa7, 0xa6, 0x67, 0x3d, 0xe2, 0x1b, 0x0b, 0xf3, 0xf2, 0x83, 0x0a, 0x6b, 0x14, - 0x61, 0x9d, 0x96, 0x8b, 0xe7, 0x4f, 0xd9, 0xd7, 0xa5, 0x67, 0xa1, 0x2a, 0x9e, 0x06, 0x47, 0xb3, - 0x50, 0xde, 0x5e, 0xeb, 0x36, 0xa7, 0xc8, 0x8f, 0x9d, 0xf5, 0x6e, 0x53, 0x41, 0x55, 0xa8, 0xf4, - 0xd6, 0xb6, 0xbb, 0xcd, 0xd2, 0xa5, 0x21, 0x34, 0x93, 0xaf, 0x63, 0xa3, 0x15, 0x38, 0xd6, 0xd5, - 0xb6, 0xba, 0xed, 0xbb, 0xed, 0xed, 0xce, 0xd6, 0xa6, 0xde, 0xd5, 0x3a, 0xef, 0xb5, 0xb7, 0x37, - 0x9a, 0x53, 0xe8, 0x3c, 0x9c, 0x8e, 0x17, 0xbc, 0xb3, 0xd5, 0xdb, 0xd6, 0xb7, 0xb7, 0xf4, 0xb5, - 0xad, 0xcd, 0xed, 0x76, 0x67, 0x73, 0x43, 0x6b, 0x2a, 0xe8, 0x34, 0x9c, 0x88, 0xa3, 0xdc, 0xe9, - 0xac, 0x77, 0xb4, 0x8d, 0x35, 0xf2, 0xbb, 0x7d, 0xaf, 0x59, 0xba, 0xf4, 0x06, 0x34, 0xa4, 0xbb, - 0x30, 0x44, 0xa4, 0xee, 0xd6, 0x7a, 0x73, 0x0a, 0x35, 0xa0, 0x16, 0xe7, 0x53, 0x85, 0xca, 0xe6, - 0xd6, 0xfa, 0x46, 0xb3, 0x84, 0x00, 0x66, 0xb6, 0xdb, 0xda, 0xdd, 0x8d, 0xed, 0x66, 0xf9, 0xd2, - 0xad, 0xe4, 0x83, 0x1e, 0x18, 0x2d, 0x42, 0xa3, 0xd7, 0xde, 0x5c, 0xbf, 0xb3, 0xf5, 0x15, 0x5d, - 0xdb, 0x68, 0xaf, 0xbf, 0xdf, 0x9c, 0x42, 0x4b, 0xd0, 0x14, 0xa0, 0xcd, 0xad, 0x6d, 0x06, 0x55, - 0x2e, 0x3d, 0x4c, 0xac, 0x59, 0x31, 0x3a, 0x0e, 0x8b, 0x61, 0x95, 0xfa, 0x9a, 0xb6, 0xd1, 0xde, - 0xde, 0x20, 0x92, 0x48, 0x60, 0x6d, 0x67, 0x73, 0xb3, 0xb3, 0x79, 0xb7, 0xa9, 0x10, 0xae, 0x11, - 0x78, 0xe3, 0x2b, 0x1d, 0x82, 0x5c, 0x92, 0x91, 0x77, 0x36, 0xbf, 0xb8, 0xb9, 0xf5, 0xe5, 0xcd, - 0x66, 0xf9, 0xd2, 0xaf, 0xc4, 0xd3, 0x34, 0xa2, 0x79, 0xe5, 0x24, 0xac, 0xa4, 0x6a, 0xd4, 0x37, - 0xde, 0xdb, 0xd8, 0xdc, 0x6e, 0x4e, 0xc9, 0x85, 0xbd, 0xed, 0xb6, 0x16, 0x15, 0x2a, 0xc9, 0xc2, - 0xad, 0x6e, 0x37, 0x2c, 0x2c, 0xc9, 0x85, 0xeb, 0x1b, 0xf7, 0x36, 0x22, 0xca, 0xf2, 0xa5, 0xa7, - 0x01, 0xa2, 0xf1, 0x83, 0xea, 0x30, 0xbb, 0xb6, 0xb5, 0xb3, 0xb9, 0xbd, 0xa1, 0x35, 0xa7, 0x50, - 0x0d, 0xa6, 0xef, 0xb6, 0x77, 0xee, 0x6e, 0x34, 0x95, 0x4b, 0x17, 0x61, 0x2e, 0x6e, 0x4d, 0x04, - 0xaf, 0xf7, 0x7e, 0x6f, 0x7b, 0xe3, 0x3e, 0xd1, 0xc8, 0x1c, 0x54, 0xd7, 0xee, 0x6a, 0x5b, 0x3b, - 0xdd, 0xb7, 0x7b, 0x4d, 0xe5, 0xfa, 0xff, 0x2e, 0x85, 0x8f, 0xf9, 0xf6, 0xb0, 0x47, 0x6f, 0x20, - 0xac, 0xc3, 0xac, 0x78, 0x4c, 0x5f, 0xda, 0xb5, 0x91, 0x1f, 0xff, 0x6f, 0x9d, 0xcc, 0x2c, 0xe3, - 0x71, 0xc1, 0x14, 0x7a, 0x8f, 0x6e, 0xe3, 0xc7, 0x9e, 0xd3, 0x3a, 0x97, 0xd8, 0x3a, 0x4f, 0xbd, - 0xda, 0xd5, 0x3a, 0x5f, 0x80, 0x11, 0xf2, 0x7d, 0x1f, 0xe6, 0xe5, 0x77, 0x2b, 0xd1, 0x79, 0x79, - 0x8b, 0x3d, 0xe3, 0x49, 0xcc, 0x96, 0x5a, 0x84, 0x12, 0xb2, 0xd6, 0xa1, 0x99, 0x7c, 0xb7, 0x12, - 0x49, 0x99, 0x2b, 0x39, 0xcf, 0x62, 0xb6, 0x9e, 0x2e, 0x46, 0x8a, 0x57, 0x90, 0x7a, 0x8e, 0xf1, - 0xa9, 0xe2, 0x07, 0xee, 0x32, 0x2a, 0xc8, 0x7b, 0x05, 0x8f, 0x29, 0x47, 0x9e, 0x35, 0x51, 0xe2, - 0x05, 0xc4, 0x8c, 0xc7, 0xd2, 0x64, 0xe5, 0x64, 0x3f, 0x94, 0xa5, 0x4e, 0xa1, 0xff, 0x07, 0x0b, - 0x89, 0xf4, 0x72, 0x24, 0x11, 0x66, 0x67, 0xcd, 0xb7, 0x9e, 0x2a, 0xc4, 0x91, 0x7b, 0x35, 0x9e, - 0x42, 0x9e, 0xec, 0xd5, 0x8c, 0xd4, 0xf4, 0x64, 0xaf, 0x66, 0x66, 0xa0, 0x53, 0x43, 0x94, 0xd2, - 0xc5, 0x65, 0x43, 0xcc, 0x4a, 0x4f, 0x6f, 0x9d, 0x2f, 0xc0, 0x88, 0x2b, 0x24, 0x91, 0x30, 0x2e, - 0x2b, 0x24, 0x3b, 0x15, 0xbd, 0xf5, 0x54, 0x21, 0x4e, 0xb2, 0x27, 0xa3, 0x44, 0xd5, 0x74, 0x4f, - 0xa6, 0x92, 0xa5, 0xd3, 0x3d, 0x99, 0xce, 0x73, 0xe5, 0x3d, 0x99, 0x48, 0x2d, 0x55, 0x0b, 0xd3, - 0xde, 0xb2, 0x7a, 0x32, 0x3b, 0x35, 0x4e, 0x9d, 0x42, 0x8f, 0x61, 0x35, 0x2f, 0xbb, 0x09, 0x3d, - 0x7f, 0x88, 0x24, 0xac, 0xd6, 0x0b, 0x93, 0x21, 0x87, 0x15, 0x63, 0x40, 0xe9, 0xe5, 0x13, 0x7a, - 0x46, 0x56, 0x77, 0xce, 0xf2, 0xac, 0xf5, 0xec, 0x38, 0xb4, 0xb0, 0x9a, 0xbb, 0x50, 0x15, 0x79, - 0x53, 0x48, 0x72, 0x81, 0x89, 0x7c, 0xad, 0xd6, 0xa9, 0xec, 0xc2, 0x90, 0xd1, 0x17, 0xa0, 0x42, - 0xa0, 0x68, 0x25, 0x89, 0x27, 0x18, 0xac, 0xa6, 0x0b, 0x42, 0xe2, 0x36, 0xcc, 0xb0, 0x84, 0x20, - 0x24, 0x9d, 0x48, 0x4a, 0x09, 0x4b, 0xad, 0x56, 0x56, 0x51, 0xc8, 0xa2, 0xcb, 0xfe, 0x35, 0x09, - 0xcf, 0xef, 0x41, 0x67, 0x92, 0x2f, 0x56, 0xcb, 0x89, 0x44, 0xad, 0xb3, 0xb9, 0xe5, 0x71, 0x9b, - 0x4d, 0xec, 0x92, 0x9e, 0x2f, 0xd8, 0xf5, 0xcf, 0xb2, 0xd9, 0xec, 0xb3, 0x04, 0xd6, 0xb9, 0xe9, - 0xb3, 0x06, 0xf4, 0x4c, 0xae, 0xbd, 0x4b, 0x55, 0x3c, 0x3b, 0x0e, 0x2d, 0x3e, 0x34, 0x92, 0x4f, - 0x4f, 0xa9, 0x45, 0xcf, 0xc2, 0x65, 0x0d, 0x8d, 0x9c, 0xe7, 0xe6, 0xd4, 0x29, 0xb4, 0x0f, 0xc7, - 0x32, 0xde, 0xa3, 0x43, 0xcf, 0xe6, 0xfb, 0x5f, 0xa9, 0x96, 0xe7, 0xc6, 0xe2, 0xc5, 0x6b, 0xca, - 0x38, 0xd4, 0x97, 0x6b, 0xca, 0xcf, 0x2a, 0x90, 0x6b, 0x2a, 0xca, 0x0e, 0xa0, 0x86, 0xc8, 0x7d, - 0xc8, 0x89, 0xac, 0x93, 0xee, 0x0c, 0x43, 0x4c, 0x79, 0x8c, 0x7d, 0x38, 0x96, 0xb1, 0xc5, 0x20, - 0x0b, 0x9b, 0xbf, 0xf5, 0x21, 0x0b, 0x5b, 0xb4, 0x57, 0x31, 0x85, 0x3e, 0x00, 0x74, 0x17, 0x07, - 0x72, 0x28, 0xe7, 0x23, 0x69, 0xa0, 0x26, 0x77, 0x33, 0x72, 0xec, 0x53, 0xda, 0xd6, 0x50, 0xa7, - 0xae, 0x29, 0xc8, 0x66, 0x37, 0x58, 0x52, 0x8b, 0x71, 0x74, 0x21, 0xd9, 0x6d, 0x79, 0xeb, 0xf9, - 0xd6, 0xc5, 0x09, 0x30, 0xc3, 0xb6, 0xd8, 0xc9, 0xb7, 0x4f, 0xc5, 0x7a, 0xf0, 0x42, 0xbe, 0x99, - 0xc8, 0x6b, 0xec, 0x74, 0x7d, 0xb9, 0xab, 0xed, 0x30, 0x9e, 0x8b, 0x19, 0xd3, 0xb9, 0xfc, 0x14, - 0x93, 0x9c, 0x78, 0x2e, 0xcb, 0x80, 0xae, 0xff, 0x4e, 0x19, 0xe6, 0x58, 0x2a, 0x0e, 0x0f, 0x3f, - 0xef, 0x03, 0x44, 0x59, 0x6d, 0xe8, 0x74, 0x52, 0x46, 0x29, 0x55, 0xb0, 0x75, 0x26, 0xaf, 0x38, - 0xee, 0xe6, 0x62, 0xd9, 0x62, 0xb2, 0x9b, 0x4b, 0x27, 0xbf, 0xc9, 0x6e, 0x2e, 0x23, 0xcd, 0x4c, - 0x9d, 0x42, 0xef, 0x42, 0x2d, 0x4c, 0x4e, 0x92, 0x8d, 0x27, 0x99, 0x65, 0xd5, 0x3a, 0x9d, 0x53, - 0x1a, 0x97, 0x2e, 0x96, 0x73, 0x24, 0x4b, 0x97, 0xce, 0x67, 0x92, 0xa5, 0xcb, 0x4a, 0x56, 0x8a, - 0xda, 0xcb, 0x92, 0x02, 0x32, 0xda, 0x2b, 0x25, 0x89, 0x64, 0xb4, 0x57, 0xce, 0x26, 0x50, 0xa7, - 0xee, 0xdc, 0xfe, 0xe1, 0x4f, 0xce, 0x28, 0x3f, 0xfa, 0xc9, 0x99, 0xa9, 0x5f, 0xfa, 0xe8, 0x8c, - 0xf2, 0xc3, 0x8f, 0xce, 0x28, 0xff, 0xfc, 0xd1, 0x19, 0xe5, 0xc7, 0x1f, 0x9d, 0x51, 0xbe, 0xf5, - 0x1f, 0x67, 0xa6, 0x3e, 0x50, 0x1f, 0xde, 0xf0, 0xaf, 0x58, 0xce, 0xd5, 0xbe, 0x67, 0x5d, 0x36, - 0x5c, 0xeb, 0xaa, 0xfb, 0x70, 0xef, 0xaa, 0xe1, 0x5a, 0xfe, 0x55, 0xce, 0xf7, 0xea, 0xa3, 0x17, - 0x1f, 0xcc, 0xd0, 0x7f, 0x67, 0xf5, 0xd2, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x24, 0xa8, 0x67, - 0x4b, 0x88, 0x6c, 0x00, 0x00, + // 6944 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5d, 0x4b, 0x6c, 0x24, 0x49, + 0x5a, 0x76, 0x56, 0x95, 0xed, 0xaa, 0xbf, 0x5c, 0x76, 0x39, 0xda, 0x6d, 0xbb, 0xab, 0xdf, 0x39, + 0xaf, 0xee, 0x9e, 0xe9, 0xc7, 0xf4, 0xbc, 0xba, 0x7b, 0x5e, 0x5d, 0x6d, 0xbb, 0x7b, 0x6a, 0xb6, + 0xdb, 0xae, 0xcd, 0xb2, 0x67, 0x77, 0x66, 0xd1, 0x26, 0xd9, 0x95, 0xe1, 0x72, 0x4e, 0x57, 0x65, + 0xe6, 0x66, 0x66, 0xb9, 0xdb, 0x7b, 0x40, 0x9c, 0x10, 0xec, 0x69, 0x25, 0x58, 0x56, 0xac, 0x10, + 0x88, 0x03, 0x82, 0x1b, 0x0f, 0x09, 0x58, 0xc4, 0x4b, 0x42, 0xb0, 0x5a, 0x90, 0x90, 0x38, 0x80, + 0xb4, 0x07, 0x24, 0x76, 0x07, 0x24, 0x24, 0x8e, 0x68, 0x0f, 0x5c, 0x60, 0x51, 0xbc, 0x32, 0x33, + 0xf2, 0x51, 0x55, 0xf6, 0x0c, 0x33, 0xb3, 0x27, 0x57, 0x46, 0xfc, 0xff, 0x1f, 0x11, 0x7f, 0xfc, + 0xf1, 0xc7, 0x1f, 0x11, 0x5f, 0x84, 0xa1, 0x62, 0xb8, 0xd6, 0x15, 0xd7, 0x73, 0x02, 0x07, 0x81, + 0x37, 0xb4, 0x03, 0x6b, 0x80, 0xaf, 0xec, 0xbf, 0xd8, 0xb8, 0xdc, 0xb3, 0x82, 0xbd, 0xe1, 0xc3, + 0x2b, 0x5d, 0x67, 0x70, 0xb5, 0xe7, 0xf4, 0x9c, 0xab, 0x94, 0xe4, 0xe1, 0x70, 0x97, 0x7e, 0xd1, + 0x0f, 0xfa, 0x8b, 0xb1, 0xaa, 0x97, 0x60, 0xfe, 0x3d, 0xec, 0xf9, 0x96, 0x63, 0x6b, 0xf8, 0x6b, + 0x43, 0xec, 0x07, 0x68, 0x15, 0x66, 0xf7, 0x59, 0xca, 0xaa, 0x72, 0x4e, 0xb9, 0x50, 0xd1, 0xc4, + 0xa7, 0xfa, 0x3b, 0x0a, 0x2c, 0x84, 0xc4, 0xbe, 0xeb, 0xd8, 0x3e, 0xce, 0xa7, 0x46, 0xe7, 0x61, + 0x8e, 0x57, 0x4b, 0xb7, 0x8d, 0x01, 0x5e, 0x2d, 0xd0, 0xec, 0x2a, 0x4f, 0xdb, 0x34, 0x06, 0x18, + 0x3d, 0x07, 0x0b, 0x82, 0x44, 0x08, 0x29, 0x52, 0xaa, 0x79, 0x9e, 0xcc, 0x4b, 0x43, 0x57, 0xe0, + 0x98, 0x20, 0x34, 0x5c, 0x2b, 0x24, 0x2e, 0x51, 0xe2, 0x45, 0x9e, 0xd5, 0x74, 0x2d, 0x4e, 0xaf, + 0x7e, 0x05, 0x2a, 0xeb, 0x9b, 0x9d, 0x35, 0xc7, 0xde, 0xb5, 0x7a, 0xa4, 0x8a, 0x3e, 0xf6, 0x08, + 0xcf, 0xaa, 0x72, 0xae, 0x48, 0xaa, 0xc8, 0x3f, 0x51, 0x03, 0xca, 0x3e, 0x36, 0xbc, 0xee, 0x1e, + 0xf6, 0x57, 0x0b, 0x34, 0x2b, 0xfc, 0x26, 0x5c, 0x8e, 0x1b, 0x58, 0x8e, 0xed, 0xaf, 0x16, 0x19, + 0x17, 0xff, 0x54, 0x7f, 0x5d, 0x81, 0x6a, 0xdb, 0xf1, 0x82, 0x07, 0x86, 0xeb, 0x5a, 0x76, 0x0f, + 0x5d, 0x83, 0x32, 0xd5, 0x65, 0xd7, 0xe9, 0x53, 0x1d, 0xcc, 0x5f, 0x5f, 0xba, 0x12, 0x75, 0xc8, + 0x95, 0x36, 0xcf, 0xd3, 0x42, 0x2a, 0xf4, 0x0c, 0xcc, 0x77, 0x1d, 0x3b, 0x30, 0x2c, 0x1b, 0x7b, + 0xba, 0xeb, 0x78, 0x01, 0x55, 0xce, 0xb4, 0x56, 0x0b, 0x53, 0x89, 0x7c, 0x74, 0x12, 0x2a, 0x7b, + 0x8e, 0x1f, 0x30, 0x8a, 0x22, 0xa5, 0x28, 0x93, 0x04, 0x9a, 0xb9, 0x02, 0xb3, 0x34, 0xd3, 0x72, + 0xb9, 0x1a, 0x66, 0xc8, 0x67, 0xcb, 0x55, 0xff, 0xab, 0x00, 0xd3, 0x0f, 0x9c, 0xa1, 0x1d, 0x24, + 0x8a, 0x31, 0x82, 0x3d, 0xde, 0x45, 0xb1, 0x62, 0x8c, 0x60, 0x2f, 0x2a, 0x86, 0x50, 0xb0, 0x5e, + 0x62, 0xc5, 0x90, 0xcc, 0x06, 0x94, 0x3d, 0x6c, 0x98, 0x8e, 0xdd, 0x3f, 0xa0, 0x55, 0x28, 0x6b, + 0xe1, 0x37, 0xe9, 0x3e, 0x1f, 0xf7, 0x2d, 0x7b, 0xf8, 0x44, 0xf7, 0x70, 0xdf, 0x78, 0x88, 0xfb, + 0xb4, 0x2a, 0x65, 0x6d, 0x9e, 0x27, 0x6b, 0x2c, 0x15, 0xbd, 0x05, 0x55, 0xd7, 0x73, 0x5c, 0xa3, + 0x67, 0x10, 0x0d, 0xae, 0x4e, 0x53, 0x25, 0x9d, 0x8a, 0x2b, 0x89, 0x56, 0xb8, 0x1d, 0xd1, 0x68, + 0x71, 0x06, 0xf4, 0x1a, 0x54, 0x87, 0x96, 0xc9, 0xf5, 0xed, 0xaf, 0xce, 0x9c, 0x2b, 0x5e, 0xa8, + 0x5e, 0x3f, 0x1e, 0xe7, 0x6f, 0xad, 0xf3, 0x5c, 0x2d, 0x4e, 0x49, 0x18, 0x7b, 0x31, 0xc6, 0xd9, + 0x91, 0x8c, 0x31, 0x4a, 0x6a, 0x70, 0xb8, 0x3b, 0xf4, 0x7c, 0x6b, 0x1f, 0xeb, 0xa4, 0xc1, 0x3a, + 0xd5, 0x40, 0x99, 0x36, 0x6f, 0x31, 0xcc, 0xd2, 0xb0, 0x61, 0x6e, 0xd9, 0xfd, 0x03, 0x55, 0x87, + 0x4a, 0x28, 0x29, 0xea, 0x1a, 0x93, 0x2a, 0xbc, 0xc6, 0xbb, 0xc6, 0x24, 0x43, 0x22, 0xea, 0x10, + 0xcb, 0xa4, 0xca, 0xae, 0x69, 0xd5, 0x30, 0xad, 0x65, 0xa2, 0x65, 0x98, 0xe9, 0x63, 0xbb, 0x17, + 0xec, 0x51, 0x6d, 0xd7, 0x34, 0xfe, 0xa5, 0xfe, 0x8a, 0x02, 0xb5, 0x1d, 0x1f, 0x7b, 0x64, 0xdc, + 0xf8, 0xae, 0xd1, 0xc5, 0xe8, 0x32, 0x94, 0x06, 0x8e, 0x89, 0xb9, 0xc9, 0x9d, 0x88, 0x37, 0x2a, + 0x24, 0x7a, 0xe0, 0x98, 0x58, 0xa3, 0x64, 0xe8, 0x22, 0x94, 0x86, 0x96, 0xc9, 0xec, 0x3c, 0x57, + 0x07, 0x94, 0x84, 0x90, 0xf6, 0x08, 0x69, 0x71, 0x24, 0x29, 0x21, 0x51, 0x7f, 0xa2, 0xc0, 0x42, + 0x58, 0xda, 0x16, 0x1d, 0x20, 0xe8, 0x25, 0x98, 0xb5, 0x71, 0xf0, 0xd8, 0xf1, 0x1e, 0x8d, 0xaf, + 0x9b, 0xa0, 0x44, 0xcf, 0x43, 0xd1, 0xe5, 0x1a, 0x19, 0xc9, 0x40, 0xa8, 0x08, 0xb1, 0xe5, 0x76, + 0xa9, 0x86, 0x46, 0x13, 0x5b, 0x6e, 0x97, 0x98, 0x77, 0x60, 0x78, 0x3d, 0x4c, 0xfb, 0x83, 0x0d, + 0x95, 0x32, 0x4b, 0x68, 0x99, 0xe8, 0x36, 0xcc, 0x0f, 0x7d, 0xec, 0xd9, 0xbe, 0x2e, 0x06, 0x3b, + 0x31, 0xce, 0xaa, 0x2c, 0x54, 0xd2, 0xbb, 0x56, 0x63, 0x0c, 0x5b, 0xdc, 0x1b, 0xa8, 0x00, 0x2d, + 0x3b, 0x78, 0xf5, 0xe5, 0xf7, 0x8c, 0xfe, 0x10, 0xa3, 0x25, 0x98, 0xde, 0x27, 0x3f, 0x68, 0xcb, + 0x8b, 0x1a, 0xfb, 0x50, 0xff, 0xa2, 0x04, 0x27, 0xef, 0x93, 0x01, 0xd1, 0x31, 0x6c, 0xf3, 0xa1, + 0xf3, 0xa4, 0x43, 0xec, 0xc7, 0x0a, 0x0e, 0xd6, 0x1c, 0x3b, 0xc0, 0x4f, 0x02, 0xf4, 0x0e, 0x2c, + 0xda, 0x42, 0x7e, 0x58, 0x11, 0x85, 0x56, 0xe4, 0x64, 0x66, 0xeb, 0x58, 0xe1, 0x5a, 0xdd, 0x96, + 0x13, 0x7c, 0x74, 0x27, 0x1a, 0x92, 0x42, 0x4e, 0x21, 0xdd, 0xa0, 0xce, 0x06, 0xad, 0x0d, 0x97, + 0x22, 0x46, 0xab, 0x90, 0xf1, 0x2a, 0x10, 0x27, 0xad, 0x1b, 0xbe, 0x4e, 0x5a, 0x4a, 0xb5, 0x5c, + 0xbd, 0xbe, 0x2c, 0x59, 0x41, 0xd8, 0x60, 0xad, 0xe2, 0x0d, 0xed, 0xa6, 0x4f, 0x34, 0x84, 0x6e, + 0x50, 0x87, 0x4f, 0xf8, 0x7a, 0x9e, 0x33, 0x74, 0xe9, 0x60, 0xc9, 0x67, 0x04, 0xca, 0x78, 0x8f, + 0x50, 0xd2, 0x79, 0x80, 0x3b, 0x15, 0xdd, 0x73, 0x9c, 0x60, 0xd7, 0x17, 0x8e, 0x44, 0x24, 0x6b, + 0x34, 0x15, 0x5d, 0x85, 0x63, 0xfe, 0xd0, 0x75, 0xfb, 0x78, 0x80, 0xed, 0xc0, 0xe8, 0xb3, 0x82, + 0x48, 0x9f, 0x15, 0x2f, 0x14, 0x35, 0x14, 0xcf, 0xa2, 0x82, 0x7d, 0x74, 0x06, 0xc0, 0xf5, 0xac, + 0x7d, 0xab, 0x8f, 0x7b, 0xd8, 0x5c, 0x9d, 0xa1, 0x42, 0x63, 0x29, 0xe8, 0x15, 0x32, 0x37, 0x74, + 0xbb, 0xce, 0xc0, 0x5d, 0xad, 0xa4, 0xf5, 0x2d, 0xfa, 0xa9, 0xed, 0x39, 0xbb, 0x56, 0x1f, 0x6b, + 0x82, 0x16, 0xbd, 0x06, 0x65, 0xc3, 0x75, 0x0d, 0x6f, 0xe0, 0x78, 0xab, 0x30, 0x9e, 0x2f, 0x24, + 0x46, 0x2f, 0xc3, 0x12, 0x97, 0xa1, 0xbb, 0x2c, 0x93, 0xb9, 0xdd, 0x59, 0x62, 0x97, 0x77, 0x0a, + 0xab, 0x8a, 0x86, 0x78, 0x3e, 0xe7, 0x25, 0x4e, 0x58, 0xfd, 0x1b, 0x05, 0x16, 0x12, 0x32, 0xd1, + 0xbb, 0x30, 0x27, 0x24, 0x04, 0x07, 0xae, 0x70, 0x03, 0xcf, 0x8d, 0xa8, 0xc6, 0x15, 0xfe, 0x77, + 0xfb, 0xc0, 0xc5, 0xd4, 0xbf, 0x8a, 0x0f, 0xf4, 0x14, 0xd4, 0xfa, 0x4e, 0xd7, 0xe8, 0x53, 0xaf, + 0xe5, 0xe1, 0x5d, 0x3e, 0x0b, 0xcc, 0x85, 0x89, 0x1a, 0xde, 0x55, 0x6f, 0x43, 0x35, 0x26, 0x00, + 0x21, 0x98, 0xd7, 0x58, 0x51, 0xeb, 0x78, 0xd7, 0x18, 0xf6, 0x83, 0xfa, 0x14, 0x9a, 0x07, 0xd8, + 0xb1, 0xbb, 0x64, 0xd6, 0xb5, 0xb1, 0x59, 0x57, 0x50, 0x0d, 0x2a, 0xf7, 0x85, 0x88, 0x7a, 0x41, + 0xfd, 0x4e, 0x11, 0x8e, 0x53, 0xc3, 0x6b, 0x3b, 0x26, 0x1f, 0x09, 0x7c, 0x8a, 0x7e, 0x0a, 0x6a, + 0x5d, 0xda, 0x97, 0xba, 0x6b, 0x78, 0xd8, 0x0e, 0xf8, 0x44, 0x35, 0xc7, 0x12, 0xdb, 0x34, 0x0d, + 0x69, 0x50, 0xf7, 0x79, 0x8b, 0xf4, 0x2e, 0x1b, 0x39, 0xdc, 0xb8, 0xa5, 0x56, 0x8f, 0x18, 0x68, + 0xda, 0x82, 0x9f, 0x1a, 0x79, 0xb3, 0xfe, 0x81, 0xdf, 0x0d, 0xfa, 0xc2, 0xdb, 0x5d, 0x49, 0x89, + 0x4a, 0x56, 0xf6, 0x4a, 0x87, 0x31, 0x6c, 0xd8, 0x81, 0x77, 0xa0, 0x09, 0x76, 0xf4, 0x36, 0x94, + 0x9d, 0x7d, 0xec, 0xed, 0x61, 0x83, 0x79, 0x99, 0xea, 0xf5, 0xa7, 0x52, 0xa2, 0xd6, 0x84, 0xa3, + 0xd7, 0xb0, 0xef, 0x0c, 0xbd, 0x2e, 0xf6, 0xb5, 0x90, 0x09, 0x35, 0xa1, 0xe2, 0x89, 0x64, 0xee, + 0x85, 0x26, 0x92, 0x10, 0x71, 0x35, 0x6e, 0xc1, 0x5c, 0xbc, 0x72, 0xa8, 0x0e, 0xc5, 0x47, 0xf8, + 0x80, 0x2b, 0x93, 0xfc, 0x8c, 0xfc, 0x13, 0xeb, 0x61, 0xf6, 0x71, 0xab, 0x70, 0x43, 0x51, 0x3d, + 0x40, 0x51, 0x4b, 0x1f, 0xe0, 0xc0, 0x30, 0x8d, 0xc0, 0x40, 0x08, 0x4a, 0x34, 0x78, 0x63, 0x22, + 0xe8, 0x6f, 0x22, 0x75, 0xc8, 0x5d, 0x75, 0x45, 0x23, 0x3f, 0xd1, 0x29, 0xa8, 0x84, 0x9e, 0x88, + 0x47, 0x70, 0x51, 0x02, 0x89, 0xa4, 0x8c, 0x20, 0xc0, 0x03, 0x37, 0xa0, 0x8a, 0xa9, 0x69, 0xe2, + 0x53, 0xfd, 0xa5, 0x69, 0xa8, 0xa7, 0x6c, 0xe1, 0x16, 0x94, 0x07, 0xbc, 0x78, 0xee, 0x03, 0xcf, + 0x48, 0xe1, 0x54, 0xaa, 0x92, 0x5a, 0x48, 0x4f, 0xa2, 0x15, 0x62, 0x6b, 0xb1, 0x78, 0x33, 0xfc, + 0x66, 0x46, 0xde, 0xd3, 0x4d, 0xcb, 0xc3, 0xdd, 0xc0, 0xf1, 0x0e, 0x78, 0x45, 0xe7, 0xfa, 0x4e, + 0x6f, 0x5d, 0xa4, 0xa1, 0x97, 0x01, 0x4c, 0xdb, 0xd7, 0xa9, 0x0d, 0xf7, 0x78, 0x3f, 0x4a, 0x13, + 0x60, 0x18, 0x56, 0x6a, 0x15, 0xd3, 0xf6, 0x79, 0x95, 0xdf, 0x80, 0x1a, 0x89, 0xd1, 0xf4, 0x81, + 0x08, 0x34, 0xa6, 0xa9, 0x2d, 0xad, 0xc8, 0xf5, 0x0e, 0x23, 0x46, 0x6d, 0xce, 0x8d, 0x3e, 0x7c, + 0x74, 0x1b, 0x66, 0x68, 0x98, 0x24, 0x02, 0x9b, 0x0b, 0xd9, 0xcd, 0xe5, 0xd6, 0x77, 0x9f, 0x92, + 0x32, 0xe3, 0xe3, 0x7c, 0x68, 0x0b, 0xaa, 0x86, 0x6d, 0x3b, 0x81, 0xc1, 0x3c, 0x3e, 0x0b, 0x73, + 0x2e, 0x8f, 0x14, 0xd3, 0x8c, 0xe8, 0x99, 0xac, 0xb8, 0x04, 0xf4, 0x1a, 0x4c, 0xd3, 0x29, 0x81, + 0xfb, 0xf0, 0xf3, 0x63, 0x07, 0x85, 0xc6, 0xe8, 0xd1, 0x9b, 0x30, 0xfb, 0xd8, 0xb2, 0x4d, 0xe7, + 0xb1, 0xcf, 0xfd, 0xa9, 0x64, 0xc2, 0x5f, 0x62, 0x59, 0x29, 0x66, 0xc1, 0xd3, 0xb8, 0x09, 0xd5, + 0x58, 0xfb, 0x0e, 0x63, 0xbf, 0x8d, 0xb7, 0xa0, 0x9e, 0x6c, 0xd3, 0xa1, 0xec, 0x7f, 0x08, 0x4b, + 0xda, 0xd0, 0x8e, 0xaa, 0x26, 0x96, 0x43, 0x2f, 0xc3, 0x0c, 0xb7, 0x06, 0x66, 0x8c, 0xa7, 0x46, + 0xa9, 0x55, 0xe3, 0xb4, 0xf1, 0x95, 0xcd, 0x9e, 0x61, 0x9b, 0x7d, 0xec, 0xf1, 0x12, 0xc5, 0xca, + 0xe6, 0x1d, 0x96, 0xaa, 0xbe, 0x09, 0xc7, 0x13, 0xc5, 0xf2, 0x85, 0xd5, 0xd3, 0x30, 0xef, 0x3a, + 0xa6, 0xee, 0xb3, 0x64, 0x11, 0x4b, 0x56, 0x88, 0xed, 0x08, 0xda, 0x96, 0x49, 0xd8, 0x3b, 0x81, + 0xe3, 0xa6, 0xab, 0x3d, 0x19, 0xfb, 0x2a, 0x2c, 0x27, 0xd9, 0x59, 0xf1, 0xea, 0xdb, 0xb0, 0xa2, + 0xe1, 0x81, 0xb3, 0x8f, 0x8f, 0x2a, 0xba, 0x01, 0xab, 0x69, 0x01, 0x5c, 0xf8, 0xfb, 0xb0, 0x12, + 0xa5, 0x76, 0x02, 0x23, 0x18, 0xfa, 0x87, 0x12, 0xce, 0x57, 0x9d, 0x0f, 0x1d, 0x9f, 0x75, 0x64, + 0x59, 0x13, 0x9f, 0xea, 0x0a, 0x4c, 0xb7, 0x1d, 0xb3, 0xd5, 0x46, 0xf3, 0x50, 0xb0, 0x5c, 0xce, + 0x5c, 0xb0, 0x5c, 0xb5, 0x1b, 0x2f, 0x73, 0x93, 0x45, 0x9d, 0xac, 0xe8, 0x24, 0x29, 0xba, 0x01, + 0xf3, 0x86, 0x69, 0x5a, 0xc4, 0x90, 0x8c, 0xbe, 0x6e, 0xb9, 0x22, 0x68, 0x5e, 0x4c, 0x74, 0x7d, + 0xab, 0xad, 0xd5, 0x22, 0xc2, 0x96, 0xeb, 0xab, 0x77, 0xa0, 0x12, 0x05, 0xe8, 0xaf, 0x44, 0x2b, + 0xc8, 0xc2, 0xf8, 0x58, 0x2e, 0x5c, 0x5e, 0x6e, 0xa6, 0x26, 0x49, 0x5e, 0xcd, 0x57, 0x00, 0x42, + 0xa7, 0x2a, 0xc2, 0xc3, 0xe3, 0x99, 0x22, 0xb5, 0x18, 0xa1, 0xfa, 0xaf, 0xa5, 0xb8, 0x93, 0x8d, + 0x35, 0xd9, 0x0c, 0x9b, 0x6c, 0x4a, 0x4e, 0xb7, 0x70, 0x48, 0xa7, 0xfb, 0x22, 0x4c, 0xfb, 0x81, + 0x11, 0x60, 0x1e, 0x8f, 0x9f, 0xcc, 0x66, 0x24, 0x05, 0x63, 0x8d, 0x51, 0xa2, 0xd3, 0x00, 0x5d, + 0x0f, 0x1b, 0x01, 0x36, 0x75, 0x83, 0xcd, 0x0a, 0x45, 0xad, 0xc2, 0x53, 0x9a, 0x01, 0xf1, 0x22, + 0x62, 0x05, 0x91, 0x31, 0x11, 0xe6, 0x74, 0x63, 0xb4, 0x96, 0x08, 0xbd, 0xd7, 0xcc, 0x58, 0xef, + 0xc5, 0x59, 0xb9, 0xf7, 0x8a, 0x3c, 0xf1, 0xec, 0x28, 0x4f, 0xcc, 0x98, 0x26, 0xf1, 0xc4, 0xe5, + 0x51, 0x9e, 0x98, 0x8b, 0x19, 0xed, 0x89, 0x33, 0x1c, 0x49, 0x25, 0xcb, 0x91, 0x7c, 0x96, 0xae, + 0xf3, 0x4f, 0x0b, 0xb0, 0x9a, 0x1e, 0xcf, 0xdc, 0x8f, 0xbd, 0x0c, 0x33, 0x3e, 0x4d, 0x19, 0xed, + 0x3f, 0x39, 0x17, 0xa7, 0x45, 0x77, 0xa0, 0x64, 0xd9, 0xbb, 0x0e, 0x1f, 0x78, 0x57, 0x46, 0xf2, + 0xf0, 0x92, 0xae, 0xb4, 0xec, 0x5d, 0x87, 0x69, 0x90, 0xf2, 0xa2, 0xfb, 0x70, 0x2c, 0x5c, 0x59, + 0xfb, 0x3a, 0x13, 0x8c, 0x45, 0x9c, 0x27, 0x59, 0x69, 0x18, 0x55, 0x71, 0x89, 0x28, 0xe2, 0xeb, + 0x70, 0x36, 0x12, 0xe3, 0x10, 0x72, 0x3f, 0x30, 0x06, 0xae, 0xb0, 0xd8, 0x30, 0xa1, 0xf1, 0x1a, + 0x54, 0xc2, 0xe2, 0x0f, 0xa5, 0xbb, 0x16, 0x2c, 0x25, 0xc6, 0x08, 0x5b, 0x48, 0x86, 0x83, 0x4a, + 0x99, 0x74, 0x50, 0xa9, 0x3f, 0x56, 0xe2, 0x03, 0xfd, 0xae, 0xd5, 0x0f, 0xb0, 0x97, 0x1a, 0xe8, + 0xaf, 0x0a, 0xb9, 0x6c, 0x94, 0x9f, 0x1b, 0x21, 0x97, 0xad, 0xd3, 0xf8, 0x88, 0x7d, 0x0f, 0xe6, + 0xa9, 0x89, 0xeb, 0x3e, 0xee, 0xd3, 0x58, 0x89, 0xeb, 0xf1, 0x6a, 0xb6, 0x00, 0x56, 0x3a, 0x1b, + 0x22, 0x1d, 0xce, 0xc1, 0xfa, 0xa6, 0xd6, 0x8f, 0xa7, 0x35, 0x6e, 0x03, 0x4a, 0x13, 0x1d, 0x4a, + 0x83, 0x0f, 0x88, 0xbf, 0xf4, 0x83, 0xcc, 0x99, 0x7b, 0x97, 0x56, 0x63, 0xb4, 0xe5, 0xb1, 0xaa, + 0x6a, 0x9c, 0x56, 0xfd, 0xe7, 0x22, 0x40, 0x94, 0xf9, 0x39, 0x77, 0x94, 0xb7, 0x42, 0x87, 0xc5, + 0x22, 0x4e, 0x35, 0x5b, 0x64, 0xa6, 0xab, 0x6a, 0xc9, 0xae, 0x8a, 0xc5, 0x9e, 0xcf, 0xe5, 0x08, + 0x38, 0xb4, 0x93, 0x9a, 0xfd, 0xbc, 0x39, 0xa9, 0xbb, 0xb0, 0x9c, 0x34, 0x13, 0xee, 0xa1, 0x5e, + 0x80, 0x69, 0x2b, 0xc0, 0x03, 0xb6, 0x3b, 0x9c, 0xd8, 0xb0, 0x88, 0x91, 0x33, 0x22, 0xf5, 0x2d, + 0x58, 0x96, 0xfb, 0xea, 0x70, 0xa1, 0x8b, 0x7a, 0x3f, 0x19, 0xfb, 0x44, 0xae, 0x92, 0xdb, 0x47, + 0xe6, 0xd6, 0x4f, 0x92, 0x87, 0x51, 0xaa, 0xdf, 0x53, 0xe0, 0x78, 0x22, 0x2b, 0x67, 0xe0, 0x7f, + 0x25, 0x35, 0x80, 0x99, 0x6f, 0x7d, 0x79, 0x44, 0x29, 0x9f, 0xe2, 0x28, 0xfe, 0x12, 0x34, 0xe4, + 0xee, 0x91, 0x54, 0x7b, 0x33, 0x31, 0x94, 0xcf, 0x8f, 0xad, 0x74, 0x38, 0x9e, 0xdb, 0x70, 0x32, + 0x53, 0x70, 0x5a, 0xe7, 0xc5, 0x09, 0x75, 0xfe, 0xdf, 0x85, 0xb8, 0xcf, 0x6e, 0x06, 0x81, 0x67, + 0x3d, 0x1c, 0x06, 0xf8, 0x93, 0x0d, 0xaa, 0xd6, 0xc3, 0x91, 0xcd, 0xfc, 0xec, 0x0b, 0xd9, 0x9c, + 0x51, 0xe9, 0x99, 0x63, 0xbc, 0x23, 0x8f, 0xf1, 0x12, 0x15, 0xf5, 0xe2, 0x58, 0x51, 0x23, 0x47, + 0xfb, 0x67, 0x39, 0x88, 0xff, 0x4e, 0x81, 0x85, 0x44, 0xaf, 0xa0, 0xdb, 0x00, 0x46, 0x58, 0x75, + 0x6e, 0x1f, 0xe7, 0xc6, 0x35, 0x51, 0x8b, 0xf1, 0x90, 0x39, 0x91, 0xc5, 0x8b, 0x19, 0x73, 0x62, + 0x46, 0xbc, 0x18, 0x86, 0x8b, 0x6f, 0x44, 0x8b, 0x5d, 0xb6, 0x49, 0xaa, 0x8e, 0x5c, 0xec, 0x32, + 0x5e, 0xc1, 0xa2, 0xfe, 0x72, 0x01, 0x96, 0xb2, 0xa4, 0xa3, 0x67, 0xa1, 0xd8, 0x75, 0x87, 0xbc, + 0x25, 0xd2, 0x51, 0xd2, 0x9a, 0x3b, 0xdc, 0xf1, 0x8d, 0x1e, 0xd6, 0x08, 0x01, 0xba, 0x0a, 0x33, + 0x03, 0x3c, 0x70, 0xbc, 0x03, 0x5e, 0x6f, 0x69, 0xbb, 0xe1, 0x01, 0xcd, 0x61, 0xd4, 0x9c, 0x0c, + 0x5d, 0x8f, 0xc2, 0x6a, 0x56, 0xdf, 0x55, 0x69, 0xf5, 0xc0, 0xb2, 0x18, 0x4b, 0x18, 0x4b, 0x5f, + 0x87, 0x59, 0xd7, 0x73, 0xba, 0xd8, 0xf7, 0xf9, 0x6e, 0xc8, 0x6a, 0xe2, 0x6c, 0x8b, 0x64, 0x71, + 0x1e, 0x4e, 0x88, 0x6e, 0x01, 0x44, 0x01, 0x14, 0x9f, 0x99, 0x1a, 0xb9, 0xf1, 0x96, 0xaf, 0xc5, + 0xa8, 0xd5, 0xef, 0x16, 0x60, 0x39, 0x5b, 0x73, 0xe8, 0x72, 0x5c, 0x2f, 0x27, 0x33, 0x54, 0x2d, + 0xab, 0xe7, 0xd5, 0x84, 0x7a, 0xce, 0x64, 0x70, 0x64, 0x69, 0xe9, 0x66, 0x52, 0x4b, 0x67, 0x33, + 0x18, 0xb3, 0x95, 0x75, 0x33, 0xa9, 0xac, 0x2c, 0xd6, 0x6c, 0x9d, 0x35, 0x33, 0x74, 0x76, 0x3e, + 0xab, 0x8d, 0xf9, 0xaa, 0xfb, 0x2b, 0x05, 0xe6, 0xe2, 0xf5, 0x92, 0x43, 0x56, 0x25, 0x11, 0xb2, + 0xa2, 0x4d, 0x58, 0x34, 0xd9, 0xce, 0xad, 0x6e, 0xd9, 0x01, 0xf6, 0x76, 0x8d, 0xae, 0x88, 0x0a, + 0xcf, 0x67, 0xd8, 0x45, 0x4b, 0xd0, 0xb0, 0x8a, 0xd7, 0x39, 0x6f, 0x98, 0x4c, 0x5a, 0x10, 0xca, + 0x11, 0x5e, 0x6b, 0x02, 0x41, 0x31, 0x26, 0xf5, 0x9f, 0x14, 0x38, 0x96, 0xa1, 0xe0, 0x31, 0x0d, + 0xd9, 0xc9, 0x6f, 0xc8, 0x85, 0xfc, 0xae, 0x1b, 0xdb, 0x9e, 0x77, 0x32, 0xda, 0x33, 0xb9, 0xbc, + 0x78, 0xb3, 0x7e, 0xa2, 0xc0, 0xf1, 0x4c, 0xaa, 0xcc, 0xed, 0xd5, 0xeb, 0x50, 0xf6, 0x9e, 0xe8, + 0x0f, 0x0f, 0x02, 0xec, 0x67, 0x0d, 0xec, 0x9d, 0xd8, 0x19, 0xca, 0xac, 0xf7, 0xe4, 0x0e, 0xa1, + 0x43, 0x2f, 0x43, 0xc5, 0x7b, 0xa2, 0x63, 0xcf, 0x73, 0x3c, 0xe1, 0x8b, 0x72, 0x99, 0xca, 0xde, + 0x93, 0x0d, 0x4a, 0x48, 0x4a, 0x0a, 0x44, 0x49, 0xa5, 0x31, 0x25, 0x05, 0x51, 0x49, 0x41, 0x58, + 0xd2, 0xf4, 0x98, 0x92, 0x02, 0x5e, 0x92, 0xfa, 0xbb, 0x05, 0x38, 0x35, 0x4a, 0x5d, 0x9f, 0x98, + 0x22, 0x36, 0x00, 0x79, 0x4f, 0x74, 0xd7, 0xe8, 0x3e, 0xc2, 0x81, 0xaf, 0x9b, 0x9e, 0xe3, 0xba, + 0xd8, 0x1c, 0xa7, 0x91, 0xba, 0xf7, 0xa4, 0xcd, 0x38, 0xd6, 0x19, 0xc3, 0x91, 0x34, 0xb3, 0x01, + 0x28, 0x48, 0x17, 0x3d, 0x46, 0x45, 0xf5, 0x20, 0x51, 0xb4, 0xfa, 0x21, 0xcc, 0xc5, 0x3d, 0xc4, + 0x18, 0xdb, 0x7f, 0x03, 0x6a, 0xdc, 0x83, 0xe8, 0x5d, 0x67, 0x68, 0x07, 0xe3, 0x14, 0x35, 0xc7, + 0xa9, 0xd7, 0x08, 0xb1, 0xfa, 0xb5, 0x70, 0xb8, 0x7d, 0x6a, 0x45, 0xfe, 0x42, 0x01, 0x2a, 0xad, + 0x81, 0xd1, 0xc3, 0x1d, 0x17, 0x77, 0xc9, 0x4c, 0x6f, 0x91, 0x0f, 0xde, 0xef, 0xec, 0x03, 0xbd, + 0x23, 0x47, 0x2d, 0x2c, 0x4e, 0x7d, 0x56, 0x3a, 0x47, 0x14, 0x12, 0xc6, 0x2c, 0x4c, 0xae, 0xc1, + 0xd2, 0xd0, 0xc7, 0x9e, 0xee, 0xbb, 0xb8, 0x6b, 0xed, 0x5a, 0xd8, 0xd4, 0x59, 0x71, 0x88, 0x16, + 0x87, 0x48, 0x5e, 0x47, 0x64, 0x51, 0x99, 0x59, 0x4b, 0x99, 0x63, 0x99, 0x4b, 0x99, 0x8f, 0x1b, + 0xca, 0x5c, 0x87, 0xf2, 0x17, 0xf0, 0x01, 0x5b, 0xec, 0x4f, 0xc8, 0xa7, 0x7e, 0xab, 0x04, 0x2b, + 0x39, 0xc7, 0x40, 0x74, 0xa5, 0xe8, 0x0e, 0x75, 0x17, 0x7b, 0x96, 0x63, 0x8a, 0x5e, 0xeb, 0xba, + 0xc3, 0x36, 0x4d, 0x40, 0x27, 0x81, 0x7c, 0xe8, 0x5f, 0x1b, 0x3a, 0x3c, 0x18, 0x2d, 0x6a, 0xe5, + 0xae, 0x3b, 0xfc, 0x22, 0xf9, 0x16, 0xbc, 0xfe, 0x9e, 0xe1, 0x61, 0xe6, 0x3f, 0x18, 0x6f, 0x87, + 0x26, 0xa0, 0x17, 0xe1, 0x38, 0x9b, 0x1b, 0xf5, 0xbe, 0x35, 0xb0, 0x88, 0x97, 0x8d, 0x0d, 0x8d, + 0xa2, 0x86, 0x58, 0xe6, 0x7d, 0x92, 0xd7, 0xb2, 0xd9, 0x60, 0x50, 0xa1, 0xe6, 0x38, 0x03, 0xdd, + 0xef, 0x3a, 0x1e, 0xd6, 0x0d, 0xf3, 0x43, 0x3a, 0x0e, 0x8a, 0x5a, 0xd5, 0x71, 0x06, 0x1d, 0x92, + 0xd6, 0x34, 0x3f, 0x44, 0x67, 0xa1, 0xda, 0x75, 0x87, 0x3e, 0x0e, 0x74, 0xf2, 0x87, 0x6e, 0xd6, + 0x55, 0x34, 0x60, 0x49, 0x6b, 0xee, 0xd0, 0x8f, 0x11, 0x0c, 0xc8, 0xf2, 0x6c, 0x36, 0x4e, 0xf0, + 0x00, 0x0f, 0xe8, 0x69, 0xf7, 0xde, 0xb0, 0x87, 0x5d, 0xa3, 0x87, 0x59, 0xd5, 0xc4, 0x8e, 0x9b, + 0x74, 0xda, 0xfd, 0x0e, 0x27, 0xa1, 0x15, 0xd4, 0xe6, 0xf7, 0xe2, 0x9f, 0x3e, 0x7a, 0x17, 0x66, + 0x87, 0x36, 0x35, 0x80, 0xd5, 0x0a, 0xe5, 0xbd, 0x36, 0xc1, 0xa1, 0xdb, 0x95, 0x1d, 0xc6, 0xc2, + 0xcf, 0x00, 0xb9, 0x00, 0x74, 0x0b, 0x1a, 0x5c, 0x51, 0xfe, 0x63, 0xc3, 0x4d, 0x6a, 0x0b, 0xa8, + 0x0a, 0x96, 0x19, 0x45, 0xe7, 0xb1, 0xe1, 0xc6, 0x35, 0xd6, 0xb8, 0x05, 0x73, 0x71, 0xa1, 0x87, + 0xb2, 0xa5, 0x3b, 0x50, 0x93, 0x1a, 0x49, 0x7a, 0x9b, 0x2a, 0xc5, 0xb7, 0xbe, 0x2e, 0xc6, 0x56, + 0x99, 0x24, 0x74, 0xac, 0xaf, 0x53, 0x8c, 0x02, 0xad, 0x19, 0x95, 0x53, 0xd2, 0xd8, 0x87, 0x6a, + 0x40, 0x4d, 0x82, 0x05, 0x10, 0x97, 0x4c, 0xcf, 0xff, 0xb9, 0x4b, 0x26, 0xbf, 0x49, 0x9a, 0xe7, + 0xf4, 0x45, 0x0d, 0xe8, 0x6f, 0x92, 0x46, 0x0f, 0xa0, 0xd9, 0x71, 0x1a, 0xfd, 0x4d, 0x8b, 0xc0, + 0xfb, 0x1c, 0x0f, 0x54, 0xd1, 0xd8, 0x87, 0xfa, 0x1b, 0x0a, 0xc0, 0x9a, 0xe1, 0x1a, 0x0f, 0xad, + 0xbe, 0x15, 0x1c, 0xa0, 0x8b, 0x50, 0x37, 0x4c, 0x53, 0xef, 0x8a, 0x14, 0x0b, 0x0b, 0x80, 0xd6, + 0x82, 0x61, 0x9a, 0x6b, 0xb1, 0x64, 0xf4, 0x3c, 0x2c, 0x12, 0x87, 0x2a, 0xd3, 0x32, 0xc4, 0x56, + 0x9d, 0x64, 0x48, 0xc4, 0x37, 0x60, 0x95, 0xc8, 0x35, 0x06, 0x0f, 0x2d, 0x6c, 0x07, 0x32, 0x0f, + 0x83, 0x72, 0x2d, 0x1b, 0xa6, 0xd9, 0x64, 0xd9, 0x71, 0x4e, 0xf5, 0x2f, 0x67, 0xe0, 0xb4, 0xdc, + 0xe3, 0x49, 0xa4, 0xc6, 0x2d, 0x98, 0x4b, 0xd4, 0x37, 0x85, 0x71, 0x88, 0x5a, 0xa8, 0x49, 0xb4, + 0x09, 0x2c, 0x42, 0x21, 0x85, 0x45, 0xc8, 0x44, 0x81, 0x14, 0x3f, 0x21, 0x14, 0x48, 0xe9, 0x63, + 0xa2, 0x40, 0xa6, 0x8f, 0x8a, 0x02, 0x99, 0x9b, 0x18, 0x05, 0xf2, 0x2c, 0x75, 0xbd, 0xa2, 0x44, + 0x1a, 0x0e, 0x30, 0x9f, 0x50, 0x0b, 0xa5, 0xdb, 0x02, 0x35, 0x98, 0x40, 0x8b, 0xcc, 0x1e, 0x06, + 0x2d, 0x52, 0xce, 0x45, 0x8b, 0x9c, 0x83, 0x39, 0xdb, 0xd1, 0x6d, 0xfc, 0x58, 0x27, 0xdd, 0xe2, + 0xaf, 0x56, 0x59, 0x1f, 0xd9, 0xce, 0x26, 0x7e, 0xdc, 0x26, 0x29, 0xe8, 0x3c, 0xcc, 0x0d, 0x0c, + 0xff, 0x11, 0x36, 0x29, 0x6c, 0xc3, 0x5f, 0xad, 0x51, 0x7b, 0xaa, 0xb2, 0xb4, 0x36, 0x49, 0x42, + 0xcf, 0x40, 0x58, 0x0f, 0x4e, 0x34, 0x4f, 0x89, 0x6a, 0x22, 0x95, 0x91, 0xc5, 0x90, 0x27, 0x0b, + 0x47, 0x44, 0x9e, 0xd4, 0x0f, 0x83, 0x3c, 0xb9, 0x0c, 0x75, 0xf1, 0x5b, 0x40, 0x4f, 0xd8, 0x49, + 0x02, 0x45, 0x9d, 0x2c, 0x88, 0x3c, 0x01, 0x2f, 0xc9, 0x03, 0xaa, 0xc0, 0x48, 0xa0, 0xca, 0xef, + 0x29, 0x7c, 0x4d, 0x1b, 0x0e, 0x20, 0x7e, 0x42, 0x2e, 0x81, 0x1b, 0x94, 0xa3, 0x80, 0x1b, 0xd0, + 0x76, 0x2e, 0xfc, 0xe3, 0x62, 0xbe, 0xa4, 0x71, 0x00, 0x10, 0xf5, 0x41, 0xb8, 0xdc, 0xfc, 0x24, + 0x60, 0x6c, 0xea, 0xbf, 0x2b, 0x70, 0x9a, 0xcb, 0xcb, 0xc1, 0x7a, 0x65, 0x58, 0xb9, 0x92, 0x63, + 0xe5, 0x5d, 0x0f, 0x9b, 0xd8, 0x0e, 0x2c, 0xa3, 0x4f, 0x03, 0x18, 0x71, 0x82, 0x1c, 0x25, 0xd3, + 0x18, 0xea, 0x3c, 0xcc, 0x31, 0xf8, 0x26, 0x5f, 0x79, 0x32, 0x94, 0x66, 0x95, 0x22, 0x38, 0xf9, + 0xe2, 0x72, 0x2b, 0xcb, 0xb3, 0x94, 0x72, 0xb7, 0x2c, 0xc6, 0x3a, 0x18, 0xd5, 0x81, 0x95, 0x9c, + 0xb3, 0xfc, 0xcc, 0x6e, 0x52, 0xd2, 0xdd, 0x34, 0x52, 0x49, 0xe9, 0x6e, 0xfa, 0x96, 0x02, 0x67, + 0x53, 0x2b, 0xe0, 0xcf, 0x5e, 0xb3, 0xea, 0x1f, 0x29, 0xa1, 0xfd, 0x24, 0x4d, 0x7e, 0x2d, 0x6d, + 0xf2, 0xcf, 0x8c, 0x5a, 0xd0, 0x67, 0x1a, 0xfd, 0x7b, 0xb9, 0x46, 0xff, 0xfc, 0xc8, 0xcd, 0x81, + 0x71, 0xfa, 0xfc, 0x17, 0x05, 0x4e, 0xe4, 0x56, 0x20, 0x11, 0x0f, 0x2a, 0xc9, 0x78, 0x90, 0xc7, + 0x92, 0x51, 0xf4, 0xcf, 0x62, 0x49, 0x1a, 0xe0, 0xf3, 0xa0, 0x4d, 0x1f, 0x18, 0x4f, 0xac, 0xc1, + 0x70, 0xc0, 0x83, 0x49, 0x22, 0xee, 0x01, 0x4b, 0x39, 0x4a, 0x34, 0x79, 0x15, 0x96, 0x98, 0xa3, + 0xa7, 0x01, 0x4d, 0xc4, 0xc1, 0x82, 0xca, 0x45, 0x96, 0x47, 0x62, 0x1b, 0xce, 0xa0, 0x36, 0x61, + 0x31, 0x6c, 0xd6, 0x48, 0x2c, 0x53, 0x0c, 0x9b, 0x54, 0x90, 0xb1, 0x49, 0x36, 0xcc, 0xac, 0xe3, + 0x7d, 0xab, 0x8b, 0x3f, 0x11, 0x18, 0xf5, 0x39, 0xa8, 0xba, 0xd8, 0x1b, 0x58, 0xbe, 0x1f, 0xce, + 0xea, 0x15, 0x2d, 0x9e, 0xa4, 0x9e, 0x85, 0xca, 0xda, 0x7a, 0x8b, 0x17, 0x99, 0x51, 0x55, 0xf5, + 0x3f, 0x66, 0x60, 0x21, 0x69, 0x63, 0x37, 0x53, 0x58, 0xa9, 0xd3, 0x99, 0xfb, 0x6c, 0x19, 0x1b, + 0xcc, 0xcf, 0x8b, 0xa5, 0x57, 0x21, 0x0d, 0x24, 0x08, 0x97, 0x57, 0x62, 0x45, 0xb6, 0x0a, 0xb3, + 0x5d, 0x67, 0x30, 0x30, 0x6c, 0x53, 0x80, 0xe1, 0xf9, 0x27, 0xa9, 0xa9, 0xe1, 0xf5, 0xd8, 0xd6, + 0x72, 0x45, 0xa3, 0xbf, 0x89, 0x09, 0x10, 0x67, 0x68, 0xd9, 0x14, 0x6d, 0x45, 0x7b, 0xa9, 0xa2, + 0x01, 0x4f, 0x5a, 0xb7, 0x3c, 0x74, 0x01, 0x4a, 0xd8, 0xde, 0x17, 0x67, 0x4e, 0xd2, 0x16, 0xa7, + 0x58, 0x13, 0x69, 0x94, 0x02, 0x5d, 0x84, 0x99, 0x01, 0x31, 0x2b, 0x71, 0x22, 0xbf, 0x98, 0x02, + 0x8d, 0x6b, 0x9c, 0x00, 0xbd, 0x00, 0xb3, 0x26, 0xd5, 0x9e, 0x58, 0x04, 0x20, 0x09, 0xb7, 0x45, + 0xb3, 0x34, 0x41, 0x82, 0xde, 0x0e, 0xf7, 0xd7, 0x2b, 0xe9, 0x83, 0xaf, 0x84, 0x9a, 0x33, 0xb7, + 0xd6, 0x37, 0xe5, 0x45, 0x2a, 0xa4, 0x77, 0xe9, 0x93, 0x52, 0x46, 0x2f, 0x55, 0x4f, 0x40, 0xb9, + 0xef, 0xf4, 0x98, 0xf5, 0x54, 0xd9, 0x4d, 0x8a, 0xbe, 0xd3, 0xa3, 0xc6, 0xb3, 0x04, 0xd3, 0x7e, + 0x60, 0x5a, 0x36, 0x8d, 0xa5, 0xca, 0x1a, 0xfb, 0x20, 0x83, 0x94, 0xfe, 0xd0, 0x1d, 0xbb, 0x8b, + 0x57, 0x6b, 0x34, 0xab, 0x42, 0x53, 0xb6, 0xec, 0x2e, 0x5d, 0x53, 0x06, 0xc1, 0xc1, 0xea, 0x3c, + 0x4d, 0x27, 0x3f, 0xa3, 0x6d, 0xee, 0x85, 0x9c, 0x6d, 0xee, 0x44, 0x85, 0x33, 0xb6, 0xb9, 0xeb, + 0xb9, 0x73, 0x46, 0x92, 0x57, 0xb0, 0x90, 0x38, 0x72, 0x6d, 0xbd, 0xa5, 0x8b, 0xae, 0x59, 0x4c, + 0x63, 0xca, 0x43, 0xb3, 0xd7, 0x20, 0xfc, 0xf9, 0x99, 0x9e, 0x32, 0x7c, 0x57, 0x81, 0xe5, 0x35, + 0x7a, 0xc6, 0x1a, 0xf3, 0x8d, 0x87, 0x81, 0x27, 0xbd, 0x14, 0x62, 0xc6, 0x32, 0x80, 0x3f, 0x49, + 0x4d, 0x09, 0xc8, 0xd8, 0x1a, 0xcc, 0x0b, 0xb1, 0x9c, 0xb9, 0x38, 0x01, 0xe0, 0xac, 0xe6, 0xc7, + 0x3f, 0xd5, 0x37, 0x60, 0x25, 0x55, 0x73, 0x7e, 0xd2, 0x95, 0xbc, 0x7c, 0xc0, 0x2a, 0x1e, 0xbf, + 0x7c, 0xa0, 0xde, 0x82, 0xe3, 0x9d, 0xc0, 0xf0, 0x82, 0x54, 0xb3, 0x27, 0xe0, 0xa5, 0x50, 0x32, + 0x99, 0x97, 0xa3, 0xbd, 0x3a, 0xb0, 0xd4, 0x09, 0x1c, 0xf7, 0x08, 0x42, 0x89, 0xdf, 0x21, 0x2d, + 0x77, 0x86, 0x62, 0x9e, 0x11, 0x9f, 0xea, 0x0a, 0x03, 0xbe, 0xa5, 0x4b, 0x7b, 0x1d, 0x96, 0x19, + 0xee, 0xec, 0x28, 0x8d, 0x38, 0x21, 0x50, 0x6f, 0x69, 0xb9, 0xf7, 0xe0, 0x98, 0xb4, 0xf7, 0xce, + 0x71, 0x1a, 0xd7, 0x64, 0x9c, 0x46, 0xfe, 0x31, 0x47, 0x08, 0xd3, 0xf8, 0x76, 0x21, 0xe6, 0xc7, + 0x73, 0x0e, 0x6b, 0x5f, 0x91, 0x51, 0x1a, 0x67, 0xf3, 0xa5, 0x4a, 0x20, 0x8d, 0xb4, 0x75, 0x16, + 0x33, 0xac, 0x73, 0x27, 0x75, 0x12, 0x5c, 0x4a, 0xa3, 0x6c, 0x12, 0x35, 0xfc, 0x54, 0xce, 0x80, + 0xef, 0x33, 0x24, 0x47, 0x58, 0x74, 0x78, 0xfc, 0xfb, 0x52, 0xe2, 0xf8, 0xf7, 0xe4, 0x88, 0x9a, + 0x86, 0x07, 0xbf, 0xdf, 0x2e, 0x41, 0x25, 0xcc, 0x4b, 0x69, 0x38, 0xad, 0xaa, 0x42, 0x86, 0xaa, + 0xe2, 0xf3, 0x6b, 0xf1, 0x88, 0xf3, 0x6b, 0x69, 0x82, 0xf9, 0xf5, 0x24, 0x54, 0xe8, 0x0f, 0x0a, + 0xbe, 0x67, 0xf3, 0x65, 0x99, 0x26, 0x68, 0x78, 0x37, 0x32, 0xb1, 0x99, 0x09, 0x4d, 0x2c, 0x81, + 0x1a, 0x99, 0x4d, 0xa2, 0x46, 0x6e, 0x86, 0x73, 0x5f, 0x39, 0x7d, 0x4a, 0x13, 0x4a, 0xcc, 0x9c, + 0xf5, 0x12, 0x5b, 0xb3, 0x95, 0xf4, 0xd6, 0x6c, 0xc4, 0xff, 0xb9, 0x3d, 0x45, 0xde, 0x62, 0x50, + 0x90, 0xb8, 0x9d, 0x71, 0x1f, 0xf9, 0x8a, 0x74, 0x0a, 0xa7, 0x64, 0xcc, 0x55, 0xa1, 0x5f, 0x88, + 0x9f, 0xbc, 0xed, 0xc0, 0x72, 0x12, 0x42, 0x76, 0x28, 0x1f, 0x97, 0x83, 0x65, 0xfd, 0xd5, 0x78, + 0xc4, 0x97, 0x03, 0xdc, 0xbc, 0x99, 0xc2, 0x18, 0x4c, 0x6c, 0xa1, 0xd7, 0x64, 0x38, 0xd2, 0xa1, + 0xed, 0x2a, 0x85, 0x46, 0xa2, 0x11, 0x89, 0xe1, 0xf1, 0x6c, 0x16, 0x9c, 0x57, 0x78, 0x4a, 0x93, + 0xae, 0x0c, 0x76, 0x2d, 0xdb, 0xf2, 0xf7, 0x58, 0xfe, 0x0c, 0x5b, 0x19, 0x88, 0xa4, 0x26, 0xdd, + 0xb5, 0xc4, 0x4f, 0xac, 0x40, 0xef, 0x3a, 0x26, 0xa6, 0x56, 0x3b, 0xad, 0x95, 0x49, 0xc2, 0x9a, + 0x63, 0xe2, 0x68, 0x3c, 0x95, 0x0f, 0x3b, 0x9e, 0x2a, 0x89, 0xf1, 0xb4, 0x0c, 0x33, 0x1e, 0x36, + 0x7c, 0xc7, 0x66, 0x9b, 0x19, 0x1a, 0xff, 0x22, 0x1d, 0x31, 0xc0, 0xbe, 0x4f, 0xca, 0xe0, 0x01, + 0x18, 0xff, 0x8c, 0x05, 0x8b, 0x73, 0x23, 0x82, 0xc5, 0x11, 0xb0, 0xd0, 0x44, 0xb0, 0x58, 0x1b, + 0x11, 0x2c, 0x4e, 0x84, 0x0a, 0x8d, 0xc2, 0xe2, 0xf9, 0x71, 0x61, 0x71, 0x3c, 0xae, 0x5c, 0x90, + 0xe3, 0xca, 0x37, 0xe2, 0x2b, 0xd4, 0x7a, 0xfa, 0x90, 0x7c, 0xf4, 0x65, 0x93, 0xcf, 0x70, 0x00, + 0xff, 0xbd, 0x02, 0x2b, 0xa9, 0x01, 0xc7, 0x87, 0xf0, 0x4b, 0x09, 0xbc, 0xe9, 0x48, 0xa0, 0xa7, + 0x80, 0x9b, 0x36, 0x25, 0xb8, 0xe9, 0xe5, 0x51, 0x2c, 0x39, 0x68, 0xd3, 0xa3, 0x23, 0x40, 0xbf, + 0xa9, 0x00, 0xca, 0x58, 0x83, 0xdf, 0x14, 0xd1, 0xfa, 0x21, 0x76, 0xcb, 0x78, 0xc0, 0xfe, 0x76, + 0x14, 0xb0, 0x17, 0x0e, 0xb3, 0xef, 0x10, 0x42, 0x53, 0x7e, 0x58, 0x80, 0xb3, 0x3b, 0xae, 0x99, + 0x08, 0x23, 0x39, 0xd5, 0xe4, 0x9e, 0xed, 0xa6, 0x8c, 0xab, 0x39, 0x62, 0x13, 0x8a, 0x47, 0x69, + 0x02, 0xfa, 0x6a, 0x16, 0xf2, 0xe9, 0x0d, 0xe9, 0x8c, 0x72, 0x74, 0x03, 0xc7, 0x4c, 0x5f, 0x1f, + 0xd7, 0x84, 0x55, 0x38, 0x97, 0x5f, 0x01, 0x1e, 0x72, 0xfe, 0x2c, 0x2c, 0x6c, 0x3c, 0xc1, 0xdd, + 0xce, 0x81, 0xdd, 0x3d, 0x84, 0xd6, 0xeb, 0x50, 0xec, 0x0e, 0x4c, 0x7e, 0x3a, 0x42, 0x7e, 0xc6, + 0xa3, 0xe8, 0xa2, 0x1c, 0x45, 0xeb, 0x50, 0x8f, 0x4a, 0xe0, 0x03, 0x68, 0x99, 0x0c, 0x20, 0x93, + 0x10, 0x13, 0xe1, 0x73, 0x1a, 0xff, 0xe2, 0xe9, 0xd8, 0x63, 0x37, 0x59, 0x58, 0x3a, 0xf6, 0x3c, + 0xd9, 0x6b, 0x17, 0x65, 0xaf, 0xad, 0x7e, 0x47, 0x81, 0x2a, 0x29, 0xe1, 0x63, 0xd5, 0x9f, 0x2f, + 0x65, 0x8b, 0xd1, 0x52, 0x36, 0x5c, 0x11, 0x97, 0xe2, 0x2b, 0xe2, 0xa8, 0xe6, 0xd3, 0x34, 0x39, + 0x5d, 0xf3, 0x99, 0x30, 0x1d, 0x7b, 0x9e, 0x7a, 0x0e, 0xe6, 0x58, 0xdd, 0x78, 0xcb, 0xeb, 0x50, + 0x1c, 0x7a, 0x7d, 0xd1, 0x7f, 0x43, 0xaf, 0xaf, 0x7e, 0x43, 0x81, 0x5a, 0x33, 0x08, 0x8c, 0xee, + 0xde, 0x21, 0x1a, 0x10, 0x56, 0xae, 0x10, 0xaf, 0x5c, 0xba, 0x11, 0x51, 0x75, 0x4b, 0x39, 0xd5, + 0x9d, 0x96, 0xaa, 0xab, 0xc2, 0xbc, 0xa8, 0x4b, 0x6e, 0x85, 0x37, 0x01, 0xb5, 0x1d, 0x2f, 0xb8, + 0xeb, 0x78, 0x8f, 0x0d, 0xcf, 0x3c, 0xdc, 0xaa, 0x15, 0x41, 0x89, 0xbf, 0x45, 0x50, 0xbc, 0x30, + 0xad, 0xd1, 0xdf, 0xea, 0x73, 0x70, 0x4c, 0x92, 0x97, 0x5b, 0xf0, 0x2d, 0xa8, 0xd2, 0x59, 0x98, + 0x2f, 0x68, 0x9e, 0x8f, 0x1f, 0xec, 0x8f, 0x99, 0xad, 0xd5, 0x75, 0x58, 0x24, 0xf1, 0x18, 0x4d, + 0x0f, 0xfd, 0xcb, 0xd5, 0x44, 0xcc, 0xbf, 0x92, 0x12, 0x91, 0x88, 0xf7, 0x7f, 0xac, 0xc0, 0x34, + 0x3b, 0xc3, 0x4f, 0xc6, 0x48, 0x27, 0xc9, 0x3c, 0xe7, 0x3a, 0x7a, 0x60, 0xf4, 0xc2, 0x77, 0x1e, + 0x48, 0xc2, 0xb6, 0xd1, 0xa3, 0x27, 0x3a, 0x34, 0xd3, 0xb4, 0x7a, 0xd8, 0x0f, 0xc4, 0x09, 0x61, + 0x95, 0xa4, 0xad, 0xb3, 0x24, 0xa2, 0x18, 0x7a, 0x90, 0x5a, 0xa2, 0xe7, 0xa5, 0xf4, 0x37, 0xba, + 0xc0, 0x2e, 0x41, 0x8e, 0x3e, 0x16, 0xa3, 0x97, 0x23, 0x1b, 0x50, 0x4e, 0x9c, 0x67, 0x85, 0xdf, + 0xe8, 0x22, 0x94, 0xe8, 0xfe, 0xf3, 0xec, 0x28, 0x2d, 0x51, 0x12, 0x62, 0x15, 0xae, 0x65, 0xdb, + 0xd8, 0xe4, 0x8f, 0x10, 0xf0, 0x2f, 0xf5, 0x6d, 0x40, 0x71, 0xe5, 0xf1, 0x0e, 0xba, 0x08, 0x33, + 0x54, 0xb7, 0x22, 0x88, 0x5d, 0x4c, 0x89, 0xd6, 0x38, 0x81, 0xfa, 0x15, 0x40, 0xac, 0x2c, 0x29, + 0x70, 0x3d, 0x4c, 0x07, 0x8e, 0x08, 0x61, 0xff, 0x58, 0x81, 0x63, 0x92, 0x74, 0x5e, 0xbf, 0xe7, + 0x64, 0xf1, 0x19, 0xd5, 0xe3, 0xa2, 0xdf, 0x94, 0x66, 0xe6, 0x8b, 0xe9, 0x6a, 0xfc, 0x3f, 0xcd, + 0xca, 0xff, 0xa0, 0x00, 0x34, 0x87, 0xc1, 0x1e, 0xdf, 0x68, 0x8d, 0x77, 0xa2, 0x92, 0xe8, 0xc4, + 0x06, 0x94, 0x5d, 0xc3, 0xf7, 0x1f, 0x3b, 0x9e, 0x58, 0x44, 0x86, 0xdf, 0x74, 0x7b, 0x74, 0xc8, + 0x1f, 0x73, 0xa8, 0x68, 0xf4, 0x37, 0x7a, 0x06, 0xe6, 0xd9, 0x03, 0x24, 0xba, 0x61, 0x9a, 0x9e, + 0x00, 0x0b, 0x56, 0xb4, 0x1a, 0x4b, 0x6d, 0xb2, 0x44, 0x42, 0x66, 0xd1, 0xd3, 0x88, 0xe0, 0x40, + 0x0f, 0x9c, 0x47, 0xd8, 0xe6, 0x0b, 0xc3, 0x9a, 0x48, 0xdd, 0x26, 0x89, 0xec, 0xb8, 0xb1, 0x67, + 0xf9, 0x81, 0x27, 0xc8, 0xc4, 0xa1, 0x29, 0x4f, 0xa5, 0x64, 0xea, 0xef, 0x2b, 0x50, 0x6f, 0x0f, + 0xfb, 0x7d, 0xa6, 0xdc, 0xa3, 0x74, 0xf2, 0x25, 0xde, 0x94, 0x42, 0xda, 0xe4, 0x23, 0x45, 0xf1, + 0x26, 0x7e, 0x22, 0x7b, 0x59, 0xd7, 0x60, 0x31, 0x56, 0x63, 0x6e, 0x38, 0x52, 0x64, 0xaf, 0xc8, + 0x91, 0xbd, 0xda, 0x04, 0xc4, 0xb6, 0x6f, 0x8e, 0xdc, 0x4a, 0xf5, 0x38, 0x1c, 0x93, 0x44, 0xf0, + 0xa9, 0xf8, 0x12, 0xd4, 0x38, 0x70, 0x8d, 0x1b, 0xc4, 0x09, 0x28, 0x13, 0x97, 0xda, 0xb5, 0x4c, + 0x81, 0x90, 0x98, 0x75, 0x1d, 0x73, 0xcd, 0x32, 0x3d, 0xf5, 0x8b, 0x50, 0xe3, 0x37, 0xe3, 0x39, + 0xed, 0x6d, 0x98, 0xe7, 0xe7, 0x83, 0xba, 0x74, 0x95, 0xf4, 0x44, 0x06, 0x3a, 0x52, 0xa8, 0xc2, + 0x8e, 0x7f, 0xaa, 0x5f, 0x85, 0x06, 0x8b, 0x16, 0x24, 0xc1, 0xa2, 0x81, 0xb7, 0x41, 0x80, 0x93, + 0x46, 0xc8, 0x97, 0x39, 0x6b, 0x5e, 0xfc, 0x53, 0x3d, 0x0d, 0x27, 0x33, 0xe5, 0xf3, 0xd6, 0xbb, + 0x50, 0x8f, 0x32, 0xd8, 0x7d, 0xc7, 0x10, 0xf6, 0xa1, 0xc4, 0x60, 0x1f, 0xcb, 0x61, 0xec, 0x5d, + 0x10, 0x33, 0x17, 0x0d, 0xaf, 0xa3, 0x15, 0x57, 0x31, 0x6f, 0xc5, 0x55, 0x92, 0x56, 0x5c, 0xea, + 0x83, 0x50, 0x87, 0x7c, 0xdd, 0xfb, 0x06, 0x5d, 0x99, 0xb3, 0xb2, 0x85, 0x53, 0x3b, 0x95, 0xdd, + 0x3e, 0x46, 0xa4, 0xc5, 0xe8, 0xd5, 0x8b, 0x50, 0x93, 0xdd, 0x5b, 0xcc, 0x63, 0x29, 0xb2, 0xc7, + 0xfa, 0x39, 0x58, 0xd6, 0x24, 0xa4, 0xd7, 0x5d, 0x6c, 0x04, 0x43, 0x0f, 0xfb, 0xe8, 0x75, 0x68, + 0x64, 0xbc, 0x09, 0xa3, 0xf3, 0x85, 0x18, 0x13, 0xb3, 0x92, 0x7a, 0x1a, 0xe6, 0x01, 0x5b, 0x86, + 0x3d, 0x07, 0x0b, 0x14, 0x89, 0x16, 0xbb, 0xc1, 0xc9, 0x74, 0x44, 0xdf, 0x1f, 0xd9, 0x8c, 0xae, + 0x6b, 0x9a, 0xe1, 0xbb, 0x0a, 0xbc, 0xfc, 0xcc, 0x73, 0xab, 0xb7, 0xa0, 0xbc, 0xcb, 0xeb, 0xc5, + 0x07, 0xa4, 0x9a, 0xa1, 0x8c, 0x44, 0x0b, 0xb4, 0x90, 0x47, 0xfd, 0x1f, 0x05, 0xe6, 0x13, 0x2e, + 0xf9, 0xc5, 0xc4, 0xc2, 0x29, 0xcb, 0x7a, 0x12, 0xcb, 0xa6, 0x1b, 0x92, 0x73, 0x7e, 0x5a, 0x02, + 0x22, 0x8c, 0xbe, 0x9b, 0xb7, 0x01, 0xf5, 0x04, 0xcc, 0x4e, 0x40, 0x6c, 0x1b, 0xf9, 0xed, 0xd0, + 0x16, 0x64, 0x0c, 0x9e, 0x7f, 0x74, 0xf7, 0xbe, 0xc4, 0x27, 0xbd, 0xbb, 0x3e, 0xe1, 0xe7, 0x56, + 0xa1, 0x3e, 0x05, 0xd5, 0x9d, 0xbc, 0xc7, 0x5c, 0x4a, 0x02, 0x84, 0xf7, 0x2a, 0x2c, 0xdd, 0xb5, + 0xfa, 0xd8, 0x3f, 0xf0, 0x03, 0x3c, 0x68, 0x51, 0x5f, 0xbc, 0x6b, 0x61, 0x0f, 0x9d, 0x01, 0xa0, + 0xa6, 0xe0, 0x3a, 0x56, 0xf8, 0x80, 0x45, 0x2c, 0x45, 0xfd, 0x81, 0x02, 0x0b, 0x11, 0xe3, 0x24, + 0x48, 0xcb, 0x57, 0x60, 0x7a, 0xd7, 0x17, 0x5b, 0x93, 0x89, 0x03, 0x9b, 0xac, 0x2a, 0x68, 0xa5, + 0x5d, 0xbf, 0x65, 0xa2, 0x57, 0x01, 0x86, 0x3e, 0x36, 0xf9, 0x19, 0xe9, 0x18, 0xec, 0x6b, 0x85, + 0x90, 0xb2, 0x53, 0xd6, 0x1b, 0x50, 0xb5, 0x6c, 0xc7, 0xc4, 0xf4, 0xfc, 0xdc, 0x1c, 0x87, 0x7b, + 0x05, 0x46, 0xbb, 0xe3, 0x63, 0x53, 0xfd, 0xed, 0xe8, 0x14, 0xfc, 0xf3, 0xdc, 0x42, 0xf5, 0x0f, + 0x44, 0x34, 0x22, 0xba, 0x9d, 0x9b, 0xfe, 0x3b, 0xb0, 0xc8, 0x26, 0x95, 0xdd, 0xb0, 0xcc, 0xcc, + 0x0b, 0x41, 0x89, 0xc6, 0x69, 0x75, 0x8b, 0xc7, 0xa1, 0x82, 0x09, 0xb5, 0xe1, 0x78, 0xb4, 0x3c, + 0x88, 0x4b, 0x2b, 0x8c, 0x97, 0xb6, 0xd4, 0x8d, 0xed, 0x64, 0x0b, 0x46, 0xf5, 0x16, 0x1c, 0x4f, + 0x60, 0xfe, 0x27, 0x3f, 0xce, 0x78, 0x37, 0xb1, 0x2f, 0x19, 0x0d, 0xf6, 0x6b, 0xf2, 0x55, 0xb3, + 0x51, 0xb7, 0x33, 0xf8, 0xad, 0xa7, 0x1d, 0x38, 0x21, 0x6d, 0x9a, 0x4a, 0x75, 0xb9, 0x91, 0x08, + 0xd6, 0xcf, 0xe5, 0xcb, 0x4b, 0x44, 0xed, 0xff, 0xa9, 0xc0, 0x52, 0x16, 0xc1, 0x11, 0x37, 0xec, + 0x3f, 0xc8, 0xb9, 0xa6, 0xfa, 0xd2, 0xb8, 0x0a, 0x7d, 0x2a, 0x07, 0x1c, 0x9b, 0xec, 0x92, 0xdb, + 0xf8, 0x3e, 0x29, 0x4e, 0xd6, 0x27, 0x3f, 0x2e, 0xc4, 0x0e, 0xa5, 0x46, 0x5c, 0x44, 0xfb, 0x18, + 0x9b, 0xc4, 0x6b, 0x89, 0x7b, 0x68, 0xcf, 0x67, 0x32, 0x8e, 0xb9, 0x86, 0xa6, 0x65, 0x6d, 0xc6, + 0x5c, 0x1b, 0x27, 0xe9, 0x73, 0x7b, 0x7e, 0xf0, 0x6b, 0x05, 0x98, 0x97, 0x3b, 0x04, 0xbd, 0x9d, + 0x71, 0x09, 0xed, 0xec, 0x98, 0x06, 0x4a, 0x77, 0xd0, 0xf8, 0xa5, 0xaf, 0xc2, 0xe4, 0x97, 0xbe, + 0x8a, 0x93, 0x5d, 0xfa, 0xba, 0x03, 0xf3, 0x8f, 0x3d, 0x2b, 0x30, 0x1e, 0xf6, 0xb1, 0xde, 0x37, + 0x0e, 0xb0, 0xc7, 0x1d, 0xfb, 0x48, 0x57, 0x54, 0x13, 0x2c, 0xf7, 0x09, 0x07, 0x5d, 0xa6, 0x3e, + 0x36, 0x5c, 0xbe, 0xda, 0x95, 0x02, 0xe8, 0xce, 0x63, 0xc3, 0x65, 0x3c, 0x94, 0x44, 0xfd, 0x46, + 0x01, 0x8e, 0x67, 0x5e, 0x55, 0xfa, 0xf8, 0x2a, 0xba, 0x1c, 0x57, 0xd1, 0x61, 0xee, 0x7f, 0x15, + 0x0f, 0x75, 0xff, 0xab, 0x95, 0xa3, 0xb0, 0x2c, 0xd4, 0xc3, 0x68, 0xbd, 0xa9, 0x7f, 0xa6, 0x40, + 0x59, 0x54, 0x6a, 0xec, 0x6d, 0xac, 0x95, 0x21, 0x21, 0xd3, 0x29, 0x62, 0xde, 0x36, 0x6c, 0x47, + 0xf7, 0x31, 0x89, 0x60, 0xc7, 0xde, 0x7d, 0x59, 0xa2, 0x7c, 0x6b, 0x8e, 0x87, 0x37, 0x0d, 0xdb, + 0xe9, 0x30, 0x26, 0xd4, 0x84, 0x3a, 0x93, 0x47, 0x45, 0x11, 0xa1, 0x63, 0x27, 0xca, 0x79, 0xca, + 0x40, 0x84, 0x10, 0x61, 0xbe, 0xfa, 0xd7, 0x0a, 0x2c, 0x24, 0x34, 0xfb, 0xd3, 0xd7, 0x88, 0xdf, + 0x2a, 0x42, 0x35, 0xd6, 0xcb, 0x63, 0x1a, 0xb0, 0x06, 0x8b, 0x02, 0xb9, 0xe4, 0xe3, 0x60, 0xb2, + 0xbb, 0x47, 0x0b, 0x9c, 0xa3, 0x83, 0x03, 0x16, 0x47, 0xdd, 0x86, 0x05, 0x63, 0xdf, 0xb0, 0xfa, + 0xd4, 0x82, 0x26, 0x0a, 0x51, 0xe6, 0x43, 0xfa, 0x30, 0x12, 0x63, 0xed, 0x9e, 0xe8, 0x06, 0x12, + 0x50, 0xda, 0xe8, 0x22, 0x98, 0xef, 0xc7, 0xe0, 0x71, 0x23, 0x2f, 0x82, 0xf9, 0x7e, 0x58, 0x1e, + 0xbd, 0x2e, 0x40, 0x6f, 0xc0, 0xf9, 0xfc, 0xd9, 0x94, 0xfc, 0xf2, 0x08, 0xed, 0x5d, 0x4a, 0x4a, + 0x14, 0x36, 0x30, 0x3e, 0x74, 0x3c, 0x3d, 0xce, 0x3f, 0x3b, 0x46, 0x61, 0x94, 0xa3, 0x1d, 0x0a, + 0x51, 0xff, 0x44, 0x81, 0x4a, 0xe8, 0x47, 0xc6, 0xf4, 0x50, 0x0b, 0x96, 0xe8, 0xdd, 0x8a, 0xa4, + 0x86, 0xc7, 0x74, 0x12, 0x22, 0x4c, 0x4d, 0x59, 0xcb, 0x4d, 0xa8, 0x53, 0x51, 0x71, 0x55, 0x8f, + 0xeb, 0x28, 0x5f, 0x54, 0x93, 0x05, 0x94, 0x7f, 0x5e, 0x00, 0x94, 0x76, 0x25, 0x3f, 0x35, 0x46, + 0x16, 0xef, 0xb4, 0xd2, 0xe4, 0x9d, 0x7e, 0x0f, 0x8e, 0x75, 0x9d, 0xc1, 0xc0, 0xa2, 0xf7, 0x72, + 0x1c, 0xef, 0x60, 0x32, 0x73, 0x5b, 0x64, 0x3c, 0x4c, 0x4f, 0x4c, 0x7d, 0x6f, 0xc1, 0x09, 0x0d, + 0x3b, 0x2e, 0xb6, 0x43, 0xd7, 0x7f, 0xdf, 0xe9, 0x1d, 0x22, 0xbe, 0x3d, 0x05, 0x8d, 0x2c, 0x7e, + 0xbe, 0x6b, 0x31, 0x84, 0xc6, 0xda, 0x1e, 0xee, 0x3e, 0xa2, 0xcb, 0xaf, 0xa3, 0xa0, 0x8f, 0x1a, + 0x50, 0xee, 0x3b, 0x5d, 0xf6, 0x66, 0x2d, 0xdf, 0xd8, 0x13, 0xdf, 0x23, 0xce, 0x54, 0x4e, 0xc3, + 0xc9, 0xcc, 0x62, 0x79, 0xad, 0x10, 0xd4, 0xef, 0xe1, 0x60, 0x63, 0x1f, 0xdb, 0x61, 0xf8, 0xac, + 0x7e, 0xaf, 0x10, 0x0b, 0xd4, 0x69, 0xd6, 0x21, 0x50, 0x5b, 0xa8, 0x0d, 0xd1, 0xca, 0x41, 0xc7, + 0x84, 0x9b, 0xbd, 0x08, 0xc9, 0xde, 0x52, 0xcd, 0x3e, 0xd1, 0xa5, 0x85, 0xd0, 0x87, 0x20, 0xa3, + 0xb7, 0x6e, 0xc2, 0xb4, 0xc4, 0x39, 0x7f, 0x31, 0x79, 0xce, 0xff, 0x2e, 0xa0, 0x78, 0x28, 0xce, + 0x77, 0x0d, 0x4a, 0x13, 0x3c, 0xef, 0x53, 0x77, 0x93, 0x0f, 0x51, 0xe5, 0x3c, 0xd2, 0x33, 0x7d, + 0xa4, 0x47, 0x7a, 0xd4, 0x33, 0x70, 0x8a, 0x04, 0xd8, 0x0f, 0x70, 0xe0, 0x59, 0xdd, 0x75, 0xec, + 0x77, 0x3d, 0xcb, 0x0d, 0x9c, 0x10, 0x48, 0xa4, 0xea, 0x70, 0x3a, 0x27, 0x9f, 0xab, 0xfb, 0x2d, + 0xa8, 0x9a, 0x51, 0x72, 0xd6, 0x3e, 0x53, 0x92, 0x57, 0x8b, 0x33, 0xa8, 0xef, 0x43, 0x3d, 0x49, + 0x90, 0xb9, 0x7f, 0x83, 0xa0, 0xb4, 0x87, 0xfb, 0xae, 0xb8, 0x48, 0x45, 0x7e, 0x13, 0xad, 0xb3, + 0xb5, 0xcb, 0x23, 0x7c, 0x20, 0xce, 0x21, 0x2a, 0x34, 0xe5, 0x0b, 0xf8, 0x20, 0x6c, 0x9b, 0xf4, + 0x6a, 0x84, 0x67, 0x75, 0x93, 0x6d, 0xcb, 0xc8, 0x8f, 0xda, 0x46, 0xba, 0x6d, 0xc0, 0x92, 0x79, + 0xdb, 0x4e, 0xe7, 0xbe, 0x48, 0x41, 0x79, 0xc1, 0x75, 0x4c, 0xfe, 0x5b, 0xfd, 0x43, 0x05, 0x16, + 0x53, 0x14, 0x13, 0x9e, 0x2d, 0xbd, 0x00, 0xb3, 0xa2, 0xdc, 0x42, 0x1a, 0x9c, 0xcb, 0x64, 0x69, + 0x82, 0x04, 0xb5, 0x60, 0x31, 0xb2, 0x68, 0xc1, 0x57, 0x4c, 0xf7, 0x45, 0x7c, 0xe1, 0x42, 0xab, + 0x5b, 0xef, 0x26, 0x52, 0xd4, 0x2e, 0xd4, 0x93, 0x54, 0x93, 0x8c, 0xa9, 0x43, 0xd5, 0x57, 0xfd, + 0x5b, 0x05, 0x66, 0x58, 0x5a, 0x66, 0x67, 0x4b, 0xd3, 0x41, 0x21, 0x39, 0x1d, 0xbc, 0x06, 0x55, + 0x26, 0x47, 0x0f, 0xaf, 0xd1, 0xcd, 0xcb, 0xdb, 0xeb, 0x4c, 0x34, 0x1d, 0xad, 0x30, 0x08, 0x7f, + 0x93, 0x66, 0x30, 0x7b, 0xa1, 0x2b, 0x13, 0x01, 0xc1, 0xae, 0xd2, 0x34, 0xea, 0x72, 0x49, 0xc8, + 0xcc, 0xd7, 0x30, 0x63, 0x7c, 0x33, 0xdf, 0xda, 0x5a, 0xa6, 0x6f, 0x20, 0xa6, 0x36, 0x98, 0xd5, + 0x6d, 0xfa, 0x48, 0x61, 0x7a, 0x63, 0x18, 0xbd, 0x2e, 0x83, 0x14, 0x9e, 0x49, 0x9d, 0xf0, 0x4b, + 0x6c, 0x43, 0x8f, 0xbd, 0xed, 0xcd, 0x78, 0xd4, 0x0f, 0xe0, 0x44, 0x2e, 0x0d, 0x7a, 0x33, 0x7c, + 0x11, 0xd6, 0xf4, 0xac, 0x7d, 0xbe, 0xb1, 0x30, 0x2f, 0xbf, 0x3e, 0xb1, 0x46, 0x09, 0xd6, 0x69, + 0xbe, 0x78, 0x2b, 0x96, 0x7d, 0x5d, 0x7a, 0x16, 0xca, 0xe2, 0xdd, 0x75, 0x34, 0x0b, 0xc5, 0xed, + 0xb5, 0x76, 0x7d, 0x8a, 0xfc, 0xd8, 0x59, 0x6f, 0xd7, 0x15, 0x54, 0x86, 0x52, 0x67, 0x6d, 0xbb, + 0x5d, 0x2f, 0x5c, 0x1a, 0x40, 0x3d, 0xf9, 0xf4, 0x38, 0x5a, 0x81, 0x63, 0x6d, 0x6d, 0xab, 0xdd, + 0xbc, 0xd7, 0xdc, 0x6e, 0x6d, 0x6d, 0xea, 0x6d, 0xad, 0xf5, 0x5e, 0x73, 0x7b, 0xa3, 0x3e, 0x85, + 0xce, 0xc3, 0xe9, 0x78, 0xc6, 0x3b, 0x5b, 0x9d, 0x6d, 0x7d, 0x7b, 0x4b, 0x5f, 0xdb, 0xda, 0xdc, + 0x6e, 0xb6, 0x36, 0x37, 0xb4, 0xba, 0x82, 0x4e, 0xc3, 0x89, 0x38, 0xc9, 0x9d, 0xd6, 0x7a, 0x4b, + 0xdb, 0x58, 0x23, 0xbf, 0x9b, 0xf7, 0xeb, 0x85, 0x4b, 0x6f, 0x42, 0x4d, 0xba, 0x38, 0x44, 0xaa, + 0xd4, 0xde, 0x5a, 0xaf, 0x4f, 0xa1, 0x1a, 0x54, 0xe2, 0x72, 0xca, 0x50, 0xda, 0xdc, 0x5a, 0xdf, + 0xa8, 0x17, 0x10, 0xc0, 0xcc, 0x76, 0x53, 0xbb, 0xb7, 0xb1, 0x5d, 0x2f, 0x5e, 0xba, 0x95, 0x7c, + 0xfd, 0x04, 0xa3, 0x45, 0xa8, 0x75, 0x9a, 0x9b, 0xeb, 0x77, 0xb6, 0xbe, 0xac, 0x6b, 0x1b, 0xcd, + 0xf5, 0xf7, 0xeb, 0x53, 0x68, 0x09, 0xea, 0x22, 0x69, 0x73, 0x6b, 0x9b, 0xa5, 0x2a, 0x97, 0x1e, + 0x25, 0xd6, 0xac, 0x18, 0x1d, 0x87, 0xc5, 0xb0, 0x48, 0x7d, 0x4d, 0xdb, 0x68, 0x6e, 0x6f, 0x90, + 0x9a, 0x48, 0xc9, 0xda, 0xce, 0xe6, 0x66, 0x6b, 0xf3, 0x5e, 0x5d, 0x21, 0x52, 0xa3, 0xe4, 0x8d, + 0x2f, 0xb7, 0x08, 0x71, 0x41, 0x26, 0xde, 0xd9, 0xfc, 0xc2, 0xe6, 0xd6, 0x97, 0x36, 0xeb, 0xc5, + 0x4b, 0xbf, 0x18, 0xc7, 0xb4, 0x44, 0xf3, 0xca, 0x49, 0x58, 0x49, 0x95, 0xa8, 0x6f, 0xbc, 0xb7, + 0xb1, 0xb9, 0x5d, 0x9f, 0x92, 0x33, 0x3b, 0xdb, 0x4d, 0x2d, 0xca, 0x54, 0x92, 0x99, 0x5b, 0xed, + 0x76, 0x98, 0x59, 0x90, 0x33, 0xd7, 0x37, 0xee, 0x6f, 0x44, 0x9c, 0xc5, 0x4b, 0x4f, 0x03, 0x44, + 0xe3, 0x07, 0x55, 0x61, 0x76, 0x6d, 0x6b, 0x67, 0x73, 0x7b, 0x43, 0xab, 0x4f, 0xa1, 0x0a, 0x4c, + 0xdf, 0x6b, 0xee, 0xdc, 0xdb, 0xa8, 0x2b, 0x97, 0x2e, 0xc2, 0x5c, 0xdc, 0x9a, 0x08, 0x5d, 0xe7, + 0xfd, 0xce, 0xf6, 0xc6, 0x03, 0xa2, 0x91, 0x39, 0x28, 0xaf, 0xdd, 0xd3, 0xb6, 0x76, 0xda, 0x77, + 0x3b, 0x75, 0xe5, 0xfa, 0xff, 0x2e, 0x85, 0x3b, 0xf4, 0x1d, 0xec, 0xd1, 0xeb, 0x1a, 0xeb, 0x30, + 0x2b, 0xfe, 0x53, 0x81, 0xb4, 0x6b, 0x23, 0xff, 0x67, 0x85, 0xc6, 0xc9, 0xcc, 0x3c, 0x1e, 0x17, + 0x4c, 0xa1, 0xf7, 0xe8, 0x99, 0x47, 0xec, 0xed, 0xb1, 0x73, 0x89, 0xad, 0xf0, 0xd4, 0x13, 0x67, + 0x8d, 0xf3, 0x23, 0x28, 0x42, 0xb9, 0xef, 0xc3, 0xbc, 0xfc, 0xc8, 0x27, 0x3a, 0x2f, 0xef, 0xd4, + 0x67, 0xbc, 0x1f, 0xda, 0x50, 0x47, 0x91, 0x84, 0xa2, 0x75, 0xa8, 0x27, 0x1f, 0xf9, 0x44, 0x12, + 0xcc, 0x27, 0xe7, 0x0d, 0xd1, 0xc6, 0xd3, 0xa3, 0x89, 0xe2, 0x05, 0xa4, 0xde, 0xae, 0x7c, 0x6a, + 0xf4, 0x6b, 0x80, 0x19, 0x05, 0xe4, 0x3d, 0x19, 0xc8, 0x94, 0x23, 0xcf, 0x9a, 0x28, 0xf1, 0x5c, + 0x64, 0xc6, 0xcb, 0x72, 0xb2, 0x72, 0xb2, 0x5f, 0x15, 0x53, 0xa7, 0xd0, 0xcf, 0xc0, 0x42, 0x02, + 0x8b, 0x8f, 0x24, 0xc6, 0xec, 0x2b, 0x06, 0x8d, 0xa7, 0x46, 0xd2, 0xc8, 0xbd, 0x1a, 0xc7, 0xdb, + 0x27, 0x7b, 0x35, 0x03, 0xc7, 0x9f, 0xec, 0xd5, 0x4c, 0xb8, 0x3e, 0x35, 0x44, 0x09, 0x5b, 0x2f, + 0x1b, 0x62, 0x16, 0x96, 0xbf, 0x71, 0x7e, 0x04, 0x45, 0x5c, 0x21, 0x09, 0x74, 0xbd, 0xac, 0x90, + 0x6c, 0xdc, 0x7e, 0xe3, 0xa9, 0x91, 0x34, 0xc9, 0x9e, 0x8c, 0x50, 0xbd, 0xe9, 0x9e, 0x4c, 0x21, + 0xcb, 0xd3, 0x3d, 0x99, 0x06, 0x05, 0xf3, 0x9e, 0x4c, 0xe0, 0x70, 0xd5, 0x91, 0x18, 0xc1, 0xac, + 0x9e, 0xcc, 0xc6, 0x11, 0xaa, 0x53, 0xe8, 0x31, 0xac, 0xe6, 0x41, 0xc1, 0xd0, 0xf3, 0x87, 0x40, + 0xac, 0x35, 0x5e, 0x98, 0x8c, 0x38, 0x2c, 0x18, 0x03, 0x4a, 0x2f, 0x9f, 0xd0, 0x33, 0xb2, 0xba, + 0x73, 0x96, 0x67, 0x8d, 0x67, 0xc7, 0x91, 0x85, 0xc5, 0xdc, 0x83, 0xb2, 0x00, 0x99, 0x21, 0xc9, + 0x05, 0x26, 0xc0, 0x6d, 0x8d, 0x53, 0xd9, 0x99, 0xa1, 0xa0, 0xd7, 0xa1, 0x44, 0x52, 0xd1, 0x4a, + 0x92, 0x4e, 0x08, 0x58, 0x4d, 0x67, 0x84, 0xcc, 0x4d, 0x98, 0x61, 0xe8, 0x29, 0x24, 0x1d, 0x6c, + 0x4a, 0xe8, 0xae, 0x46, 0x23, 0x2b, 0x2b, 0x14, 0xd1, 0x66, 0xff, 0xf7, 0x85, 0x83, 0xa1, 0xd0, + 0x99, 0xe4, 0xf3, 0xde, 0x32, 0xea, 0xaa, 0x71, 0x36, 0x37, 0x3f, 0x6e, 0xb3, 0x89, 0x5d, 0xd2, + 0xf3, 0x23, 0x76, 0xfd, 0xb3, 0x6c, 0x36, 0xfb, 0x2c, 0x81, 0x75, 0x6e, 0xfa, 0xac, 0x01, 0x3d, + 0x93, 0x6b, 0xef, 0x52, 0x11, 0xcf, 0x8e, 0x23, 0x8b, 0x0f, 0x8d, 0xe4, 0x3b, 0x5d, 0xea, 0xa8, + 0x37, 0xf4, 0xb2, 0x86, 0x46, 0xce, 0xdb, 0x7c, 0xea, 0x14, 0xda, 0x83, 0x63, 0x19, 0x8f, 0xf7, + 0xa1, 0x67, 0xf3, 0xfd, 0xaf, 0x54, 0xca, 0x73, 0x63, 0xe9, 0xe2, 0x25, 0x65, 0x20, 0x20, 0xe4, + 0x92, 0xf2, 0x21, 0x18, 0x72, 0x49, 0xa3, 0xa0, 0x14, 0xd4, 0x10, 0xb9, 0x0f, 0x39, 0x91, 0x75, + 0x60, 0x9e, 0x61, 0x88, 0x29, 0x8f, 0xb1, 0x07, 0xc7, 0x32, 0xb6, 0x18, 0xe4, 0xca, 0xe6, 0x6f, + 0x7d, 0xc8, 0x95, 0x1d, 0xb5, 0x57, 0x31, 0x85, 0x3e, 0x00, 0x74, 0x0f, 0x07, 0x72, 0x28, 0xe7, + 0x23, 0x69, 0xa0, 0x26, 0x77, 0x33, 0x72, 0xec, 0x53, 0xda, 0xd6, 0x50, 0xa7, 0xae, 0x29, 0xc8, + 0x66, 0xd7, 0x7d, 0x52, 0x8b, 0x71, 0x74, 0x21, 0xd9, 0x6d, 0x79, 0xeb, 0xf9, 0xc6, 0xc5, 0x09, + 0x28, 0xc3, 0xb6, 0xd8, 0xc9, 0x87, 0x62, 0xc5, 0x7a, 0xf0, 0x42, 0xbe, 0x99, 0xc8, 0x6b, 0xec, + 0x74, 0x79, 0xb9, 0xab, 0xed, 0x30, 0x9e, 0x8b, 0x19, 0xd3, 0xb9, 0x7c, 0x3c, 0x4e, 0x4e, 0x3c, + 0x97, 0x65, 0x40, 0xd7, 0x7f, 0xb3, 0x08, 0x73, 0x0c, 0xb7, 0xc4, 0xc3, 0xcf, 0x07, 0x00, 0x11, + 0x04, 0x10, 0x9d, 0x4e, 0xd6, 0x51, 0xc2, 0x55, 0x36, 0xce, 0xe4, 0x65, 0xc7, 0xdd, 0x5c, 0x0c, + 0x5a, 0x27, 0xbb, 0xb9, 0x34, 0x52, 0x50, 0x76, 0x73, 0x19, 0x98, 0x3c, 0x75, 0x0a, 0xbd, 0x0b, + 0x95, 0x10, 0xc9, 0x25, 0x1b, 0x4f, 0x12, 0x92, 0xd6, 0x38, 0x9d, 0x93, 0x1b, 0xaf, 0x5d, 0x0c, + 0xa0, 0x25, 0xd7, 0x2e, 0x0d, 0xfe, 0x92, 0x6b, 0x97, 0x85, 0xec, 0x8a, 0xda, 0xcb, 0x40, 0x01, + 0x19, 0xed, 0x95, 0x40, 0x22, 0x19, 0xed, 0x95, 0xd1, 0x04, 0xea, 0xd4, 0x9d, 0xdb, 0xdf, 0xff, + 0xd1, 0x19, 0xe5, 0x07, 0x3f, 0x3a, 0x33, 0xf5, 0xf3, 0x1f, 0x9d, 0x51, 0xbe, 0xff, 0xd1, 0x19, + 0xe5, 0x1f, 0x3f, 0x3a, 0xa3, 0xfc, 0xf0, 0xa3, 0x33, 0xca, 0x37, 0xff, 0xed, 0xcc, 0xd4, 0x07, + 0xea, 0xa3, 0x1b, 0xfe, 0x15, 0xcb, 0xb9, 0xda, 0xf5, 0xac, 0xcb, 0x86, 0x6b, 0x5d, 0x75, 0x1f, + 0xf5, 0xae, 0x1a, 0xae, 0xe5, 0x5f, 0xe5, 0x72, 0xaf, 0xee, 0xbf, 0xf8, 0x70, 0x86, 0xfe, 0xaf, + 0xb0, 0x97, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x2f, 0x57, 0xde, 0xe5, 0x6d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -12127,6 +12276,16 @@ func (m *Mount) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.RecursiveReadOnly { + i-- + if m.RecursiveReadOnly { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } if len(m.GidMappings) > 0 { for iNdEx := len(m.GidMappings) - 1; iNdEx >= 0; iNdEx-- { { @@ -17739,6 +17898,91 @@ func (m *StatusRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *RuntimeHandlerFeatures) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RuntimeHandlerFeatures) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RuntimeHandlerFeatures) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.UserNamespaces { + i-- + if m.UserNamespaces { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.RecursiveReadOnlyMounts { + i-- + if m.RecursiveReadOnlyMounts { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *RuntimeHandler) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RuntimeHandler) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RuntimeHandler) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Features != nil { + { + size, err := m.Features.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintApi(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *StatusResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -17759,6 +18003,20 @@ func (m *StatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.RuntimeHandlers) > 0 { + for iNdEx := len(m.RuntimeHandlers) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.RuntimeHandlers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } if len(m.Info) > 0 { for k := range m.Info { v := m.Info[k] @@ -19555,6 +19813,9 @@ func (m *Mount) Size() (n int) { n += 1 + l + sovApi(uint64(l)) } } + if m.RecursiveReadOnly { + n += 2 + } return n } @@ -21848,6 +22109,38 @@ func (m *StatusRequest) Size() (n int) { return n } +func (m *RuntimeHandlerFeatures) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RecursiveReadOnlyMounts { + n += 2 + } + if m.UserNamespaces { + n += 2 + } + return n +} + +func (m *RuntimeHandler) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } + if m.Features != nil { + l = m.Features.Size() + n += 1 + l + sovApi(uint64(l)) + } + return n +} + func (m *StatusResponse) Size() (n int) { if m == nil { return 0 @@ -21866,6 +22159,12 @@ func (m *StatusResponse) Size() (n int) { n += mapEntrySize + 1 + sovApi(uint64(mapEntrySize)) } } + if len(m.RuntimeHandlers) > 0 { + for _, e := range m.RuntimeHandlers { + l = e.Size() + n += 1 + l + sovApi(uint64(l)) + } + } return n } @@ -22601,6 +22900,7 @@ func (this *Mount) String() string { `Propagation:` + fmt.Sprintf("%v", this.Propagation) + `,`, `UidMappings:` + repeatedStringForUidMappings + `,`, `GidMappings:` + repeatedStringForGidMappings + `,`, + `RecursiveReadOnly:` + fmt.Sprintf("%v", this.RecursiveReadOnly) + `,`, `}`, }, "") return s @@ -24202,10 +24502,37 @@ func (this *StatusRequest) String() string { }, "") return s } +func (this *RuntimeHandlerFeatures) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RuntimeHandlerFeatures{`, + `RecursiveReadOnlyMounts:` + fmt.Sprintf("%v", this.RecursiveReadOnlyMounts) + `,`, + `UserNamespaces:` + fmt.Sprintf("%v", this.UserNamespaces) + `,`, + `}`, + }, "") + return s +} +func (this *RuntimeHandler) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RuntimeHandler{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Features:` + strings.Replace(this.Features.String(), "RuntimeHandlerFeatures", "RuntimeHandlerFeatures", 1) + `,`, + `}`, + }, "") + return s +} func (this *StatusResponse) String() string { if this == nil { return "nil" } + repeatedStringForRuntimeHandlers := "[]*RuntimeHandler{" + for _, f := range this.RuntimeHandlers { + repeatedStringForRuntimeHandlers += strings.Replace(f.String(), "RuntimeHandler", "RuntimeHandler", 1) + "," + } + repeatedStringForRuntimeHandlers += "}" keysForInfo := make([]string, 0, len(this.Info)) for k := range this.Info { keysForInfo = append(keysForInfo, k) @@ -24219,6 +24546,7 @@ func (this *StatusResponse) String() string { s := strings.Join([]string{`&StatusResponse{`, `Status:` + strings.Replace(this.Status.String(), "RuntimeStatus", "RuntimeStatus", 1) + `,`, `Info:` + mapStringForInfo + `,`, + `RuntimeHandlers:` + repeatedStringForRuntimeHandlers + `,`, `}`, }, "") return s @@ -25473,6 +25801,26 @@ func (m *Mount) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RecursiveReadOnly", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RecursiveReadOnly = bool(v != 0) default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -42670,6 +43018,214 @@ func (m *StatusRequest) Unmarshal(dAtA []byte) error { } return nil } +func (m *RuntimeHandlerFeatures) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RuntimeHandlerFeatures: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RuntimeHandlerFeatures: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RecursiveReadOnlyMounts", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RecursiveReadOnlyMounts = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UserNamespaces", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.UserNamespaces = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthApi + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RuntimeHandler) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RuntimeHandler: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RuntimeHandler: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Features", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Features == nil { + m.Features = &RuntimeHandlerFeatures{} + } + if err := m.Features.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthApi + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *StatusResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -42862,6 +43418,40 @@ func (m *StatusResponse) Unmarshal(dAtA []byte) error { } m.Info[mapkey] = mapvalue iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RuntimeHandlers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RuntimeHandlers = append(m.RuntimeHandlers, &RuntimeHandler{}) + if err := m.RuntimeHandlers[len(m.RuntimeHandlers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) diff --git a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto index bb15dc2478..e9d7059b0b 100644 --- a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto +++ b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto @@ -235,6 +235,15 @@ message Mount { repeated IDMapping uidMappings = 6; // GidMappings specifies the runtime GID mappings for the mount. repeated IDMapping gidMappings = 7; + // If set to true, the mount is made recursive read-only. + // In this CRI API, recursive_read_only is a plain true/false boolean, although its equivalent + // in the Kubernetes core API is a quaternary that can be nil, "Enabled", "IfPossible", or "Disabled". + // kubelet translates that quaternary value in the core API into a boolean in this CRI API. + // Remarks: + // - nil is just treated as false + // - when set to true, readonly must be explicitly set to true, and propagation must be PRIVATE (0). + // - (readonly == false && recursive_read_only == false) does not make the mount read-only. + bool recursive_read_only = 8; } // IDMapping describes host to container ID mappings for a pod sandbox. @@ -1528,6 +1537,26 @@ message StatusRequest { bool verbose = 1; } +message RuntimeHandlerFeatures { + // recursive_read_only_mounts is set to true if the runtime handler supports + // recursive read-only mounts. + // For runc-compatible runtimes, availability of this feature can be detected by checking whether + // the Linux kernel version is >= 5.12, and, `runc features | jq .mountOptions` contains "rro". + bool recursive_read_only_mounts = 1; + + // user_namespaces is set to true if the runtime handler supports user namespaces as implemented + // in Kubernetes. This means support for both, user namespaces and idmap mounts. + bool user_namespaces = 2; +} + +message RuntimeHandler { + // Name must be unique in StatusResponse. + // An empty string denotes the default handler. + string name = 1; + // Supported features. + RuntimeHandlerFeatures features = 2; +} + message StatusResponse { // Status of the Runtime. RuntimeStatus status = 1; @@ -1536,6 +1565,8 @@ message StatusResponse { // debug, e.g. plugins used by the container runtime. // It should only be returned non-empty when Verbose is true. map info = 2; + // Runtime handlers. + repeated RuntimeHandler runtime_handlers = 3; } message ImageFsInfoRequest {} diff --git a/vendor/k8s.io/kubernetes/pkg/apis/core/types.go b/vendor/k8s.io/kubernetes/pkg/apis/core/types.go index 55a7ac74fc..412ecb3151 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/core/types.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/core/types.go @@ -4900,9 +4900,8 @@ const ( // NodeConditionType defines node's condition type NodeConditionType string -// These are valid conditions of node. Currently, we don't have enough information to decide -// node condition. In the future, we will add more. The proposed set of conditions are: -// NodeReady, NodeReachable +// These are valid but not exhaustive conditions of node. A cloud provider may set a condition not listed here. +// Relevant events contain "NodeReady", "NodeNotReady", "NodeSchedulable", and "NodeNotSchedulable". const ( // NodeReady means kubelet is healthy and ready to accept pods. NodeReady NodeConditionType = "Ready" diff --git a/vendor/k8s.io/kubernetes/pkg/features/kube_features.go b/vendor/k8s.io/kubernetes/pkg/features/kube_features.go index 26f215a56d..4de8cf5fcd 100644 --- a/vendor/k8s.io/kubernetes/pkg/features/kube_features.go +++ b/vendor/k8s.io/kubernetes/pkg/features/kube_features.go @@ -258,6 +258,12 @@ const ( // Lock to default and remove after v1.22 based on user feedback that should be reflected in KEP #1972 update ExecProbeTimeout featuregate.Feature = "ExecProbeTimeout" + // owner: @jpbetz + // alpha: v1.30 + // Resource create requests using generateName are retried automatically by the apiserver + // if the generated name conflicts with an existing resource name, up to a maximum number of 7 retries. + RetryGenerateName featuregate.Feature = "RetryGenerateName" + // owner: @bobbypage // alpha: v1.20 // beta: v1.21 @@ -504,6 +510,7 @@ const ( // kep: https://kep.k8s.io/3756 // alpha: v1.25 (as part of SELinuxMountReadWriteOncePod) // beta: v1.27 + // GA: v1.30 // Robust VolumeManager reconstruction after kubelet restart. NewVolumeManagerReconstruction featuregate.Feature = "NewVolumeManagerReconstruction" @@ -517,6 +524,7 @@ const ( // owner: @aravindhp @LorbusChris // kep: http://kep.k8s.io/2271 // alpha: v1.27 + // beta: v1.30 // // Enables querying logs of node services using the /logs endpoint NodeLogQuery featuregate.Feature = "NodeLogQuery" @@ -603,6 +611,7 @@ const ( // owner: @AxeZhan // kep: http://kep.k8s.io/3960 // alpha: v1.29 + // beta: v1.30 // // Enables SleepAction in container lifecycle hooks PodLifecycleSleepAction featuregate.Feature = "PodLifecycleSleepAction" @@ -868,9 +877,10 @@ const ( // Enables In-Place Pod Vertical Scaling InPlacePodVerticalScaling featuregate.Feature = "InPlacePodVerticalScaling" - // owner: @Sh4d1,@RyanAoh + // owner: @Sh4d1,@RyanAoh,@rikatz // kep: http://kep.k8s.io/1860 // alpha: v1.29 + // beta: v1.30 // LoadBalancerIPMode enables the IPMode field in the LoadBalancerIngress status of a Service LoadBalancerIPMode featuregate.Feature = "LoadBalancerIPMode" @@ -898,6 +908,13 @@ const ( // // Allows namespace indexer for namespace scope resources in apiserver cache to accelerate list operations. StorageNamespaceIndex featuregate.Feature = "StorageNamespaceIndex" + + // owner: @jsafrane + // kep: https://kep.k8s.io/1710 + // alpha: v1.30 + // Speed up container startup by mounting volumes with the correct SELinux label + // instead of changing each file on the volumes recursively. + SELinuxMount featuregate.Feature = "SELinuxMount" ) func init() { @@ -980,6 +997,8 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS ExecProbeTimeout: {Default: true, PreRelease: featuregate.GA}, // lock to default and remove after v1.22 based on KEP #1972 update + RetryGenerateName: {Default: false, PreRelease: featuregate.Alpha}, + GracefulNodeShutdown: {Default: true, PreRelease: featuregate.Beta}, GracefulNodeShutdownBasedOnPodPriority: {Default: true, PreRelease: featuregate.Beta}, @@ -1046,11 +1065,11 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS MultiCIDRServiceAllocator: {Default: false, PreRelease: featuregate.Alpha}, - NewVolumeManagerReconstruction: {Default: true, PreRelease: featuregate.Beta}, + NewVolumeManagerReconstruction: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.32 NFTablesProxyMode: {Default: false, PreRelease: featuregate.Alpha}, - NodeLogQuery: {Default: false, PreRelease: featuregate.Alpha}, + NodeLogQuery: {Default: false, PreRelease: featuregate.Beta}, NodeOutOfServiceVolumeDetach: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.31 @@ -1070,7 +1089,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS PodHostIPs: {Default: true, PreRelease: featuregate.Beta}, - PodLifecycleSleepAction: {Default: false, PreRelease: featuregate.Alpha}, + PodLifecycleSleepAction: {Default: true, PreRelease: featuregate.Beta}, PodSchedulingReadiness: {Default: true, PreRelease: featuregate.Beta}, @@ -1142,12 +1161,14 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS PodIndexLabel: {Default: true, PreRelease: featuregate.Beta}, - LoadBalancerIPMode: {Default: false, PreRelease: featuregate.Alpha}, + LoadBalancerIPMode: {Default: true, PreRelease: featuregate.Beta}, ImageMaximumGCAge: {Default: false, PreRelease: featuregate.Alpha}, UserNamespacesPodSecurityStandards: {Default: false, PreRelease: featuregate.Alpha}, + SELinuxMount: {Default: false, PreRelease: featuregate.Alpha}, + // inherited features from generic apiserver, relisted here to get a conflict if it is changed // unintentionally on either side: @@ -1165,6 +1186,8 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS genericfeatures.APIServerTracing: {Default: true, PreRelease: featuregate.Beta}, + genericfeatures.APIServingWithRoutine: {Default: true, PreRelease: featuregate.Beta}, + genericfeatures.ConsistentListFromCache: {Default: false, PreRelease: featuregate.Alpha}, genericfeatures.CustomResourceValidationExpressions: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.31 @@ -1177,6 +1200,8 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS genericfeatures.KMSv2KDF: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.31 + genericfeatures.MutatingAdmissionPolicy: {Default: false, PreRelease: featuregate.Alpha}, + genericfeatures.OpenAPIEnums: {Default: true, PreRelease: featuregate.Beta}, genericfeatures.RemainingItemCount: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, @@ -1206,7 +1231,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS // inherited features from apiextensions-apiserver, relisted here to get a conflict if it is changed // unintentionally on either side: - apiextensionsfeatures.CRDValidationRatcheting: {Default: false, PreRelease: featuregate.Alpha}, + apiextensionsfeatures.CRDValidationRatcheting: {Default: true, PreRelease: featuregate.Beta}, // features that enable backwards compatibility but are scheduled to be removed // ... diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/metrics/metrics.go b/vendor/k8s.io/kubernetes/pkg/kubelet/metrics/metrics.go index 9da78527bf..fd95687ce3 100644 --- a/vendor/k8s.io/kubernetes/pkg/kubelet/metrics/metrics.go +++ b/vendor/k8s.io/kubernetes/pkg/kubelet/metrics/metrics.go @@ -30,6 +30,7 @@ import ( // This const block defines the metric names for the kubelet metrics. const ( + FirstNetworkPodStartSLIDurationKey = "first_network_pod_start_sli_duration_seconds" KubeletSubsystem = "kubelet" NodeNameKey = "node_name" NodeLabelKey = "node" @@ -70,6 +71,7 @@ const ( WorkingPodCountKey = "working_pods" OrphanedRuntimePodTotalKey = "orphaned_runtime_pods_total" RestartedPodTotalKey = "restarted_pods_total" + ImagePullDurationKey = "image_pull_duration_seconds" // Metrics keys of remote runtime operations RuntimeOperationsKey = "runtime_operations_total" @@ -108,6 +110,10 @@ const ( CPUManagerPinningRequestsTotalKey = "cpu_manager_pinning_requests_total" CPUManagerPinningErrorsTotalKey = "cpu_manager_pinning_errors_total" + // Metrics to track the Memory manager behavior + MemoryManagerPinningRequestsTotalKey = "memory_manager_pinning_requests_total" + MemoryManagerPinningErrorsTotalKey = "memory_manager_pinning_errors_total" + // Metrics to track the Topology manager behavior TopologyManagerAdmissionRequestsTotalKey = "topology_manager_admission_requests_total" TopologyManagerAdmissionErrorsTotalKey = "topology_manager_admission_errors_total" @@ -126,8 +132,30 @@ const ( EphemeralContainer = "ephemeral_container" ) +type imageSizeBucket struct { + lowerBoundInBytes uint64 + label string +} + var ( podStartupDurationBuckets = []float64{0.5, 1, 2, 3, 4, 5, 6, 8, 10, 20, 30, 45, 60, 120, 180, 240, 300, 360, 480, 600, 900, 1200, 1800, 2700, 3600} + imagePullDurationBuckets = []float64{1, 5, 10, 20, 30, 60, 120, 180, 240, 300, 360, 480, 600, 900, 1200, 1800, 2700, 3600} + // imageSizeBuckets has the labels to be associated with image_pull_duration_seconds metric. For example, if the size of + // an image pulled is between 1GB and 5GB, the label will be "1GB-5GB". + imageSizeBuckets = []imageSizeBucket{ + {0, "0-10MB"}, + {10 * 1024 * 1024, "10MB-100MB"}, + {100 * 1024 * 1024, "100MB-500MB"}, + {500 * 1024 * 1024, "500MB-1GB"}, + {1 * 1024 * 1024 * 1024, "1GB-5GB"}, + {5 * 1024 * 1024 * 1024, "5GB-10GB"}, + {10 * 1024 * 1024 * 1024, "10GB-20GB"}, + {20 * 1024 * 1024 * 1024, "20GB-30GB"}, + {30 * 1024 * 1024 * 1024, "30GB-40GB"}, + {40 * 1024 * 1024 * 1024, "40GB-60GB"}, + {60 * 1024 * 1024 * 1024, "60GB-100GB"}, + {100 * 1024 * 1024 * 1024, "GT100GB"}, + } ) var ( @@ -211,6 +239,20 @@ var ( []string{}, ) + // FirstNetworkPodStartSLIDuration is a gauge that tracks the duration (in seconds) it takes for the first network pod to run, + // excluding the time for image pulling. This is an internal and temporary metric required because of the existing limitations of the + // existing networking subsystem and CRI/CNI implementations that will be solved by https://github.com/containernetworking/cni/issues/859 + // The metric represents the latency observed by an user to run workloads in a new node. + // ref: https://github.com/kubernetes/community/blob/master/sig-scalability/slos/pod_startup_latency.md + FirstNetworkPodStartSLIDuration = metrics.NewGauge( + &metrics.GaugeOpts{ + Subsystem: KubeletSubsystem, + Name: FirstNetworkPodStartSLIDurationKey, + Help: "Duration in seconds to start the first network pod, excluding time to pull images and run init containers, measured from pod creation timestamp to when all its containers are reported as started and observed via watch", + StabilityLevel: metrics.INTERNAL, + }, + ) + // CgroupManagerDuration is a Histogram that tracks the duration (in seconds) it takes for cgroup manager operations to complete. // Broken down by method. CgroupManagerDuration = metrics.NewHistogramVec( @@ -719,6 +761,25 @@ var ( }, ) + // MemoryManagerPinningRequestTotal tracks the number of times the pod spec required the memory manager to pin memory pages + MemoryManagerPinningRequestTotal = metrics.NewCounter( + &metrics.CounterOpts{ + Subsystem: KubeletSubsystem, + Name: MemoryManagerPinningRequestsTotalKey, + Help: "The number of memory pages allocations which required pinning.", + StabilityLevel: metrics.ALPHA, + }) + + // MemoryManagerPinningErrorsTotal tracks the number of times the pod spec required the memory manager to pin memory pages, but the allocation failed + MemoryManagerPinningErrorsTotal = metrics.NewCounter( + &metrics.CounterOpts{ + Subsystem: KubeletSubsystem, + Name: MemoryManagerPinningErrorsTotalKey, + Help: "The number of memory pages allocations which required pinning that failed.", + StabilityLevel: metrics.ALPHA, + }, + ) + // TopologyManagerAdmissionRequestsTotal tracks the number of times the pod spec will cause the topology manager to admit a pod TopologyManagerAdmissionRequestsTotal = metrics.NewCounter( &metrics.CounterOpts{ @@ -814,13 +875,37 @@ var ( }, ) - ImageGarbageCollectedTotal = metrics.NewCounter( + ImageGarbageCollectedTotal = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: ImageGarbageCollectedTotalKey, Help: "Total number of images garbage collected by the kubelet, whether through disk usage or image age.", StabilityLevel: metrics.ALPHA, }, + []string{"reason"}, + ) + + // ImagePullDuration is a Histogram that tracks the duration (in seconds) it takes for an image to be pulled, + // including the time spent in the waiting queue of image puller. + // The metric is broken down by bucketed image size. + ImagePullDuration = metrics.NewHistogramVec( + &metrics.HistogramOpts{ + Subsystem: KubeletSubsystem, + Name: ImagePullDurationKey, + Help: "Duration in seconds to pull an image.", + Buckets: imagePullDurationBuckets, + StabilityLevel: metrics.ALPHA, + }, + []string{"image_size_in_bytes"}, + ) + + LifecycleHandlerSleepTerminated = metrics.NewCounter( + &metrics.CounterOpts{ + Subsystem: KubeletSubsystem, + Name: "sleep_action_terminated_early_total", + Help: "The number of times lifecycle sleep handler got terminated before it finishes", + StabilityLevel: metrics.ALPHA, + }, ) ) @@ -830,11 +915,13 @@ var registerMetrics sync.Once func Register(collectors ...metrics.StableCollector) { // Register the metrics. registerMetrics.Do(func() { + legacyregistry.MustRegister(FirstNetworkPodStartSLIDuration) legacyregistry.MustRegister(NodeName) legacyregistry.MustRegister(PodWorkerDuration) legacyregistry.MustRegister(PodStartDuration) legacyregistry.MustRegister(PodStartSLIDuration) legacyregistry.MustRegister(PodStartTotalDuration) + legacyregistry.MustRegister(ImagePullDuration) legacyregistry.MustRegister(NodeStartupPreKubeletDuration) legacyregistry.MustRegister(NodeStartupPreRegistrationDuration) legacyregistry.MustRegister(NodeStartupRegistrationDuration) @@ -887,6 +974,10 @@ func Register(collectors ...metrics.StableCollector) { legacyregistry.MustRegister(RunPodSandboxErrors) legacyregistry.MustRegister(CPUManagerPinningRequestsTotal) legacyregistry.MustRegister(CPUManagerPinningErrorsTotal) + if utilfeature.DefaultFeatureGate.Enabled(features.MemoryManager) { + legacyregistry.MustRegister(MemoryManagerPinningRequestTotal) + legacyregistry.MustRegister(MemoryManagerPinningErrorsTotal) + } legacyregistry.MustRegister(TopologyManagerAdmissionRequestsTotal) legacyregistry.MustRegister(TopologyManagerAdmissionErrorsTotal) legacyregistry.MustRegister(TopologyManagerAdmissionDuration) @@ -904,6 +995,7 @@ func Register(collectors ...metrics.StableCollector) { } legacyregistry.MustRegister(LifecycleHandlerHTTPFallbacks) + legacyregistry.MustRegister(LifecycleHandlerSleepTerminated) }) } @@ -921,3 +1013,18 @@ func SinceInSeconds(start time.Time) float64 { func SetNodeName(name types.NodeName) { NodeName.WithLabelValues(string(name)).Set(1) } + +func GetImageSizeBucket(sizeInBytes uint64) string { + if sizeInBytes == 0 { + return "N/A" + } + + for i := len(imageSizeBuckets) - 1; i >= 0; i-- { + if sizeInBytes > imageSizeBuckets[i].lowerBoundInBytes { + return imageSizeBuckets[i].label + } + } + + // return empty string when sizeInBytes is 0 (error getting image size) + return "" +} diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/util/pod_startup_latency_tracker.go b/vendor/k8s.io/kubernetes/pkg/kubelet/util/pod_startup_latency_tracker.go index c35918b856..3ab3d2aaae 100644 --- a/vendor/k8s.io/kubernetes/pkg/kubelet/util/pod_startup_latency_tracker.go +++ b/vendor/k8s.io/kubernetes/pkg/kubelet/util/pod_startup_latency_tracker.go @@ -41,6 +41,8 @@ type basicPodStartupLatencyTracker struct { // protect against concurrent read and write on pods map lock sync.Mutex pods map[types.UID]*perPodState + // metrics for the first network pod only + firstNetworkPodSeen bool // For testability clock clock.Clock } @@ -112,6 +114,12 @@ func (p *basicPodStartupLatencyTracker) ObservedPodOnWatch(pod *v1.Pod, when tim metrics.PodStartSLIDuration.WithLabelValues().Observe(podStartSLOduration) metrics.PodStartTotalDuration.WithLabelValues().Observe(podStartingDuration.Seconds()) state.metricRecorded = true + // if is the first Pod with network track the start values + // these metrics will help to identify problems with the CNI plugin + if !pod.Spec.HostNetwork && !p.firstNetworkPodSeen { + metrics.FirstNetworkPodStartSLIDuration.Set(podStartSLOduration) + p.firstNetworkPodSeen = true + } } } diff --git a/vendor/k8s.io/kubernetes/pkg/util/filesystem/watcher.go b/vendor/k8s.io/kubernetes/pkg/util/filesystem/watcher.go index 5141d97b1c..cbbc83985d 100644 --- a/vendor/k8s.io/kubernetes/pkg/util/filesystem/watcher.go +++ b/vendor/k8s.io/kubernetes/pkg/util/filesystem/watcher.go @@ -17,6 +17,10 @@ limitations under the License. package filesystem import ( + "context" + "fmt" + "time" + "github.com/fsnotify/fsnotify" ) @@ -87,3 +91,126 @@ func (w *fsnotifyWatcher) Run() { } }() } + +type watchAddRemover interface { + Add(path string) error + Remove(path string) error +} +type noopWatcher struct{} + +func (noopWatcher) Add(path string) error { return nil } +func (noopWatcher) Remove(path string) error { return nil } + +// WatchUntil watches the specified path for changes and blocks until ctx is canceled. +// eventHandler() must be non-nil, and pollInterval must be greater than 0. +// eventHandler() is invoked whenever a change event is observed or pollInterval elapses. +// errorHandler() is invoked (if non-nil) whenever an error occurs initializing or watching the specified path. +// +// If path is a directory, only the directory and immediate children are watched. +// +// If path does not exist or cannot be watched, an error is passed to errorHandler() and eventHandler() is called at pollInterval. +// +// Multiple observed events may collapse to a single invocation of eventHandler(). +// +// eventHandler() is invoked immediately after successful initialization of the filesystem watch, +// in case the path changed concurrent with calling WatchUntil(). +func WatchUntil(ctx context.Context, pollInterval time.Duration, path string, eventHandler func(), errorHandler func(err error)) { + if pollInterval <= 0 { + panic(fmt.Errorf("pollInterval must be > 0")) + } + if eventHandler == nil { + panic(fmt.Errorf("eventHandler must be non-nil")) + } + if errorHandler == nil { + errorHandler = func(err error) {} + } + + // Initialize watcher, fall back to no-op + var ( + eventsCh chan fsnotify.Event + errorCh chan error + watcher watchAddRemover + ) + if w, err := fsnotify.NewWatcher(); err != nil { + errorHandler(fmt.Errorf("error creating file watcher, falling back to poll at interval %s: %w", pollInterval, err)) + watcher = noopWatcher{} + } else { + watcher = w + eventsCh = w.Events + errorCh = w.Errors + defer func() { + _ = w.Close() + }() + } + + // Initialize background poll + t := time.NewTicker(pollInterval) + defer t.Stop() + + attemptPeriodicRewatch := false + + // Start watching the path + if err := watcher.Add(path); err != nil { + errorHandler(err) + attemptPeriodicRewatch = true + } else { + // Invoke handle() at least once after successfully registering the listener, + // in case the file changed concurrent with calling WatchUntil. + eventHandler() + } + + for { + select { + case <-ctx.Done(): + return + + case <-t.C: + // Prioritize exiting if context is canceled + if ctx.Err() != nil { + return + } + + // Try to re-establish the watcher if we previously got a watch error + if attemptPeriodicRewatch { + _ = watcher.Remove(path) + if err := watcher.Add(path); err != nil { + errorHandler(err) + } else { + attemptPeriodicRewatch = false + } + } + + // Handle + eventHandler() + + case e := <-eventsCh: + // Prioritize exiting if context is canceled + if ctx.Err() != nil { + return + } + + // Try to re-establish the watcher for events which dropped the existing watch + if e.Name == path && (e.Has(fsnotify.Remove) || e.Has(fsnotify.Rename)) { + _ = watcher.Remove(path) + if err := watcher.Add(path); err != nil { + errorHandler(err) + attemptPeriodicRewatch = true + } + } + + // Handle + eventHandler() + + case err := <-errorCh: + // Prioritize exiting if context is canceled + if ctx.Err() != nil { + return + } + + // If the error occurs in response to calling watcher.Add, re-adding here could hot-loop. + // The periodic poll will attempt to re-establish the watch. + errorHandler(err) + attemptPeriodicRewatch = true + } + } +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 117c11ba14..987e8a20bb 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -486,7 +486,7 @@ gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.1 ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240213173326-5031ae115907 +# k8s.io/api v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/api/admissionregistration/v1 k8s.io/api/admissionregistration/v1alpha1 @@ -540,10 +540,10 @@ k8s.io/api/scheduling/v1beta1 k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 -# k8s.io/apiextensions-apiserver v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240213173326-5031ae115907 +# k8s.io/apiextensions-apiserver v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/apiextensions-apiserver/pkg/features -# k8s.io/apimachinery v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240213173326-5031ae115907 +# k8s.io/apimachinery v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -594,14 +594,14 @@ k8s.io/apimachinery/pkg/version k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/netutil k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/apiserver v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240213173326-5031ae115907 +# k8s.io/apiserver v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/apiserver/pkg/features k8s.io/apiserver/pkg/util/feature -# k8s.io/cli-runtime v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240213173326-5031ae115907 +# k8s.io/cli-runtime v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/cli-runtime/pkg/printers -# k8s.io/client-go v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240213173326-5031ae115907 +# k8s.io/client-go v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1 @@ -731,7 +731,7 @@ k8s.io/client-go/util/flowcontrol k8s.io/client-go/util/jsonpath k8s.io/client-go/util/keyutil k8s.io/client-go/util/workqueue -# k8s.io/component-base v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240213173326-5031ae115907 +# k8s.io/component-base v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/component-base/featuregate k8s.io/component-base/logs/logreduction @@ -742,7 +742,7 @@ k8s.io/component-base/metrics/prometheusextension k8s.io/component-base/tracing k8s.io/component-base/tracing/api/v1 k8s.io/component-base/version -# k8s.io/cri-api v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240213173326-5031ae115907 +# k8s.io/cri-api v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/cri-api/pkg/apis k8s.io/cri-api/pkg/apis/runtime/v1 @@ -766,14 +766,14 @@ k8s.io/kube-openapi/pkg/schemaconv k8s.io/kube-openapi/pkg/spec3 k8s.io/kube-openapi/pkg/util/proto k8s.io/kube-openapi/pkg/validation/spec -# k8s.io/kubectl v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240213173326-5031ae115907 +# k8s.io/kubectl v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/kubectl/pkg/util/interrupt k8s.io/kubectl/pkg/util/term -# k8s.io/kubelet v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240213173326-5031ae115907 +# k8s.io/kubelet v0.0.0 => k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240227131458-12217672a351 ## explicit; go 1.21 k8s.io/kubelet/pkg/types -# k8s.io/kubernetes v0.0.0 => k8s.io/kubernetes v1.30.0-alpha.2 +# k8s.io/kubernetes v0.0.0 => k8s.io/kubernetes v1.30.0-alpha.3 ## explicit; go 1.21 k8s.io/kubernetes/pkg/apis/core k8s.io/kubernetes/pkg/apis/scheduling @@ -812,32 +812,32 @@ sigs.k8s.io/structured-merge-diff/v4/value ## explicit; go 1.12 sigs.k8s.io/yaml sigs.k8s.io/yaml/goyaml.v2 -# k8s.io/api => k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240213173326-5031ae115907 -# k8s.io/apiextensions-apiserver => k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240213173326-5031ae115907 -# k8s.io/apimachinery => k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240213173326-5031ae115907 -# k8s.io/apiserver => k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240213173326-5031ae115907 -# k8s.io/cli-runtime => k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240213173326-5031ae115907 -# k8s.io/client-go => k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240213173326-5031ae115907 -# k8s.io/cloud-provider => k8s.io/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240213173326-5031ae115907 -# k8s.io/cluster-bootstrap => k8s.io/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240213173326-5031ae115907 -# k8s.io/code-generator => k8s.io/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240213173326-5031ae115907 -# k8s.io/component-base => k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240213173326-5031ae115907 -# k8s.io/component-helpers => k8s.io/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240213173326-5031ae115907 -# k8s.io/controller-manager => k8s.io/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240213173326-5031ae115907 -# k8s.io/cri-api => k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240213173326-5031ae115907 -# k8s.io/csi-translation-lib => k8s.io/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240213173326-5031ae115907 -# k8s.io/dynamic-resource-allocation => k8s.io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240213173326-5031ae115907 -# k8s.io/endpointslice => k8s.io/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240213173326-5031ae115907 -# k8s.io/kms => k8s.io/kubernetes/staging/src/k8s.io/kms v0.0.0-20240213173326-5031ae115907 -# k8s.io/kube-aggregator => k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240213173326-5031ae115907 -# k8s.io/kube-controller-manager => k8s.io/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240213173326-5031ae115907 -# k8s.io/kube-proxy => k8s.io/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240213173326-5031ae115907 -# k8s.io/kube-scheduler => k8s.io/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240213173326-5031ae115907 -# k8s.io/kubectl => k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240213173326-5031ae115907 -# k8s.io/kubelet => k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240213173326-5031ae115907 -# k8s.io/kubernetes => k8s.io/kubernetes v1.30.0-alpha.2 -# k8s.io/legacy-cloud-providers => k8s.io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240213173326-5031ae115907 -# k8s.io/metrics => k8s.io/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240213173326-5031ae115907 -# k8s.io/mount-utils => k8s.io/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240213173326-5031ae115907 -# k8s.io/pod-security-admission => k8s.io/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240213173326-5031ae115907 -# k8s.io/sample-apiserver => k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240213173326-5031ae115907 +# k8s.io/api => k8s.io/kubernetes/staging/src/k8s.io/api v0.0.0-20240227131458-12217672a351 +# k8s.io/apiextensions-apiserver => k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20240227131458-12217672a351 +# k8s.io/apimachinery => k8s.io/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20240227131458-12217672a351 +# k8s.io/apiserver => k8s.io/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20240227131458-12217672a351 +# k8s.io/cli-runtime => k8s.io/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20240227131458-12217672a351 +# k8s.io/client-go => k8s.io/kubernetes/staging/src/k8s.io/client-go v0.0.0-20240227131458-12217672a351 +# k8s.io/cloud-provider => k8s.io/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20240227131458-12217672a351 +# k8s.io/cluster-bootstrap => k8s.io/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20240227131458-12217672a351 +# k8s.io/code-generator => k8s.io/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20240227131458-12217672a351 +# k8s.io/component-base => k8s.io/kubernetes/staging/src/k8s.io/component-base v0.0.0-20240227131458-12217672a351 +# k8s.io/component-helpers => k8s.io/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20240227131458-12217672a351 +# k8s.io/controller-manager => k8s.io/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20240227131458-12217672a351 +# k8s.io/cri-api => k8s.io/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20240227131458-12217672a351 +# k8s.io/csi-translation-lib => k8s.io/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20240227131458-12217672a351 +# k8s.io/dynamic-resource-allocation => k8s.io/kubernetes/staging/src/k8s.io/dynamic-resource-allocation v0.0.0-20240227131458-12217672a351 +# k8s.io/endpointslice => k8s.io/kubernetes/staging/src/k8s.io/endpointslice v0.0.0-20240227131458-12217672a351 +# k8s.io/kms => k8s.io/kubernetes/staging/src/k8s.io/kms v0.0.0-20240227131458-12217672a351 +# k8s.io/kube-aggregator => k8s.io/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20240227131458-12217672a351 +# k8s.io/kube-controller-manager => k8s.io/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20240227131458-12217672a351 +# k8s.io/kube-proxy => k8s.io/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20240227131458-12217672a351 +# k8s.io/kube-scheduler => k8s.io/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20240227131458-12217672a351 +# k8s.io/kubectl => k8s.io/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20240227131458-12217672a351 +# k8s.io/kubelet => k8s.io/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20240227131458-12217672a351 +# k8s.io/kubernetes => k8s.io/kubernetes v1.30.0-alpha.3 +# k8s.io/legacy-cloud-providers => k8s.io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20240227131458-12217672a351 +# k8s.io/metrics => k8s.io/kubernetes/staging/src/k8s.io/metrics v0.0.0-20240227131458-12217672a351 +# k8s.io/mount-utils => k8s.io/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20240227131458-12217672a351 +# k8s.io/pod-security-admission => k8s.io/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20240227131458-12217672a351 +# k8s.io/sample-apiserver => k8s.io/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20240227131458-12217672a351