From 856ecb915d079b1277ebf5b25facdbcd1032393e Mon Sep 17 00:00:00 2001 From: Matthew Magaldi Date: Fri, 17 Aug 2018 10:30:13 -0400 Subject: [PATCH] don't escalate when not escalation policy not configured (#89) --- controller/controller.go | 2 +- pkg/apis/sensor/v1alpha1/generated.pb.go | 427 +++++++++--------- pkg/apis/sensor/v1alpha1/types.go | 4 +- .../sensor/v1alpha1/zz_generated.deepcopy.go | 6 +- sdk/signal.pb.go | 8 +- 5 files changed, 229 insertions(+), 218 deletions(-) diff --git a/controller/controller.go b/controller/controller.go index 189603de59..ee1625e521 100644 --- a/controller/controller.go +++ b/controller/controller.go @@ -116,7 +116,7 @@ func (c *SensorController) processNextItem() bool { ctx := newSensorOperationCtx(sensor, c) err = c.handleErr(ctx.operate(), key) - if err != nil { + if err != nil && ctx.s.Spec.Escalation != nil { // now let's escalate the sensor // the context should have the most up-to-date version log.Infof("escalating sensor to level %s via %s message", ctx.s.Spec.Escalation.Level, ctx.s.Spec.Escalation.Message.Stream.Type) diff --git a/pkg/apis/sensor/v1alpha1/generated.pb.go b/pkg/apis/sensor/v1alpha1/generated.pb.go index 66ff598d58..4c2f434dfa 100644 --- a/pkg/apis/sensor/v1alpha1/generated.pb.go +++ b/pkg/apis/sensor/v1alpha1/generated.pb.go @@ -46,7 +46,7 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package func (m *ArtifactLocation) Reset() { *m = ArtifactLocation{} } func (*ArtifactLocation) ProtoMessage() {} func (*ArtifactLocation) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{0} + return fileDescriptor_generated_680506a6b2f9cb01, []int{0} } func (m *ArtifactLocation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -74,7 +74,7 @@ var xxx_messageInfo_ArtifactLocation proto.InternalMessageInfo func (m *ArtifactSignal) Reset() { *m = ArtifactSignal{} } func (*ArtifactSignal) ProtoMessage() {} func (*ArtifactSignal) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{1} + return fileDescriptor_generated_680506a6b2f9cb01, []int{1} } func (m *ArtifactSignal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -102,7 +102,7 @@ var xxx_messageInfo_ArtifactSignal proto.InternalMessageInfo func (m *CalendarSignal) Reset() { *m = CalendarSignal{} } func (*CalendarSignal) ProtoMessage() {} func (*CalendarSignal) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{2} + return fileDescriptor_generated_680506a6b2f9cb01, []int{2} } func (m *CalendarSignal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -130,7 +130,7 @@ var xxx_messageInfo_CalendarSignal proto.InternalMessageInfo func (m *DataFilter) Reset() { *m = DataFilter{} } func (*DataFilter) ProtoMessage() {} func (*DataFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{3} + return fileDescriptor_generated_680506a6b2f9cb01, []int{3} } func (m *DataFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -158,7 +158,7 @@ var xxx_messageInfo_DataFilter proto.InternalMessageInfo func (m *EscalationPolicy) Reset() { *m = EscalationPolicy{} } func (*EscalationPolicy) ProtoMessage() {} func (*EscalationPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{4} + return fileDescriptor_generated_680506a6b2f9cb01, []int{4} } func (m *EscalationPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -186,7 +186,7 @@ var xxx_messageInfo_EscalationPolicy proto.InternalMessageInfo func (m *Event) Reset() { *m = Event{} } func (*Event) ProtoMessage() {} func (*Event) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{5} + return fileDescriptor_generated_680506a6b2f9cb01, []int{5} } func (m *Event) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -214,7 +214,7 @@ var xxx_messageInfo_Event proto.InternalMessageInfo func (m *EventContext) Reset() { *m = EventContext{} } func (*EventContext) ProtoMessage() {} func (*EventContext) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{6} + return fileDescriptor_generated_680506a6b2f9cb01, []int{6} } func (m *EventContext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -242,7 +242,7 @@ var xxx_messageInfo_EventContext proto.InternalMessageInfo func (m *EventWrapper) Reset() { *m = EventWrapper{} } func (*EventWrapper) ProtoMessage() {} func (*EventWrapper) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{7} + return fileDescriptor_generated_680506a6b2f9cb01, []int{7} } func (m *EventWrapper) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -270,7 +270,7 @@ var xxx_messageInfo_EventWrapper proto.InternalMessageInfo func (m *FileArtifact) Reset() { *m = FileArtifact{} } func (*FileArtifact) ProtoMessage() {} func (*FileArtifact) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{8} + return fileDescriptor_generated_680506a6b2f9cb01, []int{8} } func (m *FileArtifact) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -298,7 +298,7 @@ var xxx_messageInfo_FileArtifact proto.InternalMessageInfo func (m *GroupVersionKind) Reset() { *m = GroupVersionKind{} } func (*GroupVersionKind) ProtoMessage() {} func (*GroupVersionKind) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{9} + return fileDescriptor_generated_680506a6b2f9cb01, []int{9} } func (m *GroupVersionKind) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -326,7 +326,7 @@ var xxx_messageInfo_GroupVersionKind proto.InternalMessageInfo func (m *Message) Reset() { *m = Message{} } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{10} + return fileDescriptor_generated_680506a6b2f9cb01, []int{10} } func (m *Message) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -354,7 +354,7 @@ var xxx_messageInfo_Message proto.InternalMessageInfo func (m *NodeStatus) Reset() { *m = NodeStatus{} } func (*NodeStatus) ProtoMessage() {} func (*NodeStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{11} + return fileDescriptor_generated_680506a6b2f9cb01, []int{11} } func (m *NodeStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -382,7 +382,7 @@ var xxx_messageInfo_NodeStatus proto.InternalMessageInfo func (m *ResourceFilter) Reset() { *m = ResourceFilter{} } func (*ResourceFilter) ProtoMessage() {} func (*ResourceFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{12} + return fileDescriptor_generated_680506a6b2f9cb01, []int{12} } func (m *ResourceFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -410,7 +410,7 @@ var xxx_messageInfo_ResourceFilter proto.InternalMessageInfo func (m *ResourceObject) Reset() { *m = ResourceObject{} } func (*ResourceObject) ProtoMessage() {} func (*ResourceObject) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{13} + return fileDescriptor_generated_680506a6b2f9cb01, []int{13} } func (m *ResourceObject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -438,7 +438,7 @@ var xxx_messageInfo_ResourceObject proto.InternalMessageInfo func (m *ResourceParameter) Reset() { *m = ResourceParameter{} } func (*ResourceParameter) ProtoMessage() {} func (*ResourceParameter) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{14} + return fileDescriptor_generated_680506a6b2f9cb01, []int{14} } func (m *ResourceParameter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -466,7 +466,7 @@ var xxx_messageInfo_ResourceParameter proto.InternalMessageInfo func (m *ResourceParameterSource) Reset() { *m = ResourceParameterSource{} } func (*ResourceParameterSource) ProtoMessage() {} func (*ResourceParameterSource) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{15} + return fileDescriptor_generated_680506a6b2f9cb01, []int{15} } func (m *ResourceParameterSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -494,7 +494,7 @@ var xxx_messageInfo_ResourceParameterSource proto.InternalMessageInfo func (m *ResourceSignal) Reset() { *m = ResourceSignal{} } func (*ResourceSignal) ProtoMessage() {} func (*ResourceSignal) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{16} + return fileDescriptor_generated_680506a6b2f9cb01, []int{16} } func (m *ResourceSignal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -522,7 +522,7 @@ var xxx_messageInfo_ResourceSignal proto.InternalMessageInfo func (m *RetryStrategy) Reset() { *m = RetryStrategy{} } func (*RetryStrategy) ProtoMessage() {} func (*RetryStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{17} + return fileDescriptor_generated_680506a6b2f9cb01, []int{17} } func (m *RetryStrategy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -550,7 +550,7 @@ var xxx_messageInfo_RetryStrategy proto.InternalMessageInfo func (m *S3Artifact) Reset() { *m = S3Artifact{} } func (*S3Artifact) ProtoMessage() {} func (*S3Artifact) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{18} + return fileDescriptor_generated_680506a6b2f9cb01, []int{18} } func (m *S3Artifact) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -578,7 +578,7 @@ var xxx_messageInfo_S3Artifact proto.InternalMessageInfo func (m *S3Bucket) Reset() { *m = S3Bucket{} } func (*S3Bucket) ProtoMessage() {} func (*S3Bucket) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{19} + return fileDescriptor_generated_680506a6b2f9cb01, []int{19} } func (m *S3Bucket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -606,7 +606,7 @@ var xxx_messageInfo_S3Bucket proto.InternalMessageInfo func (m *S3Filter) Reset() { *m = S3Filter{} } func (*S3Filter) ProtoMessage() {} func (*S3Filter) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{20} + return fileDescriptor_generated_680506a6b2f9cb01, []int{20} } func (m *S3Filter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -634,7 +634,7 @@ var xxx_messageInfo_S3Filter proto.InternalMessageInfo func (m *Sensor) Reset() { *m = Sensor{} } func (*Sensor) ProtoMessage() {} func (*Sensor) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{21} + return fileDescriptor_generated_680506a6b2f9cb01, []int{21} } func (m *Sensor) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -662,7 +662,7 @@ var xxx_messageInfo_Sensor proto.InternalMessageInfo func (m *SensorList) Reset() { *m = SensorList{} } func (*SensorList) ProtoMessage() {} func (*SensorList) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{22} + return fileDescriptor_generated_680506a6b2f9cb01, []int{22} } func (m *SensorList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -690,7 +690,7 @@ var xxx_messageInfo_SensorList proto.InternalMessageInfo func (m *SensorSpec) Reset() { *m = SensorSpec{} } func (*SensorSpec) ProtoMessage() {} func (*SensorSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{23} + return fileDescriptor_generated_680506a6b2f9cb01, []int{23} } func (m *SensorSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -718,7 +718,7 @@ var xxx_messageInfo_SensorSpec proto.InternalMessageInfo func (m *SensorStatus) Reset() { *m = SensorStatus{} } func (*SensorStatus) ProtoMessage() {} func (*SensorStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{24} + return fileDescriptor_generated_680506a6b2f9cb01, []int{24} } func (m *SensorStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -746,7 +746,7 @@ var xxx_messageInfo_SensorStatus proto.InternalMessageInfo func (m *Signal) Reset() { *m = Signal{} } func (*Signal) ProtoMessage() {} func (*Signal) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{25} + return fileDescriptor_generated_680506a6b2f9cb01, []int{25} } func (m *Signal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -774,7 +774,7 @@ var xxx_messageInfo_Signal proto.InternalMessageInfo func (m *SignalFilter) Reset() { *m = SignalFilter{} } func (*SignalFilter) ProtoMessage() {} func (*SignalFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{26} + return fileDescriptor_generated_680506a6b2f9cb01, []int{26} } func (m *SignalFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -802,7 +802,7 @@ var xxx_messageInfo_SignalFilter proto.InternalMessageInfo func (m *Stream) Reset() { *m = Stream{} } func (*Stream) ProtoMessage() {} func (*Stream) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{27} + return fileDescriptor_generated_680506a6b2f9cb01, []int{27} } func (m *Stream) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -830,7 +830,7 @@ var xxx_messageInfo_Stream proto.InternalMessageInfo func (m *TimeFilter) Reset() { *m = TimeFilter{} } func (*TimeFilter) ProtoMessage() {} func (*TimeFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{28} + return fileDescriptor_generated_680506a6b2f9cb01, []int{28} } func (m *TimeFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -858,7 +858,7 @@ var xxx_messageInfo_TimeFilter proto.InternalMessageInfo func (m *Trigger) Reset() { *m = Trigger{} } func (*Trigger) ProtoMessage() {} func (*Trigger) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{29} + return fileDescriptor_generated_680506a6b2f9cb01, []int{29} } func (m *Trigger) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -886,7 +886,7 @@ var xxx_messageInfo_Trigger proto.InternalMessageInfo func (m *URI) Reset() { *m = URI{} } func (*URI) ProtoMessage() {} func (*URI) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{30} + return fileDescriptor_generated_680506a6b2f9cb01, []int{30} } func (m *URI) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -914,7 +914,7 @@ var xxx_messageInfo_URI proto.InternalMessageInfo func (m *URLArtifact) Reset() { *m = URLArtifact{} } func (*URLArtifact) ProtoMessage() {} func (*URLArtifact) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{31} + return fileDescriptor_generated_680506a6b2f9cb01, []int{31} } func (m *URLArtifact) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -942,7 +942,7 @@ var xxx_messageInfo_URLArtifact proto.InternalMessageInfo func (m *WebhookSignal) Reset() { *m = WebhookSignal{} } func (*WebhookSignal) ProtoMessage() {} func (*WebhookSignal) Descriptor() ([]byte, []int) { - return fileDescriptor_generated_42a2386c7df22683, []int{32} + return fileDescriptor_generated_680506a6b2f9cb01, []int{32} } func (m *WebhookSignal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2012,14 +2012,16 @@ func (m *SensorSpec) MarshalTo(dAtA []byte) (int, error) { i += n } } - dAtA[i] = 0x1a - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Escalation.Size())) - n30, err := m.Escalation.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err + if m.Escalation != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Escalation.Size())) + n30, err := m.Escalation.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n30 } - i += n30 dAtA[i] = 0x20 i++ if m.Repeat { @@ -2852,8 +2854,10 @@ func (m *SensorSpec) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } - l = m.Escalation.Size() - n += 1 + l + sovGenerated(uint64(l)) + if m.Escalation != nil { + l = m.Escalation.Size() + n += 1 + l + sovGenerated(uint64(l)) + } n += 2 return n } @@ -3367,7 +3371,7 @@ func (this *SensorSpec) String() string { s := strings.Join([]string{`&SensorSpec{`, `Signals:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Signals), "Signal", "Signal", 1), `&`, ``, 1) + `,`, `Triggers:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Triggers), "Trigger", "Trigger", 1), `&`, ``, 1) + `,`, - `Escalation:` + strings.Replace(strings.Replace(this.Escalation.String(), "EscalationPolicy", "EscalationPolicy", 1), `&`, ``, 1) + `,`, + `Escalation:` + strings.Replace(fmt.Sprintf("%v", this.Escalation), "EscalationPolicy", "EscalationPolicy", 1) + `,`, `Repeat:` + fmt.Sprintf("%v", this.Repeat) + `,`, `}`, }, "") @@ -7392,6 +7396,9 @@ func (m *SensorSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + if m.Escalation == nil { + m.Escalation = &EscalationPolicy{} + } if err := m.Escalation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -9273,178 +9280,178 @@ var ( ) func init() { - proto.RegisterFile("github.com/argoproj/argo-events/pkg/apis/sensor/v1alpha1/generated.proto", fileDescriptor_generated_42a2386c7df22683) + proto.RegisterFile("github.com/argoproj/argo-events/pkg/apis/sensor/v1alpha1/generated.proto", fileDescriptor_generated_680506a6b2f9cb01) } -var fileDescriptor_generated_42a2386c7df22683 = []byte{ +var fileDescriptor_generated_680506a6b2f9cb01 = []byte{ // 2695 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xdd, 0x6f, 0x5c, 0x47, 0x15, 0xcf, 0xdd, 0x2f, 0xef, 0x9e, 0x75, 0x12, 0x77, 0x40, 0x62, 0x65, 0x51, 0x3b, 0xba, 0x15, 0x28, 0xa0, 0x74, 0xb7, 0x8d, 0x01, 0x15, 0xa4, 0x42, 0xbd, 0xb6, 0xd3, 0xb8, 0x76, 0x52, 0x67, 0x36, 0x71, 0x45, 0xa8, 0x44, 0xc7, 0x77, 0xc7, 0xbb, 0x37, 0xbe, 0x7b, 0xef, 0xcd, 0xcc, 0xac, - 0x9b, 0x95, 0x50, 0x29, 0xa8, 0x4f, 0x08, 0x44, 0x85, 0x04, 0xe2, 0x81, 0x17, 0x54, 0xf1, 0xc4, - 0x3b, 0x7f, 0x00, 0x12, 0x22, 0x8f, 0xe5, 0xad, 0x0f, 0x60, 0x11, 0x23, 0xf1, 0x47, 0x44, 0x42, - 0x42, 0xf3, 0x71, 0xe7, 0xde, 0xdd, 0xb5, 0x49, 0xec, 0xbb, 0x15, 0x2f, 0xd6, 0xde, 0x73, 0x66, - 0x7e, 0xe7, 0xcc, 0xcc, 0x99, 0xf3, 0x35, 0x86, 0x9b, 0x3d, 0x5f, 0xf4, 0x87, 0x7b, 0x4d, 0x2f, - 0x1a, 0xb4, 0x08, 0xeb, 0x45, 0x31, 0x8b, 0x1e, 0xa8, 0x1f, 0x2f, 0xd3, 0x43, 0x1a, 0x0a, 0xde, - 0x8a, 0x0f, 0x7a, 0x2d, 0x12, 0xfb, 0xbc, 0xc5, 0x69, 0xc8, 0x23, 0xd6, 0x3a, 0x7c, 0x95, 0x04, - 0x71, 0x9f, 0xbc, 0xda, 0xea, 0xd1, 0x90, 0x32, 0x22, 0x68, 0xb7, 0x19, 0xb3, 0x48, 0x44, 0xe8, - 0xb5, 0x14, 0xa9, 0x99, 0x20, 0xa9, 0x1f, 0x3f, 0xd4, 0x48, 0xcd, 0xf8, 0xa0, 0xd7, 0x94, 0x48, - 0x4d, 0x8d, 0xd4, 0x4c, 0x90, 0x16, 0x5f, 0xce, 0xe8, 0xd0, 0x8b, 0x7a, 0x51, 0x4b, 0x01, 0xee, - 0x0d, 0xf7, 0xd5, 0x97, 0xfa, 0x50, 0xbf, 0xb4, 0xa0, 0x45, 0xf7, 0xe0, 0x35, 0xde, 0xf4, 0x23, - 0xa9, 0x55, 0xcb, 0x8b, 0x18, 0x6d, 0x1d, 0x4e, 0x29, 0xb3, 0xf8, 0x8d, 0x74, 0xcc, 0x80, 0x78, - 0x7d, 0x3f, 0xa4, 0x6c, 0x94, 0x2e, 0x65, 0x40, 0x05, 0x39, 0x69, 0x56, 0xeb, 0xb4, 0x59, 0x6c, - 0x18, 0x0a, 0x7f, 0x40, 0xa7, 0x26, 0x7c, 0xeb, 0x59, 0x13, 0xb8, 0xd7, 0xa7, 0x03, 0x32, 0x35, - 0x6f, 0xe5, 0xb4, 0x79, 0x43, 0xe1, 0x07, 0x2d, 0x3f, 0x14, 0x5c, 0xb0, 0xc9, 0x49, 0xee, 0xdf, - 0x0b, 0xb0, 0xb0, 0xca, 0x84, 0xbf, 0x4f, 0x3c, 0xb1, 0x1d, 0x79, 0x44, 0xf8, 0x51, 0x88, 0xde, - 0x85, 0x02, 0x5f, 0x69, 0x38, 0x57, 0x9c, 0xab, 0xf5, 0xeb, 0xeb, 0xcd, 0xf3, 0x1e, 0x41, 0xb3, - 0xb3, 0x92, 0x20, 0xb7, 0x2b, 0xc7, 0x47, 0xcb, 0x85, 0xce, 0x0a, 0x2e, 0xf0, 0x15, 0xe4, 0x42, - 0xc5, 0x0f, 0x03, 0x3f, 0xa4, 0x8d, 0xc2, 0x15, 0xe7, 0x6a, 0xad, 0x0d, 0xc7, 0x47, 0xcb, 0x95, - 0x4d, 0x45, 0xc1, 0x86, 0x83, 0xba, 0x50, 0xda, 0xf7, 0x03, 0xda, 0x28, 0x2a, 0x1d, 0x6e, 0x9c, - 0x5f, 0x87, 0x1b, 0x7e, 0x40, 0xad, 0x16, 0xd5, 0xe3, 0xa3, 0xe5, 0x92, 0xa4, 0x60, 0x85, 0x8e, - 0xde, 0x83, 0xe2, 0x90, 0x05, 0x8d, 0x92, 0x12, 0xb2, 0x71, 0x7e, 0x21, 0xf7, 0xf0, 0xb6, 0x95, - 0x31, 0x77, 0x7c, 0xb4, 0x5c, 0xbc, 0x87, 0xb7, 0xb1, 0x84, 0x76, 0x7f, 0x51, 0x80, 0x4b, 0x09, - 0xab, 0xe3, 0xf7, 0x42, 0x12, 0xa0, 0x3e, 0x54, 0x04, 0x61, 0x3d, 0x2a, 0xcc, 0x06, 0xbf, 0x91, - 0x63, 0x83, 0x05, 0xa3, 0x64, 0xd0, 0xbe, 0xf4, 0xf8, 0x68, 0xf9, 0x82, 0xdc, 0xc4, 0xbb, 0x0a, - 0x17, 0x1b, 0x7c, 0xf4, 0xb1, 0x03, 0x0b, 0x64, 0xe2, 0x6c, 0xd5, 0x9e, 0xd7, 0xaf, 0xbf, 0x75, - 0x7e, 0xa1, 0x93, 0xd6, 0xd2, 0x6e, 0x18, 0xf1, 0x53, 0x76, 0x84, 0xa7, 0xa4, 0xbb, 0xbf, 0x73, - 0xe0, 0xd2, 0x1a, 0x09, 0x68, 0xd8, 0x25, 0xcc, 0xec, 0xc7, 0x35, 0xa8, 0x4a, 0x83, 0xee, 0x0e, - 0x03, 0xaa, 0x76, 0xa4, 0xd6, 0x5e, 0x30, 0x80, 0xd5, 0x8e, 0xa1, 0x63, 0x3b, 0x42, 0x8e, 0xf6, - 0x43, 0x41, 0xd9, 0x21, 0x09, 0x8c, 0xf9, 0xd8, 0xd1, 0x9b, 0x86, 0x8e, 0xed, 0x08, 0xd4, 0x04, - 0x60, 0xd4, 0x1b, 0x32, 0x46, 0x43, 0x4f, 0x1a, 0x53, 0xf1, 0x6a, 0xad, 0x7d, 0xe9, 0xf8, 0x68, - 0x19, 0xb0, 0xa5, 0xe2, 0xcc, 0x08, 0xf7, 0x27, 0x0e, 0xc0, 0x3a, 0x11, 0xe4, 0x86, 0x1f, 0x08, - 0xca, 0xd0, 0x15, 0x28, 0xc5, 0x44, 0xf4, 0x8d, 0x5a, 0xf3, 0x46, 0x50, 0x69, 0x87, 0x88, 0x3e, - 0x56, 0x1c, 0x74, 0x0d, 0x4a, 0x62, 0x14, 0x27, 0x96, 0x9c, 0xec, 0x44, 0xe9, 0xee, 0x28, 0xa6, - 0x4f, 0x8f, 0x96, 0xab, 0x6f, 0x75, 0xde, 0xbe, 0x2d, 0x7f, 0x63, 0x35, 0x0a, 0xbd, 0x04, 0xe5, - 0x43, 0x12, 0x0c, 0xb5, 0x59, 0xd7, 0xda, 0x17, 0xcd, 0xf0, 0xf2, 0xae, 0x24, 0x62, 0xcd, 0x73, - 0xff, 0xe0, 0xc0, 0xc2, 0x06, 0xf7, 0x48, 0xa0, 0x76, 0x6c, 0x27, 0x0a, 0x7c, 0x6f, 0x24, 0x67, - 0x06, 0xf4, 0x90, 0x06, 0x46, 0x15, 0x3b, 0x73, 0x5b, 0x12, 0xb1, 0xe6, 0xa1, 0x00, 0xe6, 0x06, - 0x94, 0x73, 0xd2, 0xa3, 0xe6, 0x94, 0x57, 0xcf, 0x7f, 0xca, 0xb7, 0x34, 0x50, 0xfb, 0xb2, 0x91, - 0x34, 0x67, 0x08, 0x38, 0x11, 0xe1, 0xfe, 0xd6, 0x81, 0xf2, 0x86, 0x44, 0x41, 0x0f, 0x61, 0xce, - 0x8b, 0x42, 0x41, 0x1f, 0x25, 0x26, 0x9d, 0xe3, 0xbe, 0x2a, 0xc4, 0x35, 0x8d, 0x96, 0x0a, 0x37, - 0x04, 0x9c, 0xc8, 0x41, 0x5f, 0x86, 0x52, 0x97, 0x08, 0xa2, 0xd6, 0x39, 0xaf, 0xef, 0xb5, 0x3c, - 0x37, 0xac, 0xa8, 0xee, 0x1f, 0x2b, 0x30, 0x9f, 0x05, 0x42, 0x2d, 0xa8, 0x29, 0xc1, 0xf2, 0x2c, - 0xcc, 0x16, 0xbe, 0x60, 0xb0, 0x6b, 0x1b, 0x09, 0x03, 0xa7, 0x63, 0xd0, 0x3a, 0x2c, 0xd8, 0x8f, - 0x5d, 0xca, 0x78, 0x72, 0x73, 0xd2, 0x33, 0x5e, 0xd8, 0x98, 0xe0, 0xe3, 0xa9, 0x19, 0xe8, 0x2d, - 0x40, 0x5e, 0x10, 0x0d, 0xbb, 0x6a, 0x28, 0x4f, 0x70, 0xf4, 0xe1, 0x2f, 0x1a, 0x1c, 0xb4, 0x36, - 0x35, 0x02, 0x9f, 0x30, 0x0b, 0x11, 0xa8, 0xf0, 0x68, 0xc8, 0x3c, 0x6a, 0xdc, 0xd5, 0xeb, 0x79, - 0xdc, 0xd5, 0xa6, 0x76, 0xba, 0x1d, 0x05, 0x88, 0x0d, 0x30, 0xfa, 0x1a, 0xcc, 0xa9, 0xa9, 0x9b, - 0xeb, 0x8d, 0xb2, 0xd2, 0xd1, 0xee, 0xff, 0x86, 0x26, 0xe3, 0x84, 0x8f, 0x7e, 0x90, 0x6c, 0xa8, - 0x3f, 0xa0, 0x8d, 0x8a, 0x52, 0xe8, 0xeb, 0x4d, 0x1d, 0x7f, 0x9a, 0xd9, 0xf8, 0x93, 0x2a, 0x21, - 0xc3, 0x63, 0xf3, 0xf0, 0xd5, 0xa6, 0x9c, 0x31, 0xb9, 0xf9, 0xfe, 0xc0, 0x6e, 0xbe, 0x3f, 0xa0, - 0xe8, 0x01, 0xd4, 0x74, 0x88, 0xbb, 0x87, 0xb7, 0x1b, 0x73, 0xb3, 0x58, 0xed, 0x45, 0x29, 0xab, - 0x93, 0x60, 0xe2, 0x14, 0x1e, 0x7d, 0x13, 0xea, 0xca, 0xa6, 0x8c, 0x6d, 0x54, 0xd5, 0xba, 0xbf, - 0x60, 0xd4, 0xab, 0xaf, 0xa5, 0x2c, 0x9c, 0x1d, 0x87, 0x7e, 0xe6, 0x00, 0xd0, 0x47, 0x82, 0x86, - 0xf2, 0x6c, 0x78, 0xa3, 0x76, 0xa5, 0x78, 0xb5, 0x7e, 0x7d, 0x77, 0x36, 0x66, 0xdf, 0xdc, 0xb0, - 0xc0, 0x1b, 0xa1, 0x60, 0xa3, 0x36, 0x32, 0xea, 0x40, 0xca, 0xc0, 0x19, 0xe9, 0x8b, 0xaf, 0xc3, - 0xe5, 0x89, 0x29, 0x68, 0x01, 0x8a, 0x07, 0x74, 0xa4, 0x4d, 0x1d, 0xcb, 0x9f, 0xe8, 0x8b, 0x89, - 0xef, 0x51, 0x66, 0x6c, 0x9c, 0xcd, 0x77, 0x0a, 0xaf, 0x39, 0xee, 0x6f, 0x1c, 0x73, 0x5b, 0xde, - 0x61, 0x24, 0x8e, 0x29, 0x43, 0x5d, 0x28, 0x2b, 0x7d, 0xcd, 0x6d, 0xfe, 0x5e, 0xce, 0x65, 0xa5, - 0xde, 0x4a, 0x7d, 0x62, 0x0d, 0x2e, 0x9d, 0x2b, 0xa7, 0x54, 0x5f, 0xab, 0x6a, 0xea, 0x5c, 0x3b, - 0x94, 0x86, 0x58, 0x71, 0xdc, 0x57, 0x60, 0x3e, 0x1b, 0xbe, 0x9f, 0xed, 0x8e, 0xdd, 0x8f, 0x1c, - 0x58, 0x78, 0x93, 0x45, 0xc3, 0xd8, 0xdc, 0x9a, 0x2d, 0x3f, 0xec, 0x4a, 0xdf, 0xd9, 0x93, 0xb4, - 0x49, 0xdf, 0xa9, 0x06, 0x62, 0xcd, 0x93, 0xb6, 0x7f, 0x38, 0x76, 0xcf, 0xad, 0xed, 0x27, 0x97, - 0x32, 0xe1, 0x4b, 0x35, 0x0e, 0xfc, 0xb0, 0x6b, 0xee, 0xb1, 0x55, 0x43, 0xca, 0xc2, 0x8a, 0xe3, - 0xfe, 0xda, 0x81, 0xc4, 0x5f, 0xca, 0xd1, 0x7b, 0x51, 0x77, 0x34, 0xa9, 0x74, 0x3b, 0xea, 0x8e, - 0xb0, 0xe2, 0xc8, 0x84, 0x80, 0xab, 0x40, 0x6e, 0xbc, 0xf6, 0x0c, 0x13, 0x02, 0xfd, 0x8d, 0x0d, - 0xbe, 0xfb, 0xd7, 0x12, 0xc0, 0xed, 0xa8, 0x4b, 0x3b, 0x82, 0x88, 0x21, 0x47, 0x8b, 0x50, 0xf0, - 0xbb, 0x46, 0x31, 0x30, 0x53, 0x0a, 0x9b, 0xeb, 0xb8, 0xe0, 0x77, 0xa5, 0xda, 0x21, 0x19, 0x24, - 0x81, 0xcd, 0xaa, 0x7d, 0x9b, 0x0c, 0x28, 0x56, 0x1c, 0x79, 0x73, 0xba, 0x3e, 0x8f, 0x03, 0x32, - 0x92, 0x44, 0xb3, 0x1b, 0xf6, 0xe6, 0xac, 0xa7, 0x2c, 0x9c, 0x1d, 0x67, 0x23, 0x66, 0xe9, 0xe4, - 0x88, 0x29, 0xd5, 0xcb, 0x44, 0xcc, 0x57, 0xa0, 0x1c, 0xf7, 0x09, 0xa7, 0xc6, 0x21, 0x25, 0x4e, - 0xb3, 0xbc, 0x23, 0x89, 0x4f, 0x8f, 0x96, 0x6b, 0x72, 0xbc, 0xfa, 0xc0, 0x7a, 0xa0, 0xf4, 0x4c, - 0x5c, 0x10, 0x26, 0x68, 0x77, 0x55, 0xe4, 0xf1, 0x4c, 0x9d, 0x04, 0x04, 0xa7, 0x78, 0x88, 0x48, - 0x6f, 0x31, 0x88, 0x03, 0xaa, 0xe1, 0xe7, 0xce, 0x0c, 0x9f, 0xf1, 0x2c, 0x16, 0x06, 0x67, 0x31, - 0xa5, 0x21, 0x26, 0x41, 0xbc, 0x3a, 0x6e, 0x88, 0x93, 0x11, 0x18, 0x8d, 0xa0, 0x1e, 0x10, 0x41, - 0xb9, 0x50, 0xf7, 0xaa, 0x51, 0x9b, 0x49, 0xec, 0x35, 0x4e, 0xa0, 0x7d, 0x59, 0x6a, 0xb9, 0x9d, - 0xc2, 0xe3, 0xac, 0x2c, 0xf7, 0xf7, 0x25, 0xb8, 0x84, 0xa9, 0x8e, 0x1b, 0x26, 0x59, 0xfa, 0x2a, - 0x54, 0x62, 0x46, 0xf7, 0xfd, 0x47, 0xc6, 0xa2, 0xac, 0x11, 0xee, 0x28, 0x2a, 0x36, 0x5c, 0xf4, - 0x23, 0xa8, 0x04, 0x64, 0x8f, 0x06, 0xbc, 0x51, 0x50, 0x5e, 0xf3, 0xee, 0xf9, 0x15, 0x1e, 0xd7, - 0xa0, 0xb9, 0xad, 0x60, 0xb5, 0xcf, 0xb4, 0xd2, 0x35, 0x11, 0x1b, 0x99, 0x32, 0x27, 0xae, 0x93, - 0x30, 0x8c, 0x84, 0xca, 0xae, 0xb8, 0xca, 0x09, 0xeb, 0xd7, 0xbf, 0x3f, 0x33, 0x1d, 0x56, 0x53, - 0x6c, 0xad, 0x88, 0x3d, 0xf1, 0x0c, 0x07, 0x67, 0x55, 0x90, 0x16, 0xeb, 0x31, 0x2a, 0x6b, 0xb2, - 0xf6, 0xc8, 0x04, 0xf7, 0x73, 0x59, 0xec, 0x5a, 0x02, 0x82, 0x53, 0xbc, 0xc5, 0x6f, 0x43, 0x3d, - 0xb3, 0x2d, 0x67, 0x89, 0x0b, 0x8b, 0xdf, 0x85, 0x85, 0xc9, 0xd5, 0x9c, 0x29, 0xae, 0xfc, 0xb4, - 0x9c, 0xda, 0xc8, 0xdb, 0x7b, 0x0f, 0xa8, 0xa7, 0xf2, 0x30, 0xe9, 0x3b, 0x78, 0x4c, 0xbc, 0xa9, - 0x3c, 0xec, 0x76, 0xc2, 0xc0, 0xe9, 0x98, 0x8c, 0xb1, 0x14, 0x67, 0x65, 0x2c, 0x5a, 0x95, 0xe7, - 0x32, 0x96, 0x1f, 0x03, 0xc4, 0x84, 0x91, 0x01, 0x15, 0x94, 0xf1, 0x46, 0x49, 0x69, 0xb0, 0x95, - 0x5f, 0x83, 0x9d, 0x04, 0x33, 0x8d, 0xec, 0x96, 0xc4, 0x71, 0x46, 0xa4, 0xaa, 0xe0, 0x7a, 0x13, - 0xf1, 0x4c, 0xb9, 0xc2, 0x5c, 0x15, 0xdc, 0x64, 0x84, 0x4c, 0x73, 0xda, 0x49, 0x0e, 0x9e, 0x92, - 0x8e, 0x98, 0xcd, 0x43, 0x2b, 0x33, 0xaf, 0x24, 0xd3, 0xb8, 0x35, 0x96, 0x98, 0xe6, 0x30, 0x62, - 0xf7, 0x13, 0x07, 0x5e, 0x98, 0xda, 0x77, 0x14, 0x40, 0x91, 0x33, 0xcf, 0xe4, 0x37, 0x77, 0x66, - 0x78, 0xa2, 0x5a, 0x71, 0xdd, 0x04, 0xe8, 0x30, 0x0f, 0x4b, 0x31, 0x32, 0x96, 0x76, 0x29, 0x17, - 0x93, 0xb1, 0x74, 0x9d, 0x72, 0x81, 0x15, 0x47, 0xe6, 0x2d, 0x5f, 0x3a, 0x05, 0x4b, 0xfa, 0x55, - 0xae, 0x2a, 0xe5, 0x49, 0xbf, 0xaa, 0xeb, 0x67, 0x6c, 0xb8, 0x36, 0x3b, 0x2a, 0x9c, 0x5a, 0xac, - 0x2e, 0x8f, 0x97, 0x9f, 0xb5, 0xa9, 0xd2, 0xf3, 0xcf, 0x85, 0xf4, 0xc6, 0x9a, 0xea, 0xfc, 0xcc, - 0x37, 0x36, 0x80, 0xca, 0xbe, 0x72, 0x85, 0x26, 0x9b, 0xb9, 0x39, 0x2b, 0xd7, 0xaa, 0x4b, 0x16, - 0xfd, 0x1b, 0x1b, 0x19, 0x27, 0x5f, 0x90, 0xe2, 0xff, 0xf3, 0x82, 0xb8, 0x97, 0xe1, 0x22, 0xa6, - 0x82, 0x8d, 0x3a, 0x82, 0x11, 0x41, 0x7b, 0x23, 0xf7, 0x1f, 0x05, 0x80, 0xb4, 0x15, 0x86, 0x5e, - 0xcc, 0x58, 0x6f, 0xbb, 0x6e, 0x80, 0x8b, 0x5b, 0x74, 0xa4, 0x4d, 0x79, 0x37, 0x49, 0xbe, 0xf5, - 0x39, 0xbe, 0x31, 0x96, 0x3b, 0x3f, 0x3d, 0x5a, 0x6e, 0x65, 0xfa, 0x9a, 0x03, 0x3f, 0xf4, 0x23, - 0xfd, 0xf7, 0xe5, 0x5e, 0xd4, 0xbc, 0x1d, 0x09, 0x7f, 0xdf, 0xd7, 0x77, 0x29, 0xad, 0x6a, 0x4d, - 0xba, 0xbd, 0x6f, 0xcf, 0x45, 0x6f, 0x4f, 0x3b, 0x4f, 0x5f, 0xef, 0x7f, 0x9c, 0x48, 0x0c, 0x55, - 0xbe, 0xd2, 0x1e, 0x7a, 0x07, 0x54, 0x98, 0x60, 0x96, 0x4b, 0x92, 0x46, 0xca, 0xb4, 0x84, 0x0c, - 0x05, 0x5b, 0x29, 0xee, 0xbf, 0x0b, 0x60, 0xc9, 0xe8, 0x1a, 0x54, 0x69, 0xd8, 0x8d, 0x23, 0xdf, - 0x94, 0x2f, 0x99, 0xfe, 0xd0, 0x86, 0xa1, 0x63, 0x3b, 0x42, 0xde, 0xad, 0x3d, 0xad, 0x6a, 0x61, - 0xfc, 0x6e, 0x19, 0x21, 0x86, 0x2b, 0xc7, 0x31, 0xda, 0x4b, 0x8b, 0x77, 0x3b, 0x0e, 0x2b, 0x2a, - 0x36, 0x5c, 0xdd, 0x9d, 0xe2, 0xd4, 0x1b, 0x32, 0x9d, 0xe0, 0x56, 0xb3, 0xdd, 0x29, 0x4d, 0xc7, - 0x76, 0x04, 0xda, 0x85, 0x1a, 0xf1, 0x3c, 0xca, 0xf9, 0x16, 0x1d, 0x19, 0xaf, 0xfe, 0x95, 0x4c, - 0xe0, 0x6f, 0x7a, 0x11, 0xa3, 0x32, 0xcc, 0x77, 0xa8, 0xc7, 0xa8, 0xd8, 0xa2, 0xa3, 0x0e, 0x0d, - 0xa8, 0x27, 0x22, 0x96, 0x5e, 0xc1, 0xd5, 0x64, 0x3e, 0x4e, 0xa1, 0x24, 0x2e, 0x4f, 0xa6, 0x18, - 0x2f, 0x7d, 0x56, 0x5c, 0xcb, 0xc2, 0x29, 0x94, 0x7b, 0x5f, 0xee, 0xf3, 0x19, 0xb3, 0x3d, 0xe9, - 0xbd, 0x86, 0xfb, 0x72, 0xdc, 0xc4, 0x0e, 0x77, 0x14, 0x15, 0x1b, 0xae, 0x74, 0x3d, 0x95, 0x8e, - 0x3a, 0x7d, 0xf4, 0x1e, 0x54, 0x65, 0x82, 0xa3, 0xfa, 0x3b, 0xda, 0x43, 0xbf, 0xf2, 0x7c, 0xe9, - 0x90, 0x8e, 0xec, 0xb7, 0xa8, 0x20, 0x69, 0x60, 0x4d, 0x69, 0xd8, 0xa2, 0xa2, 0x7d, 0x28, 0xf1, - 0x98, 0x7a, 0xc6, 0x43, 0xe5, 0xe9, 0x70, 0xab, 0xef, 0x4e, 0x4c, 0xbd, 0x4c, 0x01, 0x1b, 0x53, - 0x0f, 0x2b, 0x7c, 0x14, 0xca, 0xca, 0x4e, 0x96, 0x5a, 0xf9, 0xfb, 0xd8, 0x46, 0x92, 0x42, 0xcb, - 0xd6, 0x77, 0xf2, 0x1b, 0x1b, 0x29, 0xee, 0xdf, 0x1c, 0x00, 0x3d, 0x70, 0xdb, 0xe7, 0x02, 0xbd, - 0x3b, 0xb5, 0x91, 0xcd, 0xe7, 0xdb, 0x48, 0x39, 0x5b, 0x6d, 0xa3, 0xb5, 0xde, 0x84, 0x92, 0xd9, - 0x44, 0x0a, 0x65, 0x5f, 0xd0, 0x41, 0x92, 0xc6, 0xbf, 0x91, 0x77, 0x6d, 0x69, 0x61, 0xbe, 0x29, - 0x61, 0xb1, 0x46, 0x77, 0x7f, 0x55, 0x4c, 0xd6, 0x24, 0x37, 0x16, 0x1d, 0xc0, 0x9c, 0x8e, 0x77, - 0xbc, 0xe1, 0xe4, 0x96, 0xab, 0x80, 0xd2, 0x02, 0x4b, 0x7f, 0x73, 0x9c, 0x48, 0x40, 0x11, 0x54, - 0x05, 0xf3, 0x7b, 0x3d, 0x99, 0xfd, 0xe9, 0x55, 0xe6, 0xe8, 0xa8, 0xde, 0xd5, 0x48, 0xe9, 0x9e, - 0x1a, 0x02, 0xc7, 0x56, 0x08, 0xfa, 0x00, 0x80, 0xda, 0xd6, 0x6f, 0xfe, 0x38, 0x36, 0xd9, 0x46, - 0xce, 0x74, 0x92, 0x2c, 0x07, 0x67, 0x24, 0x6a, 0x3f, 0x17, 0x53, 0x22, 0x8c, 0xf7, 0xca, 0xf8, - 0x39, 0x49, 0xc5, 0x86, 0xeb, 0x7e, 0x52, 0x82, 0xf9, 0xac, 0x45, 0xa6, 0x75, 0xba, 0x73, 0xae, - 0x3a, 0xbd, 0xf0, 0xf9, 0xd6, 0xe9, 0xc5, 0xcf, 0xb7, 0x4e, 0x2f, 0x3d, 0xa3, 0x4e, 0x3f, 0x84, - 0x72, 0x18, 0x75, 0x29, 0x6f, 0x94, 0x95, 0x0d, 0xdd, 0x99, 0x8d, 0x17, 0x68, 0xca, 0x2d, 0x35, - 0x05, 0x8c, 0xbd, 0x3a, 0x8a, 0x86, 0xb5, 0xb8, 0xc5, 0x0f, 0x74, 0xb7, 0xe7, 0xd4, 0xac, 0xf9, - 0x7e, 0x36, 0x6b, 0xce, 0xe5, 0x07, 0xd3, 0xa6, 0x52, 0x36, 0xf7, 0xfe, 0x4f, 0x19, 0x4c, 0x92, - 0x6a, 0xdb, 0x49, 0xce, 0xa9, 0xed, 0xa4, 0x6b, 0x50, 0xed, 0x52, 0xd2, 0xb5, 0xef, 0x82, 0xc5, - 0xf4, 0xa2, 0xac, 0x1b, 0x3a, 0xb6, 0x23, 0x50, 0xd7, 0xf6, 0xcc, 0x8a, 0x33, 0xea, 0x99, 0xc1, - 0x74, 0xbf, 0x0c, 0x31, 0xa8, 0x26, 0x2f, 0x58, 0x26, 0x97, 0xb9, 0x99, 0xbf, 0xda, 0x31, 0x5e, - 0x67, 0x5e, 0xae, 0x2c, 0xa1, 0x61, 0x2b, 0x47, 0xca, 0xf4, 0xcc, 0x03, 0x99, 0xc9, 0x09, 0x72, - 0xc8, 0x1c, 0x7f, 0x6a, 0xd3, 0x32, 0x13, 0x1a, 0xb6, 0x72, 0xa4, 0x4c, 0x46, 0xc7, 0xaa, 0xba, - 0x19, 0x64, 0xed, 0x59, 0x99, 0x09, 0x0d, 0x5b, 0x39, 0x28, 0x84, 0xb9, 0xf7, 0xe9, 0x5e, 0x3f, - 0x8a, 0x0e, 0x4c, 0x1b, 0xed, 0xcd, 0xf3, 0x8b, 0x7c, 0x47, 0x03, 0x19, 0x89, 0x75, 0x79, 0x09, - 0x0d, 0x09, 0x27, 0x42, 0xd0, 0x43, 0x98, 0xd3, 0x19, 0x2a, 0x57, 0x7d, 0xb5, 0x7c, 0xc1, 0x58, - 0x09, 0x32, 0x49, 0xb0, 0xbd, 0xf7, 0xfa, 0x9b, 0xe3, 0x44, 0x8e, 0xfb, 0x97, 0x02, 0xcc, 0x67, - 0x87, 0xa2, 0x3d, 0x28, 0x09, 0xdf, 0xdc, 0x82, 0x5c, 0xf7, 0x4d, 0xfa, 0x28, 0x23, 0x5e, 0xbd, - 0x7d, 0xa9, 0x17, 0x14, 0x85, 0x8d, 0x06, 0xe9, 0x63, 0x5c, 0x61, 0xa6, 0x8f, 0x71, 0xf5, 0x13, - 0x1f, 0xe2, 0xf6, 0xcc, 0x43, 0x9c, 0x6e, 0xcf, 0xe4, 0x58, 0x52, 0xfa, 0xec, 0x3a, 0xf5, 0x9c, - 0xf7, 0x4b, 0x99, 0x1b, 0xea, 0x1b, 0x79, 0xc5, 0x74, 0x8f, 0x27, 0xfc, 0x48, 0xa6, 0x63, 0xfc, - 0xa2, 0x7e, 0xd3, 0x2f, 0x8c, 0x97, 0x57, 0xc9, 0x83, 0x3c, 0xfa, 0xc8, 0x01, 0x20, 0x42, 0x30, - 0x7f, 0x6f, 0x28, 0x68, 0xd2, 0x55, 0xda, 0xc9, 0xeb, 0x3d, 0x9a, 0xab, 0x16, 0x72, 0xe2, 0xc9, - 0x26, 0x65, 0xe0, 0x8c, 0xdc, 0xc5, 0xd7, 0xe1, 0xf2, 0xc4, 0x94, 0xb3, 0x76, 0x35, 0x20, 0xb5, - 0x01, 0xb4, 0x05, 0x65, 0x15, 0xfb, 0x8c, 0x61, 0x9d, 0x25, 0xd0, 0xa9, 0x26, 0x80, 0x8a, 0xa1, - 0x58, 0x63, 0xa0, 0x9b, 0x50, 0xe2, 0x22, 0x8a, 0xcf, 0x11, 0x93, 0xd5, 0xb9, 0x75, 0x44, 0x14, - 0x63, 0x85, 0xe0, 0xfe, 0xbc, 0x08, 0x73, 0x26, 0xc9, 0x79, 0x8e, 0x00, 0x90, 0x75, 0x42, 0x33, - 0x6b, 0x1d, 0xe8, 0xf4, 0xff, 0x54, 0x27, 0xd4, 0x4f, 0x83, 0x78, 0x71, 0x56, 0x2f, 0xe6, 0xf5, - 0x13, 0x73, 0x80, 0x0f, 0x1d, 0xb8, 0xc8, 0x68, 0x1c, 0xd8, 0xb6, 0x80, 0x09, 0x28, 0x6f, 0xe6, - 0x59, 0x63, 0xa6, 0xcb, 0xd0, 0x7e, 0xe1, 0xf8, 0x68, 0x79, 0xbc, 0xf1, 0x80, 0xc7, 0x05, 0xba, - 0x7f, 0x2a, 0x40, 0xf1, 0x1e, 0xde, 0x54, 0x25, 0x99, 0xd7, 0xa7, 0xf6, 0x30, 0xd2, 0x6a, 0x42, - 0x51, 0xb1, 0xe1, 0xca, 0x23, 0x1b, 0x72, 0xd3, 0xc7, 0xc9, 0x1c, 0xd9, 0x3d, 0x4e, 0x19, 0x56, - 0x1c, 0x19, 0xb3, 0x63, 0xc2, 0xf9, 0xfb, 0x11, 0x4b, 0x5e, 0xc3, 0x6c, 0xcc, 0xde, 0x31, 0x74, - 0x6c, 0x47, 0x48, 0xbc, 0x7e, 0xc4, 0x85, 0x49, 0x97, 0x2c, 0xde, 0xcd, 0x88, 0x0b, 0xac, 0x38, - 0xaa, 0x85, 0x15, 0x31, 0xa1, 0xe2, 0x5e, 0x39, 0xd3, 0xc2, 0x8a, 0x98, 0xc0, 0x8a, 0x63, 0x9b, - 0x5c, 0x95, 0x53, 0x9b, 0x5c, 0x2f, 0x41, 0xf9, 0xe1, 0x90, 0xb2, 0x91, 0x8a, 0x2a, 0x99, 0xd7, - 0xbe, 0x3b, 0x92, 0x88, 0x35, 0x4f, 0x2a, 0xbe, 0xcf, 0x48, 0x6f, 0x40, 0x43, 0x61, 0x5e, 0x59, - 0xac, 0xe2, 0x37, 0x0c, 0x1d, 0xdb, 0x11, 0xae, 0x07, 0xf5, 0xcc, 0x7f, 0xf8, 0x3c, 0xc7, 0x7f, - 0x85, 0x5c, 0x07, 0x38, 0xa4, 0xcc, 0xdf, 0x1f, 0x79, 0x94, 0x09, 0xf3, 0xc0, 0x69, 0x3d, 0xc2, - 0xae, 0xe2, 0xac, 0x51, 0x26, 0x70, 0x66, 0x94, 0x4b, 0xe1, 0xe2, 0x58, 0x18, 0x3b, 0x7b, 0x27, - 0x63, 0x40, 0x45, 0x3f, 0xea, 0x4e, 0xd6, 0xd9, 0xb7, 0x14, 0x15, 0x1b, 0x6e, 0xbb, 0xf9, 0xf8, - 0xc9, 0xd2, 0x85, 0x4f, 0x9f, 0x2c, 0x5d, 0xf8, 0xec, 0xc9, 0xd2, 0x85, 0x0f, 0x8f, 0x97, 0x9c, - 0xc7, 0xc7, 0x4b, 0xce, 0xa7, 0xc7, 0x4b, 0xce, 0x67, 0xc7, 0x4b, 0xce, 0x3f, 0x8f, 0x97, 0x9c, - 0x8f, 0xff, 0xb5, 0x74, 0xe1, 0x7e, 0x35, 0x31, 0xb2, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x9a, - 0x6d, 0x70, 0xb7, 0xcb, 0x27, 0x00, 0x00, + 0x9b, 0x45, 0x08, 0x0a, 0xea, 0x13, 0xe2, 0xa3, 0x2f, 0x20, 0x1e, 0x78, 0x41, 0x15, 0x4f, 0xbc, + 0xf3, 0x07, 0x20, 0x21, 0xf2, 0x58, 0xde, 0xfa, 0x00, 0x16, 0x31, 0x12, 0x7f, 0x44, 0x24, 0x24, + 0x34, 0x1f, 0x77, 0xee, 0xdd, 0x5d, 0x9b, 0xc4, 0xbe, 0x5b, 0xf1, 0x62, 0xed, 0x3d, 0x67, 0xe6, + 0x77, 0xce, 0xcc, 0x9c, 0x39, 0x5f, 0x63, 0xb8, 0xd9, 0xf3, 0x45, 0x7f, 0xb8, 0xd7, 0xf4, 0xa2, + 0x41, 0x8b, 0xb0, 0x5e, 0x14, 0xb3, 0xe8, 0x81, 0xfa, 0xf1, 0x32, 0x3d, 0xa4, 0xa1, 0xe0, 0xad, + 0xf8, 0xa0, 0xd7, 0x22, 0xb1, 0xcf, 0x5b, 0x9c, 0x86, 0x3c, 0x62, 0xad, 0xc3, 0x57, 0x49, 0x10, + 0xf7, 0xc9, 0xab, 0xad, 0x1e, 0x0d, 0x29, 0x23, 0x82, 0x76, 0x9b, 0x31, 0x8b, 0x44, 0x84, 0x5e, + 0x4b, 0x91, 0x9a, 0x09, 0x92, 0xfa, 0xf1, 0x7d, 0x8d, 0xd4, 0x8c, 0x0f, 0x7a, 0x4d, 0x89, 0xd4, + 0xd4, 0x48, 0xcd, 0x04, 0x69, 0xf1, 0xe5, 0x8c, 0x0e, 0xbd, 0xa8, 0x17, 0xb5, 0x14, 0xe0, 0xde, + 0x70, 0x5f, 0x7d, 0xa9, 0x0f, 0xf5, 0x4b, 0x0b, 0x5a, 0x74, 0x0f, 0x5e, 0xe3, 0x4d, 0x3f, 0x92, + 0x5a, 0xb5, 0xbc, 0x88, 0xd1, 0xd6, 0xe1, 0x94, 0x32, 0x8b, 0x5f, 0x4b, 0xc7, 0x0c, 0x88, 0xd7, + 0xf7, 0x43, 0xca, 0x46, 0xe9, 0x52, 0x06, 0x54, 0x90, 0x93, 0x66, 0xb5, 0x4e, 0x9b, 0xc5, 0x86, + 0xa1, 0xf0, 0x07, 0x74, 0x6a, 0xc2, 0x37, 0x9e, 0x35, 0x81, 0x7b, 0x7d, 0x3a, 0x20, 0x53, 0xf3, + 0x56, 0x4e, 0x9b, 0x37, 0x14, 0x7e, 0xd0, 0xf2, 0x43, 0xc1, 0x05, 0x9b, 0x9c, 0xe4, 0xfe, 0xbd, + 0x00, 0x0b, 0xab, 0x4c, 0xf8, 0xfb, 0xc4, 0x13, 0xdb, 0x91, 0x47, 0x84, 0x1f, 0x85, 0xe8, 0x5d, + 0x28, 0xf0, 0x95, 0x86, 0x73, 0xc5, 0xb9, 0x5a, 0xbf, 0xbe, 0xde, 0x3c, 0xef, 0x11, 0x34, 0x3b, + 0x2b, 0x09, 0x72, 0xbb, 0x72, 0x7c, 0xb4, 0x5c, 0xe8, 0xac, 0xe0, 0x02, 0x5f, 0x41, 0x2e, 0x54, + 0xfc, 0x30, 0xf0, 0x43, 0xda, 0x28, 0x5c, 0x71, 0xae, 0xd6, 0xda, 0x70, 0x7c, 0xb4, 0x5c, 0xd9, + 0x54, 0x14, 0x6c, 0x38, 0xa8, 0x0b, 0xa5, 0x7d, 0x3f, 0xa0, 0x8d, 0xa2, 0xd2, 0xe1, 0xc6, 0xf9, + 0x75, 0xb8, 0xe1, 0x07, 0xd4, 0x6a, 0x51, 0x3d, 0x3e, 0x5a, 0x2e, 0x49, 0x0a, 0x56, 0xe8, 0xe8, + 0x3d, 0x28, 0x0e, 0x59, 0xd0, 0x28, 0x29, 0x21, 0x1b, 0xe7, 0x17, 0x72, 0x0f, 0x6f, 0x5b, 0x19, + 0x73, 0xc7, 0x47, 0xcb, 0xc5, 0x7b, 0x78, 0x1b, 0x4b, 0x68, 0xf7, 0x17, 0x05, 0xb8, 0x94, 0xb0, + 0x3a, 0x7e, 0x2f, 0x24, 0x01, 0xea, 0x43, 0x45, 0x10, 0xd6, 0xa3, 0xc2, 0x6c, 0xf0, 0x1b, 0x39, + 0x36, 0x58, 0x30, 0x4a, 0x06, 0xed, 0x4b, 0x8f, 0x8f, 0x96, 0x2f, 0xc8, 0x4d, 0xbc, 0xab, 0x70, + 0xb1, 0xc1, 0x47, 0x1f, 0x39, 0xb0, 0x40, 0x26, 0xce, 0x56, 0xed, 0x79, 0xfd, 0xfa, 0x5b, 0xe7, + 0x17, 0x3a, 0x69, 0x2d, 0xed, 0x86, 0x11, 0x3f, 0x65, 0x47, 0x78, 0x4a, 0xba, 0xfb, 0x3b, 0x07, + 0x2e, 0xad, 0x91, 0x80, 0x86, 0x5d, 0xc2, 0xcc, 0x7e, 0x5c, 0x83, 0xaa, 0x34, 0xe8, 0xee, 0x30, + 0xa0, 0x6a, 0x47, 0x6a, 0xed, 0x05, 0x03, 0x58, 0xed, 0x18, 0x3a, 0xb6, 0x23, 0xe4, 0x68, 0x3f, + 0x14, 0x94, 0x1d, 0x92, 0xc0, 0x98, 0x8f, 0x1d, 0xbd, 0x69, 0xe8, 0xd8, 0x8e, 0x40, 0x4d, 0x00, + 0x46, 0xbd, 0x21, 0x63, 0x34, 0xf4, 0xa4, 0x31, 0x15, 0xaf, 0xd6, 0xda, 0x97, 0x8e, 0x8f, 0x96, + 0x01, 0x5b, 0x2a, 0xce, 0x8c, 0x70, 0x7f, 0xe2, 0x00, 0xac, 0x13, 0x41, 0x6e, 0xf8, 0x81, 0xa0, + 0x0c, 0x5d, 0x81, 0x52, 0x4c, 0x44, 0xdf, 0xa8, 0x35, 0x6f, 0x04, 0x95, 0x76, 0x88, 0xe8, 0x63, + 0xc5, 0x41, 0xd7, 0xa0, 0x24, 0x46, 0x71, 0x62, 0xc9, 0xc9, 0x4e, 0x94, 0xee, 0x8e, 0x62, 0xfa, + 0xf4, 0x68, 0xb9, 0xfa, 0x56, 0xe7, 0xed, 0xdb, 0xf2, 0x37, 0x56, 0xa3, 0xd0, 0x4b, 0x50, 0x3e, + 0x24, 0xc1, 0x50, 0x9b, 0x75, 0xad, 0x7d, 0xd1, 0x0c, 0x2f, 0xef, 0x4a, 0x22, 0xd6, 0x3c, 0xf7, + 0x0f, 0x0e, 0x2c, 0x6c, 0x70, 0x8f, 0x04, 0x6a, 0xc7, 0x76, 0xa2, 0xc0, 0xf7, 0x46, 0x72, 0x66, + 0x40, 0x0f, 0x69, 0x60, 0x54, 0xb1, 0x33, 0xb7, 0x25, 0x11, 0x6b, 0x1e, 0x0a, 0x60, 0x6e, 0x40, + 0x39, 0x27, 0x3d, 0x6a, 0x4e, 0x79, 0xf5, 0xfc, 0xa7, 0x7c, 0x4b, 0x03, 0xb5, 0x2f, 0x1b, 0x49, + 0x73, 0x86, 0x80, 0x13, 0x11, 0xee, 0x6f, 0x1d, 0x28, 0x6f, 0x48, 0x14, 0xf4, 0x10, 0xe6, 0xbc, + 0x28, 0x14, 0xf4, 0x51, 0x62, 0xd2, 0x39, 0xee, 0xab, 0x42, 0x5c, 0xd3, 0x68, 0xa9, 0x70, 0x43, + 0xc0, 0x89, 0x1c, 0xf4, 0x45, 0x28, 0x75, 0x89, 0x20, 0x6a, 0x9d, 0xf3, 0xfa, 0x5e, 0xcb, 0x73, + 0xc3, 0x8a, 0xea, 0xfe, 0xb1, 0x02, 0xf3, 0x59, 0x20, 0xd4, 0x82, 0x9a, 0x12, 0x2c, 0xcf, 0xc2, + 0x6c, 0xe1, 0x0b, 0x06, 0xbb, 0xb6, 0x91, 0x30, 0x70, 0x3a, 0x06, 0xad, 0xc3, 0x82, 0xfd, 0xd8, + 0xa5, 0x8c, 0x27, 0x37, 0x27, 0x3d, 0xe3, 0x85, 0x8d, 0x09, 0x3e, 0x9e, 0x9a, 0x81, 0xde, 0x02, + 0xe4, 0x05, 0xd1, 0xb0, 0xab, 0x86, 0xf2, 0x04, 0x47, 0x1f, 0xfe, 0xa2, 0xc1, 0x41, 0x6b, 0x53, + 0x23, 0xf0, 0x09, 0xb3, 0x10, 0x81, 0x0a, 0x8f, 0x86, 0xcc, 0xa3, 0xc6, 0x5d, 0xbd, 0x9e, 0xc7, + 0x5d, 0x6d, 0x6a, 0xa7, 0xdb, 0x51, 0x80, 0xd8, 0x00, 0xa3, 0xaf, 0xc0, 0x9c, 0x9a, 0xba, 0xb9, + 0xde, 0x28, 0x2b, 0x1d, 0xed, 0xfe, 0x6f, 0x68, 0x32, 0x4e, 0xf8, 0xe8, 0x7b, 0xc9, 0x86, 0xfa, + 0x03, 0xda, 0xa8, 0x28, 0x85, 0xbe, 0xda, 0xd4, 0xf1, 0xa7, 0x99, 0x8d, 0x3f, 0xa9, 0x12, 0x32, + 0x3c, 0x36, 0x0f, 0x5f, 0x6d, 0xca, 0x19, 0x93, 0x9b, 0xef, 0x0f, 0xec, 0xe6, 0xfb, 0x03, 0x8a, + 0x1e, 0x40, 0x4d, 0x87, 0xb8, 0x7b, 0x78, 0xbb, 0x31, 0x37, 0x8b, 0xd5, 0x5e, 0x94, 0xb2, 0x3a, + 0x09, 0x26, 0x4e, 0xe1, 0xd1, 0xd7, 0xa1, 0xae, 0x6c, 0xca, 0xd8, 0x46, 0x55, 0xad, 0xfb, 0x73, + 0x46, 0xbd, 0xfa, 0x5a, 0xca, 0xc2, 0xd9, 0x71, 0xe8, 0x67, 0x0e, 0x00, 0x7d, 0x24, 0x68, 0x28, + 0xcf, 0x86, 0x37, 0x6a, 0x57, 0x8a, 0x57, 0xeb, 0xd7, 0x77, 0x67, 0x63, 0xf6, 0xcd, 0x0d, 0x0b, + 0xbc, 0x11, 0x0a, 0x36, 0x6a, 0x23, 0xa3, 0x0e, 0xa4, 0x0c, 0x9c, 0x91, 0xbe, 0xf8, 0x3a, 0x5c, + 0x9e, 0x98, 0x82, 0x16, 0xa0, 0x78, 0x40, 0x47, 0xda, 0xd4, 0xb1, 0xfc, 0x89, 0x3e, 0x9f, 0xf8, + 0x1e, 0x65, 0xc6, 0xc6, 0xd9, 0x7c, 0xab, 0xf0, 0x9a, 0xe3, 0xfe, 0xc6, 0x31, 0xb7, 0xe5, 0x1d, + 0x46, 0xe2, 0x98, 0x32, 0xd4, 0x85, 0xb2, 0xd2, 0xd7, 0xdc, 0xe6, 0xef, 0xe4, 0x5c, 0x56, 0xea, + 0xad, 0xd4, 0x27, 0xd6, 0xe0, 0xd2, 0xb9, 0x72, 0x4a, 0xf5, 0xb5, 0xaa, 0xa6, 0xce, 0xb5, 0x43, + 0x69, 0x88, 0x15, 0xc7, 0x7d, 0x05, 0xe6, 0xb3, 0xe1, 0xfb, 0xd9, 0xee, 0xd8, 0xfd, 0xd0, 0x81, + 0x85, 0x37, 0x59, 0x34, 0x8c, 0xcd, 0xad, 0xd9, 0xf2, 0xc3, 0xae, 0xf4, 0x9d, 0x3d, 0x49, 0x9b, + 0xf4, 0x9d, 0x6a, 0x20, 0xd6, 0x3c, 0x69, 0xfb, 0x87, 0x63, 0xf7, 0xdc, 0xda, 0x7e, 0x72, 0x29, + 0x13, 0xbe, 0x54, 0xe3, 0xc0, 0x0f, 0xbb, 0xe6, 0x1e, 0x5b, 0x35, 0xa4, 0x2c, 0xac, 0x38, 0xee, + 0xaf, 0x1d, 0x48, 0xfc, 0xa5, 0x1c, 0xbd, 0x17, 0x75, 0x47, 0x93, 0x4a, 0xb7, 0xa3, 0xee, 0x08, + 0x2b, 0x8e, 0x4c, 0x08, 0xb8, 0x0a, 0xe4, 0xc6, 0x6b, 0xcf, 0x30, 0x21, 0xd0, 0xdf, 0xd8, 0xe0, + 0xbb, 0x7f, 0x2d, 0x01, 0xdc, 0x8e, 0xba, 0xb4, 0x23, 0x88, 0x18, 0x72, 0xb4, 0x08, 0x05, 0xbf, + 0x6b, 0x14, 0x03, 0x33, 0xa5, 0xb0, 0xb9, 0x8e, 0x0b, 0x7e, 0x57, 0xaa, 0x1d, 0x92, 0x41, 0x12, + 0xd8, 0xac, 0xda, 0xb7, 0xc9, 0x80, 0x62, 0xc5, 0x91, 0x37, 0xa7, 0xeb, 0xf3, 0x38, 0x20, 0x23, + 0x49, 0x34, 0xbb, 0x61, 0x6f, 0xce, 0x7a, 0xca, 0xc2, 0xd9, 0x71, 0x36, 0x62, 0x96, 0x4e, 0x8e, + 0x98, 0x52, 0xbd, 0x4c, 0xc4, 0x7c, 0x05, 0xca, 0x71, 0x9f, 0x70, 0x6a, 0x1c, 0x52, 0xe2, 0x34, + 0xcb, 0x3b, 0x92, 0xf8, 0xf4, 0x68, 0xb9, 0x26, 0xc7, 0xab, 0x0f, 0xac, 0x07, 0x4a, 0xcf, 0xc4, + 0x05, 0x61, 0x82, 0x76, 0x57, 0x45, 0x1e, 0xcf, 0xd4, 0x49, 0x40, 0x70, 0x8a, 0x87, 0x88, 0xf4, + 0x16, 0x83, 0x38, 0xa0, 0x1a, 0x7e, 0xee, 0xcc, 0xf0, 0x19, 0xcf, 0x62, 0x61, 0x70, 0x16, 0x53, + 0x1a, 0x62, 0x12, 0xc4, 0xab, 0xe3, 0x86, 0x38, 0x19, 0x81, 0xd1, 0x08, 0xea, 0x01, 0x11, 0x94, + 0x0b, 0x75, 0xaf, 0x1a, 0xb5, 0x99, 0xc4, 0x5e, 0xe3, 0x04, 0xda, 0x97, 0xa5, 0x96, 0xdb, 0x29, + 0x3c, 0xce, 0xca, 0x72, 0x7f, 0x5f, 0x82, 0x4b, 0x98, 0xea, 0xb8, 0x61, 0x92, 0xa5, 0x2f, 0x43, + 0x25, 0x66, 0x74, 0xdf, 0x7f, 0x64, 0x2c, 0xca, 0x1a, 0xe1, 0x8e, 0xa2, 0x62, 0xc3, 0x45, 0x3f, + 0x84, 0x4a, 0x40, 0xf6, 0x68, 0xc0, 0x1b, 0x05, 0xe5, 0x35, 0xef, 0x9e, 0x5f, 0xe1, 0x71, 0x0d, + 0x9a, 0xdb, 0x0a, 0x56, 0xfb, 0x4c, 0x2b, 0x5d, 0x13, 0xb1, 0x91, 0x29, 0x73, 0xe2, 0x3a, 0x09, + 0xc3, 0x48, 0xa8, 0xec, 0x8a, 0xab, 0x9c, 0xb0, 0x7e, 0xfd, 0xbb, 0x33, 0xd3, 0x61, 0x35, 0xc5, + 0xd6, 0x8a, 0xd8, 0x13, 0xcf, 0x70, 0x70, 0x56, 0x05, 0x69, 0xb1, 0x1e, 0xa3, 0xb2, 0x26, 0x6b, + 0x8f, 0x4c, 0x70, 0x3f, 0x97, 0xc5, 0xae, 0x25, 0x20, 0x38, 0xc5, 0x5b, 0xfc, 0x26, 0xd4, 0x33, + 0xdb, 0x72, 0x96, 0xb8, 0xb0, 0xf8, 0x6d, 0x58, 0x98, 0x5c, 0xcd, 0x99, 0xe2, 0xca, 0x4f, 0xcb, + 0xa9, 0x8d, 0xbc, 0xbd, 0xf7, 0x80, 0x7a, 0x2a, 0x0f, 0x93, 0xbe, 0x83, 0xc7, 0xc4, 0x9b, 0xca, + 0xc3, 0x6e, 0x27, 0x0c, 0x9c, 0x8e, 0xc9, 0x18, 0x4b, 0x71, 0x56, 0xc6, 0xa2, 0x55, 0x79, 0x2e, + 0x63, 0xf9, 0x31, 0x40, 0x4c, 0x18, 0x19, 0x50, 0x41, 0x19, 0x6f, 0x94, 0x94, 0x06, 0x5b, 0xf9, + 0x35, 0xd8, 0x49, 0x30, 0xd3, 0xc8, 0x6e, 0x49, 0x1c, 0x67, 0x44, 0xaa, 0x0a, 0xae, 0x37, 0x11, + 0xcf, 0x94, 0x2b, 0xcc, 0x55, 0xc1, 0x4d, 0x46, 0xc8, 0x34, 0xa7, 0x9d, 0xe4, 0xe0, 0x29, 0xe9, + 0x88, 0xd9, 0x3c, 0xb4, 0x32, 0xf3, 0x4a, 0x32, 0x8d, 0x5b, 0x63, 0x89, 0x69, 0x0e, 0x23, 0x76, + 0x3f, 0x76, 0xe0, 0x85, 0xa9, 0x7d, 0x47, 0x01, 0x14, 0x39, 0xf3, 0x4c, 0x7e, 0x73, 0x67, 0x86, + 0x27, 0xaa, 0x15, 0xd7, 0x4d, 0x80, 0x0e, 0xf3, 0xb0, 0x14, 0x23, 0x63, 0x69, 0x97, 0x72, 0x31, + 0x19, 0x4b, 0xd7, 0x29, 0x17, 0x58, 0x71, 0x64, 0xde, 0xf2, 0x85, 0x53, 0xb0, 0xa4, 0x5f, 0xe5, + 0xaa, 0x52, 0x9e, 0xf4, 0xab, 0xba, 0x7e, 0xc6, 0x86, 0x6b, 0xb3, 0xa3, 0xc2, 0xa9, 0xc5, 0xea, + 0xf2, 0x78, 0xf9, 0x59, 0x9b, 0x2a, 0x3d, 0xff, 0x5c, 0x48, 0x6f, 0xac, 0xa9, 0xce, 0xcf, 0x7c, + 0x63, 0x03, 0xa8, 0xec, 0x2b, 0x57, 0x68, 0xb2, 0x99, 0x9b, 0xb3, 0x72, 0xad, 0xba, 0x64, 0xd1, + 0xbf, 0xb1, 0x91, 0x71, 0xf2, 0x05, 0x29, 0xfe, 0x3f, 0x2f, 0x88, 0x7b, 0x19, 0x2e, 0x62, 0x2a, + 0xd8, 0xa8, 0x23, 0x18, 0x11, 0xb4, 0x37, 0x72, 0xff, 0x51, 0x00, 0x48, 0x5b, 0x61, 0xe8, 0xc5, + 0x8c, 0xf5, 0xb6, 0xeb, 0x06, 0xb8, 0xb8, 0x45, 0x47, 0xda, 0x94, 0x77, 0x93, 0xe4, 0x5b, 0x9f, + 0xe3, 0x1b, 0x63, 0xb9, 0xf3, 0xd3, 0xa3, 0xe5, 0x56, 0xa6, 0xaf, 0x39, 0xf0, 0x43, 0x3f, 0xd2, + 0x7f, 0x5f, 0xee, 0x45, 0xcd, 0xdb, 0x91, 0xf0, 0xf7, 0x7d, 0x7d, 0x97, 0xd2, 0xaa, 0xd6, 0xa4, + 0xdb, 0xfb, 0xf6, 0x5c, 0xf4, 0xf6, 0xb4, 0xf3, 0xf4, 0xf5, 0xfe, 0xc7, 0x89, 0xc4, 0x50, 0xe5, + 0x2b, 0xed, 0xa1, 0x77, 0x40, 0x85, 0x09, 0x66, 0xb9, 0x24, 0x69, 0xa4, 0x4c, 0x4b, 0xc8, 0x50, + 0xb0, 0x95, 0xe2, 0xfe, 0xbb, 0x00, 0x96, 0x8c, 0xae, 0x41, 0x95, 0x86, 0xdd, 0x38, 0xf2, 0x4d, + 0xf9, 0x92, 0xe9, 0x0f, 0x6d, 0x18, 0x3a, 0xb6, 0x23, 0xe4, 0xdd, 0xda, 0xd3, 0xaa, 0x16, 0xc6, + 0xef, 0x96, 0x11, 0x62, 0xb8, 0x72, 0x1c, 0xa3, 0xbd, 0xb4, 0x78, 0xb7, 0xe3, 0xb0, 0xa2, 0x62, + 0xc3, 0xd5, 0xdd, 0x29, 0x4e, 0xbd, 0x21, 0xd3, 0x09, 0x6e, 0x35, 0xdb, 0x9d, 0xd2, 0x74, 0x6c, + 0x47, 0xa0, 0x5d, 0xa8, 0x11, 0xcf, 0xa3, 0x9c, 0x6f, 0xd1, 0x91, 0xf1, 0xea, 0x5f, 0xca, 0x04, + 0xfe, 0xa6, 0x17, 0x31, 0x2a, 0xc3, 0x7c, 0x87, 0x7a, 0x8c, 0x8a, 0x2d, 0x3a, 0xea, 0xd0, 0x80, + 0x7a, 0x22, 0x62, 0xe9, 0x15, 0x5c, 0x4d, 0xe6, 0xe3, 0x14, 0x4a, 0xe2, 0xf2, 0x64, 0x8a, 0xf1, + 0xd2, 0x67, 0xc5, 0xb5, 0x2c, 0x9c, 0x42, 0xb9, 0xf7, 0xe5, 0x3e, 0x9f, 0x31, 0xdb, 0x93, 0xde, + 0x6b, 0xb8, 0x2f, 0xc7, 0x4d, 0xec, 0x70, 0x47, 0x51, 0xb1, 0xe1, 0x4a, 0xd7, 0x53, 0xe9, 0xa8, + 0xd3, 0x47, 0xef, 0x41, 0x55, 0x26, 0x38, 0xaa, 0xbf, 0xa3, 0x3d, 0xf4, 0x2b, 0xcf, 0x97, 0x0e, + 0xe9, 0xc8, 0x7e, 0x8b, 0x0a, 0x92, 0x06, 0xd6, 0x94, 0x86, 0x2d, 0x2a, 0xda, 0x87, 0x12, 0x8f, + 0xa9, 0x67, 0x3c, 0x54, 0x9e, 0x0e, 0xb7, 0xfa, 0xee, 0xc4, 0xd4, 0xcb, 0x14, 0xb0, 0x31, 0xf5, + 0xb0, 0xc2, 0x47, 0xa1, 0xac, 0xec, 0x64, 0xa9, 0x95, 0xbf, 0x8f, 0x6d, 0x24, 0x29, 0xb4, 0x6c, + 0x7d, 0x27, 0xbf, 0xb1, 0x91, 0xe2, 0xfe, 0xcd, 0x01, 0xd0, 0x03, 0xb7, 0x7d, 0x2e, 0xd0, 0xbb, + 0x53, 0x1b, 0xd9, 0x7c, 0xbe, 0x8d, 0x94, 0xb3, 0xd5, 0x36, 0x5a, 0xeb, 0x4d, 0x28, 0x99, 0x4d, + 0xa4, 0x50, 0xf6, 0x05, 0x1d, 0x24, 0x69, 0xfc, 0x1b, 0x79, 0xd7, 0x96, 0x16, 0xe6, 0x9b, 0x12, + 0x16, 0x6b, 0x74, 0xf7, 0x97, 0xc5, 0x64, 0x4d, 0x72, 0x63, 0xd1, 0x01, 0xcc, 0xe9, 0x78, 0xc7, + 0x1b, 0x4e, 0x6e, 0xb9, 0x0a, 0x28, 0x2d, 0xb0, 0xf4, 0x37, 0xc7, 0x89, 0x04, 0x14, 0x41, 0x55, + 0x30, 0xbf, 0xd7, 0x93, 0xd9, 0x9f, 0x5e, 0x65, 0x8e, 0x8e, 0xea, 0x5d, 0x8d, 0x94, 0xee, 0xa9, + 0x21, 0x70, 0x6c, 0x85, 0xa0, 0x1f, 0x00, 0x50, 0xdb, 0xfa, 0xcd, 0x1f, 0xc7, 0x26, 0xdb, 0xc8, + 0xba, 0xf7, 0x9d, 0x52, 0x71, 0x46, 0x9a, 0xf6, 0x71, 0x31, 0x25, 0xc2, 0x78, 0xae, 0x8c, 0x8f, + 0x93, 0x54, 0x6c, 0xb8, 0xee, 0xc7, 0x25, 0x98, 0xcf, 0x5a, 0x63, 0x5a, 0xa3, 0x3b, 0xe7, 0xaa, + 0xd1, 0x0b, 0x9f, 0x6d, 0x8d, 0x5e, 0xfc, 0x6c, 0x6b, 0xf4, 0xd2, 0x33, 0x6a, 0xf4, 0x43, 0x28, + 0x87, 0x51, 0x97, 0xf2, 0x46, 0x59, 0xd9, 0xcf, 0x9d, 0xd9, 0x78, 0x80, 0xa6, 0xdc, 0x52, 0x53, + 0xbc, 0xd8, 0x6b, 0xa3, 0x68, 0x58, 0x8b, 0x5b, 0xfc, 0x91, 0xee, 0xf4, 0x9c, 0x9a, 0x31, 0xdf, + 0xcf, 0x66, 0xcc, 0xb9, 0x7c, 0x60, 0xda, 0x50, 0xca, 0xe6, 0xdd, 0xff, 0x29, 0x83, 0x49, 0x50, + 0x6d, 0x2b, 0xc9, 0x39, 0xb5, 0x95, 0x74, 0x0d, 0xaa, 0x5d, 0x4a, 0xba, 0xf6, 0x4d, 0xb0, 0x98, + 0x5e, 0x92, 0x75, 0x43, 0xc7, 0x76, 0x04, 0xea, 0xda, 0x7e, 0x59, 0x71, 0x46, 0xfd, 0x32, 0x98, + 0xee, 0x95, 0x21, 0x06, 0xd5, 0xe4, 0xf5, 0xca, 0xe4, 0x31, 0x37, 0xf3, 0x57, 0x3a, 0xc6, 0xe3, + 0xcc, 0xcb, 0x95, 0x25, 0x34, 0x6c, 0xe5, 0x48, 0x99, 0x9e, 0x79, 0x1c, 0x33, 0xf9, 0x40, 0x0e, + 0x99, 0xe3, 0xcf, 0x6c, 0x5a, 0x66, 0x42, 0xc3, 0x56, 0x8e, 0x94, 0xc9, 0xe8, 0x58, 0x45, 0x37, + 0x83, 0x8c, 0x3d, 0x2b, 0x33, 0xa1, 0x61, 0x2b, 0x07, 0x85, 0x30, 0xf7, 0x3e, 0xdd, 0xeb, 0x47, + 0xd1, 0x81, 0x69, 0xa1, 0xbd, 0x79, 0x7e, 0x91, 0xef, 0x68, 0x20, 0x23, 0xb1, 0x2e, 0x2f, 0xa1, + 0x21, 0xe1, 0x44, 0x08, 0x7a, 0x08, 0x73, 0x3a, 0x3b, 0xe5, 0xaa, 0xa7, 0x96, 0x2f, 0x10, 0x2b, + 0x41, 0x26, 0x01, 0xb6, 0xf7, 0x5e, 0x7f, 0x73, 0x9c, 0xc8, 0x71, 0xff, 0x52, 0x80, 0xf9, 0xec, + 0x50, 0xb4, 0x07, 0x25, 0xe1, 0x9b, 0x5b, 0x90, 0xeb, 0xbe, 0x49, 0x1f, 0x65, 0xc4, 0xab, 0x77, + 0x2f, 0xf5, 0x7a, 0xa2, 0xb0, 0xd1, 0x20, 0x7d, 0x88, 0x2b, 0xcc, 0xf4, 0x21, 0xae, 0x7e, 0xe2, + 0x23, 0xdc, 0x9e, 0x79, 0x84, 0xd3, 0xad, 0x99, 0x1c, 0x4b, 0x4a, 0x9f, 0x5c, 0xa7, 0x9e, 0xf2, + 0x7e, 0x25, 0xf3, 0x42, 0x7d, 0x23, 0xaf, 0x98, 0xce, 0xf1, 0x84, 0x1f, 0xc9, 0x74, 0x8b, 0x5f, + 0xd4, 0xef, 0xf9, 0x85, 0xf1, 0xd2, 0x2a, 0x79, 0x8c, 0x47, 0x1f, 0x3a, 0x00, 0x44, 0x08, 0xe6, + 0xef, 0x0d, 0x05, 0x4d, 0x3a, 0x4a, 0x3b, 0x79, 0xbd, 0x47, 0x73, 0xd5, 0x42, 0x4e, 0x3c, 0xd7, + 0xa4, 0x0c, 0x9c, 0x91, 0xbb, 0xf8, 0x3a, 0x5c, 0x9e, 0x98, 0x72, 0xd6, 0x8e, 0x06, 0xa4, 0x36, + 0x80, 0xb6, 0xa0, 0xac, 0x62, 0x9f, 0x31, 0xac, 0xb3, 0x04, 0x3a, 0xd5, 0x00, 0x50, 0x31, 0x14, + 0x6b, 0x0c, 0x74, 0x13, 0x4a, 0x5c, 0x44, 0xf1, 0x39, 0x62, 0xb2, 0x3a, 0xb7, 0x8e, 0x88, 0x62, + 0xac, 0x10, 0xdc, 0x9f, 0x17, 0x61, 0xce, 0x24, 0x38, 0xcf, 0x11, 0x00, 0xb2, 0x4e, 0x68, 0x66, + 0x6d, 0x03, 0x9d, 0xfa, 0x9f, 0xea, 0x84, 0xfa, 0x69, 0x10, 0x2f, 0xce, 0xea, 0xb5, 0xbc, 0x7e, + 0x62, 0x0e, 0xf0, 0x81, 0x03, 0x17, 0x19, 0x8d, 0x03, 0xdb, 0x12, 0x30, 0x01, 0xe5, 0xcd, 0x3c, + 0x6b, 0xcc, 0x74, 0x18, 0xda, 0x2f, 0x1c, 0x1f, 0x2d, 0x8f, 0x37, 0x1d, 0xf0, 0xb8, 0x40, 0xf7, + 0x4f, 0x05, 0x28, 0xde, 0xc3, 0x9b, 0xaa, 0x1c, 0xf3, 0xfa, 0xd4, 0x1e, 0x46, 0x5a, 0x49, 0x28, + 0x2a, 0x36, 0x5c, 0x79, 0x64, 0x43, 0x6e, 0x7a, 0x38, 0x99, 0x23, 0xbb, 0xc7, 0x29, 0xc3, 0x8a, + 0x23, 0x63, 0x76, 0x4c, 0x38, 0x7f, 0x3f, 0x62, 0xc9, 0x4b, 0x98, 0x8d, 0xd9, 0x3b, 0x86, 0x8e, + 0xed, 0x08, 0x89, 0xd7, 0x8f, 0xb8, 0x30, 0xe9, 0x92, 0xc5, 0xbb, 0x19, 0x71, 0x81, 0x15, 0x47, + 0xb5, 0xaf, 0x22, 0x26, 0x54, 0xdc, 0x2b, 0x67, 0xda, 0x57, 0x11, 0x13, 0x58, 0x71, 0x6c, 0x83, + 0xab, 0x72, 0x6a, 0x83, 0xeb, 0x25, 0x28, 0x3f, 0x1c, 0x52, 0x36, 0x52, 0x51, 0x25, 0xf3, 0xd2, + 0x77, 0x47, 0x12, 0xb1, 0xe6, 0x49, 0xc5, 0xf7, 0x19, 0xe9, 0x0d, 0x68, 0x28, 0xcc, 0x0b, 0x8b, + 0x55, 0xfc, 0x86, 0xa1, 0x63, 0x3b, 0xc2, 0xf5, 0xa0, 0x9e, 0xf9, 0xef, 0x9e, 0xe7, 0xf8, 0x8f, + 0x90, 0xeb, 0x00, 0x87, 0x94, 0xf9, 0xfb, 0x23, 0x8f, 0x32, 0x61, 0x1e, 0x37, 0xad, 0x47, 0xd8, + 0x55, 0x9c, 0x35, 0xca, 0x04, 0xce, 0x8c, 0x72, 0x29, 0x5c, 0x1c, 0x0b, 0x63, 0x67, 0xef, 0x62, + 0x0c, 0xa8, 0xe8, 0x47, 0xdd, 0xc9, 0x1a, 0xfb, 0x96, 0xa2, 0x62, 0xc3, 0x6d, 0x37, 0x1f, 0x3f, + 0x59, 0xba, 0xf0, 0xc9, 0x93, 0xa5, 0x0b, 0x9f, 0x3e, 0x59, 0xba, 0xf0, 0xc1, 0xf1, 0x92, 0xf3, + 0xf8, 0x78, 0xc9, 0xf9, 0xe4, 0x78, 0xc9, 0xf9, 0xf4, 0x78, 0xc9, 0xf9, 0xe7, 0xf1, 0x92, 0xf3, + 0xd1, 0xbf, 0x96, 0x2e, 0xdc, 0xaf, 0x26, 0x46, 0xf6, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa1, + 0x88, 0xc8, 0x89, 0xc7, 0x27, 0x00, 0x00, } diff --git a/pkg/apis/sensor/v1alpha1/types.go b/pkg/apis/sensor/v1alpha1/types.go index 5053b7245c..91f9a7bf69 100644 --- a/pkg/apis/sensor/v1alpha1/types.go +++ b/pkg/apis/sensor/v1alpha1/types.go @@ -85,7 +85,7 @@ type SensorSpec struct { Triggers []Trigger `json:"triggers" protobuf:"bytes,2,rep,name=triggers"` // Escalation describes the policy for signal failures and violations of the dependency's constraints. - Escalation EscalationPolicy `json:"escalation,omitempty" protobuf:"bytes,3,opt,name=escalation"` + Escalation *EscalationPolicy `json:"escalation,omitempty" protobuf:"bytes,3,opt,name=escalation"` // Repeat is a flag that determines if the sensor status should be reset after completion. // NOTE: functionality is currently expiremental and part of an initiative to define @@ -466,7 +466,7 @@ type ArtifactLocation struct { // S3Artifact contains information about an artifact in S3 type S3Artifact struct { - S3Bucket `json:",inline"` + S3Bucket `json:",inline" protobuf:"bytes,4,opt,name=s3Bucket"` Key string `json:"key,omitempty" protobuf:"bytes,1,opt,name=key"` Event minio.NotificationEventType `json:"event,omitempty" protobuf:"bytes,2,opt,name=event"` Filter *S3Filter `json:"filter,omitempty" protobuf:"bytes,3,opt,name=filter"` diff --git a/pkg/apis/sensor/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/sensor/v1alpha1/zz_generated.deepcopy.go index db2f76409a..07d6b6d212 100644 --- a/pkg/apis/sensor/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/sensor/v1alpha1/zz_generated.deepcopy.go @@ -553,7 +553,11 @@ func (in *SensorSpec) DeepCopyInto(out *SensorSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - in.Escalation.DeepCopyInto(&out.Escalation) + if in.Escalation != nil { + in, out := &in.Escalation, &out.Escalation + *out = new(EscalationPolicy) + (*in).DeepCopyInto(*out) + } return } diff --git a/sdk/signal.pb.go b/sdk/signal.pb.go index 275d22c881..4827486b52 100644 --- a/sdk/signal.pb.go +++ b/sdk/signal.pb.go @@ -37,7 +37,7 @@ func (m *SignalContext) Reset() { *m = SignalContext{} } func (m *SignalContext) String() string { return proto.CompactTextString(m) } func (*SignalContext) ProtoMessage() {} func (*SignalContext) Descriptor() ([]byte, []int) { - return fileDescriptor_signal_420d13aed200bc99, []int{0} + return fileDescriptor_signal_3ee01d8cbc721879, []int{0} } func (m *SignalContext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -92,7 +92,7 @@ func (m *EventContext) Reset() { *m = EventContext{} } func (m *EventContext) String() string { return proto.CompactTextString(m) } func (*EventContext) ProtoMessage() {} func (*EventContext) Descriptor() ([]byte, []int) { - return fileDescriptor_signal_420d13aed200bc99, []int{1} + return fileDescriptor_signal_3ee01d8cbc721879, []int{1} } func (m *EventContext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -751,9 +751,9 @@ var ( ErrIntOverflowSignal = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("sdk/signal.proto", fileDescriptor_signal_420d13aed200bc99) } +func init() { proto.RegisterFile("sdk/signal.proto", fileDescriptor_signal_3ee01d8cbc721879) } -var fileDescriptor_signal_420d13aed200bc99 = []byte{ +var fileDescriptor_signal_3ee01d8cbc721879 = []byte{ // 325 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x91, 0xc1, 0x4a, 0x03, 0x31, 0x14, 0x45, 0x8d, 0xd6, 0x22, 0x51, 0x41, 0xb3, 0x90, 0x32, 0xc2, 0x50, 0xea, 0xa6, 0x1b, 0x5f,