mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Merge pull request #75993 from caesarxuchao/add-count
Adding RemainingItemCount to ListMeta
This commit is contained in:
commit
1fb8ed12a2
5
api/openapi-spec/swagger.json
generated
5
api/openapi-spec/swagger.json
generated
@ -17442,6 +17442,11 @@
|
|||||||
"description": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.",
|
"description": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"remainingItemCount": {
|
||||||
|
"description": "RemainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and this field will be unset. If the list is complete (either because it is unpaginated or because this is the last page), then there are no more remaining items and this field will also be unset. Servers older than v1.15 do not set this field.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
"resourceVersion": {
|
"resourceVersion": {
|
||||||
"description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency",
|
"description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
@ -1851,6 +1851,13 @@ func schema_pkg_apis_meta_v1_ListMeta(ref common.ReferenceCallback) common.OpenA
|
|||||||
Format: "",
|
Format: "",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"remainingItemCount": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "RemainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and this field will be unset. If the list is complete (either because it is unpaginated or because this is the last page), then there are no more remaining items and this field will also be unset. Servers older than v1.15 do not set this field.",
|
||||||
|
Type: []string{"integer"},
|
||||||
|
Format: "int64",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1199,6 +1199,9 @@ func (m *ListMeta) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
i++
|
i++
|
||||||
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Continue)))
|
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Continue)))
|
||||||
i += copy(dAtA[i:], m.Continue)
|
i += copy(dAtA[i:], m.Continue)
|
||||||
|
dAtA[i] = 0x20
|
||||||
|
i++
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(m.RemainingItemCount))
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2388,6 +2391,7 @@ func (m *ListMeta) Size() (n int) {
|
|||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
l = len(m.Continue)
|
l = len(m.Continue)
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
n += 1 + sovGenerated(uint64(m.RemainingItemCount))
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2940,6 +2944,7 @@ func (this *ListMeta) String() string {
|
|||||||
`SelfLink:` + fmt.Sprintf("%v", this.SelfLink) + `,`,
|
`SelfLink:` + fmt.Sprintf("%v", this.SelfLink) + `,`,
|
||||||
`ResourceVersion:` + fmt.Sprintf("%v", this.ResourceVersion) + `,`,
|
`ResourceVersion:` + fmt.Sprintf("%v", this.ResourceVersion) + `,`,
|
||||||
`Continue:` + fmt.Sprintf("%v", this.Continue) + `,`,
|
`Continue:` + fmt.Sprintf("%v", this.Continue) + `,`,
|
||||||
|
`RemainingItemCount:` + fmt.Sprintf("%v", this.RemainingItemCount) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
@ -6185,6 +6190,25 @@ func (m *ListMeta) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
m.Continue = string(dAtA[iNdEx:postIndex])
|
m.Continue = string(dAtA[iNdEx:postIndex])
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 4:
|
||||||
|
if wireType != 0 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field RemainingItemCount", wireType)
|
||||||
|
}
|
||||||
|
m.RemainingItemCount = 0
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
m.RemainingItemCount |= (int64(b) & 0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
@ -9497,180 +9521,182 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptorGenerated = []byte{
|
var fileDescriptorGenerated = []byte{
|
||||||
// 2796 bytes of a gzipped FileDescriptorProto
|
// 2825 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x1a, 0x4d, 0x6c, 0x23, 0x57,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x1a, 0xcf, 0x6f, 0x23, 0x57,
|
||||||
0x39, 0x63, 0xc7, 0x8e, 0xfd, 0x39, 0xde, 0x4d, 0xde, 0xee, 0x82, 0x1b, 0x44, 0x9c, 0x4e, 0x51,
|
0x39, 0x63, 0xc7, 0x8e, 0xfd, 0x39, 0xde, 0x4d, 0xde, 0xee, 0x82, 0x1b, 0x44, 0x9c, 0x4e, 0x51,
|
||||||
0xb5, 0x85, 0xad, 0xd3, 0xdd, 0xd2, 0x6a, 0xd9, 0xd2, 0x42, 0x9c, 0x9f, 0x6d, 0xe8, 0xa6, 0x89,
|
0xb5, 0x85, 0xad, 0xd3, 0xdd, 0xd2, 0x6a, 0xd9, 0xd2, 0x42, 0x9c, 0x1f, 0xdb, 0xd0, 0x4d, 0x13,
|
||||||
0x5e, 0x76, 0x17, 0xb1, 0xac, 0x50, 0x27, 0x9e, 0x17, 0x67, 0xc8, 0x78, 0xc6, 0x7d, 0x6f, 0x9c,
|
0xbd, 0xec, 0x2e, 0x62, 0x59, 0xa1, 0x4e, 0x3c, 0x2f, 0xce, 0x90, 0xf1, 0x8c, 0xfb, 0xde, 0x38,
|
||||||
0x5d, 0xc3, 0x81, 0x1e, 0x40, 0x80, 0x04, 0x55, 0x8f, 0x9c, 0x50, 0x2b, 0xb8, 0x70, 0xe5, 0xc4,
|
0xbb, 0x86, 0x03, 0x3d, 0x80, 0x00, 0x09, 0xaa, 0x1e, 0x39, 0xa1, 0x56, 0xf0, 0x17, 0x70, 0xe2,
|
||||||
0x89, 0x53, 0x25, 0x7a, 0x41, 0xaa, 0xc4, 0x81, 0x1e, 0x90, 0xd5, 0x06, 0x24, 0xb8, 0x71, 0xcf,
|
0xc4, 0xa9, 0x12, 0xbd, 0x20, 0x55, 0xe2, 0x40, 0x0f, 0xc8, 0x6a, 0x03, 0x12, 0xdc, 0x38, 0x71,
|
||||||
0x09, 0xbd, 0xbf, 0x99, 0x37, 0x76, 0xbc, 0x19, 0xb3, 0xa5, 0xe2, 0xe4, 0x99, 0xef, 0xff, 0xbd,
|
0xc9, 0x09, 0xbd, 0x5f, 0x33, 0x6f, 0xec, 0x78, 0x33, 0x66, 0x4b, 0xc5, 0xc9, 0x33, 0xdf, 0xcf,
|
||||||
0xf7, 0xbd, 0xef, 0x6f, 0x0c, 0x5b, 0x87, 0xd7, 0x59, 0xc3, 0x0b, 0x97, 0x0f, 0x7b, 0x7b, 0x84,
|
0xf7, 0xbe, 0xf7, 0xbd, 0xef, 0xd7, 0x18, 0xb6, 0x0e, 0xaf, 0xb3, 0x86, 0x17, 0x2e, 0x1f, 0xf6,
|
||||||
0x06, 0x24, 0x22, 0x6c, 0xf9, 0x88, 0x04, 0x6e, 0x48, 0x97, 0x15, 0xc2, 0xe9, 0x7a, 0x1d, 0xa7,
|
0xf6, 0x08, 0x0d, 0x48, 0x44, 0xd8, 0xf2, 0x11, 0x09, 0xdc, 0x90, 0x2e, 0x2b, 0x84, 0xd3, 0xf5,
|
||||||
0x75, 0xe0, 0x05, 0x84, 0xf6, 0x97, 0xbb, 0x87, 0x6d, 0x0e, 0x60, 0xcb, 0x1d, 0x12, 0x39, 0xcb,
|
0x3a, 0x4e, 0xeb, 0xc0, 0x0b, 0x08, 0xed, 0x2f, 0x77, 0x0f, 0xdb, 0x1c, 0xc0, 0x96, 0x3b, 0x24,
|
||||||
0x47, 0x57, 0x97, 0xdb, 0x24, 0x20, 0xd4, 0x89, 0x88, 0xdb, 0xe8, 0xd2, 0x30, 0x0a, 0xd1, 0x97,
|
0x72, 0x96, 0x8f, 0xae, 0x2e, 0xb7, 0x49, 0x40, 0xa8, 0x13, 0x11, 0xb7, 0xd1, 0xa5, 0x61, 0x14,
|
||||||
0x24, 0x57, 0xc3, 0xe4, 0x6a, 0x74, 0x0f, 0xdb, 0x1c, 0xc0, 0x1a, 0x9c, 0xab, 0x71, 0x74, 0x75,
|
0xa2, 0x2f, 0x49, 0xae, 0x86, 0xc9, 0xd5, 0xe8, 0x1e, 0xb6, 0x39, 0x80, 0x35, 0x38, 0x57, 0xe3,
|
||||||
0xe1, 0xd9, 0xb6, 0x17, 0x1d, 0xf4, 0xf6, 0x1a, 0xad, 0xb0, 0xb3, 0xdc, 0x0e, 0xdb, 0xe1, 0xb2,
|
0xe8, 0xea, 0xc2, 0xb3, 0x6d, 0x2f, 0x3a, 0xe8, 0xed, 0x35, 0x5a, 0x61, 0x67, 0xb9, 0x1d, 0xb6,
|
||||||
0x60, 0xde, 0xeb, 0xed, 0x8b, 0x37, 0xf1, 0x22, 0x9e, 0xa4, 0xd0, 0x85, 0xb1, 0xa6, 0xd0, 0x5e,
|
0xc3, 0x65, 0xc1, 0xbc, 0xd7, 0xdb, 0x17, 0x6f, 0xe2, 0x45, 0x3c, 0x49, 0xa1, 0x0b, 0x63, 0x97,
|
||||||
0x10, 0x79, 0x1d, 0x32, 0x6c, 0xc5, 0xc2, 0x8b, 0x67, 0x31, 0xb0, 0xd6, 0x01, 0xe9, 0x38, 0xc3,
|
0x42, 0x7b, 0x41, 0xe4, 0x75, 0xc8, 0xf0, 0x2a, 0x16, 0x5e, 0x3c, 0x8b, 0x81, 0xb5, 0x0e, 0x48,
|
||||||
0x7c, 0xf6, 0x9f, 0xf2, 0x50, 0x5a, 0xd9, 0xd9, 0xbc, 0x49, 0xc3, 0x5e, 0x17, 0x2d, 0xc1, 0x74,
|
0xc7, 0x19, 0xe6, 0xb3, 0xff, 0x98, 0x87, 0xd2, 0xca, 0xce, 0xe6, 0x4d, 0x1a, 0xf6, 0xba, 0x68,
|
||||||
0xe0, 0x74, 0x48, 0xcd, 0x5a, 0xb2, 0x2e, 0x97, 0x9b, 0xb3, 0x1f, 0x0c, 0xea, 0x53, 0xc7, 0x83,
|
0x09, 0xa6, 0x03, 0xa7, 0x43, 0x6a, 0xd6, 0x92, 0x75, 0xb9, 0xdc, 0x9c, 0xfd, 0x60, 0x50, 0x9f,
|
||||||
0xfa, 0xf4, 0xeb, 0x4e, 0x87, 0x60, 0x81, 0x41, 0x3e, 0x94, 0x8e, 0x08, 0x65, 0x5e, 0x18, 0xb0,
|
0x3a, 0x1e, 0xd4, 0xa7, 0x5f, 0x77, 0x3a, 0x04, 0x0b, 0x0c, 0xf2, 0xa1, 0x74, 0x44, 0x28, 0xf3,
|
||||||
0x5a, 0x6e, 0x29, 0x7f, 0xb9, 0x72, 0xed, 0x95, 0x46, 0x96, 0xf5, 0x37, 0x84, 0x82, 0xbb, 0x92,
|
0xc2, 0x80, 0xd5, 0x72, 0x4b, 0xf9, 0xcb, 0x95, 0x6b, 0xaf, 0x34, 0xb2, 0xec, 0xbf, 0x21, 0x14,
|
||||||
0x75, 0x23, 0xa4, 0x6b, 0x1e, 0x6b, 0x85, 0x47, 0x84, 0xf6, 0x9b, 0x73, 0x4a, 0x4b, 0x49, 0x21,
|
0xdc, 0x95, 0xac, 0x1b, 0x21, 0x5d, 0xf3, 0x58, 0x2b, 0x3c, 0x22, 0xb4, 0xdf, 0x9c, 0x53, 0x5a,
|
||||||
0x19, 0x8e, 0x35, 0xa0, 0x1f, 0x5b, 0x30, 0xd7, 0xa5, 0x64, 0x9f, 0x50, 0x4a, 0x5c, 0x85, 0xaf,
|
0x4a, 0x0a, 0xc9, 0x70, 0xac, 0x01, 0xfd, 0xd8, 0x82, 0xb9, 0x2e, 0x25, 0xfb, 0x84, 0x52, 0xe2,
|
||||||
0xe5, 0x97, 0xac, 0x4f, 0x41, 0x6d, 0x4d, 0xa9, 0x9d, 0xdb, 0x19, 0x92, 0x8f, 0x47, 0x34, 0xa2,
|
0x2a, 0x7c, 0x2d, 0xbf, 0x64, 0x7d, 0x0a, 0x6a, 0x6b, 0x4a, 0xed, 0xdc, 0xce, 0x90, 0x7c, 0x3c,
|
||||||
0xdf, 0x58, 0xb0, 0xc0, 0x08, 0x3d, 0x22, 0x74, 0xc5, 0x75, 0x29, 0x61, 0xac, 0xd9, 0x5f, 0xf5,
|
0xa2, 0x11, 0xfd, 0xc6, 0x82, 0x05, 0x46, 0xe8, 0x11, 0xa1, 0x2b, 0xae, 0x4b, 0x09, 0x63, 0xcd,
|
||||||
0x3d, 0x12, 0x44, 0xab, 0x9b, 0x6b, 0x98, 0xd5, 0xa6, 0xc5, 0x3e, 0x7c, 0x23, 0x9b, 0x41, 0xbb,
|
0xfe, 0xaa, 0xef, 0x91, 0x20, 0x5a, 0xdd, 0x5c, 0xc3, 0xac, 0x36, 0x2d, 0xec, 0xf0, 0x8d, 0x6c,
|
||||||
0xe3, 0xe4, 0x34, 0x6d, 0x65, 0xd1, 0xc2, 0x58, 0x12, 0x86, 0x1f, 0x61, 0x86, 0xbd, 0x0f, 0xb3,
|
0x0b, 0xda, 0x1d, 0x27, 0xa7, 0x69, 0xab, 0x15, 0x2d, 0x8c, 0x25, 0x61, 0xf8, 0x11, 0xcb, 0xb0,
|
||||||
0xfa, 0x20, 0x6f, 0x79, 0x2c, 0x42, 0x77, 0xa1, 0xd8, 0xe6, 0x2f, 0xac, 0x66, 0x09, 0x03, 0x1b,
|
0xf7, 0x61, 0x56, 0x1f, 0xe4, 0x2d, 0x8f, 0x45, 0xe8, 0x2e, 0x14, 0xdb, 0xfc, 0x85, 0xd5, 0x2c,
|
||||||
0xd9, 0x0c, 0xd4, 0x32, 0x9a, 0xe7, 0x94, 0x3d, 0x45, 0xf1, 0xca, 0xb0, 0x92, 0x66, 0xff, 0x7c,
|
0xb1, 0xc0, 0x46, 0xb6, 0x05, 0x6a, 0x19, 0xcd, 0x73, 0x6a, 0x3d, 0x45, 0xf1, 0xca, 0xb0, 0x92,
|
||||||
0x1a, 0x2a, 0x2b, 0x3b, 0x9b, 0x98, 0xb0, 0xb0, 0x47, 0x5b, 0x24, 0x83, 0xd3, 0x5c, 0x03, 0xe0,
|
0x66, 0xff, 0x7c, 0x1a, 0x2a, 0x2b, 0x3b, 0x9b, 0x98, 0xb0, 0xb0, 0x47, 0x5b, 0x24, 0x83, 0xd3,
|
||||||
0xbf, 0xac, 0xeb, 0xb4, 0x88, 0x5b, 0xcb, 0x2d, 0x59, 0x97, 0x4b, 0x4d, 0xa4, 0xe8, 0xe0, 0xf5,
|
0x5c, 0x03, 0xe0, 0xbf, 0xac, 0xeb, 0xb4, 0x88, 0x5b, 0xcb, 0x2d, 0x59, 0x97, 0x4b, 0x4d, 0xa4,
|
||||||
0x18, 0x83, 0x0d, 0x2a, 0x2e, 0xf5, 0xd0, 0x0b, 0x5c, 0x71, 0xda, 0x86, 0xd4, 0xd7, 0xbc, 0xc0,
|
0xe8, 0xe0, 0xf5, 0x18, 0x83, 0x0d, 0x2a, 0x2e, 0xf5, 0xd0, 0x0b, 0x5c, 0x71, 0xda, 0x86, 0xd4,
|
||||||
0xc5, 0x02, 0x83, 0x6e, 0x41, 0xe1, 0x88, 0xd0, 0x3d, 0xbe, 0xff, 0xdc, 0x21, 0xbe, 0x92, 0x6d,
|
0xd7, 0xbc, 0xc0, 0xc5, 0x02, 0x83, 0x6e, 0x41, 0xe1, 0x88, 0xd0, 0x3d, 0x6e, 0x7f, 0xee, 0x10,
|
||||||
0x79, 0x77, 0x39, 0x4b, 0xb3, 0x7c, 0x3c, 0xa8, 0x17, 0xc4, 0x23, 0x96, 0x42, 0x50, 0x03, 0x80,
|
0x5f, 0xc9, 0xb6, 0xbd, 0xbb, 0x9c, 0xa5, 0x59, 0x3e, 0x1e, 0xd4, 0x0b, 0xe2, 0x11, 0x4b, 0x21,
|
||||||
0x1d, 0x84, 0x34, 0x12, 0xe6, 0xd4, 0x0a, 0x4b, 0xf9, 0xcb, 0xe5, 0xe6, 0x39, 0x6e, 0xdf, 0x6e,
|
0xa8, 0x01, 0xc0, 0x0e, 0x42, 0x1a, 0x89, 0xe5, 0xd4, 0x0a, 0x4b, 0xf9, 0xcb, 0xe5, 0xe6, 0x39,
|
||||||
0x0c, 0xc5, 0x06, 0x05, 0xba, 0x0e, 0xb3, 0xcc, 0x0b, 0xda, 0x3d, 0xdf, 0xa1, 0x1c, 0x50, 0x2b,
|
0xbe, 0xbe, 0xdd, 0x18, 0x8a, 0x0d, 0x0a, 0x74, 0x1d, 0x66, 0x99, 0x17, 0xb4, 0x7b, 0xbe, 0x43,
|
||||||
0x0a, 0x3b, 0x2f, 0x2a, 0x3b, 0x67, 0x77, 0x0d, 0x1c, 0x4e, 0x51, 0x72, 0x4d, 0x2d, 0x27, 0x22,
|
0x39, 0xa0, 0x56, 0x14, 0xeb, 0xbc, 0xa8, 0xd6, 0x39, 0xbb, 0x6b, 0xe0, 0x70, 0x8a, 0x92, 0x6b,
|
||||||
0xed, 0x90, 0x7a, 0x84, 0xd5, 0x66, 0x12, 0x4d, 0xab, 0x31, 0x14, 0x1b, 0x14, 0xe8, 0x29, 0x28,
|
0x6a, 0x39, 0x11, 0x69, 0x87, 0xd4, 0x23, 0xac, 0x36, 0x93, 0x68, 0x5a, 0x8d, 0xa1, 0xd8, 0xa0,
|
||||||
0x88, 0x9d, 0xaf, 0x95, 0x84, 0x8a, 0xaa, 0x52, 0x51, 0x10, 0xc7, 0x82, 0x25, 0x0e, 0x3d, 0x03,
|
0x40, 0x4f, 0x41, 0x41, 0x58, 0xbe, 0x56, 0x12, 0x2a, 0xaa, 0x4a, 0x45, 0x41, 0x1c, 0x0b, 0x96,
|
||||||
0x33, 0xea, 0xd6, 0xd4, 0xca, 0x82, 0xec, 0xbc, 0x22, 0x9b, 0xd1, 0x6e, 0xad, 0xf1, 0xe8, 0x5b,
|
0x38, 0xf4, 0x0c, 0xcc, 0xa8, 0x5b, 0x53, 0x2b, 0x0b, 0xb2, 0xf3, 0x8a, 0x6c, 0x46, 0xbb, 0xb5,
|
||||||
0x80, 0x58, 0x14, 0x52, 0xa7, 0x4d, 0x14, 0xea, 0x55, 0x87, 0x1d, 0xd4, 0x40, 0x70, 0x2d, 0x28,
|
0xc6, 0xa3, 0x6f, 0x01, 0x62, 0x51, 0x48, 0x9d, 0x36, 0x51, 0xa8, 0x57, 0x1d, 0x76, 0x50, 0x03,
|
||||||
0x2e, 0xb4, 0x3b, 0x42, 0x81, 0x4f, 0xe1, 0xb2, 0x7f, 0x6f, 0xc1, 0x79, 0xc3, 0x17, 0x84, 0xdf,
|
0xc1, 0xb5, 0xa0, 0xb8, 0xd0, 0xee, 0x08, 0x05, 0x3e, 0x85, 0xcb, 0xfe, 0x9d, 0x05, 0xe7, 0x0d,
|
||||||
0x5d, 0x87, 0xd9, 0xb6, 0x71, 0xeb, 0x94, 0x5f, 0xc4, 0x3b, 0x63, 0xde, 0x48, 0x9c, 0xa2, 0x44,
|
0x5f, 0x10, 0x7e, 0x77, 0x1d, 0x66, 0xdb, 0xc6, 0xad, 0x53, 0x7e, 0x11, 0x5b, 0xc6, 0xbc, 0x91,
|
||||||
0x04, 0xca, 0x54, 0x49, 0xd2, 0xd1, 0xe5, 0x6a, 0x66, 0xa7, 0xd5, 0x36, 0x24, 0x9a, 0x0c, 0x20,
|
0x38, 0x45, 0x89, 0x08, 0x94, 0xa9, 0x92, 0xa4, 0xa3, 0xcb, 0xd5, 0xcc, 0x4e, 0xab, 0xd7, 0x90,
|
||||||
0xc3, 0x89, 0x64, 0xfb, 0x9f, 0x96, 0x70, 0x60, 0x1d, 0x6f, 0xd0, 0x65, 0x23, 0xa6, 0x59, 0xe2,
|
0x68, 0x32, 0x80, 0x0c, 0x27, 0x92, 0xed, 0x7f, 0x58, 0xc2, 0x81, 0x75, 0xbc, 0x41, 0x97, 0x8d,
|
||||||
0x38, 0x66, 0xc7, 0xc4, 0xa3, 0x33, 0x02, 0x41, 0xee, 0xff, 0x22, 0x10, 0xdc, 0x28, 0xfd, 0xea,
|
0x98, 0x66, 0x89, 0xe3, 0x98, 0x1d, 0x13, 0x8f, 0xce, 0x08, 0x04, 0xb9, 0xff, 0x8b, 0x40, 0x70,
|
||||||
0xdd, 0xfa, 0xd4, 0x5b, 0x7f, 0x5b, 0x9a, 0xb2, 0x3b, 0x50, 0x5d, 0xa5, 0xc4, 0x89, 0xc8, 0x76,
|
0xa3, 0xf4, 0xab, 0x77, 0xeb, 0x53, 0x6f, 0xfd, 0x75, 0x69, 0xca, 0xee, 0x40, 0x75, 0x95, 0x12,
|
||||||
0x37, 0x12, 0x0b, 0xb0, 0xa1, 0xe8, 0xd2, 0x3e, 0xee, 0x05, 0x6a, 0xa1, 0xc0, 0xef, 0xf7, 0x9a,
|
0x27, 0x22, 0xdb, 0xdd, 0x48, 0x6c, 0xc0, 0x86, 0xa2, 0x4b, 0xfb, 0xb8, 0x17, 0xa8, 0x8d, 0x02,
|
||||||
0x80, 0x60, 0x85, 0xe1, 0xe7, 0xb7, 0xef, 0x11, 0xdf, 0xdd, 0x72, 0x02, 0xa7, 0x4d, 0xa8, 0xba,
|
0xbf, 0xdf, 0x6b, 0x02, 0x82, 0x15, 0x86, 0x9f, 0xdf, 0xbe, 0x47, 0x7c, 0x77, 0xcb, 0x09, 0x9c,
|
||||||
0x81, 0xf1, 0xae, 0x6e, 0x18, 0x38, 0x9c, 0xa2, 0xb4, 0x7f, 0x9a, 0x87, 0xea, 0x1a, 0xf1, 0x49,
|
0x36, 0xa1, 0xea, 0x06, 0xc6, 0x56, 0xdd, 0x30, 0x70, 0x38, 0x45, 0x69, 0xff, 0x34, 0x0f, 0xd5,
|
||||||
0xa2, 0x6f, 0x03, 0x50, 0x9b, 0x3a, 0x2d, 0xb2, 0x43, 0xa8, 0x17, 0xba, 0xbb, 0xa4, 0x15, 0x06,
|
0x35, 0xe2, 0x93, 0x44, 0xdf, 0x06, 0xa0, 0x36, 0x75, 0x5a, 0x64, 0x87, 0x50, 0x2f, 0x74, 0x77,
|
||||||
0x2e, 0x13, 0x1e, 0x91, 0x6f, 0x7e, 0x8e, 0xfb, 0xd9, 0xcd, 0x11, 0x2c, 0x3e, 0x85, 0x03, 0xf9,
|
0x49, 0x2b, 0x0c, 0x5c, 0x26, 0x3c, 0x22, 0xdf, 0xfc, 0x1c, 0xf7, 0xb3, 0x9b, 0x23, 0x58, 0x7c,
|
||||||
0x50, 0xed, 0x52, 0xf1, 0xec, 0x45, 0x2a, 0xf7, 0xf0, 0x3b, 0xff, 0x7c, 0xb6, 0xad, 0xde, 0x31,
|
0x0a, 0x07, 0xf2, 0xa1, 0xda, 0xa5, 0xe2, 0xd9, 0x8b, 0x54, 0xee, 0xe1, 0x77, 0xfe, 0xf9, 0x6c,
|
||||||
0x59, 0x9b, 0xf3, 0xc7, 0x83, 0x7a, 0x35, 0x05, 0xc2, 0x69, 0xe1, 0xe8, 0x9b, 0x30, 0x17, 0xd2,
|
0xa6, 0xde, 0x31, 0x59, 0x9b, 0xf3, 0xc7, 0x83, 0x7a, 0x35, 0x05, 0xc2, 0x69, 0xe1, 0xe8, 0x9b,
|
||||||
0xee, 0x81, 0x13, 0xac, 0x91, 0x2e, 0x09, 0x5c, 0x12, 0x44, 0x4c, 0xec, 0x42, 0xa9, 0x79, 0x91,
|
0x30, 0x17, 0xd2, 0xee, 0x81, 0x13, 0xac, 0x91, 0x2e, 0x09, 0x5c, 0x12, 0x44, 0x4c, 0x58, 0xa1,
|
||||||
0x67, 0x8c, 0xed, 0x21, 0x1c, 0x1e, 0xa1, 0x46, 0xf7, 0x60, 0xbe, 0x4b, 0xc3, 0xae, 0xd3, 0x76,
|
0xd4, 0xbc, 0xc8, 0x33, 0xc6, 0xf6, 0x10, 0x0e, 0x8f, 0x50, 0xa3, 0x7b, 0x30, 0xdf, 0xa5, 0x61,
|
||||||
0xb8, 0xc4, 0x9d, 0xd0, 0xf7, 0x5a, 0x7d, 0x11, 0xa7, 0xca, 0xcd, 0x2b, 0xc7, 0x83, 0xfa, 0xfc,
|
0xd7, 0x69, 0x3b, 0x5c, 0xe2, 0x4e, 0xe8, 0x7b, 0xad, 0xbe, 0x88, 0x53, 0xe5, 0xe6, 0x95, 0xe3,
|
||||||
0xce, 0x30, 0xf2, 0x64, 0x50, 0xbf, 0x20, 0xb6, 0x8e, 0x43, 0x12, 0x24, 0x1e, 0x15, 0x63, 0x9c,
|
0x41, 0x7d, 0x7e, 0x67, 0x18, 0x79, 0x32, 0xa8, 0x5f, 0x10, 0xa6, 0xe3, 0x90, 0x04, 0x89, 0x47,
|
||||||
0x61, 0x61, 0xdc, 0x19, 0xda, 0x9b, 0x50, 0x5a, 0xeb, 0x51, 0xc1, 0x85, 0x5e, 0x86, 0x92, 0xab,
|
0xc5, 0x18, 0x67, 0x58, 0x18, 0x77, 0x86, 0xf6, 0x26, 0x94, 0xd6, 0x7a, 0x54, 0x70, 0xa1, 0x97,
|
||||||
0x9e, 0xd5, 0xce, 0x3f, 0xa9, 0x53, 0xae, 0xa6, 0x39, 0x19, 0xd4, 0xab, 0xbc, 0x48, 0x68, 0x68,
|
0xa1, 0xe4, 0xaa, 0x67, 0x65, 0xf9, 0x27, 0x75, 0xca, 0xd5, 0x34, 0x27, 0x83, 0x7a, 0x95, 0x17,
|
||||||
0x00, 0x8e, 0x59, 0xec, 0xfb, 0x50, 0x5d, 0x7f, 0xd8, 0x0d, 0x69, 0xa4, 0xcf, 0xf4, 0x69, 0x28,
|
0x09, 0x0d, 0x0d, 0xc0, 0x31, 0x8b, 0x7d, 0x1f, 0xaa, 0xeb, 0x0f, 0xbb, 0x21, 0x8d, 0xf4, 0x99,
|
||||||
0x12, 0x01, 0x10, 0xd2, 0x4a, 0x49, 0x9e, 0x90, 0x64, 0x58, 0x61, 0x79, 0xdc, 0x22, 0x0f, 0x9d,
|
0x3e, 0x0d, 0x45, 0x22, 0x00, 0x42, 0x5a, 0x29, 0xc9, 0x13, 0x92, 0x0c, 0x2b, 0x2c, 0x8f, 0x5b,
|
||||||
0x56, 0xa4, 0x02, 0x7e, 0x1c, 0xb7, 0xd6, 0x39, 0x10, 0x4b, 0x9c, 0xfd, 0xbe, 0x05, 0x45, 0xe1,
|
0xe4, 0xa1, 0xd3, 0x8a, 0x54, 0xc0, 0x8f, 0xe3, 0xd6, 0x3a, 0x07, 0x62, 0x89, 0xb3, 0xdf, 0xb7,
|
||||||
0x51, 0x0c, 0xdd, 0x86, 0x7c, 0xc7, 0xe9, 0xaa, 0x64, 0xf5, 0x42, 0xb6, 0x93, 0x95, 0xac, 0x8d,
|
0xa0, 0x28, 0x3c, 0x8a, 0xa1, 0xdb, 0x90, 0xef, 0x38, 0x5d, 0x95, 0xac, 0x5e, 0xc8, 0x76, 0xb2,
|
||||||
0x2d, 0xa7, 0xbb, 0x1e, 0x44, 0xb4, 0xdf, 0xac, 0x28, 0x25, 0xf9, 0x2d, 0xa7, 0x8b, 0xb9, 0xb8,
|
0x92, 0xb5, 0xb1, 0xe5, 0x74, 0xd7, 0x83, 0x88, 0xf6, 0x9b, 0x15, 0xa5, 0x24, 0xbf, 0xe5, 0x74,
|
||||||
0x05, 0x17, 0x4a, 0x1a, 0x8b, 0xe6, 0x20, 0x7f, 0x48, 0xfa, 0x32, 0x20, 0x61, 0xfe, 0x88, 0x9a,
|
0x31, 0x17, 0xb7, 0xe0, 0x42, 0x49, 0x63, 0xd1, 0x1c, 0xe4, 0x0f, 0x49, 0x5f, 0x06, 0x24, 0xcc,
|
||||||
0x50, 0x38, 0x72, 0xfc, 0x1e, 0x51, 0xfe, 0x74, 0x65, 0x12, 0xad, 0x58, 0xb2, 0xde, 0xc8, 0x5d,
|
0x1f, 0x51, 0x13, 0x0a, 0x47, 0x8e, 0xdf, 0x23, 0xca, 0x9f, 0xae, 0x4c, 0xa2, 0x15, 0x4b, 0xd6,
|
||||||
0xb7, 0xec, 0x6d, 0x80, 0x9b, 0x24, 0xde, 0xa1, 0x15, 0x38, 0xaf, 0xa3, 0x4d, 0x3a, 0x08, 0x7e,
|
0x1b, 0xb9, 0xeb, 0x96, 0xbd, 0x0d, 0x70, 0x93, 0xc4, 0x16, 0x5a, 0x81, 0xf3, 0x3a, 0xda, 0xa4,
|
||||||
0x5e, 0x99, 0x77, 0x1e, 0xa7, 0xd1, 0x78, 0x98, 0xde, 0xbe, 0x0f, 0x65, 0x11, 0x28, 0x79, 0xbe,
|
0x83, 0xe0, 0xe7, 0xd5, 0xf2, 0xce, 0xe3, 0x34, 0x1a, 0x0f, 0xd3, 0xdb, 0xf7, 0xa1, 0x2c, 0x02,
|
||||||
0x4b, 0x32, 0x80, 0xf5, 0x88, 0x0c, 0xa0, 0x13, 0x66, 0x6e, 0x5c, 0xc2, 0x34, 0xe2, 0x82, 0x0f,
|
0x25, 0xcf, 0x77, 0x49, 0x06, 0xb0, 0x1e, 0x91, 0x01, 0x74, 0xc2, 0xcc, 0x8d, 0x4b, 0x98, 0x46,
|
||||||
0x55, 0xc9, 0xab, 0x73, 0x78, 0x26, 0x0d, 0x57, 0xa0, 0xa4, 0xcd, 0x54, 0x5a, 0xe2, 0xda, 0x4d,
|
0x5c, 0xf0, 0xa1, 0x2a, 0x79, 0x75, 0x0e, 0xcf, 0xa4, 0xe1, 0x0a, 0x94, 0xf4, 0x32, 0x95, 0x96,
|
||||||
0x0b, 0xc2, 0x31, 0x85, 0xa1, 0xed, 0x00, 0x52, 0x41, 0x3f, 0x9b, 0x32, 0x23, 0xa1, 0xe5, 0x1e,
|
0xb8, 0x76, 0xd3, 0x82, 0x70, 0x4c, 0x61, 0x68, 0x3b, 0x80, 0x54, 0xd0, 0xcf, 0xa6, 0xcc, 0x48,
|
||||||
0x9d, 0xd0, 0x0c, 0x4d, 0x3f, 0x82, 0xda, 0xb8, 0x82, 0xef, 0x31, 0xd2, 0x52, 0x76, 0x53, 0xec,
|
0x68, 0xb9, 0x47, 0x27, 0x34, 0x43, 0xd3, 0x8f, 0xa0, 0x36, 0xae, 0xe0, 0x7b, 0x8c, 0xb4, 0x94,
|
||||||
0xb7, 0x2d, 0x98, 0x33, 0x25, 0x65, 0x3f, 0xbe, 0xec, 0x4a, 0xce, 0x2e, 0x8d, 0x8c, 0x1d, 0xf9,
|
0x7d, 0x29, 0xf6, 0xdb, 0x16, 0xcc, 0x99, 0x92, 0xb2, 0x1f, 0x5f, 0x76, 0x25, 0x67, 0x97, 0x46,
|
||||||
0xb5, 0x05, 0x17, 0x53, 0x4b, 0x9b, 0xe8, 0xc4, 0x27, 0x30, 0xca, 0x74, 0x8e, 0xfc, 0x04, 0xce,
|
0x86, 0x45, 0x7e, 0x6d, 0xc1, 0xc5, 0xd4, 0xd6, 0x26, 0x3a, 0xf1, 0x09, 0x16, 0x65, 0x3a, 0x47,
|
||||||
0xb1, 0x0c, 0x95, 0xcd, 0xc0, 0x8b, 0x3c, 0xc7, 0xf7, 0x7e, 0x40, 0xe8, 0xd9, 0xc5, 0xa4, 0xfd,
|
0x7e, 0x02, 0xe7, 0x58, 0x86, 0xca, 0x66, 0xe0, 0x45, 0x9e, 0xe3, 0x7b, 0x3f, 0x20, 0xf4, 0xec,
|
||||||
0x47, 0x0b, 0x66, 0x0d, 0x0e, 0x86, 0xee, 0xc3, 0x0c, 0x8f, 0xbb, 0x5e, 0xd0, 0x56, 0xb1, 0x23,
|
0x62, 0xd2, 0xfe, 0x83, 0x05, 0xb3, 0x06, 0x07, 0x43, 0xf7, 0x61, 0x86, 0xc7, 0x5d, 0x2f, 0x68,
|
||||||
0x63, 0xcd, 0x60, 0x08, 0x49, 0xd6, 0xb5, 0x23, 0x25, 0x61, 0x2d, 0x12, 0xed, 0x40, 0x91, 0x12,
|
0xab, 0xd8, 0x91, 0xb1, 0x66, 0x30, 0x84, 0x24, 0xfb, 0xda, 0x91, 0x92, 0xb0, 0x16, 0x89, 0x76,
|
||||||
0xd6, 0xf3, 0xa3, 0xc9, 0x42, 0xc4, 0x6e, 0xe4, 0x44, 0x3d, 0x26, 0x63, 0x33, 0x16, 0xfc, 0x58,
|
0xa0, 0x48, 0x09, 0xeb, 0xf9, 0xd1, 0x64, 0x21, 0x62, 0x37, 0x72, 0xa2, 0x1e, 0x93, 0xb1, 0x19,
|
||||||
0xc9, 0xb1, 0xff, 0x92, 0x83, 0xea, 0x2d, 0x67, 0x8f, 0xf8, 0xbb, 0xc4, 0x27, 0xad, 0x28, 0xa4,
|
0x0b, 0x7e, 0xac, 0xe4, 0xd8, 0x7f, 0xce, 0x41, 0xf5, 0x96, 0xb3, 0x47, 0xfc, 0x5d, 0xe2, 0x93,
|
||||||
0xe8, 0x87, 0x50, 0xe9, 0x38, 0x51, 0xeb, 0x40, 0x40, 0x75, 0xb9, 0xbe, 0x96, 0x4d, 0x51, 0x4a,
|
0x56, 0x14, 0x52, 0xf4, 0x43, 0xa8, 0x74, 0x9c, 0xa8, 0x75, 0x20, 0xa0, 0xba, 0x5c, 0x5f, 0xcb,
|
||||||
0x52, 0x63, 0x2b, 0x11, 0x23, 0x03, 0xe2, 0x05, 0xb5, 0xb0, 0x8a, 0x81, 0xc1, 0xa6, 0x36, 0xd1,
|
0xa6, 0x28, 0x25, 0xa9, 0xb1, 0x95, 0x88, 0x91, 0x01, 0xf1, 0x82, 0xda, 0x58, 0xc5, 0xc0, 0x60,
|
||||||
0x63, 0x89, 0xf7, 0xf5, 0x87, 0x5d, 0x5e, 0x4b, 0x4c, 0xde, 0xda, 0xa5, 0x4c, 0xc0, 0xe4, 0xcd,
|
0x53, 0x9b, 0xe8, 0xb1, 0xc4, 0xfb, 0xfa, 0xc3, 0x2e, 0xaf, 0x25, 0x26, 0x6f, 0xed, 0x52, 0x4b,
|
||||||
0x9e, 0x47, 0x49, 0x87, 0x04, 0x51, 0xd2, 0x63, 0x6d, 0x0d, 0xc9, 0xc7, 0x23, 0x1a, 0x17, 0x5e,
|
0xc0, 0xe4, 0xcd, 0x9e, 0x47, 0x49, 0x87, 0x04, 0x51, 0xd2, 0x63, 0x6d, 0x0d, 0xc9, 0xc7, 0x23,
|
||||||
0x81, 0xb9, 0x61, 0xe3, 0x4f, 0x89, 0xd7, 0x17, 0xcd, 0x78, 0x5d, 0x36, 0x23, 0xf0, 0x6f, 0x2d,
|
0x1a, 0x17, 0x5e, 0x81, 0xb9, 0xe1, 0xc5, 0x9f, 0x12, 0xaf, 0x2f, 0x9a, 0xf1, 0xba, 0x6c, 0x46,
|
||||||
0xa8, 0x8d, 0x33, 0x04, 0x7d, 0xd1, 0x10, 0x94, 0xe4, 0x88, 0xd7, 0x48, 0x5f, 0x4a, 0x5d, 0x87,
|
0xe0, 0xdf, 0x5a, 0x50, 0x1b, 0xb7, 0x10, 0xf4, 0x45, 0x43, 0x50, 0x92, 0x23, 0x5e, 0x23, 0x7d,
|
||||||
0x52, 0xd8, 0xe5, 0x5d, 0x71, 0x48, 0x95, 0x9f, 0x3f, 0xa3, 0x7d, 0x77, 0x5b, 0xc1, 0x4f, 0x06,
|
0x29, 0x75, 0x1d, 0x4a, 0x61, 0x97, 0x77, 0xc5, 0x21, 0x55, 0x7e, 0xfe, 0x8c, 0xf6, 0xdd, 0x6d,
|
||||||
0xf5, 0x4b, 0x29, 0xf1, 0x1a, 0x81, 0x63, 0x56, 0x9e, 0x98, 0x85, 0x3d, 0xbc, 0x58, 0x88, 0x13,
|
0x05, 0x3f, 0x19, 0xd4, 0x2f, 0xa5, 0xc4, 0x6b, 0x04, 0x8e, 0x59, 0x79, 0x62, 0x16, 0xeb, 0xe1,
|
||||||
0xf3, 0x5d, 0x01, 0xc1, 0x0a, 0x63, 0xff, 0xc1, 0x82, 0x69, 0x51, 0x25, 0xdf, 0x87, 0x12, 0xdf,
|
0xc5, 0x42, 0x9c, 0x98, 0xef, 0x0a, 0x08, 0x56, 0x18, 0xfb, 0xf7, 0x16, 0x4c, 0x8b, 0x2a, 0xf9,
|
||||||
0x3f, 0xd7, 0x89, 0x1c, 0x61, 0x57, 0xe6, 0xfe, 0x8c, 0x73, 0x6f, 0x91, 0xc8, 0x49, 0xee, 0x97,
|
0x3e, 0x94, 0xb8, 0xfd, 0x5c, 0x27, 0x72, 0xc4, 0xba, 0x32, 0xf7, 0x67, 0x9c, 0x7b, 0x8b, 0x44,
|
||||||
0x86, 0xe0, 0x58, 0x22, 0xc2, 0x50, 0xf0, 0x22, 0xd2, 0xd1, 0x07, 0xf9, 0xec, 0x58, 0xd1, 0x6a,
|
0x4e, 0x72, 0xbf, 0x34, 0x04, 0xc7, 0x12, 0x11, 0x86, 0x82, 0x17, 0x91, 0x8e, 0x3e, 0xc8, 0x67,
|
||||||
0x3a, 0xd0, 0xc0, 0xce, 0x83, 0xf5, 0x87, 0x11, 0x09, 0xf8, 0x61, 0x24, 0xc1, 0x60, 0x93, 0xcb,
|
0xc7, 0x8a, 0x56, 0xd3, 0x81, 0x06, 0x76, 0x1e, 0xac, 0x3f, 0x8c, 0x48, 0xc0, 0x0f, 0x23, 0x09,
|
||||||
0xc0, 0x52, 0x94, 0xfd, 0x3b, 0x0b, 0x62, 0x55, 0xfc, 0xba, 0x33, 0xe2, 0xef, 0xdf, 0xf2, 0x82,
|
0x06, 0x9b, 0x5c, 0x06, 0x96, 0xa2, 0xec, 0x7f, 0x5b, 0x10, 0xab, 0xe2, 0xd7, 0x9d, 0x11, 0x7f,
|
||||||
0x43, 0xb5, 0xad, 0xb1, 0x39, 0xbb, 0x0a, 0x8e, 0x63, 0x8a, 0xd3, 0x12, 0x62, 0x6e, 0xb2, 0x84,
|
0xff, 0x96, 0x17, 0x1c, 0x2a, 0xb3, 0xc6, 0xcb, 0xd9, 0x55, 0x70, 0x1c, 0x53, 0x9c, 0x96, 0x10,
|
||||||
0xc8, 0x15, 0xb6, 0xc2, 0x20, 0xf2, 0x82, 0xde, 0x48, 0x7c, 0x59, 0x55, 0x70, 0x1c, 0x53, 0xd8,
|
0x73, 0x93, 0x25, 0x44, 0xae, 0xb0, 0x15, 0x06, 0x91, 0x17, 0xf4, 0x46, 0xe2, 0xcb, 0xaa, 0x82,
|
||||||
0x7f, 0xce, 0x43, 0x85, 0xdb, 0xaa, 0x33, 0xf2, 0x4b, 0x50, 0xf5, 0xcd, 0xd3, 0x53, 0x36, 0x5f,
|
0xe3, 0x98, 0x82, 0xf7, 0x38, 0x94, 0x74, 0x1c, 0x2f, 0xf0, 0x82, 0x36, 0xdf, 0xc4, 0x6a, 0xd8,
|
||||||
0x52, 0x22, 0xd2, 0xf7, 0x11, 0xa7, 0x69, 0x39, 0xb3, 0x28, 0x73, 0x63, 0xe6, 0x5c, 0x9a, 0x79,
|
0x0b, 0x22, 0x51, 0x80, 0xe5, 0x93, 0x1e, 0x07, 0x8f, 0x50, 0xe0, 0x53, 0xb8, 0xec, 0x3f, 0xe5,
|
||||||
0xc3, 0x44, 0xe2, 0x34, 0x2d, 0x8f, 0xb3, 0x0f, 0xb8, 0x5f, 0xab, 0x02, 0x32, 0xde, 0xda, 0x6f,
|
0xa1, 0xc2, 0xf7, 0xad, 0xb3, 0xfb, 0x4b, 0x50, 0xf5, 0x4d, 0x4f, 0x50, 0xfb, 0xbf, 0xa4, 0xc4,
|
||||||
0x73, 0x20, 0x96, 0xb8, 0xd3, 0xf6, 0x67, 0x7a, 0xc2, 0xfd, 0xb9, 0x01, 0xe7, 0xf8, 0x41, 0x86,
|
0xa6, 0xef, 0x36, 0x4e, 0xd3, 0x72, 0x66, 0x51, 0x32, 0xc7, 0xcc, 0xb9, 0x34, 0xf3, 0x86, 0x89,
|
||||||
0xbd, 0x48, 0x57, 0xd9, 0x05, 0x51, 0xeb, 0xa1, 0xe3, 0x41, 0xfd, 0xdc, 0xed, 0x14, 0x06, 0x0f,
|
0xc4, 0x69, 0x5a, 0x1e, 0xb3, 0x1f, 0xf0, 0x3b, 0xa2, 0x8a, 0xd1, 0xf8, 0x98, 0xbe, 0xcd, 0x81,
|
||||||
0x51, 0x72, 0x1b, 0x7d, 0xaf, 0xe3, 0x45, 0xb5, 0x19, 0xc1, 0x12, 0xdb, 0x78, 0x8b, 0x03, 0xb1,
|
0x58, 0xe2, 0x4e, 0xb3, 0xf5, 0xf4, 0x84, 0xb6, 0xbe, 0x01, 0xe7, 0xb8, 0x53, 0x84, 0xbd, 0x48,
|
||||||
0xc4, 0xa5, 0x0e, 0xa0, 0x74, 0xd6, 0x01, 0xa0, 0x2d, 0xb8, 0xe0, 0xf8, 0x7e, 0xf8, 0x40, 0x2c,
|
0x57, 0xec, 0x05, 0x61, 0x39, 0x74, 0x3c, 0xa8, 0x9f, 0xbb, 0x9d, 0xc2, 0xe0, 0x21, 0x4a, 0xbe,
|
||||||
0xb3, 0x19, 0x86, 0x87, 0x1d, 0x87, 0x1e, 0x32, 0xd1, 0x9b, 0x96, 0x9a, 0x5f, 0x50, 0x8c, 0x17,
|
0x46, 0xdf, 0xeb, 0x78, 0x51, 0x6d, 0x46, 0xb0, 0xc4, 0x6b, 0xbc, 0xc5, 0x81, 0x58, 0xe2, 0x52,
|
||||||
0x56, 0x46, 0x49, 0xf0, 0x69, 0x7c, 0xf6, 0xbf, 0x72, 0x80, 0x64, 0x97, 0xe1, 0xca, 0xe2, 0x4b,
|
0x87, 0x59, 0x3a, 0xf3, 0x30, 0xb7, 0xe0, 0x82, 0xe3, 0xfb, 0xe1, 0x03, 0xb1, 0xcd, 0x66, 0x18,
|
||||||
0x06, 0x88, 0x67, 0x60, 0xa6, 0xa3, 0xba, 0x14, 0x2b, 0x9d, 0x9f, 0x74, 0x83, 0xa2, 0xf1, 0x68,
|
0x1e, 0x76, 0x1c, 0x7a, 0xc8, 0x44, 0x9f, 0x5b, 0x6a, 0x7e, 0x41, 0x31, 0x5e, 0x58, 0x19, 0x25,
|
||||||
0x0b, 0xca, 0xf2, 0xa2, 0x26, 0xce, 0xb7, 0xac, 0x88, 0xcb, 0xdb, 0x1a, 0x71, 0x32, 0xa8, 0x2f,
|
0xc1, 0xa7, 0xf1, 0xd9, 0xff, 0xcc, 0x01, 0x92, 0x1d, 0x8b, 0x2b, 0x0b, 0x39, 0x19, 0x6c, 0x9e,
|
||||||
0xa4, 0xd4, 0xc4, 0x98, 0xdb, 0xfd, 0x2e, 0xc1, 0x89, 0x04, 0x74, 0x0d, 0xc0, 0xe9, 0x7a, 0xe6,
|
0x81, 0x99, 0x8e, 0xea, 0x78, 0xac, 0x74, 0xae, 0xd3, 0xcd, 0x8e, 0xc6, 0xa3, 0x2d, 0x28, 0xcb,
|
||||||
0x48, 0xaa, 0x9c, 0x8c, 0x34, 0x92, 0xe6, 0x12, 0x1b, 0x54, 0xe8, 0x55, 0x98, 0xe6, 0x1b, 0xaf,
|
0x4b, 0x9f, 0x38, 0xf2, 0xb2, 0x22, 0x2e, 0x6f, 0x6b, 0xc4, 0xc9, 0xa0, 0xbe, 0x90, 0x52, 0x13,
|
||||||
0xe6, 0x15, 0x5f, 0xce, 0x76, 0xdd, 0xf9, 0xd1, 0x35, 0x4b, 0x3c, 0x07, 0xf2, 0x27, 0x2c, 0x24,
|
0x63, 0x6e, 0xf7, 0xbb, 0x04, 0x27, 0x12, 0xd0, 0x35, 0x00, 0xa7, 0xeb, 0x99, 0xe3, 0xad, 0x72,
|
||||||
0xa0, 0x7b, 0x50, 0x14, 0x5e, 0x26, 0x0f, 0x79, 0xc2, 0xba, 0x55, 0x34, 0x31, 0xaa, 0xe8, 0x3e,
|
0x32, 0x1e, 0x49, 0x1a, 0x55, 0x6c, 0x50, 0xa1, 0x57, 0x61, 0x9a, 0x1b, 0x5e, 0xcd, 0x3e, 0xbe,
|
||||||
0x89, 0x9f, 0xb0, 0x92, 0x68, 0xbf, 0x09, 0xe5, 0x2d, 0xaf, 0x45, 0x43, 0xae, 0x8e, 0x6f, 0x30,
|
0x9c, 0x2d, 0x74, 0xf0, 0xa3, 0x6b, 0x96, 0x78, 0x3e, 0xe5, 0x4f, 0x58, 0x48, 0x40, 0xf7, 0xa0,
|
||||||
0x4b, 0x35, 0x6d, 0xf1, 0x06, 0x6b, 0x5f, 0xd2, 0x78, 0xee, 0x44, 0x81, 0x13, 0x84, 0xb2, 0x35,
|
0x28, 0xbc, 0x4c, 0x1e, 0xf2, 0x84, 0x35, 0xb0, 0x68, 0x88, 0x54, 0x01, 0x7f, 0x12, 0x3f, 0x61,
|
||||||
0x2b, 0x24, 0x4e, 0xf4, 0x3a, 0x07, 0x62, 0x89, 0xbb, 0x71, 0x91, 0xe7, 0xfd, 0x9f, 0xbd, 0x57,
|
0x25, 0xd1, 0x7e, 0x13, 0xca, 0x5b, 0x5e, 0x8b, 0x86, 0x5c, 0x1d, 0x37, 0x30, 0x4b, 0x35, 0x80,
|
||||||
0x9f, 0x7a, 0xe7, 0xbd, 0xfa, 0xd4, 0xbb, 0xef, 0xa9, 0x1a, 0xe0, 0x1f, 0x15, 0x80, 0xed, 0xbd,
|
0xb1, 0x81, 0xb5, 0x2f, 0x69, 0x3c, 0x77, 0xa2, 0xc0, 0x09, 0x42, 0xd9, 0xe6, 0x15, 0x12, 0x27,
|
||||||
0xef, 0x93, 0x96, 0x8c, 0x2d, 0x67, 0x0f, 0x94, 0x78, 0x2d, 0xa7, 0xe6, 0x98, 0x62, 0xf8, 0x92,
|
0x7a, 0x9d, 0x03, 0xb1, 0xc4, 0xdd, 0xb8, 0xc8, 0x6b, 0x88, 0x9f, 0xbd, 0x57, 0x9f, 0x7a, 0xe7,
|
||||||
0x1b, 0xaa, 0xe5, 0x0c, 0x1c, 0x4e, 0x51, 0xa2, 0x65, 0x28, 0xc7, 0x43, 0x26, 0x75, 0x6c, 0xf3,
|
0xbd, 0xfa, 0xd4, 0xbb, 0xef, 0xa9, 0x7a, 0xe2, 0xef, 0x15, 0x80, 0xed, 0xbd, 0xef, 0x93, 0x96,
|
||||||
0xda, 0x0d, 0xe2, 0x49, 0x14, 0x4e, 0x68, 0x52, 0x81, 0x6e, 0xfa, 0xcc, 0x40, 0xd7, 0x84, 0x7c,
|
0x8c, 0x53, 0x67, 0x0f, 0xa7, 0x78, 0x5d, 0xa8, 0x66, 0xa2, 0x62, 0x90, 0x93, 0x1b, 0xaa, 0x0b,
|
||||||
0xcf, 0x73, 0xc5, 0xa9, 0x94, 0x9b, 0xcf, 0xe9, 0x44, 0x73, 0x67, 0x73, 0xed, 0x64, 0x50, 0x7f,
|
0x0d, 0x1c, 0x4e, 0x51, 0xa2, 0x65, 0x28, 0xc7, 0x03, 0x2b, 0x75, 0x6c, 0xf3, 0xda, 0x0d, 0xe2,
|
||||||
0x72, 0xdc, 0x84, 0x36, 0xea, 0x77, 0x09, 0x6b, 0xdc, 0xd9, 0x5c, 0xc3, 0x9c, 0xf9, 0xb4, 0x60,
|
0xa9, 0x16, 0x4e, 0x68, 0x52, 0x41, 0x73, 0xfa, 0xcc, 0xa0, 0xd9, 0x84, 0x7c, 0xcf, 0x73, 0xc5,
|
||||||
0x50, 0x9c, 0x30, 0x18, 0x5c, 0x03, 0x50, 0xab, 0xe6, 0xdc, 0xf2, 0x56, 0xc7, 0xde, 0x79, 0x33,
|
0xa9, 0x94, 0x9b, 0xcf, 0xe9, 0xa4, 0x75, 0x67, 0x73, 0xed, 0x64, 0x50, 0x7f, 0x72, 0xdc, 0xb4,
|
||||||
0xc6, 0x60, 0x83, 0x0a, 0x31, 0x98, 0x6f, 0x51, 0x22, 0x9d, 0xdd, 0xeb, 0x10, 0x16, 0x39, 0x1d,
|
0x37, 0xea, 0x77, 0x09, 0x6b, 0xdc, 0xd9, 0x5c, 0xc3, 0x9c, 0xf9, 0xb4, 0x60, 0x50, 0x9c, 0x30,
|
||||||
0x39, 0x72, 0x9a, 0xcc, 0x55, 0x9f, 0x50, 0x6a, 0xe6, 0x57, 0x87, 0x85, 0xe1, 0x51, 0xf9, 0x28,
|
0x18, 0x5c, 0x03, 0x50, 0xbb, 0xe6, 0xdc, 0xf2, 0x56, 0xc7, 0xde, 0x79, 0x33, 0xc6, 0x60, 0x83,
|
||||||
0x84, 0x79, 0x57, 0x75, 0xbd, 0x89, 0xd2, 0xf2, 0xc4, 0x4a, 0x2f, 0x71, 0x85, 0x6b, 0xc3, 0x82,
|
0x0a, 0x31, 0x98, 0x6f, 0x51, 0x22, 0x9d, 0xdd, 0xeb, 0x10, 0x16, 0x39, 0x1d, 0x39, 0xbe, 0x9a,
|
||||||
0xf0, 0xa8, 0x6c, 0xf4, 0x3d, 0x58, 0xd0, 0xc0, 0xd1, 0xd1, 0x83, 0x18, 0x82, 0xe5, 0x9b, 0x8b,
|
0xcc, 0x55, 0x9f, 0x50, 0x6a, 0xe6, 0x57, 0x87, 0x85, 0xe1, 0x51, 0xf9, 0x28, 0x84, 0x79, 0x57,
|
||||||
0xc7, 0x83, 0xfa, 0xc2, 0xda, 0x58, 0x2a, 0xfc, 0x08, 0x09, 0xc8, 0x85, 0xa2, 0x2f, 0xab, 0xb8,
|
0x75, 0xd0, 0x89, 0xd2, 0xf2, 0xc4, 0x4a, 0x2f, 0x71, 0x85, 0x6b, 0xc3, 0x82, 0xf0, 0xa8, 0x6c,
|
||||||
0x8a, 0xc8, 0xbc, 0x5f, 0xcf, 0xb6, 0x8a, 0xc4, 0xfb, 0x1b, 0x66, 0xf5, 0x16, 0xb7, 0xd6, 0xaa,
|
0xf4, 0x3d, 0x58, 0xd0, 0xc0, 0xd1, 0x31, 0x86, 0x18, 0xa8, 0xe5, 0x9b, 0x8b, 0xc7, 0x83, 0xfa,
|
||||||
0x70, 0x53, 0xb2, 0xd1, 0x43, 0xa8, 0x38, 0x41, 0x10, 0x46, 0x8e, 0x1c, 0x86, 0xcc, 0x0a, 0x55,
|
0xc2, 0xda, 0x58, 0x2a, 0xfc, 0x08, 0x09, 0xc8, 0x85, 0xa2, 0x2f, 0x2b, 0xc2, 0x8a, 0xc8, 0xe2,
|
||||||
0x2b, 0x13, 0xab, 0x5a, 0x49, 0x64, 0x0c, 0x55, 0x8b, 0x06, 0x06, 0x9b, 0xaa, 0xd0, 0x03, 0x38,
|
0x5f, 0xcf, 0xb6, 0x8b, 0xc4, 0xfb, 0x1b, 0x66, 0x25, 0x18, 0xb7, 0xe9, 0xaa, 0x08, 0x54, 0xb2,
|
||||||
0x1f, 0x3e, 0x08, 0x08, 0xc5, 0x64, 0x9f, 0x50, 0x12, 0xb4, 0x08, 0xab, 0x55, 0x85, 0xf6, 0xaf,
|
0xd1, 0x43, 0xa8, 0x38, 0x41, 0x10, 0x46, 0x8e, 0x1c, 0xac, 0xcc, 0x0a, 0x55, 0x2b, 0x13, 0xab,
|
||||||
0x66, 0xd4, 0x9e, 0x62, 0x4e, 0x5c, 0x3a, 0x0d, 0x67, 0x78, 0x58, 0x0b, 0x6a, 0x00, 0xec, 0x7b,
|
0x5a, 0x49, 0x64, 0x0c, 0x55, 0x9e, 0x06, 0x06, 0x9b, 0xaa, 0xd0, 0x03, 0x38, 0x1f, 0x3e, 0x08,
|
||||||
0x81, 0xaa, 0xf9, 0x6b, 0xe7, 0x92, 0xa9, 0xe9, 0x46, 0x0c, 0xc5, 0x06, 0x05, 0x7a, 0x01, 0x2a,
|
0x08, 0xc5, 0x64, 0x9f, 0x50, 0x12, 0xb4, 0x08, 0xab, 0x55, 0x85, 0xf6, 0xaf, 0x66, 0xd4, 0x9e,
|
||||||
0x2d, 0xbf, 0xc7, 0x22, 0x22, 0xc7, 0xb3, 0xe7, 0xc5, 0x0d, 0x8a, 0xd7, 0xb7, 0x9a, 0xa0, 0xb0,
|
0x62, 0x4e, 0x5c, 0x3a, 0x0d, 0x67, 0x78, 0x58, 0x0b, 0x6a, 0x00, 0xec, 0x7b, 0x81, 0xea, 0x1f,
|
||||||
0x49, 0x87, 0x0e, 0x60, 0xd6, 0x33, 0x9a, 0x8b, 0xda, 0x9c, 0xf0, 0xc5, 0x6b, 0x13, 0x77, 0x14,
|
0x6a, 0xe7, 0x92, 0x09, 0xec, 0x46, 0x0c, 0xc5, 0x06, 0x05, 0x7a, 0x01, 0x2a, 0x2d, 0xbf, 0xc7,
|
||||||
0xac, 0x39, 0xc7, 0x23, 0x91, 0x09, 0xc1, 0x29, 0xc9, 0xa8, 0x07, 0xd5, 0x8e, 0x99, 0x6a, 0x6a,
|
0x22, 0x22, 0x47, 0xbd, 0xe7, 0xc5, 0x0d, 0x8a, 0xf7, 0xb7, 0x9a, 0xa0, 0xb0, 0x49, 0x87, 0x0e,
|
||||||
0xf3, 0x62, 0x1f, 0xaf, 0x67, 0x53, 0x35, 0x9a, 0x0c, 0x93, 0x7a, 0x24, 0x85, 0xc3, 0x69, 0x2d,
|
0x60, 0xd6, 0x33, 0x1a, 0x95, 0xda, 0x9c, 0xf0, 0xc5, 0x6b, 0x13, 0x77, 0x27, 0xac, 0x39, 0xc7,
|
||||||
0x0b, 0x5f, 0x83, 0xca, 0x7f, 0x59, 0x62, 0xf3, 0x12, 0x7d, 0xd8, 0x63, 0x26, 0x2a, 0xd1, 0xdf,
|
0x23, 0x91, 0x09, 0xc1, 0x29, 0xc9, 0xa8, 0x07, 0xd5, 0x8e, 0x99, 0x6a, 0x6a, 0xf3, 0xc2, 0x8e,
|
||||||
0xcf, 0xc1, 0xb9, 0xf4, 0x39, 0xc7, 0xad, 0xac, 0x35, 0x76, 0xca, 0xaf, 0x93, 0x41, 0x7e, 0x6c,
|
0xd7, 0xb3, 0xa9, 0x1a, 0x4d, 0x86, 0x49, 0x3d, 0x92, 0xc2, 0xe1, 0xb4, 0x96, 0x85, 0xaf, 0x41,
|
||||||
0x32, 0x50, 0x31, 0x77, 0xfa, 0x71, 0x62, 0x6e, 0x3a, 0x9d, 0x17, 0x32, 0xa5, 0xf3, 0x06, 0x00,
|
0xe5, 0xbf, 0x2c, 0xd7, 0x79, 0xb9, 0x3f, 0xec, 0x31, 0x13, 0x95, 0xfb, 0xef, 0xe7, 0xe0, 0x5c,
|
||||||
0x2f, 0x77, 0x68, 0xe8, 0xfb, 0x84, 0x8a, 0x10, 0x5d, 0x52, 0x73, 0xfc, 0x18, 0x8a, 0x0d, 0x0a,
|
0xfa, 0x9c, 0xe3, 0xb6, 0xd8, 0x1a, 0xfb, 0xc5, 0x40, 0x27, 0x83, 0xfc, 0xd8, 0x64, 0xa0, 0x62,
|
||||||
0xb4, 0x01, 0x68, 0xcf, 0x0f, 0x5b, 0x87, 0x62, 0x0b, 0x74, 0x78, 0x11, 0xc1, 0xb9, 0x24, 0x67,
|
0xee, 0xf4, 0xe3, 0xc4, 0xdc, 0x74, 0x3a, 0x2f, 0x64, 0x4a, 0xe7, 0x0d, 0x00, 0x5e, 0xee, 0xd0,
|
||||||
0xa1, 0xcd, 0x11, 0x2c, 0x3e, 0x85, 0xc3, 0xee, 0xc3, 0xa5, 0x1d, 0x87, 0x72, 0x47, 0x4a, 0xae,
|
0xd0, 0xf7, 0x09, 0x15, 0x21, 0xba, 0xa4, 0xbe, 0x09, 0xc4, 0x50, 0x6c, 0x50, 0xa0, 0x0d, 0x40,
|
||||||
0xb2, 0x28, 0xfa, 0xdf, 0x18, 0x69, 0x29, 0x9e, 0x9b, 0x34, 0x24, 0x24, 0x8b, 0x4e, 0x60, 0x49,
|
0x7b, 0x7e, 0xd8, 0x3a, 0x14, 0x26, 0xd0, 0xe1, 0x45, 0x04, 0xe7, 0x92, 0x9c, 0xab, 0x36, 0x47,
|
||||||
0x5b, 0x61, 0xff, 0xd5, 0x82, 0x27, 0x4e, 0xd5, 0xfd, 0x19, 0xb4, 0x34, 0xf7, 0xd3, 0x2d, 0xcd,
|
0xb0, 0xf8, 0x14, 0x0e, 0xbb, 0x0f, 0x97, 0x76, 0x1c, 0xca, 0x1d, 0x29, 0xb9, 0xca, 0xa2, 0x81,
|
||||||
0x4b, 0x19, 0x47, 0xbf, 0xa7, 0x59, 0x2b, 0x3f, 0xff, 0xa4, 0x9a, 0x9b, 0x19, 0x28, 0xec, 0xf0,
|
0x78, 0x63, 0xa4, 0x3d, 0x79, 0x6e, 0xd2, 0x90, 0x90, 0x6c, 0x3a, 0x81, 0x25, 0x2d, 0x8a, 0xfd,
|
||||||
0x92, 0xd3, 0xfe, 0xa5, 0x05, 0xb3, 0xe2, 0x69, 0x92, 0x91, 0x79, 0x1d, 0x0a, 0xfb, 0xa1, 0x1e,
|
0x17, 0x0b, 0x9e, 0x38, 0x55, 0xf7, 0x67, 0xd0, 0x1e, 0xdd, 0x4f, 0xb7, 0x47, 0x2f, 0x65, 0x1c,
|
||||||
0x8b, 0x95, 0xa4, 0xf8, 0x0d, 0x0e, 0xc0, 0x12, 0xfe, 0x18, 0x33, 0xf5, 0xb7, 0x2d, 0x48, 0x0f,
|
0x23, 0x9f, 0xb6, 0x5a, 0xf9, 0x29, 0x29, 0xd5, 0x28, 0xcd, 0x40, 0x61, 0x87, 0x97, 0x9c, 0xf6,
|
||||||
0xab, 0xd1, 0x2b, 0xd2, 0xdf, 0xad, 0x78, 0x9a, 0x3c, 0xa1, 0xaf, 0xbf, 0x3c, 0xae, 0x19, 0xbb,
|
0x2f, 0x2d, 0x98, 0x15, 0x4f, 0x93, 0x8c, 0xdf, 0xeb, 0x50, 0xd8, 0x0f, 0xf5, 0x88, 0xad, 0x24,
|
||||||
0x90, 0x69, 0x32, 0x79, 0x05, 0xca, 0x38, 0x0c, 0xa3, 0x1d, 0x27, 0x3a, 0x60, 0x7c, 0xe1, 0x5d,
|
0xc5, 0x6f, 0x70, 0x00, 0x96, 0xf0, 0xc7, 0x98, 0xcf, 0xbf, 0x6d, 0x41, 0x7a, 0xf0, 0x8d, 0x5e,
|
||||||
0xfe, 0xa0, 0xf6, 0x46, 0x2c, 0x5c, 0x60, 0xb0, 0x84, 0xdb, 0xbf, 0xb0, 0xe0, 0x89, 0xb1, 0x9f,
|
0x91, 0xfe, 0x6e, 0xc5, 0x93, 0xe9, 0x09, 0x7d, 0xfd, 0xe5, 0x71, 0x8d, 0xdd, 0x85, 0x4c, 0x53,
|
||||||
0x31, 0xf8, 0xb5, 0x6b, 0xc5, 0x6f, 0x6a, 0x45, 0xb1, 0x07, 0x26, 0x74, 0xd8, 0xa0, 0xe2, 0xdd,
|
0xce, 0x2b, 0x50, 0xc6, 0x61, 0x18, 0xed, 0x38, 0xd1, 0x01, 0xe3, 0x1b, 0xef, 0xf2, 0x07, 0x65,
|
||||||
0x58, 0xea, 0xdb, 0xc7, 0x70, 0x37, 0x96, 0xd2, 0x86, 0xd3, 0xb4, 0xf6, 0xbf, 0x73, 0x50, 0x94,
|
0x1b, 0xb1, 0x71, 0x81, 0xc1, 0x12, 0x6e, 0xff, 0xc2, 0x82, 0x27, 0xc6, 0x7e, 0x12, 0xe1, 0xd7,
|
||||||
0xa3, 0x99, 0xff, 0xb1, 0xb7, 0x3e, 0x0d, 0x45, 0x26, 0xf4, 0x28, 0xf3, 0xe2, 0x4c, 0x2e, 0xb5,
|
0xae, 0x15, 0xbf, 0xa9, 0x1d, 0xc5, 0x1e, 0x98, 0xd0, 0x61, 0x83, 0x8a, 0x77, 0x63, 0xa9, 0xef,
|
||||||
0x63, 0x85, 0x15, 0x1d, 0x0c, 0x61, 0xcc, 0x69, 0xeb, 0x08, 0x97, 0x74, 0x30, 0x12, 0x8c, 0x35,
|
0x28, 0xc3, 0xdd, 0x58, 0x4a, 0x1b, 0x4e, 0xd3, 0xda, 0xff, 0xca, 0x41, 0x51, 0x8e, 0x79, 0xfe,
|
||||||
0x1e, 0xbd, 0x08, 0x45, 0x4a, 0x1c, 0x16, 0xf7, 0x86, 0x8b, 0x5a, 0x24, 0x16, 0xd0, 0x93, 0x41,
|
0xc7, 0xde, 0xfa, 0x34, 0x14, 0x99, 0xd0, 0xa3, 0x96, 0x17, 0x67, 0x72, 0xa9, 0x1d, 0x2b, 0xac,
|
||||||
0x7d, 0x56, 0x09, 0x17, 0xef, 0x58, 0x51, 0xa3, 0x7b, 0x30, 0xe3, 0x92, 0xc8, 0xf1, 0x7c, 0xdd,
|
0xe8, 0x60, 0x08, 0x63, 0x4e, 0x5b, 0x47, 0xb8, 0xa4, 0x83, 0x91, 0x60, 0xac, 0xf1, 0xe8, 0x45,
|
||||||
0x2d, 0x3c, 0x3f, 0xc9, 0x08, 0x6b, 0x4d, 0xb2, 0x36, 0x2b, 0xdc, 0x26, 0xf5, 0x82, 0xb5, 0x40,
|
0x28, 0x52, 0xe2, 0xb0, 0xb8, 0x37, 0x5c, 0xd4, 0x22, 0xb1, 0x80, 0x9e, 0x0c, 0xea, 0xb3, 0x4a,
|
||||||
0x1e, 0x9d, 0x5b, 0xa1, 0x2b, 0xbf, 0x7e, 0x16, 0x92, 0xe8, 0xbc, 0x1a, 0xba, 0x04, 0x0b, 0x8c,
|
0xb8, 0x78, 0xc7, 0x8a, 0x1a, 0xdd, 0x83, 0x19, 0x97, 0x44, 0x8e, 0xe7, 0xeb, 0x6e, 0xe1, 0xf9,
|
||||||
0xfd, 0x8e, 0x05, 0x15, 0x29, 0x69, 0xd5, 0xe9, 0x31, 0x82, 0xae, 0xc6, 0xab, 0x90, 0xc7, 0xad,
|
0x49, 0xc6, 0x61, 0x6b, 0x92, 0xb5, 0x59, 0xe1, 0x6b, 0x52, 0x2f, 0x58, 0x0b, 0xe4, 0xd1, 0xb9,
|
||||||
0xeb, 0xc5, 0x69, 0xde, 0x61, 0x9d, 0x0c, 0xea, 0x65, 0x41, 0x26, 0xda, 0x2d, 0xbd, 0x00, 0x63,
|
0x15, 0xba, 0xf2, 0x4b, 0x6a, 0x21, 0x89, 0xce, 0xab, 0xa1, 0x4b, 0xb0, 0xc0, 0xd8, 0xef, 0x58,
|
||||||
0x8f, 0x72, 0x67, 0xec, 0xd1, 0x53, 0x50, 0x10, 0xb7, 0x47, 0x6d, 0x66, 0xdc, 0x84, 0x88, 0x0b,
|
0x50, 0x91, 0x92, 0x56, 0x9d, 0x1e, 0x23, 0xe8, 0x6a, 0xbc, 0x0b, 0x79, 0xdc, 0xba, 0x5e, 0x9c,
|
||||||
0x86, 0x25, 0xce, 0xfe, 0x38, 0x07, 0xd5, 0xd4, 0xe2, 0x32, 0x74, 0x1c, 0xf1, 0xb8, 0x34, 0x97,
|
0xe6, 0x1d, 0xd6, 0xc9, 0xa0, 0x5e, 0x16, 0x64, 0xa2, 0xdd, 0xd2, 0x1b, 0x30, 0x6c, 0x94, 0x3b,
|
||||||
0x61, 0x04, 0x3f, 0xfe, 0x9b, 0xf5, 0x77, 0xa0, 0xd8, 0xe2, 0xeb, 0xd3, 0x7f, 0x1a, 0xb8, 0x3a,
|
0xc3, 0x46, 0x4f, 0x41, 0x41, 0xdc, 0x1e, 0x65, 0xcc, 0xb8, 0x09, 0x11, 0x17, 0x0c, 0x4b, 0x9c,
|
||||||
0xc9, 0x51, 0x88, 0x9d, 0x49, 0x3c, 0x49, 0xbc, 0x32, 0xac, 0x04, 0xa2, 0x9b, 0x30, 0x4f, 0x49,
|
0xfd, 0x71, 0x0e, 0xaa, 0xa9, 0xcd, 0x65, 0xe8, 0x38, 0xe2, 0xd1, 0x6b, 0x2e, 0xc3, 0x38, 0x7f,
|
||||||
0x44, 0xfb, 0x2b, 0xfb, 0x11, 0xa1, 0xe6, 0x0c, 0xa0, 0x90, 0xd4, 0xe4, 0x78, 0x98, 0x00, 0x8f,
|
0xfc, 0xf7, 0xef, 0xef, 0x40, 0xb1, 0xc5, 0xf7, 0xa7, 0xff, 0x80, 0x70, 0x75, 0x92, 0xa3, 0x10,
|
||||||
0xf2, 0xe8, 0x7c, 0x5a, 0x7c, 0x8c, 0x7c, 0x6a, 0xef, 0xc1, 0xec, 0x6d, 0x67, 0xcf, 0x8f, 0xbf,
|
0x96, 0x49, 0x3c, 0x49, 0xbc, 0x32, 0xac, 0x04, 0xa2, 0x9b, 0x30, 0x4f, 0x49, 0x44, 0xfb, 0x2b,
|
||||||
0x03, 0x62, 0xa8, 0x7a, 0x41, 0xcb, 0xef, 0xb9, 0x44, 0x46, 0x62, 0x1d, 0xbd, 0xf4, 0xa5, 0xdd,
|
0xfb, 0x11, 0xa1, 0xe6, 0x0c, 0xa0, 0x90, 0xd4, 0xe4, 0x78, 0x98, 0x00, 0x8f, 0xf2, 0xe8, 0x7c,
|
||||||
0x34, 0x91, 0x27, 0x83, 0xfa, 0x85, 0x14, 0x40, 0x7e, 0xf8, 0xc2, 0x69, 0x11, 0xb6, 0x0f, 0xd3,
|
0x5a, 0x7c, 0x8c, 0x7c, 0x6a, 0xef, 0xc1, 0xec, 0x6d, 0x67, 0xcf, 0x8f, 0xbf, 0x29, 0x62, 0xa8,
|
||||||
0x9f, 0x61, 0x8f, 0xfa, 0x5d, 0x28, 0x27, 0x5d, 0xc4, 0xa7, 0xac, 0xd2, 0x7e, 0x03, 0x4a, 0xdc,
|
0x7a, 0x41, 0xcb, 0xef, 0xb9, 0x44, 0x46, 0x62, 0x1d, 0xbd, 0xf4, 0xa5, 0xdd, 0x34, 0x91, 0x27,
|
||||||
0xe3, 0x75, 0xf7, 0x7b, 0x46, 0x49, 0x94, 0x2e, 0x56, 0x72, 0x59, 0x8a, 0x15, 0xbb, 0x03, 0xd5,
|
0x83, 0xfa, 0x85, 0x14, 0x40, 0x7e, 0x44, 0xc3, 0x69, 0x11, 0xb6, 0x0f, 0xd3, 0x9f, 0x61, 0x8f,
|
||||||
0x3b, 0x5d, 0xf7, 0x31, 0xbf, 0x04, 0xe7, 0x32, 0x67, 0xad, 0x6b, 0x20, 0xff, 0x5d, 0xc1, 0x13,
|
0xfa, 0x5d, 0x28, 0x27, 0x5d, 0xc4, 0xa7, 0xac, 0xd2, 0x7e, 0x03, 0x4a, 0xdc, 0xe3, 0x75, 0xf7,
|
||||||
0x84, 0xcc, 0xda, 0x46, 0x82, 0x30, 0x13, 0xaf, 0xf1, 0x25, 0xe0, 0x27, 0x16, 0x80, 0x18, 0xfb,
|
0x7b, 0x46, 0x49, 0x94, 0x2e, 0x56, 0x72, 0x59, 0x8a, 0x15, 0xbb, 0x03, 0xd5, 0x3b, 0x5d, 0xf7,
|
||||||
0xac, 0x1f, 0x91, 0x20, 0xe2, 0xfb, 0xc0, 0x9d, 0x6a, 0x78, 0x1f, 0x44, 0x64, 0x10, 0x18, 0x74,
|
0x31, 0xbf, 0x2a, 0xe7, 0x32, 0x67, 0xad, 0x6b, 0x20, 0xff, 0xa9, 0xc1, 0x13, 0x84, 0xcc, 0xda,
|
||||||
0x07, 0x8a, 0xa1, 0xf4, 0x26, 0x39, 0x9a, 0x9f, 0x70, 0xca, 0x19, 0x5f, 0x24, 0xe9, 0x4f, 0x58,
|
0x46, 0x82, 0x30, 0x13, 0xaf, 0xf1, 0x55, 0xe1, 0x27, 0x16, 0x80, 0x18, 0xfb, 0xac, 0x1f, 0x91,
|
||||||
0x09, 0x6b, 0x5e, 0xfe, 0xe0, 0x93, 0xc5, 0xa9, 0x0f, 0x3f, 0x59, 0x9c, 0xfa, 0xe8, 0x93, 0xc5,
|
0x20, 0xe2, 0x76, 0xe0, 0x4e, 0x35, 0x6c, 0x07, 0x11, 0x19, 0x04, 0x06, 0xdd, 0x81, 0x62, 0x28,
|
||||||
0xa9, 0xb7, 0x8e, 0x17, 0xad, 0x0f, 0x8e, 0x17, 0xad, 0x0f, 0x8f, 0x17, 0xad, 0x8f, 0x8e, 0x17,
|
0xbd, 0x49, 0x8e, 0xf9, 0x27, 0x9c, 0x98, 0xc6, 0x17, 0x49, 0xfa, 0x13, 0x56, 0xc2, 0x9a, 0x97,
|
||||||
0xad, 0x8f, 0x8f, 0x17, 0xad, 0x77, 0xfe, 0xbe, 0x38, 0x75, 0x2f, 0x77, 0x74, 0xf5, 0x3f, 0x01,
|
0x3f, 0xf8, 0x64, 0x71, 0xea, 0xc3, 0x4f, 0x16, 0xa7, 0x3e, 0xfa, 0x64, 0x71, 0xea, 0xad, 0xe3,
|
||||||
0x00, 0x00, 0xff, 0xff, 0xbe, 0xb0, 0xbe, 0x20, 0x49, 0x26, 0x00, 0x00,
|
0x45, 0xeb, 0x83, 0xe3, 0x45, 0xeb, 0xc3, 0xe3, 0x45, 0xeb, 0xa3, 0xe3, 0x45, 0xeb, 0xe3, 0xe3,
|
||||||
|
0x45, 0xeb, 0x9d, 0xbf, 0x2d, 0x4e, 0xdd, 0xcb, 0x1d, 0x5d, 0xfd, 0x4f, 0x00, 0x00, 0x00, 0xff,
|
||||||
|
0xff, 0x83, 0xb7, 0x3e, 0x8b, 0x95, 0x26, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
@ -395,6 +395,14 @@ message ListMeta {
|
|||||||
// identical to the value in the first response, unless you have received this token from an error
|
// identical to the value in the first response, unless you have received this token from an error
|
||||||
// message.
|
// message.
|
||||||
optional string continue = 3;
|
optional string continue = 3;
|
||||||
|
|
||||||
|
// RemainingItemCount is the number of subsequent items in the list which are not included in this
|
||||||
|
// list response. If the list request contained label or field selectors, then the number of
|
||||||
|
// remaining items is unknown and this field will be unset. If the list is complete (either
|
||||||
|
// because it is unpaginated or because this is the last page), then there are no more remaining
|
||||||
|
// items and this field will also be unset. Servers older than v1.15 do not set this field.
|
||||||
|
// +optional
|
||||||
|
optional int64 remainingItemCount = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ListOptions is the query options to a standard REST list call.
|
// ListOptions is the query options to a standard REST list call.
|
||||||
|
@ -94,6 +94,8 @@ type ListInterface interface {
|
|||||||
SetSelfLink(selfLink string)
|
SetSelfLink(selfLink string)
|
||||||
GetContinue() string
|
GetContinue() string
|
||||||
SetContinue(c string)
|
SetContinue(c string)
|
||||||
|
GetRemainingItemCount() int64
|
||||||
|
SetRemainingItemCount(c int64)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Type exposes the type and APIVersion of versioned or internal API objects.
|
// Type exposes the type and APIVersion of versioned or internal API objects.
|
||||||
@ -111,6 +113,8 @@ func (meta *ListMeta) GetSelfLink() string { return meta.SelfLink
|
|||||||
func (meta *ListMeta) SetSelfLink(selfLink string) { meta.SelfLink = selfLink }
|
func (meta *ListMeta) SetSelfLink(selfLink string) { meta.SelfLink = selfLink }
|
||||||
func (meta *ListMeta) GetContinue() string { return meta.Continue }
|
func (meta *ListMeta) GetContinue() string { return meta.Continue }
|
||||||
func (meta *ListMeta) SetContinue(c string) { meta.Continue = c }
|
func (meta *ListMeta) SetContinue(c string) { meta.Continue = c }
|
||||||
|
func (meta *ListMeta) GetRemainingItemCount() int64 { return meta.RemainingItemCount }
|
||||||
|
func (meta *ListMeta) SetRemainingItemCount(c int64) { meta.RemainingItemCount = c }
|
||||||
|
|
||||||
func (obj *TypeMeta) GetObjectKind() schema.ObjectKind { return obj }
|
func (obj *TypeMeta) GetObjectKind() schema.ObjectKind { return obj }
|
||||||
|
|
||||||
|
@ -81,6 +81,14 @@ type ListMeta struct {
|
|||||||
// identical to the value in the first response, unless you have received this token from an error
|
// identical to the value in the first response, unless you have received this token from an error
|
||||||
// message.
|
// message.
|
||||||
Continue string `json:"continue,omitempty" protobuf:"bytes,3,opt,name=continue"`
|
Continue string `json:"continue,omitempty" protobuf:"bytes,3,opt,name=continue"`
|
||||||
|
|
||||||
|
// RemainingItemCount is the number of subsequent items in the list which are not included in this
|
||||||
|
// list response. If the list request contained label or field selectors, then the number of
|
||||||
|
// remaining items is unknown and this field will be unset. If the list is complete (either
|
||||||
|
// because it is unpaginated or because this is the last page), then there are no more remaining
|
||||||
|
// items and this field will also be unset. Servers older than v1.15 do not set this field.
|
||||||
|
// +optional
|
||||||
|
RemainingItemCount int64 `json:"remainingItemCount,omitempty" protobuf:"bytes,4,opt,name=remainingItemCount"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// These are internal finalizer values for Kubernetes-like APIs, must be qualified name unless defined here
|
// These are internal finalizer values for Kubernetes-like APIs, must be qualified name unless defined here
|
||||||
|
@ -197,10 +197,11 @@ func (List) SwaggerDoc() map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var map_ListMeta = map[string]string{
|
var map_ListMeta = map[string]string{
|
||||||
"": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
|
"": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
|
||||||
"selfLink": "selfLink is a URL representing this object. Populated by the system. Read-only.",
|
"selfLink": "selfLink is a URL representing this object. Populated by the system. Read-only.",
|
||||||
"resourceVersion": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency",
|
"resourceVersion": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency",
|
||||||
"continue": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.",
|
"continue": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.",
|
||||||
|
"remainingItemCount": "RemainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and this field will be unset. If the list is complete (either because it is unpaginated or because this is the last page), then there are no more remaining items and this field will also be unset. Servers older than v1.15 do not set this field.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ListMeta) SwaggerDoc() map[string]string {
|
func (ListMeta) SwaggerDoc() map[string]string {
|
||||||
|
@ -275,6 +275,14 @@ func getNestedString(obj map[string]interface{}, fields ...string) string {
|
|||||||
return val
|
return val
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getNestedInt64(obj map[string]interface{}, fields ...string) int64 {
|
||||||
|
val, found, err := NestedInt64(obj, fields...)
|
||||||
|
if !found || err != nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return val
|
||||||
|
}
|
||||||
|
|
||||||
func jsonPath(fields []string) string {
|
func jsonPath(fields []string) string {
|
||||||
return "." + strings.Join(fields, ".")
|
return "." + strings.Join(fields, ".")
|
||||||
}
|
}
|
||||||
|
@ -166,6 +166,14 @@ func (u *UnstructuredList) SetContinue(c string) {
|
|||||||
u.setNestedField(c, "metadata", "continue")
|
u.setNestedField(c, "metadata", "continue")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (u *UnstructuredList) GetRemainingItemCount() int64 {
|
||||||
|
return getNestedInt64(u.Object, "metadata", "remainingItemCount")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (u *UnstructuredList) SetRemainingItemCount(c int64) {
|
||||||
|
u.setNestedField(c, "metadata", "remainingItemCount")
|
||||||
|
}
|
||||||
|
|
||||||
func (u *UnstructuredList) SetGroupVersionKind(gvk schema.GroupVersionKind) {
|
func (u *UnstructuredList) SetGroupVersionKind(gvk schema.GroupVersionKind) {
|
||||||
u.SetAPIVersion(gvk.GroupVersion().String())
|
u.SetAPIVersion(gvk.GroupVersion().String())
|
||||||
u.SetKind(gvk.Kind)
|
u.SetKind(gvk.Kind)
|
||||||
|
@ -193,28 +193,31 @@ func TestGenericTypeMeta(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type InternalTypeMeta struct {
|
type InternalTypeMeta struct {
|
||||||
Kind string `json:"kind,omitempty"`
|
Kind string `json:"kind,omitempty"`
|
||||||
Namespace string `json:"namespace,omitempty"`
|
Namespace string `json:"namespace,omitempty"`
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
GenerateName string `json:"generateName,omitempty"`
|
GenerateName string `json:"generateName,omitempty"`
|
||||||
UID string `json:"uid,omitempty"`
|
UID string `json:"uid,omitempty"`
|
||||||
CreationTimestamp metav1.Time `json:"creationTimestamp,omitempty"`
|
CreationTimestamp metav1.Time `json:"creationTimestamp,omitempty"`
|
||||||
SelfLink string `json:"selfLink,omitempty"`
|
SelfLink string `json:"selfLink,omitempty"`
|
||||||
ResourceVersion string `json:"resourceVersion,omitempty"`
|
ResourceVersion string `json:"resourceVersion,omitempty"`
|
||||||
Continue string `json:"next,omitempty"`
|
Continue string `json:"next,omitempty"`
|
||||||
APIVersion string `json:"apiVersion,omitempty"`
|
RemainingItemCount int64 `json:"remainingItemCount,omitempty"`
|
||||||
Labels map[string]string `json:"labels,omitempty"`
|
APIVersion string `json:"apiVersion,omitempty"`
|
||||||
Annotations map[string]string `json:"annotations,omitempty"`
|
Labels map[string]string `json:"labels,omitempty"`
|
||||||
Finalizers []string `json:"finalizers,omitempty"`
|
Annotations map[string]string `json:"annotations,omitempty"`
|
||||||
OwnerReferences []metav1.OwnerReference `json:"ownerReferences,omitempty"`
|
Finalizers []string `json:"finalizers,omitempty"`
|
||||||
|
OwnerReferences []metav1.OwnerReference `json:"ownerReferences,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *InternalTypeMeta) GetResourceVersion() string { return m.ResourceVersion }
|
func (m *InternalTypeMeta) GetResourceVersion() string { return m.ResourceVersion }
|
||||||
func (m *InternalTypeMeta) SetResourceVersion(rv string) { m.ResourceVersion = rv }
|
func (m *InternalTypeMeta) SetResourceVersion(rv string) { m.ResourceVersion = rv }
|
||||||
func (m *InternalTypeMeta) GetSelfLink() string { return m.SelfLink }
|
func (m *InternalTypeMeta) GetSelfLink() string { return m.SelfLink }
|
||||||
func (m *InternalTypeMeta) SetSelfLink(link string) { m.SelfLink = link }
|
func (m *InternalTypeMeta) SetSelfLink(link string) { m.SelfLink = link }
|
||||||
func (m *InternalTypeMeta) GetContinue() string { return m.Continue }
|
func (m *InternalTypeMeta) GetContinue() string { return m.Continue }
|
||||||
func (m *InternalTypeMeta) SetContinue(c string) { m.Continue = c }
|
func (m *InternalTypeMeta) SetContinue(c string) { m.Continue = c }
|
||||||
|
func (m *InternalTypeMeta) GetRemainingItemCount() int64 { return m.RemainingItemCount }
|
||||||
|
func (m *InternalTypeMeta) SetRemainingItemCount(c int64) { m.RemainingItemCount = c }
|
||||||
|
|
||||||
type MyAPIObject struct {
|
type MyAPIObject struct {
|
||||||
TypeMeta InternalTypeMeta `json:",inline"`
|
TypeMeta InternalTypeMeta `json:",inline"`
|
||||||
|
@ -604,7 +604,7 @@ func (c *Cacher) GetToList(ctx context.Context, key string, resourceVersion stri
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if c.versioner != nil {
|
if c.versioner != nil {
|
||||||
if err := c.versioner.UpdateList(listObj, readResourceVersion, ""); err != nil {
|
if err := c.versioner.UpdateList(listObj, readResourceVersion, "", 0); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -679,7 +679,7 @@ func (c *Cacher) List(ctx context.Context, key string, resourceVersion string, p
|
|||||||
}
|
}
|
||||||
trace.Step(fmt.Sprintf("Filtered %d items", listVal.Len()))
|
trace.Step(fmt.Sprintf("Filtered %d items", listVal.Len()))
|
||||||
if c.versioner != nil {
|
if c.versioner != nil {
|
||||||
if err := c.versioner.UpdateList(listObj, readResourceVersion, ""); err != nil {
|
if err := c.versioner.UpdateList(listObj, readResourceVersion, "", 0); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -217,13 +217,14 @@ type testVersioner struct{}
|
|||||||
func (testVersioner) UpdateObject(obj runtime.Object, resourceVersion uint64) error {
|
func (testVersioner) UpdateObject(obj runtime.Object, resourceVersion uint64) error {
|
||||||
return meta.NewAccessor().SetResourceVersion(obj, strconv.FormatUint(resourceVersion, 10))
|
return meta.NewAccessor().SetResourceVersion(obj, strconv.FormatUint(resourceVersion, 10))
|
||||||
}
|
}
|
||||||
func (testVersioner) UpdateList(obj runtime.Object, resourceVersion uint64, continueValue string) error {
|
func (testVersioner) UpdateList(obj runtime.Object, resourceVersion uint64, continueValue string, count int64) error {
|
||||||
listAccessor, err := meta.ListAccessor(obj)
|
listAccessor, err := meta.ListAccessor(obj)
|
||||||
if err != nil || listAccessor == nil {
|
if err != nil || listAccessor == nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
listAccessor.SetResourceVersion(strconv.FormatUint(resourceVersion, 10))
|
listAccessor.SetResourceVersion(strconv.FormatUint(resourceVersion, 10))
|
||||||
listAccessor.SetContinue(continueValue)
|
listAccessor.SetContinue(continueValue)
|
||||||
|
listAccessor.SetRemainingItemCount(count)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
func (testVersioner) PrepareObjectForStorage(obj runtime.Object) error {
|
func (testVersioner) PrepareObjectForStorage(obj runtime.Object) error {
|
||||||
|
@ -44,7 +44,7 @@ func (a APIObjectVersioner) UpdateObject(obj runtime.Object, resourceVersion uin
|
|||||||
}
|
}
|
||||||
|
|
||||||
// UpdateList implements Versioner
|
// UpdateList implements Versioner
|
||||||
func (a APIObjectVersioner) UpdateList(obj runtime.Object, resourceVersion uint64, nextKey string) error {
|
func (a APIObjectVersioner) UpdateList(obj runtime.Object, resourceVersion uint64, nextKey string, count int64) error {
|
||||||
listAccessor, err := meta.ListAccessor(obj)
|
listAccessor, err := meta.ListAccessor(obj)
|
||||||
if err != nil || listAccessor == nil {
|
if err != nil || listAccessor == nil {
|
||||||
return err
|
return err
|
||||||
@ -55,6 +55,7 @@ func (a APIObjectVersioner) UpdateList(obj runtime.Object, resourceVersion uint6
|
|||||||
}
|
}
|
||||||
listAccessor.SetResourceVersion(versionString)
|
listAccessor.SetResourceVersion(versionString)
|
||||||
listAccessor.SetContinue(nextKey)
|
listAccessor.SetContinue(nextKey)
|
||||||
|
listAccessor.SetRemainingItemCount(count)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -413,7 +413,7 @@ func (s *store) GetToList(ctx context.Context, key string, resourceVersion strin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// update version with cluster level revision
|
// update version with cluster level revision
|
||||||
return s.versioner.UpdateList(listObj, uint64(getResp.Header.Revision), "")
|
return s.versioner.UpdateList(listObj, uint64(getResp.Header.Revision), "", 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *store) Count(key string) (int64, error) {
|
func (s *store) Count(key string) (int64, error) {
|
||||||
@ -576,9 +576,10 @@ func (s *store) List(ctx context.Context, key, resourceVersion string, pred stor
|
|||||||
// loop until we have filled the requested limit from etcd or there are no more results
|
// loop until we have filled the requested limit from etcd or there are no more results
|
||||||
var lastKey []byte
|
var lastKey []byte
|
||||||
var hasMore bool
|
var hasMore bool
|
||||||
|
var getResp *clientv3.GetResponse
|
||||||
for {
|
for {
|
||||||
startTime := time.Now()
|
startTime := time.Now()
|
||||||
getResp, err := s.client.KV.Get(ctx, key, options...)
|
getResp, err = s.client.KV.Get(ctx, key, options...)
|
||||||
metrics.RecordEtcdRequestLatency("list", getTypeName(listPtr), startTime)
|
metrics.RecordEtcdRequestLatency("list", getTypeName(listPtr), startTime)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return interpretListError(err, len(pred.Continue) > 0, continueKey, keyPrefix)
|
return interpretListError(err, len(pred.Continue) > 0, continueKey, keyPrefix)
|
||||||
@ -639,11 +640,17 @@ func (s *store) List(ctx context.Context, key, resourceVersion string, pred stor
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return s.versioner.UpdateList(listObj, uint64(returnedRV), next)
|
remainingItemCount := getResp.Count - pred.Limit
|
||||||
|
// getResp.Count counts in objects that do not match the pred.
|
||||||
|
// Instead of returning inaccurate count, return 0.
|
||||||
|
if !pred.Empty() {
|
||||||
|
remainingItemCount = 0
|
||||||
|
}
|
||||||
|
return s.versioner.UpdateList(listObj, uint64(returnedRV), next, remainingItemCount)
|
||||||
}
|
}
|
||||||
|
|
||||||
// no continuation
|
// no continuation
|
||||||
return s.versioner.UpdateList(listObj, uint64(returnedRV), "")
|
return s.versioner.UpdateList(listObj, uint64(returnedRV), "", 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
// growSlice takes a slice value and grows its capacity up
|
// growSlice takes a slice value and grows its capacity up
|
||||||
|
@ -825,14 +825,15 @@ func TestList(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
disablePaging bool
|
disablePaging bool
|
||||||
rv string
|
rv string
|
||||||
prefix string
|
prefix string
|
||||||
pred storage.SelectionPredicate
|
pred storage.SelectionPredicate
|
||||||
expectedOut []*example.Pod
|
expectedOut []*example.Pod
|
||||||
expectContinue bool
|
expectContinue bool
|
||||||
expectError bool
|
expectedRemainingItemCount int64
|
||||||
|
expectError bool
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "rejects invalid resource version",
|
name: "rejects invalid resource version",
|
||||||
@ -882,8 +883,9 @@ func TestList(t *testing.T) {
|
|||||||
Field: fields.Everything(),
|
Field: fields.Everything(),
|
||||||
Limit: 1,
|
Limit: 1,
|
||||||
},
|
},
|
||||||
expectedOut: []*example.Pod{preset[1].storedObj},
|
expectedOut: []*example.Pod{preset[1].storedObj},
|
||||||
expectContinue: true,
|
expectContinue: true,
|
||||||
|
expectedRemainingItemCount: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "test List with limit when paging disabled",
|
name: "test List with limit when paging disabled",
|
||||||
@ -1061,6 +1063,9 @@ func TestList(t *testing.T) {
|
|||||||
t.Errorf("(%s): length of list want=%d, got=%d", tt.name, len(tt.expectedOut), len(out.Items))
|
t.Errorf("(%s): length of list want=%d, got=%d", tt.name, len(tt.expectedOut), len(out.Items))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if e, a := tt.expectedRemainingItemCount, out.ListMeta.RemainingItemCount; e != a {
|
||||||
|
t.Errorf("(%s): remainingItemCount want=%d, got=%d", tt.name, e, a)
|
||||||
|
}
|
||||||
for j, wantPod := range tt.expectedOut {
|
for j, wantPod := range tt.expectedOut {
|
||||||
getPod := &out.Items[j]
|
getPod := &out.Items[j]
|
||||||
if !reflect.DeepEqual(wantPod, getPod) {
|
if !reflect.DeepEqual(wantPod, getPod) {
|
||||||
|
@ -40,10 +40,12 @@ type Versioner interface {
|
|||||||
// from database.
|
// from database.
|
||||||
UpdateObject(obj runtime.Object, resourceVersion uint64) error
|
UpdateObject(obj runtime.Object, resourceVersion uint64) error
|
||||||
// UpdateList sets the resource version into an API list object. Returns an error if the object
|
// UpdateList sets the resource version into an API list object. Returns an error if the object
|
||||||
// cannot be updated correctly. May return nil if the requested object does not need metadata
|
// cannot be updated correctly. May return nil if the requested object does not need metadata from
|
||||||
// from database. continueValue is optional and indicates that more results are available if
|
// database. continueValue is optional and indicates that more results are available if the client
|
||||||
// the client passes that value to the server in a subsequent call.
|
// passes that value to the server in a subsequent call. remainingItemCount indicates the number
|
||||||
UpdateList(obj runtime.Object, resourceVersion uint64, continueValue string) error
|
// of remaining objects if the list is partial. The remainingItemCount field is omitted during
|
||||||
|
// serialization if it is set to 0.
|
||||||
|
UpdateList(obj runtime.Object, resourceVersion uint64, continueValue string, remainingItemCount int64) error
|
||||||
// PrepareObjectForStorage should set SelfLink and ResourceVersion to the empty value. Should
|
// PrepareObjectForStorage should set SelfLink and ResourceVersion to the empty value. Should
|
||||||
// return an error if the specified object cannot be updated.
|
// return an error if the specified object cannot be updated.
|
||||||
PrepareObjectForStorage(obj runtime.Object) error
|
PrepareObjectForStorage(obj runtime.Object) error
|
||||||
|
@ -26,7 +26,7 @@ import (
|
|||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
"github.com/onsi/gomega"
|
"github.com/onsi/gomega"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
@ -88,6 +88,7 @@ var _ = SIGDescribe("Servers with support for API chunking", func() {
|
|||||||
lastRV = list.ResourceVersion
|
lastRV = list.ResourceVersion
|
||||||
}
|
}
|
||||||
gomega.Expect(list.ResourceVersion).To(gomega.Equal(lastRV))
|
gomega.Expect(list.ResourceVersion).To(gomega.Equal(lastRV))
|
||||||
|
gomega.Expect(int(list.RemainingItemCount) + len(list.Items) + found).To(gomega.BeNumerically("==", numberOfTotalResources))
|
||||||
for _, item := range list.Items {
|
for _, item := range list.Items {
|
||||||
gomega.Expect(item.Name).To(gomega.Equal(fmt.Sprintf("template-%04d", found)))
|
gomega.Expect(item.Name).To(gomega.Equal(fmt.Sprintf("template-%04d", found)))
|
||||||
found++
|
found++
|
||||||
@ -120,6 +121,7 @@ var _ = SIGDescribe("Servers with support for API chunking", func() {
|
|||||||
gomega.Expect(err).ToNot(gomega.HaveOccurred(), "failed to list pod templates in namespace: %s, given limit: %d", ns, opts.Limit)
|
gomega.Expect(err).ToNot(gomega.HaveOccurred(), "failed to list pod templates in namespace: %s, given limit: %d", ns, opts.Limit)
|
||||||
firstToken := list.Continue
|
firstToken := list.Continue
|
||||||
firstRV := list.ResourceVersion
|
firstRV := list.ResourceVersion
|
||||||
|
gomega.Expect(int(list.RemainingItemCount) + len(list.Items)).To(gomega.BeNumerically("==", numberOfTotalResources))
|
||||||
framework.Logf("Retrieved %d/%d results with rv %s and continue %s", len(list.Items), opts.Limit, list.ResourceVersion, firstToken)
|
framework.Logf("Retrieved %d/%d results with rv %s and continue %s", len(list.Items), opts.Limit, list.ResourceVersion, firstToken)
|
||||||
|
|
||||||
ginkgo.By("retrieving the second page until the token expires")
|
ginkgo.By("retrieving the second page until the token expires")
|
||||||
@ -153,7 +155,8 @@ var _ = SIGDescribe("Servers with support for API chunking", func() {
|
|||||||
gomega.Expect(err).ToNot(gomega.HaveOccurred(), "failed to list pod templates in namespace: %s, given inconsistent continue token %s and limit: %d", ns, opts.Continue, opts.Limit)
|
gomega.Expect(err).ToNot(gomega.HaveOccurred(), "failed to list pod templates in namespace: %s, given inconsistent continue token %s and limit: %d", ns, opts.Continue, opts.Limit)
|
||||||
gomega.Expect(list.ResourceVersion).ToNot(gomega.Equal(firstRV))
|
gomega.Expect(list.ResourceVersion).ToNot(gomega.Equal(firstRV))
|
||||||
gomega.Expect(len(list.Items)).To(gomega.BeNumerically("==", opts.Limit))
|
gomega.Expect(len(list.Items)).To(gomega.BeNumerically("==", opts.Limit))
|
||||||
found := oneTenth
|
found := int(oneTenth)
|
||||||
|
gomega.Expect(int(list.RemainingItemCount) + len(list.Items) + found).To(gomega.BeNumerically("==", numberOfTotalResources))
|
||||||
for _, item := range list.Items {
|
for _, item := range list.Items {
|
||||||
gomega.Expect(item.Name).To(gomega.Equal(fmt.Sprintf("template-%04d", found)))
|
gomega.Expect(item.Name).To(gomega.Equal(fmt.Sprintf("template-%04d", found)))
|
||||||
found++
|
found++
|
||||||
@ -165,6 +168,7 @@ var _ = SIGDescribe("Servers with support for API chunking", func() {
|
|||||||
for {
|
for {
|
||||||
list, err := client.List(opts)
|
list, err := client.List(opts)
|
||||||
gomega.Expect(err).ToNot(gomega.HaveOccurred(), "failed to list pod templates in namespace: %s, given limit: %d", ns, opts.Limit)
|
gomega.Expect(err).ToNot(gomega.HaveOccurred(), "failed to list pod templates in namespace: %s, given limit: %d", ns, opts.Limit)
|
||||||
|
gomega.Expect(int(list.RemainingItemCount) + len(list.Items) + found).To(gomega.BeNumerically("==", numberOfTotalResources))
|
||||||
framework.Logf("Retrieved %d/%d results with rv %s and continue %s", len(list.Items), opts.Limit, list.ResourceVersion, list.Continue)
|
framework.Logf("Retrieved %d/%d results with rv %s and continue %s", len(list.Items), opts.Limit, list.ResourceVersion, list.Continue)
|
||||||
gomega.Expect(len(list.Items)).To(gomega.BeNumerically("<=", opts.Limit))
|
gomega.Expect(len(list.Items)).To(gomega.BeNumerically("<=", opts.Limit))
|
||||||
gomega.Expect(list.ResourceVersion).To(gomega.Equal(lastRV))
|
gomega.Expect(list.ResourceVersion).To(gomega.Equal(lastRV))
|
||||||
|
Loading…
Reference in New Issue
Block a user