diff --git a/generated/tapi/tapi.go b/generated/tapi/tapi.go index 783d9d618af0c1a33b7af49c83898b8141955f6c..946c8dd6d08c27bc4c5ff69f5ca42d2b0e06e579 100644 --- a/generated/tapi/tapi.go +++ b/generated/tapi/tapi.go @@ -3,4 +3,4 @@ package tapi // This file is a placeholder in order to ensure that Go does not // find this directory to contain an empty package. -//go:generate go run $GOPATH/src/github.com/openconfig/ygot/generator/generator.go -path=../../yang -output_file=./yang.go -package_name=tapi -generate_fakeroot -fakeroot_name=device -shorten_enum_leaf_names -exclude_modules=ietf-interfaces ../../models/tapi-topology@2019-03-31.yang ../../models/tapi-connectivity@2019-03-31.yang +//go:generate go run $GOPATH/src/github.com/openconfig/ygot/generator/generator.go -path=../../yang -output_file=./yang.go -package_name=tapi -generate_fakeroot -fakeroot_name=device -shorten_enum_leaf_names -exclude_modules=ietf-interfaces ../../models/tapi-topology@2019-03-31.yang ../../models/tapi-connectivity@2019-03-31.yang ../../models/tapi-common@2019-03-31.yang ../../models/tapi-photonic-media@2019-03-31.yang diff --git a/generated/tapi/yang.go b/generated/tapi/yang.go index 76fc05c07ff3f51bc7582abdc63b3570681b9f5e..20e8d12d7f8decc28dec2e76af6461fb54de811e 100644 --- a/generated/tapi/yang.go +++ b/generated/tapi/yang.go @@ -8,6 +8,8 @@ This package was generated by /Users/mk/go/pkg/mod/github.com/openconfig/ygot@v0 using the following YANG input files: - ../../models/tapi-topology@2019-03-31.yang - ../../models/tapi-connectivity@2019-03-31.yang + - ../../models/tapi-common@2019-03-31.yang + - ../../models/tapi-photonic-media@2019-03-31.yang Imported modules were sourced from: - ../../yang/... */ @@ -2385,8 +2387,10 @@ type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint struct LayerProtocolQualifier E_TapiConnectivity_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-connectivity"` LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-connectivity"` LocalId *string `path:"local-id" module:"tapi-connectivity"` + MediaChannelConnectivityServiceEndPointSpec *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec `path:"media-channel-connectivity-service-end-point-spec" module:"tapi-photonic-media"` Name map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name `path:"name" module:"tapi-connectivity"` OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-connectivity"` + OtsiConnectivityServiceEndPointSpec *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec `path:"otsi-connectivity-service-end-point-spec" module:"tapi-photonic-media"` PeerFwdConnectivityServiceEndPoint *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint `path:"peer-fwd-connectivity-service-end-point" module:"tapi-connectivity"` ProtectingConnectivityServiceEndPoint *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ProtectingConnectivityServiceEndPoint `path:"protecting-connectivity-service-end-point" module:"tapi-connectivity"` ProtectionRole E_TapiConnectivity_ProtectionRole `path:"protection-role" module:"tapi-connectivity"` @@ -2593,6 +2597,224 @@ func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Con func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec struct { + McConfig *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig `path:"mc-config" module:"tapi-photonic-media"` + PowerManagementConfig *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig `path:"power-management-config" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/mc-config YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig struct { + Spectrum *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum `path:"spectrum" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/mc-config/spectrum YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum struct { + FrequencyConstraint *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum_FrequencyConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/mc-config/spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum_FrequencyConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum_FrequencyConstraint) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum_FrequencyConstraint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_McConfig_Spectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/power-management-config YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig struct { + ExpectedMaximumInputPower *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMaximumInputPower `path:"expected-maximum-input-power" module:"tapi-photonic-media"` + ExpectedMinimumInputPower *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMinimumInputPower `path:"expected-minimum-input-power" module:"tapi-photonic-media"` + IntendedMaximumOutputPower *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMaximumOutputPower `path:"intended-maximum-output-power" module:"tapi-photonic-media"` + IntendedMinimumOutputPower *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMinimumOutputPower `path:"intended-minimum-output-power" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMaximumInputPower represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/power-management-config/expected-maximum-input-power YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMaximumInputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMaximumInputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMaximumInputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMaximumInputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMaximumInputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMaximumInputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMinimumInputPower represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/power-management-config/expected-minimum-input-power YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMinimumInputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMinimumInputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMinimumInputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMinimumInputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMinimumInputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_ExpectedMinimumInputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMaximumOutputPower represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/power-management-config/intended-maximum-output-power YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMaximumOutputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMaximumOutputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMaximumOutputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMaximumOutputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMaximumOutputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMaximumOutputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMinimumOutputPower represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/power-management-config/intended-minimum-output-power YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMinimumOutputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMinimumOutputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMinimumOutputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMinimumOutputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMinimumOutputPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_MediaChannelConnectivityServiceEndPointSpec_PowerManagementConfig_IntendedMinimumOutputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + // TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/name YANG schema element. type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name struct { Value *string `path:"value" module:"tapi-connectivity"` @@ -2628,6 +2850,204 @@ func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Nam func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec struct { + OtsiConfig *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig `path:"otsi-config" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig struct { + ApplicationIdentifier *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_ApplicationIdentifier `path:"application-identifier" module:"tapi-photonic-media"` + CentralFrequency *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency `path:"central-frequency" module:"tapi-photonic-media"` + LaserControl E_TapiPhotonicMedia_LaserControlType `path:"laser-control" module:"tapi-photonic-media"` + Modulation E_TapiPhotonicMedia_ModulationTechnique `path:"modulation" module:"tapi-photonic-media"` + Spectrum *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum `path:"spectrum" module:"tapi-photonic-media"` + TotalPowerWarnThresholdLower *float64 `path:"total-power-warn-threshold-lower" module:"tapi-photonic-media"` + TotalPowerWarnThresholdUpper *float64 `path:"total-power-warn-threshold-upper" module:"tapi-photonic-media"` + TransmitPower *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_TransmitPower `path:"transmit-power" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_ApplicationIdentifier represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/application-identifier YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_ApplicationIdentifier struct { + ApplicationCode *string `path:"application-code" module:"tapi-photonic-media"` + ApplicationIdentifierType E_TapiPhotonicMedia_ApplicationIdentifierType `path:"application-identifier-type" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_ApplicationIdentifier implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_ApplicationIdentifier) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_ApplicationIdentifier) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_ApplicationIdentifier"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_ApplicationIdentifier) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/central-frequency YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency struct { + CentralFrequency *uint64 `path:"central-frequency" module:"tapi-photonic-media"` + FrequencyConstraint *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency_FrequencyConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/central-frequency/frequency-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency_FrequencyConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency_FrequencyConstraint) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency_FrequencyConstraint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_CentralFrequency_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/spectrum YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum struct { + FrequencyConstraint *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum_FrequencyConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum_FrequencyConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum_FrequencyConstraint) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum_FrequencyConstraint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_Spectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_TransmitPower represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/transmit-power YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_TransmitPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_TransmitPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_TransmitPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_TransmitPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_TransmitPower"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_OtsiConnectivityServiceEndPointSpec_OtsiConfig_TransmitPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + // TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/peer-fwd-connectivity-service-end-point YANG schema element. type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint struct { ConnectivityServiceEndPointLocalId *string `path:"connectivity-service-end-point-local-id" module:"tapi-connectivity"` @@ -5306,8 +5726,10 @@ type TapiCommon_Context_ServiceInterfacePoint struct { Direction E_TapiCommon_PortDirection `path:"direction" module:"tapi-common"` LayerProtocolName E_TapiCommon_LayerProtocolName `path:"layer-protocol-name" module:"tapi-common"` LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-common"` + MediaChannelServiceInterfacePointSpec *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec `path:"media-channel-service-interface-point-spec" module:"tapi-photonic-media"` Name map[string]*TapiCommon_Context_ServiceInterfacePoint_Name `path:"name" module:"tapi-common"` OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-common"` + OtsiServiceInterfacePointSpec *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec `path:"otsi-service-interface-point-spec" module:"tapi-photonic-media"` SupportedLayerProtocolQualifier []E_TapiCommon_LayerProtocolQualifier `path:"supported-layer-protocol-qualifier" module:"tapi-common"` TotalPotentialCapacity *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-common"` Uuid *string `path:"uuid" module:"tapi-common"` @@ -5416,31 +5838,20 @@ func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize) V func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_ServiceInterfacePoint_Name represents the /tapi-common/context/service-interface-point/name YANG schema element. -type TapiCommon_Context_ServiceInterfacePoint_Name struct { - Value *string `path:"value" module:"tapi-common"` - ValueName *string `path:"value-name" module:"tapi-common"` +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec struct { + McPool *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool `path:"mc-pool" module:"tapi-photonic-media"` + PowerManagementCapability *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability `path:"power-management-capability" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_ServiceInterfacePoint_Name) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_ServiceInterfacePoint_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") - } - - return map[string]interface{}{ - "value-name": *t.ValueName, - }, nil -} +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_ServiceInterfacePoint_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec"], t, opts...); err != nil { return err } return nil @@ -5448,176 +5859,135 @@ func (t *TapiCommon_Context_ServiceInterfacePoint_Name) Validate(opts ...ygot.Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_ServiceInterfacePoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity represents the /tapi-common/context/service-interface-point/total-potential-capacity YANG schema element. -type TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-common"` +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool struct { + AvailableSpectrum map[TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_Key]*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum `path:"available-spectrum" module:"tapi-photonic-media"` + OccupiedSpectrum map[TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_Key]*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum `path:"occupied-spectrum" module:"tapi-photonic-media"` + SupportableSpectrum map[TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_Key]*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum `path:"supportable-spectrum" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) IsYANGGoStruct() {} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity"], t, opts...); err != nil { - return err - } - return nil -} +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool) IsYANGGoStruct() {} -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/service-interface-point/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-common"` - Value *uint64 `path:"value" module:"tapi-common"` +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_Key represents the key for list AvailableSpectrum of element /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_Key struct { + UpperFrequency uint64 `path:"upper-frequency"` + LowerFrequency uint64 `path:"lower-frequency"` } -// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { - return err - } - return nil +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_Key represents the key for list OccupiedSpectrum of element /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_Key struct { + UpperFrequency uint64 `path:"upper-frequency"` + LowerFrequency uint64 `path:"lower-frequency"` } -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_TopologyContext represents the /tapi-common/context/topology-context YANG schema element. -type TapiCommon_Context_TopologyContext struct { - NwTopologyService *TapiCommon_Context_TopologyContext_NwTopologyService `path:"nw-topology-service" module:"tapi-topology"` - Topology map[string]*TapiCommon_Context_TopologyContext_Topology `path:"topology" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_Key represents the key for list SupportableSpectrum of element /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_Key struct { + UpperFrequency uint64 `path:"upper-frequency"` + LowerFrequency uint64 `path:"lower-frequency"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext) IsYANGGoStruct() {} - -// NewTopology creates a new entry in the Topology list of the -// TapiCommon_Context_TopologyContext struct. The keys of the list are populated from the input +// NewAvailableSpectrum creates a new entry in the AvailableSpectrum list of the +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext) NewTopology(Uuid string) (*TapiCommon_Context_TopologyContext_Topology, error){ +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool) NewAvailableSpectrum(UpperFrequency uint64, LowerFrequency uint64) (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Topology == nil { - t.Topology = make(map[string]*TapiCommon_Context_TopologyContext_Topology) + if t.AvailableSpectrum == nil { + t.AvailableSpectrum = make(map[TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_Key]*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum) } - key := Uuid + key := TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_Key{ + UpperFrequency: UpperFrequency, + LowerFrequency: LowerFrequency, + } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Topology[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Topology", key) - } - - t.Topology[key] = &TapiCommon_Context_TopologyContext_Topology{ - Uuid: &Uuid, + if _, ok := t.AvailableSpectrum[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AvailableSpectrum", key) } - return t.Topology[key], nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext"], t, opts...); err != nil { - return err + t.AvailableSpectrum[key] = &TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum{ + UpperFrequency: &UpperFrequency, + LowerFrequency: &LowerFrequency, } - return nil -} -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_TopologyContext_NwTopologyService represents the /tapi-common/context/topology-context/nw-topology-service YANG schema element. -type TapiCommon_Context_TopologyContext_NwTopologyService struct { - Name map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Name `path:"name" module:"tapi-topology"` - Topology map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Topology `path:"topology" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` + return t.AvailableSpectrum[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_NwTopologyService) IsYANGGoStruct() {} - -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_NwTopologyService struct. The keys of the list are populated from the input +// NewOccupiedSpectrum creates a new entry in the OccupiedSpectrum list of the +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_NwTopologyService_Name, error){ +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool) NewOccupiedSpectrum(UpperFrequency uint64, LowerFrequency uint64) (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Name) + if t.OccupiedSpectrum == nil { + t.OccupiedSpectrum = make(map[TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_Key]*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum) } - key := ValueName + key := TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_Key{ + UpperFrequency: UpperFrequency, + LowerFrequency: LowerFrequency, + } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) + if _, ok := t.OccupiedSpectrum[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list OccupiedSpectrum", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_NwTopologyService_Name{ - ValueName: &ValueName, + t.OccupiedSpectrum[key] = &TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum{ + UpperFrequency: &UpperFrequency, + LowerFrequency: &LowerFrequency, } - return t.Name[key], nil + return t.OccupiedSpectrum[key], nil } -// NewTopology creates a new entry in the Topology list of the -// TapiCommon_Context_TopologyContext_NwTopologyService struct. The keys of the list are populated from the input +// NewSupportableSpectrum creates a new entry in the SupportableSpectrum list of the +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService) NewTopology(TopologyUuid string) (*TapiCommon_Context_TopologyContext_NwTopologyService_Topology, error){ +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool) NewSupportableSpectrum(UpperFrequency uint64, LowerFrequency uint64) (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Topology == nil { - t.Topology = make(map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Topology) + if t.SupportableSpectrum == nil { + t.SupportableSpectrum = make(map[TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_Key]*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum) } - key := TopologyUuid + key := TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_Key{ + UpperFrequency: UpperFrequency, + LowerFrequency: LowerFrequency, + } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Topology[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Topology", key) + if _, ok := t.SupportableSpectrum[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list SupportableSpectrum", key) } - t.Topology[key] = &TapiCommon_Context_TopologyContext_NwTopologyService_Topology{ - TopologyUuid: &TopologyUuid, + t.SupportableSpectrum[key] = &TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum{ + UpperFrequency: &UpperFrequency, + LowerFrequency: &LowerFrequency, } - return t.Topology[key], nil + return t.SupportableSpectrum[key], nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool"], t, opts...); err != nil { return err } return nil @@ -5625,34 +5995,40 @@ func (t *TapiCommon_Context_TopologyContext_NwTopologyService) Validate(opts ... // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_NwTopologyService_Name represents the /tapi-common/context/topology-context/nw-topology-service/name YANG schema element. -type TapiCommon_Context_TopologyContext_NwTopologyService_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/available-spectrum YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum struct { + FrequencyConstraint *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_NwTopologyService_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_NwTopologyService_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum struct, which is a YANG list entry. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum) ΛListKeyMap() (map[string]interface{}, error) { + if t.LowerFrequency == nil { + return nil, fmt.Errorf("nil value for key LowerFrequency") + } + + if t.UpperFrequency == nil { + return nil, fmt.Errorf("nil value for key UpperFrequency") } return map[string]interface{}{ - "value-name": *t.ValueName, + "lower-frequency": *t.LowerFrequency, + "upper-frequency": *t.UpperFrequency, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum"], t, opts...); err != nil { return err } return nil @@ -5660,33 +6036,64 @@ func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) Validate(opt // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_NwTopologyService_Topology represents the /tapi-common/context/topology-context/nw-topology-service/topology YANG schema element. -type TapiCommon_Context_TopologyContext_NwTopologyService_Topology struct { - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_FrequencyConstraint represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/available-spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService_Topology implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_FrequencyConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_NwTopologyService_Topology) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_FrequencyConstraint) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_NwTopologyService_Topology struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) ΛListKeyMap() (map[string]interface{}, error) { - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_FrequencyConstraint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_AvailableSpectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/occupied-spectrum YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum struct { + FrequencyConstraint *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum struct, which is a YANG list entry. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum) ΛListKeyMap() (map[string]interface{}, error) { + if t.LowerFrequency == nil { + return nil, fmt.Errorf("nil value for key LowerFrequency") + } + + if t.UpperFrequency == nil { + return nil, fmt.Errorf("nil value for key UpperFrequency") } return map[string]interface{}{ - "topology-uuid": *t.TopologyUuid, + "lower-frequency": *t.LowerFrequency, + "upper-frequency": *t.UpperFrequency, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService_Topology"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum"], t, opts...); err != nil { return err } return nil @@ -5694,159 +6101,186 @@ func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) Validate // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology represents the /tapi-common/context/topology-context/topology YANG schema element. -type TapiCommon_Context_TopologyContext_Topology struct { - BoundaryNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint `path:"boundary-node-edge-point" module:"tapi-topology"` - LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` - Link map[string]*TapiCommon_Context_TopologyContext_Topology_Link `path:"link" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Name `path:"name" module:"tapi-topology"` - Node map[string]*TapiCommon_Context_TopologyContext_Topology_Node `path:"node" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/occupied-spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key represents the key for list BoundaryNodeEdgePoint of element /tapi-common/context/topology-context/topology. -type TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint"], t, opts...); err != nil { + return err + } + return nil } -// NewBoundaryNodeEdgePoint creates a new entry in the BoundaryNodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology) NewBoundaryNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint, error){ +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - // Initialise the list within the receiver struct if it has not already been - // created. - if t.BoundaryNodeEdgePoint == nil { - t.BoundaryNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) - } - key := TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, - } +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/supportable-spectrum YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum struct { + FrequencyConstraint *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.BoundaryNodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list BoundaryNodeEdgePoint", key) +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum struct, which is a YANG list entry. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum) ΛListKeyMap() (map[string]interface{}, error) { + if t.LowerFrequency == nil { + return nil, fmt.Errorf("nil value for key LowerFrequency") } - t.BoundaryNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, + if t.UpperFrequency == nil { + return nil, fmt.Errorf("nil value for key UpperFrequency") } - return t.BoundaryNodeEdgePoint[key], nil + return map[string]interface{}{ + "lower-frequency": *t.LowerFrequency, + "upper-frequency": *t.UpperFrequency, + }, nil } -// NewLink creates a new entry in the Link list of the -// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology) NewLink(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Link, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Link == nil { - t.Link = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum"], t, opts...); err != nil { + return err } + return nil +} - key := Uuid - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Link[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Link", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.Link[key] = &TapiCommon_Context_TopologyContext_Topology_Link{ - Uuid: &Uuid, - } - return t.Link[key], nil +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_FrequencyConstraint represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/supportable-spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Name, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_FrequencyConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_FrequencyConstraint) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Name) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_FrequencyConstraint"], t, opts...); err != nil { + return err } + return nil +} - key := ValueName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_McPool_SupportableSpectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Name{ - ValueName: &ValueName, - } - return t.Name[key], nil +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/power-management-capability YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability struct { + SupportableMaximumOutputPower *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower `path:"supportable-maximum-output-power" module:"tapi-photonic-media"` + SupportableMinimumOutputPower *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower `path:"supportable-minimum-output-power" module:"tapi-photonic-media"` + TolerableMaximumInputPower *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower `path:"tolerable-maximum-input-power" module:"tapi-photonic-media"` + TolerableMinimumInputPower *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower `path:"tolerable-minimum-input-power" module:"tapi-photonic-media"` } -// NewNode creates a new entry in the Node list of the -// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology) NewNode(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Node == nil { - t.Node = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability"], t, opts...); err != nil { + return err } + return nil +} - key := Uuid +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Node[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Node", key) - } - t.Node[key] = &TapiCommon_Context_TopologyContext_Topology_Node{ - Uuid: &Uuid, +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/power-management-capability/supportable-maximum-output-power YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower"], t, opts...); err != nil { + return err } + return nil +} - return t.Node[key], nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/power-management-capability/supportable-minimum-output-power YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology) ΛListKeyMap() (map[string]interface{}, error) { - if t.Uuid == nil { - return nil, fmt.Errorf("nil value for key Uuid") +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower"], t, opts...); err != nil { + return err } + return nil +} - return map[string]interface{}{ - "uuid": *t.Uuid, - }, nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/power-management-capability/tolerable-maximum-input-power YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower) IsYANGGoStruct() {} + // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower"], t, opts...); err != nil { return err } return nil @@ -5854,45 +6288,58 @@ func (t *TapiCommon_Context_TopologyContext_Topology) Validate(opts ...ygot.Vali // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint represents the /tapi-common/context/topology-context/topology/boundary-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower represents the /tapi-common/context/service-interface-point/media-channel-service-interface-point-spec/power-management-capability/tolerable-minimum-input-power YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower"], t, opts...); err != nil { + return err } + return nil +} - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_MediaChannelServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") + +// TapiCommon_Context_ServiceInterfacePoint_Name represents the /tapi-common/context/service-interface-point/name YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_Name struct { + Value *string `path:"value" module:"tapi-common"` + ValueName *string `path:"value-name" module:"tapi-common"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ServiceInterfacePoint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } return map[string]interface{}{ - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "value-name": *t.ValueName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_Name"], t, opts...); err != nil { return err } return nil @@ -5900,229 +6347,148 @@ func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) Vali // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link represents the /tapi-common/context/topology-context/topology/link YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link struct { - AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` - DeliveryOrderCharacteristic *string `path:"delivery-order-characteristic" module:"tapi-topology"` - Direction E_TapiTopology_ForwardingDirection `path:"direction" module:"tapi-topology"` - ErrorCharacteristic *string `path:"error-characteristic" module:"tapi-topology"` - LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` - LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` - LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` - LossCharacteristic *string `path:"loss-characteristic" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Link_Name `path:"name" module:"tapi-topology"` - NodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint `path:"node-edge-point" module:"tapi-topology"` - OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` - RepeatDeliveryCharacteristic *string `path:"repeat-delivery-characteristic" module:"tapi-topology"` - ResilienceType *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType `path:"resilience-type" module:"tapi-topology"` - RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` - ServerIntegrityProcessCharacteristic *string `path:"server-integrity-process-characteristic" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - TransitionedLayerProtocolName []string `path:"transitioned-layer-protocol-name" module:"tapi-topology"` - UnavailableTimeCharacteristic *string `path:"unavailable-time-characteristic" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` - ValidationMechanism map[string]*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism `path:"validation-mechanism" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec struct { + OtsiCapability *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability `path:"otsi-capability" module:"tapi-photonic-media"` + PowerManagementCapability *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability `path:"power-management-capability" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key represents the key for list NodeEdgePoint of element /tapi-common/context/topology-context/topology/link. -type TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec"], t, opts...); err != nil { + return err + } + return nil } -// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.CostCharacteristic == nil { - t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - key := CostName - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.CostCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) - } +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability struct { + SupportableApplicationIdentifier map[string]*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier `path:"supportable-application-identifier" module:"tapi-photonic-media"` + SupportableCentralFrequencySpectrumBand map[TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_Key]*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand `path:"supportable-central-frequency-spectrum-band" module:"tapi-photonic-media"` + SupportableModulation []E_TapiPhotonicMedia_ModulationTechnique `path:"supportable-modulation" module:"tapi-photonic-media"` + TotalPowerWarnThreshold *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_TotalPowerWarnThreshold `path:"total-power-warn-threshold" module:"tapi-photonic-media"` +} - t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic{ - CostName: &CostName, - } +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability) IsYANGGoStruct() {} - return t.CostCharacteristic[key], nil +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_Key represents the key for list SupportableCentralFrequencySpectrumBand of element /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_Key struct { + LowerCentralFrequency uint64 `path:"lower-central-frequency"` + UpperCentralFrequency uint64 `path:"upper-central-frequency"` } -// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// NewSupportableApplicationIdentifier creates a new entry in the SupportableApplicationIdentifier list of the +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic, error){ +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability) NewSupportableApplicationIdentifier(ApplicationCode string) (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.LatencyCharacteristic == nil { - t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) + if t.SupportableApplicationIdentifier == nil { + t.SupportableApplicationIdentifier = make(map[string]*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier) } - key := TrafficPropertyName + key := ApplicationCode // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.LatencyCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + if _, ok := t.SupportableApplicationIdentifier[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list SupportableApplicationIdentifier", key) } - t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic{ - TrafficPropertyName: &TrafficPropertyName, + t.SupportableApplicationIdentifier[key] = &TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier{ + ApplicationCode: &ApplicationCode, } - return t.LatencyCharacteristic[key], nil + return t.SupportableApplicationIdentifier[key], nil } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// NewSupportableCentralFrequencySpectrumBand creates a new entry in the SupportableCentralFrequencySpectrumBand list of the +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Link_Name, error){ +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability) NewSupportableCentralFrequencySpectrumBand(LowerCentralFrequency uint64, UpperCentralFrequency uint64) (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_Name) + if t.SupportableCentralFrequencySpectrumBand == nil { + t.SupportableCentralFrequencySpectrumBand = make(map[TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_Key]*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand) } - key := ValueName + key := TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_Key{ + LowerCentralFrequency: LowerCentralFrequency, + UpperCentralFrequency: UpperCentralFrequency, + } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) + if _, ok := t.SupportableCentralFrequencySpectrumBand[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list SupportableCentralFrequencySpectrumBand", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Link_Name{ - ValueName: &ValueName, + t.SupportableCentralFrequencySpectrumBand[key] = &TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand{ + LowerCentralFrequency: &LowerCentralFrequency, + UpperCentralFrequency: &UpperCentralFrequency, } - return t.Name[key], nil + return t.SupportableCentralFrequencySpectrumBand[key], nil } -// NewNodeEdgePoint creates a new entry in the NodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.NodeEdgePoint == nil { - t.NodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) - } - - key := TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability"], t, opts...); err != nil { + return err } + return nil +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.NodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list NodeEdgePoint", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.NodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, - } - return t.NodeEdgePoint[key], nil +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability/supportable-application-identifier YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier struct { + ApplicationCode *string `path:"application-code" module:"tapi-photonic-media"` + ApplicationIdentifierType E_TapiPhotonicMedia_ApplicationIdentifierType `path:"application-identifier-type" module:"tapi-photonic-media"` } -// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.RiskCharacteristic == nil { - t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) - } - - key := RiskCharacteristicName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.RiskCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) - } - - t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic{ - RiskCharacteristicName: &RiskCharacteristicName, - } - - return t.RiskCharacteristic[key], nil -} - -// NewValidationMechanism creates a new entry in the ValidationMechanism list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewValidationMechanism(ValidationMechanism string) (*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.ValidationMechanism == nil { - t.ValidationMechanism = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) - } - - key := ValidationMechanism - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.ValidationMechanism[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list ValidationMechanism", key) - } - - t.ValidationMechanism[key] = &TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism{ - ValidationMechanism: &ValidationMechanism, - } - - return t.ValidationMechanism[key], nil -} +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) ΛListKeyMap() (map[string]interface{}, error) { - if t.Uuid == nil { - return nil, fmt.Errorf("nil value for key Uuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier struct, which is a YANG list entry. +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier) ΛListKeyMap() (map[string]interface{}, error) { + if t.ApplicationCode == nil { + return nil, fmt.Errorf("nil value for key ApplicationCode") } return map[string]interface{}{ - "uuid": *t.Uuid, + "application-code": *t.ApplicationCode, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier"], t, opts...); err != nil { return err } return nil @@ -6130,22 +6496,40 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link) Validate(opts ...ygot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableApplicationIdentifier) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity represents the /tapi-common/context/topology-context/topology/link/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability/supportable-central-frequency-spectrum-band YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand struct { + FrequencyConstraint *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerCentralFrequency *uint64 `path:"lower-central-frequency" module:"tapi-photonic-media"` + UpperCentralFrequency *uint64 `path:"upper-central-frequency" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand struct, which is a YANG list entry. +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand) ΛListKeyMap() (map[string]interface{}, error) { + if t.LowerCentralFrequency == nil { + return nil, fmt.Errorf("nil value for key LowerCentralFrequency") + } + + if t.UpperCentralFrequency == nil { + return nil, fmt.Errorf("nil value for key UpperCentralFrequency") + } + + return map[string]interface{}{ + "lower-central-frequency": *t.LowerCentralFrequency, + "upper-central-frequency": *t.UpperCentralFrequency, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand"], t, opts...); err != nil { return err } return nil @@ -6153,23 +6537,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) Val // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/link/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_FrequencyConstraint represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability/supportable-central-frequency-spectrum-band/frequency-constraint YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_FrequencyConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_FrequencyConstraint) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_FrequencyConstraint"], t, opts...); err != nil { return err } return nil @@ -6177,35 +6561,27 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_Tota // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_SupportableCentralFrequencySpectrumBand_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic represents the /tapi-common/context/topology-context/topology/link/cost-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic struct { - CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` - CostName *string `path:"cost-name" module:"tapi-topology"` - CostValue *string `path:"cost-value" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_TotalPowerWarnThreshold represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability/total-power-warn-threshold YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_TotalPowerWarnThreshold struct { + TotalPowerLowerWarnThresholdDefault *float64 `path:"total-power-lower-warn-threshold-default" module:"tapi-photonic-media"` + TotalPowerLowerWarnThresholdMax *float64 `path:"total-power-lower-warn-threshold-max" module:"tapi-photonic-media"` + TotalPowerLowerWarnThresholdMin *float64 `path:"total-power-lower-warn-threshold-min" module:"tapi-photonic-media"` + TotalPowerUpperWarnThresholdDefault *float64 `path:"total-power-upper-warn-threshold-default" module:"tapi-photonic-media"` + TotalPowerUpperWarnThresholdMax *float64 `path:"total-power-upper-warn-threshold-max" module:"tapi-photonic-media"` + TotalPowerUpperWarnThresholdMin *float64 `path:"total-power-upper-warn-threshold-min" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_TotalPowerWarnThreshold implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.CostName == nil { - return nil, fmt.Errorf("nil value for key CostName") - } - - return map[string]interface{}{ - "cost-name": *t.CostName, - }, nil -} +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_TotalPowerWarnThreshold) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_TotalPowerWarnThreshold) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_TotalPowerWarnThreshold"], t, opts...); err != nil { return err } return nil @@ -6213,37 +6589,25 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_OtsiCapability_TotalPowerWarnThreshold) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/link/latency-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic struct { - FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` - JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` - QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` - TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` - WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/power-management-capability YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability struct { + SupportableMaximumOutputPower *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower `path:"supportable-maximum-output-power" module:"tapi-photonic-media"` + SupportableMinimumOutputPower *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower `path:"supportable-minimum-output-power" module:"tapi-photonic-media"` + TolerableMaximumInputPower *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower `path:"tolerable-maximum-input-power" module:"tapi-photonic-media"` + TolerableMinimumInputPower *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower `path:"tolerable-minimum-input-power" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.TrafficPropertyName == nil { - return nil, fmt.Errorf("nil value for key TrafficPropertyName") - } - - return map[string]interface{}{ - "traffic-property-name": *t.TrafficPropertyName, - }, nil -} +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability"], t, opts...); err != nil { return err } return nil @@ -6251,34 +6615,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_Name represents the /tapi-common/context/topology-context/topology/link/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/power-management-capability/supportable-maximum-output-power YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_Name) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") - } - - return map[string]interface{}{ - "value-name": *t.ValueName, - }, nil -} +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower"], t, opts...); err != nil { return err } return nil @@ -6286,45 +6639,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) Validate(opts .. // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMaximumOutputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint represents the /tapi-common/context/topology-context/topology/link/node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/power-management-capability/supportable-minimum-output-power YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") - } - - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } - - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") - } - - return map[string]interface{}{ - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, - }, nil -} +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower"], t, opts...); err != nil { return err } return nil @@ -6332,23 +6663,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) Validat // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_SupportableMinimumOutputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType represents the /tapi-common/context/topology-context/topology/link/resilience-type YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType struct { - ProtectionType E_TapiTopology_ProtectionType `path:"protection-type" module:"tapi-topology"` - RestorationPolicy E_TapiTopology_RestorationPolicy `path:"restoration-policy" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/power-management-capability/tolerable-maximum-input-power YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower"], t, opts...); err != nil { return err } return nil @@ -6356,34 +6687,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) Valida // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMaximumInputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/link/risk-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic struct { - RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` - RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower represents the /tapi-common/context/service-interface-point/otsi-service-interface-point-spec/power-management-capability/tolerable-minimum-input-power YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.RiskCharacteristicName == nil { - return nil, fmt.Errorf("nil value for key RiskCharacteristicName") - } - - return map[string]interface{}{ - "risk-characteristic-name": *t.RiskCharacteristicName, - }, nil -} +func (*TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower"], t, opts...); err != nil { return err } return nil @@ -6391,22 +6711,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_OtsiServiceInterfacePointSpec_PowerManagementCapability_TolerableMinimumInputPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/link/total-potential-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity represents the /tapi-common/context/service-interface-point/total-potential-capacity YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-common"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity"], t, opts...); err != nil { return err } return nil @@ -6414,23 +6734,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/link/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/service-interface-point/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-common"` + Value *uint64 `path:"value" module:"tapi-common"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { return err } return nil @@ -6438,35 +6758,50 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism represents the /tapi-common/context/topology-context/topology/link/validation-mechanism YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism struct { - LayerProtocolAdjacencyValidated *string `path:"layer-protocol-adjacency-validated" module:"tapi-topology"` - ValidationMechanism *string `path:"validation-mechanism" module:"tapi-topology"` - ValidationRobustness *string `path:"validation-robustness" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext represents the /tapi-common/context/topology-context YANG schema element. +type TapiCommon_Context_TopologyContext struct { + NwTopologyService *TapiCommon_Context_TopologyContext_NwTopologyService `path:"nw-topology-service" module:"tapi-topology"` + Topology map[string]*TapiCommon_Context_TopologyContext_Topology `path:"topology" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValidationMechanism == nil { - return nil, fmt.Errorf("nil value for key ValidationMechanism") +// NewTopology creates a new entry in the Topology list of the +// TapiCommon_Context_TopologyContext struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext) NewTopology(Uuid string) (*TapiCommon_Context_TopologyContext_Topology, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Topology == nil { + t.Topology = make(map[string]*TapiCommon_Context_TopologyContext_Topology) } - return map[string]interface{}{ - "validation-mechanism": *t.ValidationMechanism, - }, nil + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Topology[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Topology", key) + } + + t.Topology[key] = &TapiCommon_Context_TopologyContext_Topology{ + Uuid: &Uuid, + } + + return t.Topology[key], nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext"], t, opts...); err != nil { return err } return nil @@ -6474,22 +6809,101 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) V // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Name represents the /tapi-common/context/topology-context/topology/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Name struct { +// TapiCommon_Context_TopologyContext_NwTopologyService represents the /tapi-common/context/topology-context/nw-topology-service YANG schema element. +type TapiCommon_Context_TopologyContext_NwTopologyService struct { + Name map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Name `path:"name" module:"tapi-topology"` + Topology map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Topology `path:"topology" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_NwTopologyService) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_NwTopologyService struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_NwTopologyService_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_NwTopologyService_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewTopology creates a new entry in the Topology list of the +// TapiCommon_Context_TopologyContext_NwTopologyService struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService) NewTopology(TopologyUuid string) (*TapiCommon_Context_TopologyContext_NwTopologyService_Topology, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Topology == nil { + t.Topology = make(map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Topology) + } + + key := TopologyUuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Topology[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Topology", key) + } + + t.Topology[key] = &TapiCommon_Context_TopologyContext_NwTopologyService_Topology{ + TopologyUuid: &TopologyUuid, + } + + return t.Topology[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_NwTopologyService_Name represents the /tapi-common/context/topology-context/nw-topology-service/name YANG schema element. +type TapiCommon_Context_TopologyContext_NwTopologyService_Name struct { Value *string `path:"value" module:"tapi-topology"` ValueName *string `path:"value-name" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_NwTopologyService_Name) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_NwTopologyService_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) ΛListKeyMap() (map[string]interface{}, error) { if t.ValueName == nil { return nil, fmt.Errorf("nil value for key ValueName") } @@ -6500,8 +6914,8 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛListKeyMap() (map[s } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService_Name"], t, opts...); err != nil { return err } return nil @@ -6509,57 +6923,77 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Name) Validate(opts ...ygot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node represents the /tapi-common/context/topology-context/topology/node YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node struct { - AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` - AggregatedNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint `path:"aggregated-node-edge-point" module:"tapi-topology"` - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` - DeliveryOrderCharacteristic *string `path:"delivery-order-characteristic" module:"tapi-topology"` - EncapTopology *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology `path:"encap-topology" module:"tapi-topology"` - ErrorCharacteristic *string `path:"error-characteristic" module:"tapi-topology"` - LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_NwTopologyService_Topology represents the /tapi-common/context/topology-context/nw-topology-service/topology YANG schema element. +type TapiCommon_Context_TopologyContext_NwTopologyService_Topology struct { + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService_Topology implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_NwTopologyService_Topology) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_NwTopologyService_Topology struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) ΛListKeyMap() (map[string]interface{}, error) { + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService_Topology"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology represents the /tapi-common/context/topology-context/topology YANG schema element. +type TapiCommon_Context_TopologyContext_Topology struct { + BoundaryNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint `path:"boundary-node-edge-point" module:"tapi-topology"` LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` - LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` - LossCharacteristic *string `path:"loss-characteristic" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_Name `path:"name" module:"tapi-topology"` - NodeRuleGroup map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup `path:"node-rule-group" module:"tapi-topology"` - OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` - OwnedNodeEdgePoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint `path:"owned-node-edge-point" module:"tapi-topology"` - RepeatDeliveryCharacteristic *string `path:"repeat-delivery-characteristic" module:"tapi-topology"` - ServerIntegrityProcessCharacteristic *string `path:"server-integrity-process-characteristic" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - UnavailableTimeCharacteristic *string `path:"unavailable-time-characteristic" module:"tapi-topology"` + Link map[string]*TapiCommon_Context_TopologyContext_Topology_Link `path:"link" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Name `path:"name" module:"tapi-topology"` + Node map[string]*TapiCommon_Context_TopologyContext_Topology_Node `path:"node" module:"tapi-topology"` Uuid *string `path:"uuid" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key represents the key for list AggregatedNodeEdgePoint of element /tapi-common/context/topology-context/topology/node. -type TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key struct { +// TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key represents the key for list BoundaryNodeEdgePoint of element /tapi-common/context/topology-context/topology. +type TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key struct { TopologyUuid string `path:"topology-uuid"` NodeUuid string `path:"node-uuid"` NodeEdgePointUuid string `path:"node-edge-point-uuid"` } -// NewAggregatedNodeEdgePoint creates a new entry in the AggregatedNodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// NewBoundaryNodeEdgePoint creates a new entry in the BoundaryNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewAggregatedNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint, error){ +func (t *TapiCommon_Context_TopologyContext_Topology) NewBoundaryNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.AggregatedNodeEdgePoint == nil { - t.AggregatedNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) + if t.BoundaryNodeEdgePoint == nil { + t.BoundaryNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) } - key := TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key{ + key := TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key{ TopologyUuid: TopologyUuid, NodeUuid: NodeUuid, NodeEdgePointUuid: NodeEdgePointUuid, @@ -6568,85 +7002,58 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewAggregatedNodeEdge // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.AggregatedNodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list AggregatedNodeEdgePoint", key) + if _, ok := t.BoundaryNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list BoundaryNodeEdgePoint", key) } - t.AggregatedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint{ + t.BoundaryNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint{ TopologyUuid: &TopologyUuid, NodeUuid: &NodeUuid, NodeEdgePointUuid: &NodeEdgePointUuid, } - return t.AggregatedNodeEdgePoint[key], nil + return t.BoundaryNodeEdgePoint[key], nil } -// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// NewLink creates a new entry in the Link list of the +// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic, error){ +func (t *TapiCommon_Context_TopologyContext_Topology) NewLink(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Link, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.CostCharacteristic == nil { - t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) + if t.Link == nil { + t.Link = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link) } - key := CostName + key := Uuid // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.CostCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + if _, ok := t.Link[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Link", key) } - t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic{ - CostName: &CostName, + t.Link[key] = &TapiCommon_Context_TopologyContext_Topology_Link{ + Uuid: &Uuid, } - return t.CostCharacteristic[key], nil + return t.Link[key], nil } -// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic, error){ +func (t *TapiCommon_Context_TopologyContext_Topology) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.LatencyCharacteristic == nil { - t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Name) } - key := TrafficPropertyName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.LatencyCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) - } - - t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic{ - TrafficPropertyName: &TrafficPropertyName, - } - - return t.LatencyCharacteristic[key], nil -} - -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_Name, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_Name) - } - - key := ValueName + key := ValueName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to @@ -6655,49 +7062,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewName(ValueName str return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_Name{ + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Name{ ValueName: &ValueName, } return t.Name[key], nil } -// NewNodeRuleGroup creates a new entry in the NodeRuleGroup list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewNodeRuleGroup(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.NodeRuleGroup == nil { - t.NodeRuleGroup = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) - } - - key := Uuid - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.NodeRuleGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list NodeRuleGroup", key) - } - - t.NodeRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup{ - Uuid: &Uuid, - } - - return t.NodeRuleGroup[key], nil -} - -// NewOwnedNodeEdgePoint creates a new entry in the OwnedNodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// NewNode creates a new entry in the Node list of the +// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewOwnedNodeEdgePoint(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint, error){ +func (t *TapiCommon_Context_TopologyContext_Topology) NewNode(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.OwnedNodeEdgePoint == nil { - t.OwnedNodeEdgePoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) + if t.Node == nil { + t.Node = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node) } key := Uuid @@ -6705,19 +7085,19 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewOwnedNodeEdgePoint // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.OwnedNodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list OwnedNodeEdgePoint", key) + if _, ok := t.Node[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Node", key) } - t.OwnedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint{ + t.Node[key] = &TapiCommon_Context_TopologyContext_Topology_Node{ Uuid: &Uuid, } - return t.OwnedNodeEdgePoint[key], nil + return t.Node[key], nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology) ΛListKeyMap() (map[string]interface{}, error) { if t.Uuid == nil { return nil, fmt.Errorf("nil value for key Uuid") } @@ -6728,8 +7108,8 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛListKeyMap() (map[s } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology"], t, opts...); err != nil { return err } return nil @@ -6737,23 +7117,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node) Validate(opts ...ygot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/aggregated-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint struct { +// TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint represents the /tapi-common/context/topology-context/topology/boundary-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint struct { NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` NodeUuid *string `path:"node-uuid" module:"tapi-topology"` TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { if t.NodeEdgePointUuid == nil { return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") } @@ -6774,8 +7154,8 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoin } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint"], t, opts...); err != nil { return err } return nil @@ -6783,464 +7163,2001 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoin // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Link represents the /tapi-common/context/topology-context/topology/link YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link struct { + AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` + DeliveryOrderCharacteristic *string `path:"delivery-order-characteristic" module:"tapi-topology"` + Direction E_TapiTopology_ForwardingDirection `path:"direction" module:"tapi-topology"` + ErrorCharacteristic *string `path:"error-characteristic" module:"tapi-topology"` + LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` + LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` + LossCharacteristic *string `path:"loss-characteristic" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Link_Name `path:"name" module:"tapi-topology"` + NodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint `path:"node-edge-point" module:"tapi-topology"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` + RepeatDeliveryCharacteristic *string `path:"repeat-delivery-characteristic" module:"tapi-topology"` + ResilienceType *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType `path:"resilience-type" module:"tapi-topology"` + RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` + ServerIntegrityProcessCharacteristic *string `path:"server-integrity-process-characteristic" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + TransitionedLayerProtocolName []string `path:"transitioned-layer-protocol-name" module:"tapi-topology"` + UnavailableTimeCharacteristic *string `path:"unavailable-time-characteristic" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` + ValidationMechanism map[string]*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism `path:"validation-mechanism" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Link) IsYANGGoStruct() {} -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity"], t, opts...); err != nil { - return err - } - return nil +// TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key represents the key for list NodeEdgePoint of element /tapi-common/context/topology-context/topology/link. +type TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` } -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic, error){ -// TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` -} + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) + } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + key := CostName -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize"], t, opts...); err != nil { - return err + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic{ + CostName: &CostName, + } -// TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/cost-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic struct { - CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` - CostName *string `path:"cost-name" module:"tapi-topology"` - CostValue *string `path:"cost-value" module:"tapi-topology"` + return t.CostCharacteristic[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) IsYANGGoStruct() {} +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic, error){ -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.CostName == nil { - return nil, fmt.Errorf("nil value for key CostName") + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) } - return map[string]interface{}{ - "cost-name": *t.CostName, - }, nil -} + key := TrafficPropertyName -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic"], t, opts...); err != nil { - return err + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } -// TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology represents the /tapi-common/context/topology-context/topology/node/encap-topology YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology struct { - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` + return t.LatencyCharacteristic[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) IsYANGGoStruct() {} +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Link_Name, error){ -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology"], t, opts...); err != nil { - return err + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_Name) } - return nil -} -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + key := ValueName - -// TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/latency-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic struct { - FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` - JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` - QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` - TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` - WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` -} - -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.TrafficPropertyName == nil { - return nil, fmt.Errorf("nil value for key TrafficPropertyName") - } - - return map[string]interface{}{ - "traffic-property-name": *t.TrafficPropertyName, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic"], t, opts...); err != nil { - return err - } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_TopologyContext_Topology_Node_Name represents the /tapi-common/context/topology-context/topology/node/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` -} - -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_Name implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_Name) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - return map[string]interface{}{ - "value-name": *t.ValueName, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_Name"], t, opts...); err != nil { - return err + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Link_Name{ + ValueName: &ValueName, } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct { - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - ComposedRuleGroup map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup `path:"composed-rule-group" module:"tapi-topology"` - CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` - InterRuleGroup map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup `path:"inter-rule-group" module:"tapi-topology"` - LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name `path:"name" module:"tapi-topology"` - NodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint `path:"node-edge-point" module:"tapi-topology"` - RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` - Rule map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule `path:"rule" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` -} - -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) IsYANGGoStruct() {} - -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key represents the key for list ComposedRuleGroup of element /tapi-common/context/topology-context/topology/node/node-rule-group. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeRuleGroupUuid string `path:"node-rule-group-uuid"` -} -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key represents the key for list NodeEdgePoint of element /tapi-common/context/topology-context/topology/node/node-rule-group. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` + return t.Name[key], nil } -// NewComposedRuleGroup creates a new entry in the ComposedRuleGroup list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// NewNodeEdgePoint creates a new entry in the NodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewComposedRuleGroup(TopologyUuid string, NodeUuid string, NodeRuleGroupUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup, error){ +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.ComposedRuleGroup == nil { - t.ComposedRuleGroup = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) + if t.NodeEdgePoint == nil { + t.NodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) } - key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key{ + key := TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key{ TopologyUuid: TopologyUuid, NodeUuid: NodeUuid, - NodeRuleGroupUuid: NodeRuleGroupUuid, + NodeEdgePointUuid: NodeEdgePointUuid, } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.ComposedRuleGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list ComposedRuleGroup", key) + if _, ok := t.NodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list NodeEdgePoint", key) } - t.ComposedRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup{ + t.NodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint{ TopologyUuid: &TopologyUuid, NodeUuid: &NodeUuid, - NodeRuleGroupUuid: &NodeRuleGroupUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, } - return t.ComposedRuleGroup[key], nil + return t.NodeEdgePoint[key], nil } -// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic, error){ +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.CostCharacteristic == nil { - t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) + if t.RiskCharacteristic == nil { + t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) } - key := CostName + key := RiskCharacteristicName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.CostCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + if _, ok := t.RiskCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) } - t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic{ - CostName: &CostName, + t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, } - return t.CostCharacteristic[key], nil + return t.RiskCharacteristic[key], nil } -// NewInterRuleGroup creates a new entry in the InterRuleGroup list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// NewValidationMechanism creates a new entry in the ValidationMechanism list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewInterRuleGroup(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup, error){ +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewValidationMechanism(ValidationMechanism string) (*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.InterRuleGroup == nil { - t.InterRuleGroup = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) + if t.ValidationMechanism == nil { + t.ValidationMechanism = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) } - key := Uuid + key := ValidationMechanism // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.InterRuleGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list InterRuleGroup", key) + if _, ok := t.ValidationMechanism[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ValidationMechanism", key) } - t.InterRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup{ - Uuid: &Uuid, + t.ValidationMechanism[key] = &TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism{ + ValidationMechanism: &ValidationMechanism, } - return t.InterRuleGroup[key], nil + return t.ValidationMechanism[key], nil } -// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.LatencyCharacteristic == nil { - t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") } - key := TrafficPropertyName + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.LatencyCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link"], t, opts...); err != nil { + return err } + return nil +} - t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic{ - TrafficPropertyName: &TrafficPropertyName, - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - return t.LatencyCharacteristic[key], nil + +// TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity represents the /tapi-common/context/topology-context/topology/link/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity"], t, opts...); err != nil { + return err } + return nil +} - key := ValueName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name{ - ValueName: &ValueName, - } - return t.Name[key], nil +// TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/link/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` } -// NewNodeEdgePoint creates a new entry in the NodeEdgePoint list of the +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic represents the /tapi-common/context/topology-context/topology/link/cost-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` + CostName *string `path:"cost-name" module:"tapi-topology"` + CostValue *string `path:"cost-value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/link/latency-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_Name represents the /tapi-common/context/topology-context/topology/link/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint represents the /tapi-common/context/topology-context/topology/link/node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType represents the /tapi-common/context/topology-context/topology/link/resilience-type YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType struct { + ProtectionType E_TapiTopology_ProtectionType `path:"protection-type" module:"tapi-topology"` + RestorationPolicy E_TapiTopology_RestorationPolicy `path:"restoration-policy" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/link/risk-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") + } + + return map[string]interface{}{ + "risk-characteristic-name": *t.RiskCharacteristicName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/link/total-potential-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/link/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism represents the /tapi-common/context/topology-context/topology/link/validation-mechanism YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism struct { + LayerProtocolAdjacencyValidated *string `path:"layer-protocol-adjacency-validated" module:"tapi-topology"` + ValidationMechanism *string `path:"validation-mechanism" module:"tapi-topology"` + ValidationRobustness *string `path:"validation-robustness" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValidationMechanism == nil { + return nil, fmt.Errorf("nil value for key ValidationMechanism") + } + + return map[string]interface{}{ + "validation-mechanism": *t.ValidationMechanism, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Name represents the /tapi-common/context/topology-context/topology/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node represents the /tapi-common/context/topology-context/topology/node YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node struct { + AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` + AggregatedNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint `path:"aggregated-node-edge-point" module:"tapi-topology"` + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` + DeliveryOrderCharacteristic *string `path:"delivery-order-characteristic" module:"tapi-topology"` + EncapTopology *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology `path:"encap-topology" module:"tapi-topology"` + ErrorCharacteristic *string `path:"error-characteristic" module:"tapi-topology"` + LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` + LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` + LossCharacteristic *string `path:"loss-characteristic" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_Name `path:"name" module:"tapi-topology"` + NodeRuleGroup map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup `path:"node-rule-group" module:"tapi-topology"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` + OwnedNodeEdgePoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint `path:"owned-node-edge-point" module:"tapi-topology"` + RepeatDeliveryCharacteristic *string `path:"repeat-delivery-characteristic" module:"tapi-topology"` + ServerIntegrityProcessCharacteristic *string `path:"server-integrity-process-characteristic" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + UnavailableTimeCharacteristic *string `path:"unavailable-time-characteristic" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key represents the key for list AggregatedNodeEdgePoint of element /tapi-common/context/topology-context/topology/node. +type TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewAggregatedNodeEdgePoint creates a new entry in the AggregatedNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewAggregatedNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AggregatedNodeEdgePoint == nil { + t.AggregatedNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AggregatedNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AggregatedNodeEdgePoint", key) + } + + t.AggregatedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.AggregatedNodeEdgePoint[key], nil +} + +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) + } + + key := CostName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + } + + t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic{ + CostName: &CostName, + } + + return t.CostCharacteristic[key], nil +} + +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) + } + + key := TrafficPropertyName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + } + + t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewNodeRuleGroup creates a new entry in the NodeRuleGroup list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewNodeRuleGroup(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.NodeRuleGroup == nil { + t.NodeRuleGroup = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.NodeRuleGroup[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list NodeRuleGroup", key) + } + + t.NodeRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup{ + Uuid: &Uuid, + } + + return t.NodeRuleGroup[key], nil +} + +// NewOwnedNodeEdgePoint creates a new entry in the OwnedNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewOwnedNodeEdgePoint(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.OwnedNodeEdgePoint == nil { + t.OwnedNodeEdgePoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.OwnedNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list OwnedNodeEdgePoint", key) + } + + t.OwnedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint{ + Uuid: &Uuid, + } + + return t.OwnedNodeEdgePoint[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/aggregated-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/cost-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` + CostName *string `path:"cost-name" module:"tapi-topology"` + CostValue *string `path:"cost-value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology represents the /tapi-common/context/topology-context/topology/node/encap-topology YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology struct { + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/latency-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_Name represents the /tapi-common/context/topology-context/topology/node/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct { + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + ComposedRuleGroup map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup `path:"composed-rule-group" module:"tapi-topology"` + CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` + InterRuleGroup map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup `path:"inter-rule-group" module:"tapi-topology"` + LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name `path:"name" module:"tapi-topology"` + NodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint `path:"node-edge-point" module:"tapi-topology"` + RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` + Rule map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule `path:"rule" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key represents the key for list ComposedRuleGroup of element /tapi-common/context/topology-context/topology/node/node-rule-group. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeRuleGroupUuid string `path:"node-rule-group-uuid"` +} + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key represents the key for list NodeEdgePoint of element /tapi-common/context/topology-context/topology/node/node-rule-group. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewComposedRuleGroup creates a new entry in the ComposedRuleGroup list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewComposedRuleGroup(TopologyUuid string, NodeUuid string, NodeRuleGroupUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ComposedRuleGroup == nil { + t.ComposedRuleGroup = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeRuleGroupUuid: NodeRuleGroupUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ComposedRuleGroup[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ComposedRuleGroup", key) + } + + t.ComposedRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeRuleGroupUuid: &NodeRuleGroupUuid, + } + + return t.ComposedRuleGroup[key], nil +} + +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) + } + + key := CostName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + } + + t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic{ + CostName: &CostName, + } + + return t.CostCharacteristic[key], nil +} + +// NewInterRuleGroup creates a new entry in the InterRuleGroup list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewInterRuleGroup(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.InterRuleGroup == nil { + t.InterRuleGroup = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.InterRuleGroup[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list InterRuleGroup", key) + } + + t.InterRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup{ + Uuid: &Uuid, + } + + return t.InterRuleGroup[key], nil +} + +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the // TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint, error){ +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) + } + + key := TrafficPropertyName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + } + + t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewNodeEdgePoint creates a new entry in the NodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.NodeEdgePoint == nil { + t.NodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.NodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list NodeEdgePoint", key) + } + + t.NodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.NodeEdgePoint[key], nil +} + +// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.RiskCharacteristic == nil { + t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) + } + + key := RiskCharacteristicName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.RiskCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) + } + + t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, + } + + return t.RiskCharacteristic[key], nil +} + +// NewRule creates a new entry in the Rule list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewRule(LocalId string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Rule == nil { + t.Rule = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) + } + + key := LocalId + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Rule[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Rule", key) + } + + t.Rule[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule{ + LocalId: &LocalId, + } + + return t.Rule[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/composed-rule-group YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup struct { + NodeRuleGroupUuid *string `path:"node-rule-group-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeRuleGroupUuid == nil { + return nil, fmt.Errorf("nil value for key NodeRuleGroupUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-rule-group-uuid": *t.NodeRuleGroupUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/cost-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` + CostName *string `path:"cost-name" module:"tapi-topology"` + CostValue *string `path:"cost-value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct { + AssociatedNodeRuleGroup map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup `path:"associated-node-rule-group" module:"tapi-topology"` + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` + LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name `path:"name" module:"tapi-topology"` + RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` + Rule map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule `path:"rule" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key represents the key for list AssociatedNodeRuleGroup of element /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeRuleGroupUuid string `path:"node-rule-group-uuid"` +} + +// NewAssociatedNodeRuleGroup creates a new entry in the AssociatedNodeRuleGroup list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewAssociatedNodeRuleGroup(TopologyUuid string, NodeUuid string, NodeRuleGroupUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AssociatedNodeRuleGroup == nil { + t.AssociatedNodeRuleGroup = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeRuleGroupUuid: NodeRuleGroupUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AssociatedNodeRuleGroup[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AssociatedNodeRuleGroup", key) + } + + t.AssociatedNodeRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeRuleGroupUuid: &NodeRuleGroupUuid, + } + + return t.AssociatedNodeRuleGroup[key], nil +} + +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) + } + + key := CostName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + } + + t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic{ + CostName: &CostName, + } + + return t.CostCharacteristic[key], nil +} + +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) + } + + key := TrafficPropertyName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + } + + t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.RiskCharacteristic == nil { + t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) + } + + key := RiskCharacteristicName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.RiskCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) + } + + t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, + } + + return t.RiskCharacteristic[key], nil +} + +// NewRule creates a new entry in the Rule list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewRule(LocalId string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Rule == nil { + t.Rule = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) + } + + key := LocalId + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Rule[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Rule", key) + } + + t.Rule[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule{ + LocalId: &LocalId, + } + + return t.Rule[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/associated-node-rule-group YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup struct { + NodeRuleGroupUuid *string `path:"node-rule-group-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.NodeEdgePoint == nil { - t.NodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeRuleGroupUuid == nil { + return nil, fmt.Errorf("nil value for key NodeRuleGroupUuid") } - key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") } - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.NodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list NodeEdgePoint", key) + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") } - t.NodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, + return map[string]interface{}{ + "node-rule-group-uuid": *t.NodeRuleGroupUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup"], t, opts...); err != nil { + return err } + return nil +} - return t.NodeEdgePoint[key], nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` } -// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.RiskCharacteristic == nil { - t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity"], t, opts...); err != nil { + return err } + return nil +} - key := RiskCharacteristicName +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.RiskCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err } + return nil +} - t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic{ - RiskCharacteristicName: &RiskCharacteristicName, +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/cost-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` + CostName *string `path:"cost-name" module:"tapi-topology"` + CostValue *string `path:"cost-value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") } - return t.RiskCharacteristic[key], nil + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/latency-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/risk-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") + } + + return map[string]interface{}{ + "risk-characteristic-name": *t.RiskCharacteristicName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct { + CepDirection []E_TapiTopology_PortDirection `path:"cep-direction" module:"tapi-topology"` + CepPortRole []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole `path:"cep-port-role" module:"tapi-topology"` + ComplexRule []string `path:"complex-rule" module:"tapi-topology"` + ConnectionSpecReference []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference `path:"connection-spec-reference" module:"tapi-topology"` + ForwardingRule E_TapiTopology_ForwardingRule `path:"forwarding-rule" module:"tapi-topology"` + LayerProtocolQualifier []E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` + LocalId *string `path:"local-id" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name `path:"name" module:"tapi-topology"` + OverridePriority *uint64 `path:"override-priority" module:"tapi-topology"` + RuleType E_TapiTopology_RuleType `path:"rule-type" module:"tapi-topology"` + SignalProperty *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty `path:"signal-property" module:"tapi-topology"` } -// NewRule creates a new entry in the Rule list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewRule(LocalId string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule, error){ +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Rule == nil { - t.Rule = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) } - key := LocalId + key := ValueName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Rule[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Rule", key) + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.Rule[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule{ - LocalId: &LocalId, + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name{ + ValueName: &ValueName, } - return t.Rule[key], nil + return t.Name[key], nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.Uuid == nil { - return nil, fmt.Errorf("nil value for key Uuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") } return map[string]interface{}{ - "uuid": *t.Uuid, + "local-id": *t.LocalId, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule"], t, opts...); err != nil { return err } return nil @@ -7248,22 +9165,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) Validat // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/cep-port-role YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole struct { + PortRole []string `path:"port-role" module:"tapi-topology"` + PortRoleRule []E_TapiTopology_PortRoleRuleOption `path:"port-role-rule" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole"], t, opts...); err != nil { return err } return nil @@ -7271,23 +9189,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Availabl // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/connection-spec-reference YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference struct { + ConnectionSpec *string `path:"connection-spec" module:"tapi-topology"` + ConnectionSpecName *string `path:"connection-spec-name" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference"], t, opts...); err != nil { return err } return nil @@ -7295,45 +9213,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Availabl // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/composed-rule-group YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup struct { - NodeRuleGroupUuid *string `path:"node-rule-group-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeRuleGroupUuid == nil { - return nil, fmt.Errorf("nil value for key NodeRuleGroupUuid") - } - - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) IsYANGGoStruct() {} - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } return map[string]interface{}{ - "node-rule-group-uuid": *t.NodeRuleGroupUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "value-name": *t.ValueName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name"], t, opts...); err != nil { return err } return nil @@ -7341,35 +9248,25 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Composed // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/cost-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic struct { - CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` - CostName *string `path:"cost-name" module:"tapi-topology"` - CostValue *string `path:"cost-value" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/signal-property YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty struct { + ApplicableSignalValue []string `path:"applicable-signal-value" module:"tapi-topology"` + NumberOfSignalValues *uint64 `path:"number-of-signal-values" module:"tapi-topology"` + SignalPropertyName *string `path:"signal-property-name" module:"tapi-topology"` + SignalPropertyValueRule E_TapiTopology_SignalPropertyValueRule `path:"signal-property-value-rule" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.CostName == nil { - return nil, fmt.Errorf("nil value for key CostName") - } - - return map[string]interface{}{ - "cost-name": *t.CostName, - }, nil -} +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty"], t, opts...); err != nil { return err } return nil @@ -7377,216 +9274,200 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostChar // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct { - AssociatedNodeRuleGroup map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup `path:"associated-node-rule-group" module:"tapi-topology"` - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` - LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name `path:"name" module:"tapi-topology"` - RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` - Rule map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule `path:"rule" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/total-potential-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) IsYANGGoStruct() {} - -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key represents the key for list AssociatedNodeRuleGroup of element /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeRuleGroupUuid string `path:"node-rule-group-uuid"` -} - -// NewAssociatedNodeRuleGroup creates a new entry in the AssociatedNodeRuleGroup list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewAssociatedNodeRuleGroup(TopologyUuid string, NodeUuid string, NodeRuleGroupUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.AssociatedNodeRuleGroup == nil { - t.AssociatedNodeRuleGroup = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) - } +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) IsYANGGoStruct() {} - key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeRuleGroupUuid: NodeRuleGroupUuid, +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity"], t, opts...); err != nil { + return err } + return nil +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.AssociatedNodeRuleGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list AssociatedNodeRuleGroup", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.AssociatedNodeRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeRuleGroupUuid: &NodeRuleGroupUuid, - } - return t.AssociatedNodeRuleGroup[key], nil +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` } -// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.CostCharacteristic == nil { - t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { + return err } + return nil +} - key := CostName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.CostCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic{ - CostName: &CostName, - } - return t.CostCharacteristic[key], nil +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/latency-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` } -// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.LatencyCharacteristic == nil { - t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") } - key := TrafficPropertyName + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.LatencyCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic"], t, opts...); err != nil { + return err } + return nil +} - t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic{ - TrafficPropertyName: &TrafficPropertyName, - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - return t.LatencyCharacteristic[key], nil + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } - key := ValueName + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name"], t, opts...); err != nil { + return err } + return nil +} - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name{ - ValueName: &ValueName, - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - return t.Name[key], nil + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/node-rule-group/node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` } -// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.RiskCharacteristic == nil { - t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") } - key := RiskCharacteristicName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.RiskCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") } - t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic{ - RiskCharacteristicName: &RiskCharacteristicName, + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") } - return t.RiskCharacteristic[key], nil + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil } -// NewRule creates a new entry in the Rule list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewRule(LocalId string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Rule == nil { - t.Rule = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint"], t, opts...); err != nil { + return err } + return nil +} - key := LocalId - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Rule[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Rule", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.Rule[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule{ - LocalId: &LocalId, - } - return t.Rule[key], nil +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/risk-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.Uuid == nil { - return nil, fmt.Errorf("nil value for key Uuid") +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") } return map[string]interface{}{ - "uuid": *t.Uuid, + "risk-characteristic-name": *t.RiskCharacteristicName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic"], t, opts...); err != nil { return err } return nil @@ -7594,45 +9475,70 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/associated-node-rule-group YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup struct { - NodeRuleGroupUuid *string `path:"node-rule-group-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct { + CepDirection []E_TapiTopology_PortDirection `path:"cep-direction" module:"tapi-topology"` + CepPortRole []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole `path:"cep-port-role" module:"tapi-topology"` + ComplexRule []string `path:"complex-rule" module:"tapi-topology"` + ConnectionSpecReference []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference `path:"connection-spec-reference" module:"tapi-topology"` + ForwardingRule E_TapiTopology_ForwardingRule `path:"forwarding-rule" module:"tapi-topology"` + LayerProtocolQualifier []E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` + LocalId *string `path:"local-id" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name `path:"name" module:"tapi-topology"` + OverridePriority *uint64 `path:"override-priority" module:"tapi-topology"` + RuleType E_TapiTopology_RuleType `path:"rule-type" module:"tapi-topology"` + SignalProperty *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty `path:"signal-property" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeRuleGroupUuid == nil { - return nil, fmt.Errorf("nil value for key NodeRuleGroupUuid") +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) } - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") } return map[string]interface{}{ - "node-rule-group-uuid": *t.NodeRuleGroupUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "local-id": *t.LocalId, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule"], t, opts...); err != nil { return err } return nil @@ -7640,22 +9546,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/cep-port-role YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole struct { + PortRole []string `path:"port-role" module:"tapi-topology"` + PortRoleRule []E_TapiTopology_PortRoleRuleOption `path:"port-role-rule" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole"], t, opts...); err != nil { return err } return nil @@ -7663,23 +9570,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/connection-spec-reference YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference struct { + ConnectionSpec *string `path:"connection-spec" module:"tapi-topology"` + ConnectionSpecName *string `path:"connection-spec-name" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference"], t, opts...); err != nil { return err } return nil @@ -7687,35 +9594,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/cost-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic struct { - CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` - CostName *string `path:"cost-name" module:"tapi-topology"` - CostValue *string `path:"cost-value" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.CostName == nil { - return nil, fmt.Errorf("nil value for key CostName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } return map[string]interface{}{ - "cost-name": *t.CostName, + "value-name": *t.ValueName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name"], t, opts...); err != nil { return err } return nil @@ -7723,37 +9629,25 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/latency-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic struct { - FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` - JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` - QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` - TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` - WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/signal-property YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty struct { + ApplicableSignalValue []string `path:"applicable-signal-value" module:"tapi-topology"` + NumberOfSignalValues *uint64 `path:"number-of-signal-values" module:"tapi-topology"` + SignalPropertyName *string `path:"signal-property-name" module:"tapi-topology"` + SignalPropertyValueRule E_TapiTopology_SignalPropertyValueRule `path:"signal-property-value-rule" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.TrafficPropertyName == nil { - return nil, fmt.Errorf("nil value for key TrafficPropertyName") - } - - return map[string]interface{}{ - "traffic-property-name": *t.TrafficPropertyName, - }, nil -} +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty"], t, opts...); err != nil { return err } return nil @@ -7761,34 +9655,46 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/total-potential-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity"], t, opts...); err != nil { + return err } + return nil +} - return map[string]interface{}{ - "value-name": *t.ValueName, - }, nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` } +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} + // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { return err } return nil @@ -7796,73 +9702,138 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/risk-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic struct { - RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` - RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct { + AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` + AggregatedNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint `path:"aggregated-node-edge-point" module:"tapi-topology"` + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + AvailableCepLayerProtocol map[E_TapiTopology_LayerProtocolQualifier]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol `path:"available-cep-layer-protocol" module:"tapi-topology"` + CepList *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList `path:"cep-list" module:"tapi-connectivity"` + LayerProtocolName E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` + LinkPortDirection E_TapiTopology_PortDirection `path:"link-port-direction" module:"tapi-topology"` + LinkPortRole E_TapiTopology_PortRole `path:"link-port-role" module:"tapi-topology"` + MappedServiceInterfacePoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint `path:"mapped-service-interface-point" module:"tapi-topology"` + MediaChannelNodeEdgePointSpec *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec `path:"media-channel-node-edge-point-spec" module:"tapi-photonic-media"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name `path:"name" module:"tapi-topology"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` + TerminationDirection E_TapiCommon_TerminationDirection `path:"termination-direction" module:"tapi-topology"` + TerminationState E_TapiCommon_TerminationState `path:"termination-state" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.RiskCharacteristicName == nil { - return nil, fmt.Errorf("nil value for key RiskCharacteristicName") +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key represents the key for list AggregatedNodeEdgePoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewAggregatedNodeEdgePoint creates a new entry in the AggregatedNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewAggregatedNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AggregatedNodeEdgePoint == nil { + t.AggregatedNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) } - return map[string]interface{}{ - "risk-characteristic-name": *t.RiskCharacteristicName, - }, nil + key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AggregatedNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AggregatedNodeEdgePoint", key) + } + + t.AggregatedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.AggregatedNodeEdgePoint[key], nil } -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic"], t, opts...); err != nil { - return err +// NewAvailableCepLayerProtocol creates a new entry in the AvailableCepLayerProtocol list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewAvailableCepLayerProtocol(LayerProtocolQualifier E_TapiTopology_LayerProtocolQualifier) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AvailableCepLayerProtocol == nil { + t.AvailableCepLayerProtocol = make(map[E_TapiTopology_LayerProtocolQualifier]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) } - return nil + + key := LayerProtocolQualifier + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AvailableCepLayerProtocol[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AvailableCepLayerProtocol", key) + } + + t.AvailableCepLayerProtocol[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol{ + LayerProtocolQualifier: LayerProtocolQualifier, + } + + return t.AvailableCepLayerProtocol[key], nil } -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +// NewMappedServiceInterfacePoint creates a new entry in the MappedServiceInterfacePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewMappedServiceInterfacePoint(ServiceInterfacePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.MappedServiceInterfacePoint == nil { + t.MappedServiceInterfacePoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) + } + + key := ServiceInterfacePointUuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.MappedServiceInterfacePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list MappedServiceInterfacePoint", key) + } + t.MappedServiceInterfacePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint{ + ServiceInterfacePointUuid: &ServiceInterfacePointUuid, + } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct { - CepDirection []E_TapiTopology_PortDirection `path:"cep-direction" module:"tapi-topology"` - CepPortRole []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole `path:"cep-port-role" module:"tapi-topology"` - ComplexRule []string `path:"complex-rule" module:"tapi-topology"` - ConnectionSpecReference []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference `path:"connection-spec-reference" module:"tapi-topology"` - ForwardingRule E_TapiTopology_ForwardingRule `path:"forwarding-rule" module:"tapi-topology"` - LayerProtocolQualifier []E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` - LocalId *string `path:"local-id" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name `path:"name" module:"tapi-topology"` - OverridePriority *uint64 `path:"override-priority" module:"tapi-topology"` - RuleType E_TapiTopology_RuleType `path:"rule-type" module:"tapi-topology"` - SignalProperty *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty `path:"signal-property" module:"tapi-topology"` + return t.MappedServiceInterfacePoint[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) IsYANGGoStruct() {} - // NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct. The keys of the list are populated from the input +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name, error){ +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) } key := ValueName @@ -7874,27 +9845,27 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name{ + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name{ ValueName: &ValueName, } return t.Name[key], nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) ΛListKeyMap() (map[string]interface{}, error) { - if t.LocalId == nil { - return nil, fmt.Errorf("nil value for key LocalId") +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") } return map[string]interface{}{ - "local-id": *t.LocalId, + "uuid": *t.Uuid, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint"], t, opts...); err != nil { return err } return nil @@ -7902,23 +9873,45 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/cep-port-role YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole struct { - PortRole []string `path:"port-role" module:"tapi-topology"` - PortRoleRule []E_TapiTopology_PortRoleRuleOption `path:"port-role-rule" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/aggregated-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint"], t, opts...); err != nil { return err } return nil @@ -7926,23 +9919,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/connection-spec-reference YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference struct { - ConnectionSpec *string `path:"connection-spec" module:"tapi-topology"` - ConnectionSpecName *string `path:"connection-spec-name" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity"], t, opts...); err != nil { return err } return nil @@ -7950,34 +9942,55 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-cep-layer-protocol YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol struct { + LayerProtocolQualifier E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` + NumberOfCepInstances *uint64 `path:"number-of-cep-instances" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) ΛListKeyMap() (map[string]interface{}, error) { return map[string]interface{}{ - "value-name": *t.ValueName, + "layer-protocol-qualifier": t.LayerProtocolQualifier, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol"], t, opts...); err != nil { return err } return nil @@ -7985,25 +9998,49 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/signal-property YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty struct { - ApplicableSignalValue []string `path:"applicable-signal-value" module:"tapi-topology"` - NumberOfSignalValues *uint64 `path:"number-of-signal-values" module:"tapi-topology"` - SignalPropertyName *string `path:"signal-property-name" module:"tapi-topology"` - SignalPropertyValueRule E_TapiTopology_SignalPropertyValueRule `path:"signal-property-value-rule" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList struct { + ConnectionEndPoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint `path:"connection-end-point" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) IsYANGGoStruct() {} + +// NewConnectionEndPoint creates a new entry in the ConnectionEndPoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) NewConnectionEndPoint(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ConnectionEndPoint == nil { + t.ConnectionEndPoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ConnectionEndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ConnectionEndPoint", key) + } + + t.ConnectionEndPoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint{ + Uuid: &Uuid, + } + + return t.ConnectionEndPoint[key], nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList"], t, opts...); err != nil { return err } return nil @@ -8011,119 +10048,159 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/total-potential-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct { + AggregatedConnectionEndPoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint `path:"aggregated-connection-end-point" module:"tapi-connectivity"` + ClientNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint `path:"client-node-edge-point" module:"tapi-connectivity"` + ConnectionPortDirection E_TapiConnectivity_PortDirection `path:"connection-port-direction" module:"tapi-connectivity"` + ConnectionPortRole E_TapiConnectivity_PortRole `path:"connection-port-role" module:"tapi-connectivity"` + LayerProtocolName E_TapiConnectivity_LayerProtocolName `path:"layer-protocol-name" module:"tapi-connectivity"` + LayerProtocolQualifier E_TapiConnectivity_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-connectivity"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-connectivity"` + MediaChannelConnectionEndPointSpec *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec `path:"media-channel-connection-end-point-spec" module:"tapi-photonic-media"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name `path:"name" module:"tapi-connectivity"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-connectivity"` + OtsiAssemblyConnectionEndPointSpec *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec `path:"otsi-assembly-connection-end-point-spec" module:"tapi-photonic-media"` + OtsiConnectionEndPointSpec *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec `path:"otsi-connection-end-point-spec" module:"tapi-photonic-media"` + ParentNodeEdgePoint *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint `path:"parent-node-edge-point" module:"tapi-connectivity"` + ProtectionRole E_TapiConnectivity_ProtectionRole `path:"protection-role" module:"tapi-connectivity"` + TerminationDirection E_TapiCommon_TerminationDirection `path:"termination-direction" module:"tapi-connectivity"` + TerminationState E_TapiCommon_TerminationState `path:"termination-state" module:"tapi-connectivity"` + Uuid *string `path:"uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) IsYANGGoStruct() {} -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity"], t, opts...); err != nil { - return err +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key represents the key for list AggregatedConnectionEndPoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` + ConnectionEndPointUuid string `path:"connection-end-point-uuid"` +} + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key represents the key for list ClientNodeEdgePoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewAggregatedConnectionEndPoint creates a new entry in the AggregatedConnectionEndPoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) NewAggregatedConnectionEndPoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string, ConnectionEndPointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AggregatedConnectionEndPoint == nil { + t.AggregatedConnectionEndPoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + ConnectionEndPointUuid: ConnectionEndPointUuid, } - return nil -} -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AggregatedConnectionEndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AggregatedConnectionEndPoint", key) + } + t.AggregatedConnectionEndPoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + ConnectionEndPointUuid: &ConnectionEndPointUuid, + } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` + return t.AggregatedConnectionEndPoint[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} +// NewClientNodeEdgePoint creates a new entry in the ClientNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) NewClientNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint, error){ -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { - return err + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ClientNodeEdgePoint == nil { + t.ClientNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) } - return nil -} -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ClientNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ClientNodeEdgePoint", key) + } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/latency-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic struct { - FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` - JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` - QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` - TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` - WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` + t.ClientNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.ClientNodeEdgePoint[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) IsYANGGoStruct() {} +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name, error){ -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.TrafficPropertyName == nil { - return nil, fmt.Errorf("nil value for key TrafficPropertyName") + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) } - return map[string]interface{}{ - "traffic-property-name": *t.TrafficPropertyName, - }, nil -} + key := ValueName -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic"], t, opts...); err != nil { - return err + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name{ + ValueName: &ValueName, + } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` + return t.Name[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") } return map[string]interface{}{ - "value-name": *t.ValueName, + "uuid": *t.Uuid, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint"], t, opts...); err != nil { return err } return nil @@ -8131,23 +10208,28 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/node-rule-group/node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/aggregated-connection-end-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint struct { + ConnectionEndPointUuid *string `path:"connection-end-point-uuid" module:"tapi-connectivity"` + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionEndPointUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionEndPointUuid") + } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { if t.NodeEdgePointUuid == nil { return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") } @@ -8161,6 +10243,7 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdge } return map[string]interface{}{ + "connection-end-point-uuid": *t.ConnectionEndPointUuid, "node-edge-point-uuid": *t.NodeEdgePointUuid, "node-uuid": *t.NodeUuid, "topology-uuid": *t.TopologyUuid, @@ -8168,43 +10251,8 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdge } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint"], t, opts...); err != nil { - return err - } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/risk-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic struct { - RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` - RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` -} - -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.RiskCharacteristicName == nil { - return nil, fmt.Errorf("nil value for key RiskCharacteristicName") - } - - return map[string]interface{}{ - "risk-characteristic-name": *t.RiskCharacteristicName, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint"], t, opts...); err != nil { return err } return nil @@ -8212,70 +10260,45 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskChar // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct { - CepDirection []E_TapiTopology_PortDirection `path:"cep-direction" module:"tapi-topology"` - CepPortRole []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole `path:"cep-port-role" module:"tapi-topology"` - ComplexRule []string `path:"complex-rule" module:"tapi-topology"` - ConnectionSpecReference []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference `path:"connection-spec-reference" module:"tapi-topology"` - ForwardingRule E_TapiTopology_ForwardingRule `path:"forwarding-rule" module:"tapi-topology"` - LayerProtocolQualifier []E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` - LocalId *string `path:"local-id" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name `path:"name" module:"tapi-topology"` - OverridePriority *uint64 `path:"override-priority" module:"tapi-topology"` - RuleType E_TapiTopology_RuleType `path:"rule-type" module:"tapi-topology"` - SignalProperty *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty `path:"signal-property" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/client-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) IsYANGGoStruct() {} - -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) - } - - key := ValueName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) - } +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) IsYANGGoStruct() {} - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name{ - ValueName: &ValueName, +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") } - return t.Name[key], nil -} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) ΛListKeyMap() (map[string]interface{}, error) { - if t.LocalId == nil { - return nil, fmt.Errorf("nil value for key LocalId") + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") } return map[string]interface{}{ - "local-id": *t.LocalId, + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint"], t, opts...); err != nil { return err } return nil @@ -8283,23 +10306,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/cep-port-role YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole struct { - PortRole []string `path:"port-role" module:"tapi-topology"` - PortRoleRule []E_TapiTopology_PortRoleRuleOption `path:"port-role-rule" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/media-channel-connection-end-point-spec YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec struct { + MediaChannel *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel `path:"media-channel" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec"], t, opts...); err != nil { return err } return nil @@ -8307,23 +10329,24 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Cep // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/connection-spec-reference YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference struct { - ConnectionSpec *string `path:"connection-spec" module:"tapi-topology"` - ConnectionSpecName *string `path:"connection-spec-name" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/media-channel-connection-end-point-spec/media-channel YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel struct { + MeasuredPowerEgress *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerEgress `path:"measured-power-egress" module:"tapi-photonic-media"` + MeasuredPowerIngress *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerIngress `path:"measured-power-ingress" module:"tapi-photonic-media"` + OccupiedSpectrum *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum `path:"occupied-spectrum" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel"], t, opts...); err != nil { return err } return nil @@ -8331,34 +10354,47 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Con // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerEgress represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/media-channel-connection-end-point-spec/media-channel/measured-power-egress YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerEgress struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerEgress implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerEgress) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerEgress) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerEgress"], t, opts...); err != nil { + return err } + return nil +} - return map[string]interface{}{ - "value-name": *t.ValueName, - }, nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerEgress) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerIngress represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/media-channel-connection-end-point-spec/media-channel/measured-power-ingress YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerIngress struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerIngress implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerIngress) IsYANGGoStruct() {} + // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerIngress) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerIngress"], t, opts...); err != nil { return err } return nil @@ -8366,25 +10402,24 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Nam // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_MeasuredPowerIngress) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/signal-property YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty struct { - ApplicableSignalValue []string `path:"applicable-signal-value" module:"tapi-topology"` - NumberOfSignalValues *uint64 `path:"number-of-signal-values" module:"tapi-topology"` - SignalPropertyName *string `path:"signal-property-name" module:"tapi-topology"` - SignalPropertyValueRule E_TapiTopology_SignalPropertyValueRule `path:"signal-property-value-rule" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/media-channel-connection-end-point-spec/media-channel/occupied-spectrum YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum struct { + FrequencyConstraint *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum"], t, opts...); err != nil { return err } return nil @@ -8392,22 +10427,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Sig // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/total-potential-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum_FrequencyConstraint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/media-channel-connection-end-point-spec/media-channel/occupied-spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum_FrequencyConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum_FrequencyConstraint) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum_FrequencyConstraint"], t, opts...); err != nil { return err } return nil @@ -8415,23 +10451,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_MediaChannelConnectionEndPointSpec_MediaChannel_OccupiedSpectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name"], t, opts...); err != nil { return err } return nil @@ -8439,169 +10486,200 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct { - AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` - AggregatedNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint `path:"aggregated-node-edge-point" module:"tapi-topology"` - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - AvailableCepLayerProtocol map[E_TapiTopology_LayerProtocolQualifier]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol `path:"available-cep-layer-protocol" module:"tapi-topology"` - CepList *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList `path:"cep-list" module:"tapi-connectivity"` - LayerProtocolName E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` - LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` - LinkPortDirection E_TapiTopology_PortDirection `path:"link-port-direction" module:"tapi-topology"` - LinkPortRole E_TapiTopology_PortRole `path:"link-port-role" module:"tapi-topology"` - MappedServiceInterfacePoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint `path:"mapped-service-interface-point" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name `path:"name" module:"tapi-topology"` - OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` - TerminationDirection E_TapiCommon_TerminationDirection `path:"termination-direction" module:"tapi-topology"` - TerminationState E_TapiCommon_TerminationState `path:"termination-state" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-assembly-connection-end-point-spec YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec struct { + OtsiAdapter *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter `path:"otsi-adapter" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key represents the key for list AggregatedNodeEdgePoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec"], t, opts...); err != nil { + return err + } + return nil } -// NewAggregatedNodeEdgePoint creates a new entry in the AggregatedNodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewAggregatedNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint, error){ +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - // Initialise the list within the receiver struct if it has not already been - // created. - if t.AggregatedNodeEdgePoint == nil { - t.AggregatedNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) - } - key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, - } +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-assembly-connection-end-point-spec/otsi-adapter YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter struct { + FecParameters *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter_FecParameters `path:"fec-parameters" module:"tapi-photonic-media"` + NumberOfOtsi *uint64 `path:"number-of-otsi" module:"tapi-photonic-media"` +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.AggregatedNodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list AggregatedNodeEdgePoint", key) - } +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter) IsYANGGoStruct() {} - t.AggregatedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter"], t, opts...); err != nil { + return err } - - return t.AggregatedNodeEdgePoint[key], nil + return nil } -// NewAvailableCepLayerProtocol creates a new entry in the AvailableCepLayerProtocol list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewAvailableCepLayerProtocol(LayerProtocolQualifier E_TapiTopology_LayerProtocolQualifier) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol, error){ +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - // Initialise the list within the receiver struct if it has not already been - // created. - if t.AvailableCepLayerProtocol == nil { - t.AvailableCepLayerProtocol = make(map[E_TapiTopology_LayerProtocolQualifier]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) - } - key := LayerProtocolQualifier +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter_FecParameters represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-assembly-connection-end-point-spec/otsi-adapter/fec-parameters YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter_FecParameters struct { + CorrectedBits *uint64 `path:"corrected-bits" module:"tapi-photonic-media"` + CorrectedBytes *uint64 `path:"corrected-bytes" module:"tapi-photonic-media"` + PostFecBer *uint64 `path:"post-fec-ber" module:"tapi-photonic-media"` + PreFecBer *uint64 `path:"pre-fec-ber" module:"tapi-photonic-media"` + UncorrectableBits *uint64 `path:"uncorrectable-bits" module:"tapi-photonic-media"` + UncorrectableBytes *uint64 `path:"uncorrectable-bytes" module:"tapi-photonic-media"` +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.AvailableCepLayerProtocol[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list AvailableCepLayerProtocol", key) - } +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter_FecParameters implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter_FecParameters) IsYANGGoStruct() {} - t.AvailableCepLayerProtocol[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol{ - LayerProtocolQualifier: LayerProtocolQualifier, +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter_FecParameters) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter_FecParameters"], t, opts...); err != nil { + return err } - - return t.AvailableCepLayerProtocol[key], nil + return nil } -// NewMappedServiceInterfacePoint creates a new entry in the MappedServiceInterfacePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewMappedServiceInterfacePoint(ServiceInterfacePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint, error){ +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiAssemblyConnectionEndPointSpec_OtsiAdapter_FecParameters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - // Initialise the list within the receiver struct if it has not already been - // created. - if t.MappedServiceInterfacePoint == nil { - t.MappedServiceInterfacePoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) - } - key := ServiceInterfacePointUuid +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec struct { + OtsiTermination *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination `path:"otsi-termination" module:"tapi-photonic-media"` +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.MappedServiceInterfacePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list MappedServiceInterfacePoint", key) - } +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec) IsYANGGoStruct() {} - t.MappedServiceInterfacePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint{ - ServiceInterfacePointUuid: &ServiceInterfacePointUuid, +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec"], t, opts...); err != nil { + return err } + return nil +} - return t.MappedServiceInterfacePoint[key], nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination struct { + LaserProperties *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_LaserProperties `path:"laser-properties" module:"tapi-photonic-media"` + ReceivedPower *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_ReceivedPower `path:"received-power" module:"tapi-photonic-media"` + SelectedApplicationIdentifier *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedApplicationIdentifier `path:"selected-application-identifier" module:"tapi-photonic-media"` + SelectedCentralFrequency *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency `path:"selected-central-frequency" module:"tapi-photonic-media"` + SelectedModulation E_TapiPhotonicMedia_ModulationTechnique `path:"selected-modulation" module:"tapi-photonic-media"` + SelectedSpectrum *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum `path:"selected-spectrum" module:"tapi-photonic-media"` + TransmitedPower *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_TransmitedPower `path:"transmited-power" module:"tapi-photonic-media"` } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination"], t, opts...); err != nil { + return err } + return nil +} - key := ValueName +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) - } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name{ - ValueName: &ValueName, +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_LaserProperties represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/laser-properties YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_LaserProperties struct { + LaserApplicationType E_TapiPhotonicMedia_LaserType `path:"laser-application-type" module:"tapi-photonic-media"` + LaserBiasCurrent *float64 `path:"laser-bias-current" module:"tapi-photonic-media"` + LaserStatus E_TapiPhotonicMedia_LaserControlStatusType `path:"laser-status" module:"tapi-photonic-media"` + LaserTemperature *float64 `path:"laser-temperature" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_LaserProperties implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_LaserProperties) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_LaserProperties) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_LaserProperties"], t, opts...); err != nil { + return err } + return nil +} - return t.Name[key], nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_LaserProperties) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_ReceivedPower represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/received-power YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_ReceivedPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.Uuid == nil { - return nil, fmt.Errorf("nil value for key Uuid") +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_ReceivedPower implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_ReceivedPower) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_ReceivedPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_ReceivedPower"], t, opts...); err != nil { + return err } + return nil +} - return map[string]interface{}{ - "uuid": *t.Uuid, - }, nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_ReceivedPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedApplicationIdentifier represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-application-identifier YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedApplicationIdentifier struct { + ApplicationCode *string `path:"application-code" module:"tapi-photonic-media"` + ApplicationIdentifierType E_TapiPhotonicMedia_ApplicationIdentifierType `path:"application-identifier-type" module:"tapi-photonic-media"` } +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedApplicationIdentifier implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedApplicationIdentifier) IsYANGGoStruct() {} + // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedApplicationIdentifier) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedApplicationIdentifier"], t, opts...); err != nil { return err } return nil @@ -8609,45 +10687,47 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedApplicationIdentifier) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/aggregated-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-central-frequency YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency struct { + CentralFrequency *uint64 `path:"central-frequency" module:"tapi-photonic-media"` + FrequencyConstraint *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency"], t, opts...); err != nil { + return err } + return nil +} - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") - } - return map[string]interface{}{ - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, - }, nil +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency_FrequencyConstraint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-central-frequency/frequency-constraint YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` } +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency_FrequencyConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency_FrequencyConstraint) IsYANGGoStruct() {} + // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency_FrequencyConstraint"], t, opts...); err != nil { return err } return nil @@ -8655,22 +10735,24 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Agg // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedCentralFrequency_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-spectrum YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum struct { + FrequencyConstraint *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum"], t, opts...); err != nil { return err } return nil @@ -8678,23 +10760,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Ava // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum_FrequencyConstraint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum_FrequencyConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum_FrequencyConstraint) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum_FrequencyConstraint"], t, opts...); err != nil { return err } return nil @@ -8702,31 +10784,48 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Ava // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_SelectedSpectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-cep-layer-protocol YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol struct { - LayerProtocolQualifier E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` - NumberOfCepInstances *uint64 `path:"number-of-cep-instances" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_TransmitedPower represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/transmited-power YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_TransmitedPower struct { + PowerSpectralDensity *float64 `path:"power-spectral-density" module:"tapi-photonic-media"` + TotalPower *float64 `path:"total-power" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_TransmitedPower implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_TransmitedPower) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) ΛListKeyMap() (map[string]interface{}, error) { +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_TransmitedPower) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_TransmitedPower"], t, opts...); err != nil { + return err + } + return nil +} - return map[string]interface{}{ - "layer-protocol-qualifier": t.LayerProtocolQualifier, - }, nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_OtsiConnectionEndPointSpec_OtsiTermination_TransmitedPower) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/parent-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` } +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint) IsYANGGoStruct() {} + // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint"], t, opts...); err != nil { return err } return nil @@ -8734,49 +10833,56 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Ava // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList struct { - ConnectionEndPoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint `path:"connection-end-point" module:"tapi-connectivity"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/mapped-service-interface-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint struct { + ServiceInterfacePointUuid *string `path:"service-interface-point-uuid" module:"tapi-topology"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) IsYANGGoStruct() {} - -// NewConnectionEndPoint creates a new entry in the ConnectionEndPoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) NewConnectionEndPoint(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint, error){ +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.ConnectionEndPoint == nil { - t.ConnectionEndPoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.ServiceInterfacePointUuid == nil { + return nil, fmt.Errorf("nil value for key ServiceInterfacePointUuid") } - key := Uuid + return map[string]interface{}{ + "service-interface-point-uuid": *t.ServiceInterfacePointUuid, + }, nil +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.ConnectionEndPoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list ConnectionEndPoint", key) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint"], t, opts...); err != nil { + return err } + return nil +} - t.ConnectionEndPoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint{ - Uuid: &Uuid, - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - return t.ConnectionEndPoint[key], nil + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec struct { + McPool *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool `path:"mc-pool" module:"tapi-photonic-media"` } +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec) IsYANGGoStruct() {} + // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec"], t, opts...); err != nil { return err } return nil @@ -8784,156 +10890,135 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Cep // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct { - AggregatedConnectionEndPoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint `path:"aggregated-connection-end-point" module:"tapi-connectivity"` - ClientNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint `path:"client-node-edge-point" module:"tapi-connectivity"` - ConnectionPortDirection E_TapiConnectivity_PortDirection `path:"connection-port-direction" module:"tapi-connectivity"` - ConnectionPortRole E_TapiConnectivity_PortRole `path:"connection-port-role" module:"tapi-connectivity"` - LayerProtocolName E_TapiConnectivity_LayerProtocolName `path:"layer-protocol-name" module:"tapi-connectivity"` - LayerProtocolQualifier E_TapiConnectivity_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-connectivity"` - LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-connectivity"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name `path:"name" module:"tapi-connectivity"` - OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-connectivity"` - ParentNodeEdgePoint *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint `path:"parent-node-edge-point" module:"tapi-connectivity"` - ProtectionRole E_TapiConnectivity_ProtectionRole `path:"protection-role" module:"tapi-connectivity"` - TerminationDirection E_TapiCommon_TerminationDirection `path:"termination-direction" module:"tapi-connectivity"` - TerminationState E_TapiCommon_TerminationState `path:"termination-state" module:"tapi-connectivity"` - Uuid *string `path:"uuid" module:"tapi-connectivity"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool struct { + AvailableSpectrum map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum `path:"available-spectrum" module:"tapi-photonic-media"` + OccupiedSpectrum map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum `path:"occupied-spectrum" module:"tapi-photonic-media"` + SupportableSpectrum map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum `path:"supportable-spectrum" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key represents the key for list AggregatedConnectionEndPoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` - ConnectionEndPointUuid string `path:"connection-end-point-uuid"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_Key represents the key for list AvailableSpectrum of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_Key struct { + UpperFrequency uint64 `path:"upper-frequency"` + LowerFrequency uint64 `path:"lower-frequency"` } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key represents the key for list ClientNodeEdgePoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_Key represents the key for list OccupiedSpectrum of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_Key struct { + UpperFrequency uint64 `path:"upper-frequency"` + LowerFrequency uint64 `path:"lower-frequency"` } -// NewAggregatedConnectionEndPoint creates a new entry in the AggregatedConnectionEndPoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct. The keys of the list are populated from the input +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_Key represents the key for list SupportableSpectrum of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_Key struct { + UpperFrequency uint64 `path:"upper-frequency"` + LowerFrequency uint64 `path:"lower-frequency"` +} + +// NewAvailableSpectrum creates a new entry in the AvailableSpectrum list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) NewAggregatedConnectionEndPoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string, ConnectionEndPointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint, error){ +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool) NewAvailableSpectrum(UpperFrequency uint64, LowerFrequency uint64) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.AggregatedConnectionEndPoint == nil { - t.AggregatedConnectionEndPoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) + if t.AvailableSpectrum == nil { + t.AvailableSpectrum = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum) } - key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, - ConnectionEndPointUuid: ConnectionEndPointUuid, + key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_Key{ + UpperFrequency: UpperFrequency, + LowerFrequency: LowerFrequency, } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.AggregatedConnectionEndPoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list AggregatedConnectionEndPoint", key) + if _, ok := t.AvailableSpectrum[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AvailableSpectrum", key) } - t.AggregatedConnectionEndPoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, - ConnectionEndPointUuid: &ConnectionEndPointUuid, + t.AvailableSpectrum[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum{ + UpperFrequency: &UpperFrequency, + LowerFrequency: &LowerFrequency, } - return t.AggregatedConnectionEndPoint[key], nil + return t.AvailableSpectrum[key], nil } -// NewClientNodeEdgePoint creates a new entry in the ClientNodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct. The keys of the list are populated from the input +// NewOccupiedSpectrum creates a new entry in the OccupiedSpectrum list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) NewClientNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint, error){ +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool) NewOccupiedSpectrum(UpperFrequency uint64, LowerFrequency uint64) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.ClientNodeEdgePoint == nil { - t.ClientNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) + if t.OccupiedSpectrum == nil { + t.OccupiedSpectrum = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum) } - key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, + key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_Key{ + UpperFrequency: UpperFrequency, + LowerFrequency: LowerFrequency, } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.ClientNodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list ClientNodeEdgePoint", key) + if _, ok := t.OccupiedSpectrum[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list OccupiedSpectrum", key) } - t.ClientNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, + t.OccupiedSpectrum[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum{ + UpperFrequency: &UpperFrequency, + LowerFrequency: &LowerFrequency, } - return t.ClientNodeEdgePoint[key], nil + return t.OccupiedSpectrum[key], nil } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct. The keys of the list are populated from the input +// NewSupportableSpectrum creates a new entry in the SupportableSpectrum list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name, error){ +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool) NewSupportableSpectrum(UpperFrequency uint64, LowerFrequency uint64) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) + if t.SupportableSpectrum == nil { + t.SupportableSpectrum = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum) } - key := ValueName + key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_Key{ + UpperFrequency: UpperFrequency, + LowerFrequency: LowerFrequency, + } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) - } - - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name{ - ValueName: &ValueName, + // be created. + if _, ok := t.SupportableSpectrum[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list SupportableSpectrum", key) } - return t.Name[key], nil -} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.Uuid == nil { - return nil, fmt.Errorf("nil value for key Uuid") + t.SupportableSpectrum[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum{ + UpperFrequency: &UpperFrequency, + LowerFrequency: &LowerFrequency, } - return map[string]interface{}{ - "uuid": *t.Uuid, - }, nil + return t.SupportableSpectrum[key], nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool"], t, opts...); err != nil { return err } return nil @@ -8941,51 +11026,40 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Cep // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/aggregated-connection-end-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint struct { - ConnectionEndPointUuid *string `path:"connection-end-point-uuid" module:"tapi-connectivity"` - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` - NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/available-spectrum YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum struct { + FrequencyConstraint *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.ConnectionEndPointUuid == nil { - return nil, fmt.Errorf("nil value for key ConnectionEndPointUuid") - } - - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") - } +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum) IsYANGGoStruct() {} - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum) ΛListKeyMap() (map[string]interface{}, error) { + if t.LowerFrequency == nil { + return nil, fmt.Errorf("nil value for key LowerFrequency") } - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") + if t.UpperFrequency == nil { + return nil, fmt.Errorf("nil value for key UpperFrequency") } return map[string]interface{}{ - "connection-end-point-uuid": *t.ConnectionEndPointUuid, - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "lower-frequency": *t.LowerFrequency, + "upper-frequency": *t.UpperFrequency, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum"], t, opts...); err != nil { return err } return nil @@ -8993,45 +11067,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Cep // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/client-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` - NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_FrequencyConstraint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/available-spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_FrequencyConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") - } - - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } - - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") - } - - return map[string]interface{}{ - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, - }, nil -} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_FrequencyConstraint) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_FrequencyConstraint"], t, opts...); err != nil { return err } return nil @@ -9039,34 +11091,40 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Cep // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_AvailableSpectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name struct { - Value *string `path:"value" module:"tapi-connectivity"` - ValueName *string `path:"value-name" module:"tapi-connectivity"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/occupied-spectrum YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum struct { + FrequencyConstraint *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum) ΛListKeyMap() (map[string]interface{}, error) { + if t.LowerFrequency == nil { + return nil, fmt.Errorf("nil value for key LowerFrequency") + } + + if t.UpperFrequency == nil { + return nil, fmt.Errorf("nil value for key UpperFrequency") } return map[string]interface{}{ - "value-name": *t.ValueName, + "lower-frequency": *t.LowerFrequency, + "upper-frequency": *t.UpperFrequency, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum"], t, opts...); err != nil { return err } return nil @@ -9074,24 +11132,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Cep // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/parent-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` - NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/occupied-spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint"], t, opts...); err != nil { return err } return nil @@ -9099,33 +11156,40 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Cep // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_OccupiedSpectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/mapped-service-interface-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint struct { - ServiceInterfacePointUuid *string `path:"service-interface-point-uuid" module:"tapi-topology"` +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/supportable-spectrum YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum struct { + FrequencyConstraint *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_FrequencyConstraint `path:"frequency-constraint" module:"tapi-photonic-media"` + LowerFrequency *uint64 `path:"lower-frequency" module:"tapi-photonic-media"` + UpperFrequency *uint64 `path:"upper-frequency" module:"tapi-photonic-media"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.ServiceInterfacePointUuid == nil { - return nil, fmt.Errorf("nil value for key ServiceInterfacePointUuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum) ΛListKeyMap() (map[string]interface{}, error) { + if t.LowerFrequency == nil { + return nil, fmt.Errorf("nil value for key LowerFrequency") + } + + if t.UpperFrequency == nil { + return nil, fmt.Errorf("nil value for key UpperFrequency") } return map[string]interface{}{ - "service-interface-point-uuid": *t.ServiceInterfacePointUuid, + "lower-frequency": *t.LowerFrequency, + "upper-frequency": *t.UpperFrequency, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum"], t, opts...); err != nil { return err } return nil @@ -9133,7 +11197,31 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Map // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_FrequencyConstraint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/supportable-spectrum/frequency-constraint YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_FrequencyConstraint struct { + AdjustmentGranularity E_TapiPhotonicMedia_AdjustmentGranularity `path:"adjustment-granularity" module:"tapi-photonic-media"` + GridType E_TapiPhotonicMedia_GridType `path:"grid-type" module:"tapi-photonic-media"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_FrequencyConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_FrequencyConstraint) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_FrequencyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_FrequencyConstraint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MediaChannelNodeEdgePointSpec_McPool_SupportableSpectrum_FrequencyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } // TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/name YANG schema element. @@ -9400,6 +11488,30 @@ const ( TapiCommon_LayerProtocolQualifier_UNSET E_TapiCommon_LayerProtocolQualifier = 0 // TapiCommon_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED corresponds to the value LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED of TapiCommon_LayerProtocolQualifier TapiCommon_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED E_TapiCommon_LayerProtocolQualifier = 1 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER corresponds to the value PHOTONIC_LAYER_QUALIFIER of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER E_TapiCommon_LayerProtocolQualifier = 2 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MC corresponds to the value PHOTONIC_LAYER_QUALIFIER_MC of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MC E_TapiCommon_LayerProtocolQualifier = 3 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MCA corresponds to the value PHOTONIC_LAYER_QUALIFIER_MCA of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MCA E_TapiCommon_LayerProtocolQualifier = 4 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OCH corresponds to the value PHOTONIC_LAYER_QUALIFIER_OCH of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OCH E_TapiCommon_LayerProtocolQualifier = 5 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMS corresponds to the value PHOTONIC_LAYER_QUALIFIER_OMS of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMS E_TapiCommon_LayerProtocolQualifier = 6 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMSA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OMSA of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMSA E_TapiCommon_LayerProtocolQualifier = 7 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTS corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTS of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTS E_TapiCommon_LayerProtocolQualifier = 8 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSA of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSA E_TapiCommon_LayerProtocolQualifier = 9 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSi corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSi of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSi E_TapiCommon_LayerProtocolQualifier = 10 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiA of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiA E_TapiCommon_LayerProtocolQualifier = 11 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMC corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiMC of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMC E_TapiCommon_LayerProtocolQualifier = 12 + // TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMCA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiMCA of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMCA E_TapiCommon_LayerProtocolQualifier = 13 ) @@ -9734,6 +11846,30 @@ const ( TapiConnectivity_LayerProtocolQualifier_UNSET E_TapiConnectivity_LayerProtocolQualifier = 0 // TapiConnectivity_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED corresponds to the value LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED of TapiConnectivity_LayerProtocolQualifier TapiConnectivity_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED E_TapiConnectivity_LayerProtocolQualifier = 1 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER corresponds to the value PHOTONIC_LAYER_QUALIFIER of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER E_TapiConnectivity_LayerProtocolQualifier = 2 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MC corresponds to the value PHOTONIC_LAYER_QUALIFIER_MC of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MC E_TapiConnectivity_LayerProtocolQualifier = 3 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MCA corresponds to the value PHOTONIC_LAYER_QUALIFIER_MCA of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MCA E_TapiConnectivity_LayerProtocolQualifier = 4 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OCH corresponds to the value PHOTONIC_LAYER_QUALIFIER_OCH of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OCH E_TapiConnectivity_LayerProtocolQualifier = 5 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMS corresponds to the value PHOTONIC_LAYER_QUALIFIER_OMS of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMS E_TapiConnectivity_LayerProtocolQualifier = 6 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMSA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OMSA of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMSA E_TapiConnectivity_LayerProtocolQualifier = 7 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTS corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTS of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTS E_TapiConnectivity_LayerProtocolQualifier = 8 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSA of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSA E_TapiConnectivity_LayerProtocolQualifier = 9 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSi corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSi of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSi E_TapiConnectivity_LayerProtocolQualifier = 10 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiA of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiA E_TapiConnectivity_LayerProtocolQualifier = 11 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMC corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiMC of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMC E_TapiConnectivity_LayerProtocolQualifier = 12 + // TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMCA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiMCA of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMCA E_TapiConnectivity_LayerProtocolQualifier = 13 ) @@ -10212,6 +12348,30 @@ const ( TapiPathComputation_LayerProtocolQualifier_UNSET E_TapiPathComputation_LayerProtocolQualifier = 0 // TapiPathComputation_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED corresponds to the value LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED of TapiPathComputation_LayerProtocolQualifier TapiPathComputation_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED E_TapiPathComputation_LayerProtocolQualifier = 1 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER corresponds to the value PHOTONIC_LAYER_QUALIFIER of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER E_TapiPathComputation_LayerProtocolQualifier = 2 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MC corresponds to the value PHOTONIC_LAYER_QUALIFIER_MC of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MC E_TapiPathComputation_LayerProtocolQualifier = 3 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MCA corresponds to the value PHOTONIC_LAYER_QUALIFIER_MCA of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MCA E_TapiPathComputation_LayerProtocolQualifier = 4 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OCH corresponds to the value PHOTONIC_LAYER_QUALIFIER_OCH of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OCH E_TapiPathComputation_LayerProtocolQualifier = 5 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMS corresponds to the value PHOTONIC_LAYER_QUALIFIER_OMS of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMS E_TapiPathComputation_LayerProtocolQualifier = 6 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMSA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OMSA of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMSA E_TapiPathComputation_LayerProtocolQualifier = 7 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTS corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTS of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTS E_TapiPathComputation_LayerProtocolQualifier = 8 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSA of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSA E_TapiPathComputation_LayerProtocolQualifier = 9 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSi corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSi of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSi E_TapiPathComputation_LayerProtocolQualifier = 10 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiA of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiA E_TapiPathComputation_LayerProtocolQualifier = 11 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMC corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiMC of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMC E_TapiPathComputation_LayerProtocolQualifier = 12 + // TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMCA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiMCA of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMCA E_TapiPathComputation_LayerProtocolQualifier = 13 ) @@ -10325,6 +12485,266 @@ const ( ) +// E_TapiPhotonicMedia_AdjustmentGranularity is a derived int64 type which is used to represent +// the enumerated node TapiPhotonicMedia_AdjustmentGranularity. An additional value named +// TapiPhotonicMedia_AdjustmentGranularity_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPhotonicMedia_AdjustmentGranularity int64 + +// IsYANGGoEnum ensures that TapiPhotonicMedia_AdjustmentGranularity implements the yang.GoEnum +// interface. This ensures that TapiPhotonicMedia_AdjustmentGranularity can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPhotonicMedia_AdjustmentGranularity) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPhotonicMedia_AdjustmentGranularity. +func (E_TapiPhotonicMedia_AdjustmentGranularity) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPhotonicMedia_AdjustmentGranularity. +func (e E_TapiPhotonicMedia_AdjustmentGranularity) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPhotonicMedia_AdjustmentGranularity") +} + +const ( + // TapiPhotonicMedia_AdjustmentGranularity_UNSET corresponds to the value UNSET of TapiPhotonicMedia_AdjustmentGranularity + TapiPhotonicMedia_AdjustmentGranularity_UNSET E_TapiPhotonicMedia_AdjustmentGranularity = 0 + // TapiPhotonicMedia_AdjustmentGranularity_G_100GHZ corresponds to the value G_100GHZ of TapiPhotonicMedia_AdjustmentGranularity + TapiPhotonicMedia_AdjustmentGranularity_G_100GHZ E_TapiPhotonicMedia_AdjustmentGranularity = 1 + // TapiPhotonicMedia_AdjustmentGranularity_G_50GHZ corresponds to the value G_50GHZ of TapiPhotonicMedia_AdjustmentGranularity + TapiPhotonicMedia_AdjustmentGranularity_G_50GHZ E_TapiPhotonicMedia_AdjustmentGranularity = 2 + // TapiPhotonicMedia_AdjustmentGranularity_G_25GHZ corresponds to the value G_25GHZ of TapiPhotonicMedia_AdjustmentGranularity + TapiPhotonicMedia_AdjustmentGranularity_G_25GHZ E_TapiPhotonicMedia_AdjustmentGranularity = 3 + // TapiPhotonicMedia_AdjustmentGranularity_G_12_5GHZ corresponds to the value G_12_5GHZ of TapiPhotonicMedia_AdjustmentGranularity + TapiPhotonicMedia_AdjustmentGranularity_G_12_5GHZ E_TapiPhotonicMedia_AdjustmentGranularity = 4 + // TapiPhotonicMedia_AdjustmentGranularity_G_6_25GHZ corresponds to the value G_6_25GHZ of TapiPhotonicMedia_AdjustmentGranularity + TapiPhotonicMedia_AdjustmentGranularity_G_6_25GHZ E_TapiPhotonicMedia_AdjustmentGranularity = 5 + // TapiPhotonicMedia_AdjustmentGranularity_G_3_125GHZ corresponds to the value G_3_125GHZ of TapiPhotonicMedia_AdjustmentGranularity + TapiPhotonicMedia_AdjustmentGranularity_G_3_125GHZ E_TapiPhotonicMedia_AdjustmentGranularity = 6 + // TapiPhotonicMedia_AdjustmentGranularity_UNCONSTRAINED corresponds to the value UNCONSTRAINED of TapiPhotonicMedia_AdjustmentGranularity + TapiPhotonicMedia_AdjustmentGranularity_UNCONSTRAINED E_TapiPhotonicMedia_AdjustmentGranularity = 7 +) + + +// E_TapiPhotonicMedia_ApplicationIdentifierType is a derived int64 type which is used to represent +// the enumerated node TapiPhotonicMedia_ApplicationIdentifierType. An additional value named +// TapiPhotonicMedia_ApplicationIdentifierType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPhotonicMedia_ApplicationIdentifierType int64 + +// IsYANGGoEnum ensures that TapiPhotonicMedia_ApplicationIdentifierType implements the yang.GoEnum +// interface. This ensures that TapiPhotonicMedia_ApplicationIdentifierType can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPhotonicMedia_ApplicationIdentifierType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPhotonicMedia_ApplicationIdentifierType. +func (E_TapiPhotonicMedia_ApplicationIdentifierType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPhotonicMedia_ApplicationIdentifierType. +func (e E_TapiPhotonicMedia_ApplicationIdentifierType) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPhotonicMedia_ApplicationIdentifierType") +} + +const ( + // TapiPhotonicMedia_ApplicationIdentifierType_UNSET corresponds to the value UNSET of TapiPhotonicMedia_ApplicationIdentifierType + TapiPhotonicMedia_ApplicationIdentifierType_UNSET E_TapiPhotonicMedia_ApplicationIdentifierType = 0 + // TapiPhotonicMedia_ApplicationIdentifierType_PROPRIETARY corresponds to the value PROPRIETARY of TapiPhotonicMedia_ApplicationIdentifierType + TapiPhotonicMedia_ApplicationIdentifierType_PROPRIETARY E_TapiPhotonicMedia_ApplicationIdentifierType = 1 + // TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G959_1 corresponds to the value ITUT_G959_1 of TapiPhotonicMedia_ApplicationIdentifierType + TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G959_1 E_TapiPhotonicMedia_ApplicationIdentifierType = 2 + // TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G698_1 corresponds to the value ITUT_G698_1 of TapiPhotonicMedia_ApplicationIdentifierType + TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G698_1 E_TapiPhotonicMedia_ApplicationIdentifierType = 3 + // TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G698_2 corresponds to the value ITUT_G698_2 of TapiPhotonicMedia_ApplicationIdentifierType + TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G698_2 E_TapiPhotonicMedia_ApplicationIdentifierType = 4 + // TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G696_1 corresponds to the value ITUT_G696_1 of TapiPhotonicMedia_ApplicationIdentifierType + TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G696_1 E_TapiPhotonicMedia_ApplicationIdentifierType = 5 + // TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G695 corresponds to the value ITUT_G695 of TapiPhotonicMedia_ApplicationIdentifierType + TapiPhotonicMedia_ApplicationIdentifierType_ITUT_G695 E_TapiPhotonicMedia_ApplicationIdentifierType = 6 +) + + +// E_TapiPhotonicMedia_GridType is a derived int64 type which is used to represent +// the enumerated node TapiPhotonicMedia_GridType. An additional value named +// TapiPhotonicMedia_GridType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPhotonicMedia_GridType int64 + +// IsYANGGoEnum ensures that TapiPhotonicMedia_GridType implements the yang.GoEnum +// interface. This ensures that TapiPhotonicMedia_GridType can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPhotonicMedia_GridType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPhotonicMedia_GridType. +func (E_TapiPhotonicMedia_GridType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPhotonicMedia_GridType. +func (e E_TapiPhotonicMedia_GridType) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPhotonicMedia_GridType") +} + +const ( + // TapiPhotonicMedia_GridType_UNSET corresponds to the value UNSET of TapiPhotonicMedia_GridType + TapiPhotonicMedia_GridType_UNSET E_TapiPhotonicMedia_GridType = 0 + // TapiPhotonicMedia_GridType_DWDM corresponds to the value DWDM of TapiPhotonicMedia_GridType + TapiPhotonicMedia_GridType_DWDM E_TapiPhotonicMedia_GridType = 1 + // TapiPhotonicMedia_GridType_CWDM corresponds to the value CWDM of TapiPhotonicMedia_GridType + TapiPhotonicMedia_GridType_CWDM E_TapiPhotonicMedia_GridType = 2 + // TapiPhotonicMedia_GridType_FLEX corresponds to the value FLEX of TapiPhotonicMedia_GridType + TapiPhotonicMedia_GridType_FLEX E_TapiPhotonicMedia_GridType = 3 + // TapiPhotonicMedia_GridType_GRIDLESS corresponds to the value GRIDLESS of TapiPhotonicMedia_GridType + TapiPhotonicMedia_GridType_GRIDLESS E_TapiPhotonicMedia_GridType = 4 + // TapiPhotonicMedia_GridType_UNSPECIFIED corresponds to the value UNSPECIFIED of TapiPhotonicMedia_GridType + TapiPhotonicMedia_GridType_UNSPECIFIED E_TapiPhotonicMedia_GridType = 5 +) + + +// E_TapiPhotonicMedia_LaserControlStatusType is a derived int64 type which is used to represent +// the enumerated node TapiPhotonicMedia_LaserControlStatusType. An additional value named +// TapiPhotonicMedia_LaserControlStatusType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPhotonicMedia_LaserControlStatusType int64 + +// IsYANGGoEnum ensures that TapiPhotonicMedia_LaserControlStatusType implements the yang.GoEnum +// interface. This ensures that TapiPhotonicMedia_LaserControlStatusType can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPhotonicMedia_LaserControlStatusType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPhotonicMedia_LaserControlStatusType. +func (E_TapiPhotonicMedia_LaserControlStatusType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPhotonicMedia_LaserControlStatusType. +func (e E_TapiPhotonicMedia_LaserControlStatusType) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPhotonicMedia_LaserControlStatusType") +} + +const ( + // TapiPhotonicMedia_LaserControlStatusType_UNSET corresponds to the value UNSET of TapiPhotonicMedia_LaserControlStatusType + TapiPhotonicMedia_LaserControlStatusType_UNSET E_TapiPhotonicMedia_LaserControlStatusType = 0 + // TapiPhotonicMedia_LaserControlStatusType_ON corresponds to the value ON of TapiPhotonicMedia_LaserControlStatusType + TapiPhotonicMedia_LaserControlStatusType_ON E_TapiPhotonicMedia_LaserControlStatusType = 1 + // TapiPhotonicMedia_LaserControlStatusType_OFF corresponds to the value OFF of TapiPhotonicMedia_LaserControlStatusType + TapiPhotonicMedia_LaserControlStatusType_OFF E_TapiPhotonicMedia_LaserControlStatusType = 2 + // TapiPhotonicMedia_LaserControlStatusType_PULSING corresponds to the value PULSING of TapiPhotonicMedia_LaserControlStatusType + TapiPhotonicMedia_LaserControlStatusType_PULSING E_TapiPhotonicMedia_LaserControlStatusType = 3 + // TapiPhotonicMedia_LaserControlStatusType_UNDEFINED corresponds to the value UNDEFINED of TapiPhotonicMedia_LaserControlStatusType + TapiPhotonicMedia_LaserControlStatusType_UNDEFINED E_TapiPhotonicMedia_LaserControlStatusType = 4 +) + + +// E_TapiPhotonicMedia_LaserControlType is a derived int64 type which is used to represent +// the enumerated node TapiPhotonicMedia_LaserControlType. An additional value named +// TapiPhotonicMedia_LaserControlType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPhotonicMedia_LaserControlType int64 + +// IsYANGGoEnum ensures that TapiPhotonicMedia_LaserControlType implements the yang.GoEnum +// interface. This ensures that TapiPhotonicMedia_LaserControlType can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPhotonicMedia_LaserControlType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPhotonicMedia_LaserControlType. +func (E_TapiPhotonicMedia_LaserControlType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPhotonicMedia_LaserControlType. +func (e E_TapiPhotonicMedia_LaserControlType) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPhotonicMedia_LaserControlType") +} + +const ( + // TapiPhotonicMedia_LaserControlType_UNSET corresponds to the value UNSET of TapiPhotonicMedia_LaserControlType + TapiPhotonicMedia_LaserControlType_UNSET E_TapiPhotonicMedia_LaserControlType = 0 + // TapiPhotonicMedia_LaserControlType_FORCED_ON corresponds to the value FORCED_ON of TapiPhotonicMedia_LaserControlType + TapiPhotonicMedia_LaserControlType_FORCED_ON E_TapiPhotonicMedia_LaserControlType = 1 + // TapiPhotonicMedia_LaserControlType_FORCED_OFF corresponds to the value FORCED_OFF of TapiPhotonicMedia_LaserControlType + TapiPhotonicMedia_LaserControlType_FORCED_OFF E_TapiPhotonicMedia_LaserControlType = 2 + // TapiPhotonicMedia_LaserControlType_AUTOMATIC_LASER_SHUTDOWN corresponds to the value AUTOMATIC_LASER_SHUTDOWN of TapiPhotonicMedia_LaserControlType + TapiPhotonicMedia_LaserControlType_AUTOMATIC_LASER_SHUTDOWN E_TapiPhotonicMedia_LaserControlType = 3 + // TapiPhotonicMedia_LaserControlType_UNDEFINED corresponds to the value UNDEFINED of TapiPhotonicMedia_LaserControlType + TapiPhotonicMedia_LaserControlType_UNDEFINED E_TapiPhotonicMedia_LaserControlType = 4 +) + + +// E_TapiPhotonicMedia_LaserType is a derived int64 type which is used to represent +// the enumerated node TapiPhotonicMedia_LaserType. An additional value named +// TapiPhotonicMedia_LaserType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPhotonicMedia_LaserType int64 + +// IsYANGGoEnum ensures that TapiPhotonicMedia_LaserType implements the yang.GoEnum +// interface. This ensures that TapiPhotonicMedia_LaserType can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPhotonicMedia_LaserType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPhotonicMedia_LaserType. +func (E_TapiPhotonicMedia_LaserType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPhotonicMedia_LaserType. +func (e E_TapiPhotonicMedia_LaserType) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPhotonicMedia_LaserType") +} + +const ( + // TapiPhotonicMedia_LaserType_UNSET corresponds to the value UNSET of TapiPhotonicMedia_LaserType + TapiPhotonicMedia_LaserType_UNSET E_TapiPhotonicMedia_LaserType = 0 + // TapiPhotonicMedia_LaserType_PUMP corresponds to the value PUMP of TapiPhotonicMedia_LaserType + TapiPhotonicMedia_LaserType_PUMP E_TapiPhotonicMedia_LaserType = 1 + // TapiPhotonicMedia_LaserType_MODULATED corresponds to the value MODULATED of TapiPhotonicMedia_LaserType + TapiPhotonicMedia_LaserType_MODULATED E_TapiPhotonicMedia_LaserType = 2 + // TapiPhotonicMedia_LaserType_PULSE corresponds to the value PULSE of TapiPhotonicMedia_LaserType + TapiPhotonicMedia_LaserType_PULSE E_TapiPhotonicMedia_LaserType = 3 +) + + +// E_TapiPhotonicMedia_ModulationTechnique is a derived int64 type which is used to represent +// the enumerated node TapiPhotonicMedia_ModulationTechnique. An additional value named +// TapiPhotonicMedia_ModulationTechnique_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPhotonicMedia_ModulationTechnique int64 + +// IsYANGGoEnum ensures that TapiPhotonicMedia_ModulationTechnique implements the yang.GoEnum +// interface. This ensures that TapiPhotonicMedia_ModulationTechnique can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPhotonicMedia_ModulationTechnique) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPhotonicMedia_ModulationTechnique. +func (E_TapiPhotonicMedia_ModulationTechnique) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPhotonicMedia_ModulationTechnique. +func (e E_TapiPhotonicMedia_ModulationTechnique) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPhotonicMedia_ModulationTechnique") +} + +const ( + // TapiPhotonicMedia_ModulationTechnique_UNSET corresponds to the value UNSET of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_UNSET E_TapiPhotonicMedia_ModulationTechnique = 0 + // TapiPhotonicMedia_ModulationTechnique_RZ corresponds to the value RZ of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_RZ E_TapiPhotonicMedia_ModulationTechnique = 1 + // TapiPhotonicMedia_ModulationTechnique_NRZ corresponds to the value NRZ of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_NRZ E_TapiPhotonicMedia_ModulationTechnique = 2 + // TapiPhotonicMedia_ModulationTechnique_BPSK corresponds to the value BPSK of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_BPSK E_TapiPhotonicMedia_ModulationTechnique = 3 + // TapiPhotonicMedia_ModulationTechnique_DPSK corresponds to the value DPSK of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_DPSK E_TapiPhotonicMedia_ModulationTechnique = 4 + // TapiPhotonicMedia_ModulationTechnique_QPSK corresponds to the value QPSK of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_QPSK E_TapiPhotonicMedia_ModulationTechnique = 5 + // TapiPhotonicMedia_ModulationTechnique_8QAM corresponds to the value 8QAM of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_8QAM E_TapiPhotonicMedia_ModulationTechnique = 6 + // TapiPhotonicMedia_ModulationTechnique_16QAM corresponds to the value 16QAM of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_16QAM E_TapiPhotonicMedia_ModulationTechnique = 7 + // TapiPhotonicMedia_ModulationTechnique_PAM4 corresponds to the value PAM4 of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_PAM4 E_TapiPhotonicMedia_ModulationTechnique = 8 + // TapiPhotonicMedia_ModulationTechnique_PAM8 corresponds to the value PAM8 of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_PAM8 E_TapiPhotonicMedia_ModulationTechnique = 9 + // TapiPhotonicMedia_ModulationTechnique_UNDEFINED corresponds to the value UNDEFINED of TapiPhotonicMedia_ModulationTechnique + TapiPhotonicMedia_ModulationTechnique_UNDEFINED E_TapiPhotonicMedia_ModulationTechnique = 10 +) + + // E_TapiTopology_ForwardingDirection is a derived int64 type which is used to represent // the enumerated node TapiTopology_ForwardingDirection. An additional value named // TapiTopology_ForwardingDirection_UNSET is added to the enumeration which is used as @@ -10452,6 +12872,30 @@ const ( TapiTopology_LayerProtocolQualifier_UNSET E_TapiTopology_LayerProtocolQualifier = 0 // TapiTopology_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED corresponds to the value LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED of TapiTopology_LayerProtocolQualifier TapiTopology_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED E_TapiTopology_LayerProtocolQualifier = 1 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER corresponds to the value PHOTONIC_LAYER_QUALIFIER of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER E_TapiTopology_LayerProtocolQualifier = 2 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MC corresponds to the value PHOTONIC_LAYER_QUALIFIER_MC of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MC E_TapiTopology_LayerProtocolQualifier = 3 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MCA corresponds to the value PHOTONIC_LAYER_QUALIFIER_MCA of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_MCA E_TapiTopology_LayerProtocolQualifier = 4 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OCH corresponds to the value PHOTONIC_LAYER_QUALIFIER_OCH of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OCH E_TapiTopology_LayerProtocolQualifier = 5 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMS corresponds to the value PHOTONIC_LAYER_QUALIFIER_OMS of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMS E_TapiTopology_LayerProtocolQualifier = 6 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMSA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OMSA of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OMSA E_TapiTopology_LayerProtocolQualifier = 7 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTS corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTS of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTS E_TapiTopology_LayerProtocolQualifier = 8 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSA of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSA E_TapiTopology_LayerProtocolQualifier = 9 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSi corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSi of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSi E_TapiTopology_LayerProtocolQualifier = 10 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiA of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiA E_TapiTopology_LayerProtocolQualifier = 11 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMC corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiMC of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMC E_TapiTopology_LayerProtocolQualifier = 12 + // TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMCA corresponds to the value PHOTONIC_LAYER_QUALIFIER_OTSiMCA of TapiTopology_LayerProtocolQualifier + TapiTopology_LayerProtocolQualifier_PHOTONIC_LAYER_QUALIFIER_OTSiMCA E_TapiTopology_LayerProtocolQualifier = 13 ) @@ -10741,6 +13185,18 @@ var ΛEnum = map[string]map[int64]ygot.EnumDefinition{ }, "E_TapiCommon_LayerProtocolQualifier": { 1: {Name: "LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED", DefiningModule: "tapi-common"}, + 2: {Name: "PHOTONIC_LAYER_QUALIFIER", DefiningModule: "tapi-photonic-media"}, + 3: {Name: "PHOTONIC_LAYER_QUALIFIER_MC", DefiningModule: "tapi-photonic-media"}, + 4: {Name: "PHOTONIC_LAYER_QUALIFIER_MCA", DefiningModule: "tapi-photonic-media"}, + 5: {Name: "PHOTONIC_LAYER_QUALIFIER_OCH", DefiningModule: "tapi-photonic-media"}, + 6: {Name: "PHOTONIC_LAYER_QUALIFIER_OMS", DefiningModule: "tapi-photonic-media"}, + 7: {Name: "PHOTONIC_LAYER_QUALIFIER_OMSA", DefiningModule: "tapi-photonic-media"}, + 8: {Name: "PHOTONIC_LAYER_QUALIFIER_OTS", DefiningModule: "tapi-photonic-media"}, + 9: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSA", DefiningModule: "tapi-photonic-media"}, + 10: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSi", DefiningModule: "tapi-photonic-media"}, + 11: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiA", DefiningModule: "tapi-photonic-media"}, + 12: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiMC", DefiningModule: "tapi-photonic-media"}, + 13: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiMCA", DefiningModule: "tapi-photonic-media"}, }, "E_TapiCommon_LifecycleState": { 1: {Name: "PLANNED"}, @@ -10798,6 +13254,18 @@ var ΛEnum = map[string]map[int64]ygot.EnumDefinition{ }, "E_TapiConnectivity_LayerProtocolQualifier": { 1: {Name: "LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED", DefiningModule: "tapi-common"}, + 2: {Name: "PHOTONIC_LAYER_QUALIFIER", DefiningModule: "tapi-photonic-media"}, + 3: {Name: "PHOTONIC_LAYER_QUALIFIER_MC", DefiningModule: "tapi-photonic-media"}, + 4: {Name: "PHOTONIC_LAYER_QUALIFIER_MCA", DefiningModule: "tapi-photonic-media"}, + 5: {Name: "PHOTONIC_LAYER_QUALIFIER_OCH", DefiningModule: "tapi-photonic-media"}, + 6: {Name: "PHOTONIC_LAYER_QUALIFIER_OMS", DefiningModule: "tapi-photonic-media"}, + 7: {Name: "PHOTONIC_LAYER_QUALIFIER_OMSA", DefiningModule: "tapi-photonic-media"}, + 8: {Name: "PHOTONIC_LAYER_QUALIFIER_OTS", DefiningModule: "tapi-photonic-media"}, + 9: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSA", DefiningModule: "tapi-photonic-media"}, + 10: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSi", DefiningModule: "tapi-photonic-media"}, + 11: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiA", DefiningModule: "tapi-photonic-media"}, + 12: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiMC", DefiningModule: "tapi-photonic-media"}, + 13: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiMCA", DefiningModule: "tapi-photonic-media"}, }, "E_TapiConnectivity_PortDirection": { 1: {Name: "BIDIRECTIONAL"}, @@ -10883,6 +13351,18 @@ var ΛEnum = map[string]map[int64]ygot.EnumDefinition{ }, "E_TapiPathComputation_LayerProtocolQualifier": { 1: {Name: "LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED", DefiningModule: "tapi-common"}, + 2: {Name: "PHOTONIC_LAYER_QUALIFIER", DefiningModule: "tapi-photonic-media"}, + 3: {Name: "PHOTONIC_LAYER_QUALIFIER_MC", DefiningModule: "tapi-photonic-media"}, + 4: {Name: "PHOTONIC_LAYER_QUALIFIER_MCA", DefiningModule: "tapi-photonic-media"}, + 5: {Name: "PHOTONIC_LAYER_QUALIFIER_OCH", DefiningModule: "tapi-photonic-media"}, + 6: {Name: "PHOTONIC_LAYER_QUALIFIER_OMS", DefiningModule: "tapi-photonic-media"}, + 7: {Name: "PHOTONIC_LAYER_QUALIFIER_OMSA", DefiningModule: "tapi-photonic-media"}, + 8: {Name: "PHOTONIC_LAYER_QUALIFIER_OTS", DefiningModule: "tapi-photonic-media"}, + 9: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSA", DefiningModule: "tapi-photonic-media"}, + 10: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSi", DefiningModule: "tapi-photonic-media"}, + 11: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiA", DefiningModule: "tapi-photonic-media"}, + 12: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiMC", DefiningModule: "tapi-photonic-media"}, + 13: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiMCA", DefiningModule: "tapi-photonic-media"}, }, "E_TapiPathComputation_PortDirection": { 1: {Name: "BIDIRECTIONAL"}, @@ -10906,6 +13386,59 @@ var ΛEnum = map[string]map[int64]ygot.EnumDefinition{ 6: {Name: "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY"}, 7: {Name: "LOAD_BALANCE_MAX_UNUSED_CAPACITY"}, }, + "E_TapiPhotonicMedia_AdjustmentGranularity": { + 1: {Name: "G_100GHZ"}, + 2: {Name: "G_50GHZ"}, + 3: {Name: "G_25GHZ"}, + 4: {Name: "G_12_5GHZ"}, + 5: {Name: "G_6_25GHZ"}, + 6: {Name: "G_3_125GHZ"}, + 7: {Name: "UNCONSTRAINED"}, + }, + "E_TapiPhotonicMedia_ApplicationIdentifierType": { + 1: {Name: "PROPRIETARY"}, + 2: {Name: "ITUT_G959_1"}, + 3: {Name: "ITUT_G698_1"}, + 4: {Name: "ITUT_G698_2"}, + 5: {Name: "ITUT_G696_1"}, + 6: {Name: "ITUT_G695"}, + }, + "E_TapiPhotonicMedia_GridType": { + 1: {Name: "DWDM"}, + 2: {Name: "CWDM"}, + 3: {Name: "FLEX"}, + 4: {Name: "GRIDLESS"}, + 5: {Name: "UNSPECIFIED"}, + }, + "E_TapiPhotonicMedia_LaserControlStatusType": { + 1: {Name: "ON"}, + 2: {Name: "OFF"}, + 3: {Name: "PULSING"}, + 4: {Name: "UNDEFINED"}, + }, + "E_TapiPhotonicMedia_LaserControlType": { + 1: {Name: "FORCED-ON"}, + 2: {Name: "FORCED-OFF"}, + 3: {Name: "AUTOMATIC-LASER-SHUTDOWN"}, + 4: {Name: "UNDEFINED"}, + }, + "E_TapiPhotonicMedia_LaserType": { + 1: {Name: "PUMP"}, + 2: {Name: "MODULATED"}, + 3: {Name: "PULSE"}, + }, + "E_TapiPhotonicMedia_ModulationTechnique": { + 1: {Name: "RZ"}, + 2: {Name: "NRZ"}, + 3: {Name: "BPSK"}, + 4: {Name: "DPSK"}, + 5: {Name: "QPSK"}, + 6: {Name: "8QAM"}, + 7: {Name: "16QAM"}, + 8: {Name: "PAM4"}, + 9: {Name: "PAM8"}, + 10: {Name: "UNDEFINED"}, + }, "E_TapiTopology_ForwardingDirection": { 1: {Name: "BIDIRECTIONAL"}, 2: {Name: "UNIDIRECTIONAL"}, @@ -10926,6 +13459,18 @@ var ΛEnum = map[string]map[int64]ygot.EnumDefinition{ }, "E_TapiTopology_LayerProtocolQualifier": { 1: {Name: "LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED", DefiningModule: "tapi-common"}, + 2: {Name: "PHOTONIC_LAYER_QUALIFIER", DefiningModule: "tapi-photonic-media"}, + 3: {Name: "PHOTONIC_LAYER_QUALIFIER_MC", DefiningModule: "tapi-photonic-media"}, + 4: {Name: "PHOTONIC_LAYER_QUALIFIER_MCA", DefiningModule: "tapi-photonic-media"}, + 5: {Name: "PHOTONIC_LAYER_QUALIFIER_OCH", DefiningModule: "tapi-photonic-media"}, + 6: {Name: "PHOTONIC_LAYER_QUALIFIER_OMS", DefiningModule: "tapi-photonic-media"}, + 7: {Name: "PHOTONIC_LAYER_QUALIFIER_OMSA", DefiningModule: "tapi-photonic-media"}, + 8: {Name: "PHOTONIC_LAYER_QUALIFIER_OTS", DefiningModule: "tapi-photonic-media"}, + 9: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSA", DefiningModule: "tapi-photonic-media"}, + 10: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSi", DefiningModule: "tapi-photonic-media"}, + 11: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiA", DefiningModule: "tapi-photonic-media"}, + 12: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiMC", DefiningModule: "tapi-photonic-media"}, + 13: {Name: "PHOTONIC_LAYER_QUALIFIER_OTSiMCA", DefiningModule: "tapi-photonic-media"}, }, "E_TapiTopology_PortDirection": { 1: {Name: "BIDIRECTIONAL"}, @@ -10989,1914 +13534,2635 @@ var ( // contents of a goyang yang.Entry struct, which defines the schema for the // fields within the struct. ySchema = []byte{ - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0xdf, 0x53, 0xdb, 0xc8, - 0xd2, 0x3e, 0x7e, 0xcf, 0x5f, 0xa1, 0xe2, 0x3a, 0xaa, 0xe0, 0x1c, 0x12, 0x38, 0xb9, 0x63, 0x81, - 0xec, 0xf2, 0x7e, 0x08, 0xf0, 0x02, 0xd9, 0x6f, 0x6d, 0x9d, 0xa2, 0x28, 0x45, 0x1a, 0x3b, 0xb3, - 0x11, 0x92, 0x57, 0x92, 0xf9, 0x71, 0xde, 0xca, 0xff, 0xfe, 0x2d, 0xcb, 0xb6, 0xfc, 0x43, 0xb2, - 0x2d, 0x4d, 0xf7, 0x48, 0x23, 0xeb, 0xe1, 0x66, 0x37, 0x06, 0xb7, 0xa4, 0xd1, 0xf4, 0xd3, 0xdd, - 0x4f, 0xf7, 0x74, 0xff, 0xdf, 0x9e, 0x65, 0x59, 0xd6, 0xfe, 0x95, 0xf3, 0x24, 0xf6, 0x3f, 0x5b, - 0xfb, 0x9e, 0x78, 0x96, 0xae, 0xd8, 0x7f, 0x37, 0xf9, 0xf4, 0xff, 0xc9, 0xc0, 0xdb, 0xff, 0x6c, - 0xf5, 0xa6, 0xff, 0x3c, 0x0d, 0x83, 0xbe, 0x1c, 0xec, 0x7f, 0xb6, 0x0e, 0xa6, 0x1f, 0x9c, 0xc9, - 0x68, 0xff, 0xb3, 0x35, 0x11, 0x91, 0x7e, 0xe0, 0x86, 0x41, 0x22, 0x5e, 0x93, 0xa5, 0x0f, 0x97, - 0xe4, 0xcf, 0xfe, 0xe0, 0xdd, 0xf2, 0xaf, 0x97, 0x2f, 0x94, 0x7d, 0xbc, 0x7a, 0xc1, 0xec, 0x17, - 0x37, 0x91, 0xe8, 0xcb, 0xd7, 0xdc, 0x65, 0x96, 0x2e, 0x95, 0x38, 0x43, 0x69, 0xbb, 0xe1, 0xd3, - 0x53, 0x18, 0xac, 0x5c, 0x2e, 0xfd, 0xb3, 0xbb, 0x70, 0x14, 0xb9, 0xa2, 0x50, 0xc4, 0xe4, 0x96, - 0xc4, 0xdb, 0x4b, 0x18, 0x8d, 0xef, 0x6a, 0x7f, 0x38, 0xb9, 0xda, 0xbb, 0xe2, 0x3f, 0xfc, 0xc3, - 0x89, 0x4f, 0xa2, 0xc1, 0xe8, 0x49, 0x04, 0xe3, 0xe7, 0x4e, 0xa2, 0x91, 0x58, 0xf3, 0x87, 0x0b, - 0x7f, 0xb5, 0x74, 0x73, 0xb9, 0xbf, 0xfe, 0xb5, 0xf4, 0xc9, 0xaf, 0x95, 0x67, 0x5f, 0x5d, 0xf4, - 0xc5, 0xc5, 0x0f, 0x84, 0x9b, 0xc8, 0x67, 0x99, 0xbc, 0xd9, 0xeb, 0xde, 0x44, 0xd1, 0x1b, 0xc9, - 0x7f, 0x6b, 0xcd, 0x13, 0x14, 0xbf, 0xa6, 0xad, 0xaf, 0xab, 0xcc, 0x6b, 0x5b, 0xf7, 0xfa, 0xe6, - 0x37, 0xb7, 0xe6, 0xa6, 0xca, 0xbc, 0xcc, 0xca, 0x2f, 0xb5, 0xf2, 0xcb, 0xdd, 0xf4, 0x92, 0x17, - 0x1e, 0x61, 0xed, 0x77, 0x7f, 0x15, 0xfe, 0xe6, 0xd7, 0x9a, 0x75, 0x5c, 0xb7, 0x05, 0x72, 0x5b, - 0x21, 0x0c, 0xb6, 0xaf, 0xc9, 0xea, 0x46, 0x28, 0x54, 0x97, 0x0a, 0xdb, 0x20, 0xbf, 0x1d, 0x3e, - 0x6c, 0xf9, 0xc3, 0x12, 0xdb, 0x82, 0xb4, 0x3d, 0xaa, 0x6e, 0x13, 0xe5, 0xed, 0xa2, 0xbc, 0x6d, - 0xa8, 0xdb, 0x67, 0xf3, 0x36, 0xda, 0xb2, 0x9d, 0x4a, 0x6f, 0xab, 0xec, 0x0f, 0xbf, 0x87, 0xa3, - 0xc0, 0x93, 0xc1, 0xc0, 0x0e, 0x42, 0xaf, 0xc2, 0x72, 0xce, 0xde, 0xdd, 0xf2, 0xd7, 0x4b, 0xae, - 0x4c, 0xb9, 0x4d, 0x57, 0x79, 0xf3, 0xa9, 0x6c, 0x42, 0x96, 0xcd, 0xa8, 0xba, 0x29, 0xc9, 0x9b, - 0x93, 0xbc, 0x49, 0xb9, 0x36, 0x6b, 0xb9, 0x4d, 0x5b, 0x72, 0xf3, 0x56, 0xde, 0xc4, 0xd9, 0x17, - 0xc6, 0x9b, 0xd0, 0x1e, 0x8d, 0xa4, 0x57, 0xfd, 0x15, 0xcc, 0xde, 0xff, 0x5c, 0x44, 0xc5, 0x15, - 0x9c, 0x6e, 0xea, 0x83, 0x8a, 0x5f, 0xdb, 0x66, 0x68, 0x39, 0x37, 0x79, 0xf1, 0x66, 0x4f, 0xc2, - 0x61, 0xe8, 0x87, 0x83, 0xb7, 0x8a, 0x0f, 0x4c, 0xd9, 0xf0, 0x6c, 0x1b, 0x9f, 0x4d, 0x01, 0xd6, - 0x2b, 0x42, 0xb6, 0x3c, 0x95, 0xe5, 0xfd, 0xaa, 0xf4, 0x8d, 0x5f, 0x15, 0xdf, 0xff, 0xfd, 0xdb, - 0x50, 0xd0, 0xde, 0xbe, 0x2f, 0x9c, 0x7e, 0x24, 0xfa, 0x2a, 0xef, 0x7d, 0x86, 0xe0, 0x47, 0x0a, - 0xdf, 0xbd, 0x71, 0x92, 0x1f, 0xe3, 0xcb, 0xbf, 0x5f, 0x70, 0x9c, 0x3f, 0x4f, 0xbd, 0xd5, 0xf7, - 0x4b, 0x4b, 0xfe, 0x79, 0xf6, 0x3f, 0xf6, 0xe6, 0x5f, 0xaf, 0x7c, 0x3c, 0x56, 0xe1, 0x95, 0x8f, - 0x52, 0x85, 0xde, 0xd3, 0xf3, 0xf2, 0x2a, 0xbc, 0xb8, 0xfd, 0xec, 0x81, 0x68, 0x20, 0xb5, 0x2c, - 0x06, 0x40, 0x05, 0xa0, 0x02, 0x50, 0xb5, 0x10, 0xa8, 0xb4, 0xa2, 0x12, 0xab, 0x27, 0x76, 0x12, - 0x04, 0x61, 0xe2, 0x94, 0x0a, 0x42, 0x97, 0xbe, 0x17, 0xbb, 0x3f, 0xc4, 0x93, 0x33, 0x2c, 0x58, - 0xc8, 0xf7, 0xb3, 0x95, 0x2a, 0x22, 0x2d, 0xde, 0xcf, 0x03, 0xd8, 0xf7, 0x2a, 0x11, 0xc6, 0xe4, - 0xda, 0x49, 0x34, 0x72, 0x93, 0x60, 0xba, 0x87, 0xee, 0x9d, 0xa1, 0x3c, 0x4d, 0xaf, 0xfc, 0x78, - 0x3a, 0xb9, 0xc8, 0xf8, 0xbf, 0xd9, 0x95, 0x57, 0x3f, 0x0b, 0x83, 0xc7, 0xdf, 0xa6, 0x17, 0xbe, - 0x1a, 0x5f, 0x77, 0x8f, 0x67, 0xcd, 0x4b, 0xac, 0xf7, 0x42, 0xf0, 0x6e, 0x8b, 0xc0, 0xb3, 0x87, - 0xa1, 0x0c, 0x92, 0xea, 0x81, 0x59, 0xa1, 0x14, 0xc4, 0x67, 0x88, 0xcf, 0x9a, 0x8c, 0xcf, 0x8a, - 0x36, 0x25, 0xd1, 0x15, 0x5a, 0x2f, 0xb2, 0x2b, 0x6e, 0x91, 0xa2, 0x32, 0x74, 0xc9, 0x35, 0x52, - 0x53, 0x16, 0xb8, 0x47, 0xc6, 0xc5, 0x71, 0xe1, 0x4b, 0x20, 0xbc, 0xd4, 0x13, 0xb0, 0x85, 0x37, - 0x10, 0x13, 0x75, 0x7f, 0x9f, 0x7b, 0xc7, 0x9f, 0x5d, 0x31, 0xb4, 0x7d, 0x19, 0x17, 0xfe, 0xaa, - 0x00, 0x30, 0x0a, 0xfe, 0xcc, 0x94, 0x88, 0x71, 0xe5, 0x59, 0x39, 0xd8, 0xad, 0x55, 0x69, 0x88, - 0x1f, 0x01, 0x92, 0x88, 0x1f, 0x77, 0x1e, 0x20, 0x8d, 0x23, 0xc3, 0xc0, 0xd6, 0x03, 0xc4, 0x00, - 0x62, 0x00, 0x31, 0xb0, 0xf5, 0x00, 0x2a, 0x00, 0x15, 0x80, 0x0a, 0x6c, 0x3d, 0x13, 0x2f, 0xf7, - 0xff, 0xc4, 0x5b, 0x0e, 0x77, 0xac, 0xcc, 0x55, 0xb2, 0x8a, 0x82, 0x40, 0x8b, 0xca, 0xa3, 0xed, - 0x5f, 0xca, 0x38, 0x39, 0x49, 0x92, 0x8a, 0x8c, 0xe0, 0x57, 0x19, 0x9c, 0xfb, 0x62, 0xac, 0x19, - 0xb1, 0x3a, 0xc0, 0x7e, 0xa8, 0x0a, 0xaa, 0x04, 0x7c, 0x59, 0xc4, 0x96, 0x27, 0x19, 0xd8, 0x62, - 0x76, 0xf7, 0x0a, 0x5b, 0x96, 0x03, 0x5d, 0x96, 0x90, 0xe5, 0x83, 0x09, 0x56, 0xf3, 0xab, 0xf3, - 0xba, 0xf0, 0x4a, 0x83, 0x91, 0xef, 0x57, 0xf8, 0xf2, 0x75, 0xe4, 0x89, 0x48, 0x78, 0xbf, 0xbd, - 0x4d, 0xbf, 0xba, 0x2b, 0x59, 0x2c, 0x42, 0x3a, 0xc6, 0xe2, 0x48, 0x66, 0xcd, 0xff, 0xf7, 0x3c, - 0xf0, 0x6e, 0xd2, 0xab, 0xd7, 0x98, 0xd2, 0xf2, 0x64, 0x54, 0xb2, 0x84, 0x35, 0xa7, 0xdb, 0xf3, - 0xaf, 0x56, 0x4b, 0x5e, 0x1d, 0x20, 0x79, 0xc5, 0xe4, 0x0c, 0xed, 0x68, 0xf2, 0xaa, 0xb2, 0xa3, - 0x93, 0xbd, 0xc5, 0x7e, 0x18, 0xbd, 0x38, 0x51, 0x9a, 0x93, 0xae, 0xba, 0x3b, 0x97, 0xbc, 0x9c, - 0xc3, 0x0a, 0xdf, 0x39, 0x0f, 0x46, 0x4f, 0xe3, 0xbb, 0xfd, 0x55, 0xa3, 0xd6, 0xfa, 0xce, 0x9b, - 0x88, 0xec, 0x61, 0x14, 0x26, 0xa1, 0x1b, 0xfa, 0xf6, 0x14, 0x7c, 0x2a, 0xea, 0x6f, 0x91, 0x10, - 0x68, 0x32, 0x34, 0xd9, 0x08, 0x4d, 0x56, 0xdf, 0x9c, 0xed, 0x52, 0x64, 0xd9, 0x17, 0xee, 0x9b, - 0xeb, 0x0b, 0x3b, 0x4e, 0x9c, 0x44, 0x45, 0x89, 0x57, 0x04, 0xec, 0x8e, 0x02, 0xaf, 0x39, 0x52, - 0xd6, 0x0d, 0xd5, 0x2d, 0x3e, 0xb2, 0x66, 0xbc, 0xd2, 0x2a, 0x6d, 0xc6, 0x76, 0x29, 0x6c, 0xf8, - 0x22, 0x22, 0xbb, 0xc2, 0xc9, 0xaf, 0xfc, 0x22, 0xad, 0x4a, 0x40, 0xe9, 0x17, 0x6c, 0x2e, 0xa3, - 0xfa, 0x52, 0x4a, 0xbf, 0xd8, 0x0a, 0xbe, 0x50, 0xe6, 0x05, 0x4e, 0x1d, 0x65, 0x5e, 0x8d, 0xf3, - 0xea, 0x85, 0xe5, 0x55, 0x4b, 0x44, 0xd8, 0xa6, 0x2a, 0xac, 0xba, 0x6b, 0xaf, 0x74, 0x30, 0xed, - 0x6a, 0x98, 0xc4, 0x42, 0x99, 0x57, 0xe4, 0x57, 0x41, 0xce, 0x16, 0x90, 0xb3, 0x8a, 0xce, 0x12, - 0x0b, 0x31, 0x7b, 0x39, 0xbe, 0xf6, 0xfc, 0xdf, 0x75, 0xb2, 0xb2, 0x6a, 0x84, 0x8e, 0x02, 0x83, - 0x53, 0xd9, 0x9b, 0x3c, 0x40, 0x00, 0xb8, 0xf3, 0x01, 0x60, 0x65, 0x0f, 0xf2, 0xd9, 0xf1, 0x47, - 0x42, 0xdd, 0x6f, 0x9c, 0x7c, 0xbd, 0x3b, 0xde, 0x62, 0xc5, 0x8d, 0xdd, 0x2d, 0x3f, 0xb1, 0xda, - 0xc6, 0x6f, 0x8b, 0x87, 0x18, 0x27, 0x91, 0x0c, 0x06, 0x14, 0x07, 0xf1, 0xd8, 0x80, 0xfc, 0x71, - 0xaa, 0xa8, 0xd5, 0xb2, 0x0d, 0xc5, 0xca, 0x5e, 0x95, 0xcf, 0x85, 0xc6, 0x43, 0xe3, 0xa1, 0xf1, - 0x26, 0xc7, 0x59, 0x95, 0xd5, 0x1a, 0x21, 0x96, 0x21, 0x21, 0x56, 0xd5, 0xd4, 0x1a, 0x35, 0xac, - 0x4a, 0x15, 0xa4, 0xc6, 0x58, 0x2a, 0x1c, 0x8a, 0x28, 0x5d, 0x59, 0xc7, 0x57, 0x4d, 0xb2, 0xe5, - 0x45, 0x20, 0xcd, 0x86, 0x28, 0x8b, 0xa8, 0xf2, 0xea, 0x69, 0x36, 0xd5, 0xed, 0x68, 0xb5, 0x29, - 0xd1, 0x16, 0x85, 0x23, 0x15, 0x55, 0x9d, 0x7c, 0x0d, 0x29, 0x35, 0xa4, 0xd4, 0x9a, 0x24, 0x44, - 0x48, 0x8d, 0x42, 0x72, 0x5b, 0x81, 0x58, 0xa1, 0xaa, 0xb0, 0xd5, 0x95, 0xb7, 0xbc, 0x8e, 0xe0, - 0x09, 0xc9, 0x35, 0x2d, 0x2a, 0x52, 0x4f, 0x20, 0x55, 0x55, 0x75, 0x36, 0xaa, 0x90, 0x5a, 0x7e, - 0xba, 0x94, 0x3e, 0xa9, 0x64, 0xac, 0x89, 0xcc, 0x04, 0x99, 0xa1, 0xe0, 0x50, 0x36, 0x2d, 0x4a, - 0xc7, 0xa5, 0x7c, 0xec, 0x4a, 0xc8, 0xae, 0x8c, 0xba, 0x94, 0x52, 0x4d, 0x39, 0x15, 0x95, 0x94, - 0xce, 0x7a, 0xe4, 0x76, 0x91, 0x7a, 0x46, 0x3c, 0x67, 0xb1, 0x8e, 0x08, 0x32, 0xd0, 0x08, 0x85, - 0x6b, 0x5b, 0x29, 0x6c, 0x29, 0x9e, 0x06, 0x29, 0xb9, 0xad, 0xc5, 0xd0, 0x28, 0x65, 0x77, 0x81, - 0x9b, 0x70, 0xb4, 0x17, 0xa0, 0x4d, 0x39, 0xfa, 0x0b, 0xc0, 0xde, 0x45, 0xc0, 0x26, 0x9c, 0x30, - 0x6e, 0x00, 0x6a, 0x19, 0xf1, 0x15, 0xa0, 0x0a, 0x50, 0x05, 0xa8, 0x02, 0x54, 0x6b, 0x6c, 0x14, - 0x53, 0x2f, 0x60, 0xd2, 0x1a, 0xc8, 0xe4, 0x71, 0x82, 0xd0, 0x48, 0x06, 0xc0, 0x09, 0xe0, 0x04, - 0x70, 0x76, 0x12, 0x38, 0x6b, 0x45, 0x49, 0xad, 0x3c, 0x6f, 0x13, 0x8d, 0x6d, 0xb2, 0x8b, 0x2b, - 0x95, 0x92, 0x64, 0xdf, 0xa6, 0x34, 0xba, 0xc9, 0xed, 0xdc, 0x0f, 0xaa, 0xe0, 0xcf, 0x80, 0x73, - 0x8c, 0x0d, 0x70, 0xb4, 0xa0, 0x1c, 0xa5, 0x21, 0x4e, 0xbd, 0xde, 0x01, 0xa5, 0x50, 0x28, 0x13, - 0xa2, 0x54, 0x30, 0xa4, 0xaa, 0x7f, 0x8a, 0x05, 0x44, 0xd9, 0xf7, 0x19, 0x0a, 0x89, 0xd2, 0xd4, - 0xfb, 0x7b, 0x86, 0x64, 0xa5, 0xc5, 0x51, 0x66, 0x74, 0x3b, 0xbe, 0x1b, 0xe5, 0xe6, 0x3a, 0xd5, - 0xb7, 0x5b, 0x95, 0x3a, 0x5a, 0x3f, 0x74, 0x1d, 0xdf, 0xa6, 0x1c, 0xb5, 0xcc, 0x24, 0xa0, 0x86, - 0x56, 0x33, 0xb0, 0xa2, 0x86, 0x56, 0x15, 0x92, 0x50, 0x35, 0x3f, 0xe5, 0xe6, 0x48, 0xf5, 0xf2, - 0x84, 0x4a, 0xf9, 0x1e, 0xb4, 0x1c, 0x5a, 0x6e, 0x6c, 0x81, 0x87, 0xda, 0xa1, 0xb1, 0xdc, 0xbe, - 0x51, 0x39, 0x3c, 0xb6, 0xbb, 0x8c, 0x8b, 0xb2, 0x02, 0x81, 0x6f, 0x51, 0x57, 0xb0, 0xb6, 0xb3, - 0x2d, 0xca, 0x66, 0x96, 0x68, 0x6e, 0xeb, 0x8d, 0xe9, 0x08, 0x87, 0xd7, 0x8a, 0x41, 0x47, 0xe5, - 0x10, 0x1b, 0x90, 0x07, 0xc8, 0x03, 0xe4, 0x69, 0x33, 0xf2, 0xd4, 0xc1, 0xa2, 0xaa, 0x9f, 0x91, - 0xe5, 0x64, 0x42, 0x15, 0x69, 0x2f, 0x70, 0x67, 0xca, 0xdc, 0x99, 0xa2, 0x41, 0x61, 0xe2, 0xca, - 0xca, 0x1f, 0xcc, 0xd3, 0x1b, 0x2f, 0x47, 0x22, 0x96, 0xbe, 0x14, 0x81, 0x2b, 0xec, 0x6a, 0x87, - 0x80, 0x72, 0xf0, 0x92, 0x93, 0xd4, 0x9d, 0x38, 0x1a, 0x87, 0x26, 0xb6, 0x9a, 0xdc, 0x1d, 0x3c, - 0x34, 0x31, 0x8c, 0x64, 0x18, 0x8d, 0x1f, 0x88, 0xec, 0xe1, 0x66, 0x92, 0x1a, 0xf6, 0x6f, 0x3f, - 0xe0, 0x48, 0xc4, 0x0e, 0x79, 0xb9, 0x5d, 0x3e, 0x12, 0x31, 0x92, 0x41, 0xf2, 0xe9, 0x90, 0xc1, - 0xd7, 0x3d, 0x26, 0x88, 0xb8, 0x75, 0x82, 0xc1, 0xf8, 0x6e, 0xfe, 0x43, 0x7a, 0xb5, 0xb4, 0xad, - 0x3b, 0x73, 0x35, 0xc9, 0x3a, 0xc0, 0x04, 0x36, 0x39, 0x71, 0x7f, 0x4e, 0x99, 0x49, 0x2e, 0x79, - 0x5f, 0x22, 0x27, 0xf5, 0xb3, 0xce, 0xe4, 0x40, 0xa6, 0x4e, 0xf1, 0x01, 0x59, 0xee, 0xaf, 0x77, - 0x0c, 0xaf, 0xc0, 0x79, 0x35, 0xfe, 0x15, 0xf4, 0x8e, 0x0f, 0x0f, 0x3f, 0x1d, 0x1d, 0x1e, 0x1e, - 0x1c, 0xfd, 0xeb, 0xe8, 0xe0, 0xdf, 0x1f, 0x3f, 0xf6, 0x3e, 0xf5, 0x3e, 0x1a, 0xfc, 0x56, 0xf6, - 0x9a, 0xf9, 0xf6, 0x83, 0xc1, 0xb4, 0x5b, 0xea, 0x78, 0x57, 0x6c, 0xbc, 0xb1, 0xde, 0xa1, 0x5f, - 0x10, 0x06, 0xc7, 0x04, 0x8e, 0x09, 0x1c, 0x13, 0x86, 0x5d, 0x44, 0x57, 0xaa, 0xa5, 0x60, 0x99, - 0x80, 0xcf, 0xfb, 0x17, 0x9e, 0x08, 0x12, 0x99, 0xbc, 0xfd, 0xe6, 0xc4, 0x0c, 0x3b, 0x71, 0xf6, - 0x80, 0xb7, 0xd7, 0xdf, 0xee, 0xcf, 0x1f, 0xef, 0xee, 0x4f, 0xee, 0xcf, 0xa9, 0x7b, 0x31, 0xb5, - 0x4b, 0x31, 0xd9, 0x81, 0xe2, 0x71, 0xa2, 0xd6, 0x3d, 0xe4, 0xe3, 0xe9, 0xb7, 0xdb, 0xdb, 0xf3, - 0xab, 0xfb, 0x7d, 0x13, 0xdc, 0x0c, 0x8d, 0x8f, 0xf9, 0xed, 0xea, 0xff, 0x5d, 0x5d, 0xff, 0x7f, - 0x57, 0xbb, 0xfe, 0x98, 0x57, 0xd7, 0xf7, 0x8c, 0x6f, 0x94, 0x24, 0xe1, 0xa1, 0x6e, 0x70, 0x34, - 0x8c, 0x98, 0x31, 0x86, 0x29, 0x26, 0x32, 0x9b, 0x16, 0x1f, 0x6b, 0x7c, 0x9b, 0xdd, 0x49, 0xfa, - 0xef, 0x56, 0x35, 0x87, 0xaf, 0x58, 0x45, 0x89, 0x96, 0x85, 0x0c, 0xba, 0xc0, 0xa6, 0x03, 0x75, - 0xf6, 0x2c, 0xac, 0xb0, 0xb5, 0x79, 0xba, 0x9f, 0xc5, 0xa3, 0xe1, 0x30, 0x8c, 0x12, 0xe1, 0xd9, - 0xee, 0x58, 0xb9, 0x12, 0xdb, 0x97, 0xc1, 0xcf, 0xea, 0xdd, 0xd0, 0x8a, 0xc5, 0xa0, 0x3b, 0x1a, - 0xba, 0xa3, 0x31, 0x02, 0x41, 0xe5, 0xee, 0x68, 0xe3, 0x4d, 0x48, 0x1c, 0x35, 0x34, 0x17, 0x81, - 0xa1, 0xfd, 0xda, 0x43, 0x7b, 0x0c, 0xed, 0x57, 0xf7, 0x18, 0x31, 0xb4, 0x7f, 0xdd, 0xd9, 0xc7, - 0xb1, 0x0a, 0xd7, 0x39, 0xc7, 0xbf, 0x82, 0x81, 0xa0, 0x1d, 0x0e, 0x67, 0x39, 0x14, 0x0e, 0xa0, - 0x02, 0x50, 0x01, 0xa8, 0x8c, 0x00, 0xaa, 0xd6, 0xcd, 0x3c, 0x5b, 0x3e, 0x84, 0x5d, 0xd5, 0x55, - 0x42, 0x94, 0x6b, 0x48, 0x94, 0x4b, 0x09, 0xde, 0x58, 0xa2, 0xde, 0xbb, 0xd9, 0x0d, 0x9c, 0xa6, - 0xd7, 0xbf, 0x1c, 0x5f, 0xbe, 0xce, 0x18, 0xf8, 0x45, 0x26, 0xee, 0x8f, 0x74, 0x65, 0xa2, 0xd0, - 0x57, 0x08, 0x7e, 0x97, 0xbf, 0x8f, 0xa8, 0x17, 0x51, 0x6f, 0x93, 0x51, 0x6f, 0xdf, 0x19, 0xf9, - 0xc9, 0xf8, 0xd6, 0x3d, 0x99, 0x9e, 0x8e, 0xf7, 0x44, 0x22, 0xa2, 0x27, 0x19, 0xa8, 0xd1, 0xc9, - 0xd9, 0x9e, 0xd8, 0x2c, 0x16, 0x23, 0x78, 0xe1, 0x78, 0x76, 0x62, 0x04, 0x2f, 0xa7, 0x1a, 0x58, - 0xc4, 0x74, 0x36, 0x4f, 0x1a, 0x3b, 0x7b, 0xb4, 0x2f, 0x27, 0xdf, 0x2e, 0xef, 0x1f, 0x4f, 0xaf, - 0xaf, 0xce, 0x2e, 0xee, 0x2f, 0xae, 0xaf, 0x1e, 0xcf, 0xce, 0xef, 0xcf, 0x6f, 0xbf, 0x5e, 0x5c, - 0x9d, 0x8c, 0xff, 0xa5, 0xba, 0xcf, 0x18, 0x12, 0xd9, 0x4c, 0xd9, 0xf9, 0x8d, 0x8f, 0xf7, 0x78, - 0x71, 0xf5, 0xc7, 0x39, 0x2d, 0xf3, 0x49, 0x48, 0xee, 0xd6, 0xf2, 0x84, 0x77, 0xdf, 0x7e, 0xbb, - 0x3c, 0xf9, 0xeb, 0xfc, 0x76, 0x77, 0x9f, 0xf0, 0xfe, 0xfc, 0x6e, 0x87, 0xdf, 0xdf, 0x55, 0xba, - 0x4b, 0xef, 0x6f, 0xbf, 0xdd, 0x5d, 0xfc, 0x79, 0x5e, 0x77, 0xf5, 0xd0, 0x83, 0x6e, 0x20, 0xd7, - 0xc2, 0xaf, 0xfd, 0x08, 0x7d, 0xcf, 0x0e, 0xfb, 0x7d, 0x3b, 0x91, 0x94, 0xd6, 0x18, 0xcb, 0x62, - 0xe0, 0xea, 0xc0, 0xd5, 0xe9, 0x84, 0xab, 0xa3, 0x7c, 0x90, 0x80, 0x70, 0x80, 0x80, 0x78, 0x70, - 0x80, 0x50, 0xa5, 0xc8, 0x71, 0x50, 0x80, 0xa9, 0x3a, 0x9d, 0xeb, 0x60, 0x00, 0x67, 0xe9, 0x39, - 0xc1, 0x3a, 0xb2, 0x1c, 0x00, 0xe0, 0x5e, 0x5a, 0xfe, 0x82, 0x7f, 0xd6, 0xd5, 0xae, 0xa9, 0x8a, - 0xed, 0xc1, 0x00, 0x23, 0x2d, 0x63, 0xdb, 0x0d, 0xc3, 0xc8, 0x1b, 0xc7, 0x50, 0xc2, 0xb3, 0x27, - 0x6c, 0x9a, 0x0c, 0x06, 0xf6, 0xf7, 0x30, 0xf9, 0x61, 0x8b, 0xc0, 0x8b, 0xd5, 0x2d, 0x77, 0x09, - 0xd9, 0x30, 0xe7, 0x30, 0xe7, 0x9d, 0x30, 0xe7, 0xdf, 0xc3, 0xd0, 0x17, 0x0e, 0x89, 0xa3, 0xe8, - 0x99, 0x01, 0x17, 0xfd, 0x28, 0xfc, 0xaf, 0x08, 0x48, 0xa8, 0x30, 0x15, 0x01, 0xe5, 0x87, 0xf2, - 0x43, 0xf9, 0x5b, 0xa5, 0xfc, 0x7e, 0xe8, 0xfe, 0xb4, 0xc3, 0x51, 0x42, 0x52, 0xff, 0x4c, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x00, 0x3c, 0x39, 0xaf, 0x53, 0x2f, 0x3e, 0x25, 0xe3, - 0x08, 0xa1, 0x41, 0x4e, 0x12, 0xa0, 0x00, 0x50, 0x00, 0x5e, 0x0f, 0xbc, 0x1e, 0x78, 0x3d, 0xf0, - 0x7a, 0xe0, 0xf5, 0xe8, 0xa6, 0x1a, 0xed, 0xe8, 0x2b, 0x98, 0x64, 0xb4, 0xa3, 0xdf, 0x60, 0x8c, - 0xd1, 0x8e, 0x3e, 0xbf, 0x6f, 0xd0, 0x8e, 0x1e, 0x4d, 0xa1, 0xad, 0x66, 0x15, 0x8c, 0x68, 0xd4, - 0xd0, 0x14, 0x1a, 0xed, 0xe8, 0x81, 0x3c, 0x40, 0x1e, 0x20, 0x4f, 0x1b, 0x90, 0x07, 0xed, 0xe8, - 0xb7, 0x07, 0xc3, 0x68, 0x47, 0x5f, 0xf9, 0xe8, 0xd9, 0xd2, 0xd1, 0xa9, 0xc6, 0xfa, 0xd2, 0xdf, - 0xa5, 0xb7, 0x71, 0x3a, 0xb9, 0x0b, 0x63, 0xfa, 0xd3, 0x8f, 0x51, 0x5c, 0x44, 0x91, 0xf0, 0xec, - 0x48, 0xc4, 0x49, 0x18, 0xa5, 0xaf, 0xca, 0xf6, 0x9d, 0x37, 0x11, 0xa9, 0xc7, 0xd5, 0x9b, 0x84, - 0x82, 0x01, 0x47, 0xd0, 0xdd, 0x09, 0x06, 0x3c, 0xdd, 0xee, 0xf6, 0x30, 0x0a, 0x93, 0xd0, 0x0d, - 0x7d, 0x55, 0x87, 0x36, 0x33, 0xc2, 0x87, 0x0a, 0xdf, 0x3d, 0x0f, 0x46, 0x4f, 0xe3, 0x87, 0xd0, - 0xbb, 0x54, 0xb0, 0x8b, 0x75, 0x4c, 0x0f, 0x49, 0x54, 0x36, 0x64, 0xd1, 0xf0, 0x90, 0x54, 0x10, - 0x66, 0x87, 0x00, 0x85, 0x77, 0x7b, 0x76, 0x48, 0x98, 0x4c, 0x07, 0x77, 0x27, 0x94, 0x88, 0x6a, - 0xc1, 0xa5, 0x59, 0x16, 0x08, 0x6a, 0x82, 0xdc, 0x20, 0x07, 0xe4, 0x04, 0xa5, 0x81, 0x4e, 0xdb, - 0xe9, 0x09, 0x1e, 0x85, 0xa2, 0xba, 0x48, 0x44, 0x57, 0xa9, 0x5e, 0x96, 0x75, 0x31, 0x98, 0x1a, - 0x86, 0xbe, 0x74, 0x19, 0x46, 0x23, 0x15, 0xc8, 0x04, 0xb4, 0x01, 0xda, 0x00, 0x6d, 0x26, 0xe8, - 0x54, 0x7b, 0xd1, 0xad, 0x63, 0x9c, 0x22, 0x2d, 0xbc, 0xd2, 0x40, 0x2f, 0xce, 0x1b, 0x99, 0xa7, - 0xdb, 0xda, 0xa4, 0x50, 0xf6, 0x6d, 0xd2, 0xe4, 0x7d, 0xbc, 0x76, 0x71, 0x12, 0x39, 0x32, 0x48, - 0x18, 0xc2, 0xda, 0x02, 0xa1, 0x08, 0x71, 0x11, 0xe2, 0xee, 0x72, 0x88, 0x9b, 0xf5, 0xfb, 0x27, - 0xfb, 0x80, 0x15, 0x27, 0x07, 0xec, 0xbe, 0xe7, 0x87, 0x7c, 0x3b, 0x49, 0xd9, 0x90, 0x6f, 0xa7, - 0x79, 0x7a, 0x26, 0x57, 0xfa, 0xf0, 0xd4, 0xf8, 0x30, 0x54, 0xf7, 0xf4, 0x80, 0x36, 0x40, 0x9b, - 0xb6, 0xa1, 0x8d, 0xaa, 0xb1, 0xcf, 0x04, 0xd0, 0x0a, 0x7b, 0x73, 0xfb, 0x8f, 0x52, 0xe0, 0xcb, - 0x64, 0xfe, 0xd9, 0x14, 0x93, 0x53, 0x41, 0x35, 0x29, 0x2a, 0xb7, 0xc2, 0x6a, 0x53, 0x5c, 0x6d, - 0x0a, 0xac, 0x4f, 0x91, 0x69, 0x0a, 0x4d, 0x54, 0x6c, 0x3e, 0x77, 0x82, 0xdf, 0xad, 0x60, 0x72, - 0x2f, 0xe8, 0xeb, 0x4b, 0x39, 0x05, 0xc6, 0x50, 0x60, 0x5c, 0x0c, 0x7e, 0x94, 0x42, 0x63, 0x20, - 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x34, 0xd4, 0xd9, 0xa4, 0x16, 0x3c, 0x67, 0x82, 0x48, 0x05, - 0x5e, 0x99, 0x14, 0x8e, 0x42, 0xaf, 0xb9, 0x30, 0x86, 0x82, 0xaf, 0x4c, 0x18, 0xa9, 0xf0, 0x8b, - 0xfa, 0x96, 0x88, 0xc9, 0x8c, 0x4c, 0x8e, 0xc6, 0xa4, 0x46, 0x9e, 0x5c, 0x7f, 0x4f, 0xb4, 0x9a, - 0xba, 0xb2, 0x1d, 0x6f, 0xe9, 0x6c, 0xcb, 0xd3, 0xec, 0x3e, 0x15, 0xca, 0xac, 0xeb, 0xa5, 0x53, - 0x86, 0x91, 0x0c, 0x23, 0x99, 0xbc, 0x71, 0x14, 0x28, 0x4d, 0x25, 0x81, 0xc4, 0x65, 0xc9, 0x8b, - 0x80, 0x5c, 0xa1, 0xe6, 0x4d, 0x9a, 0xb1, 0x7a, 0x7c, 0x84, 0xae, 0x72, 0x0b, 0x93, 0x55, 0x9d, - 0x3a, 0x26, 0x88, 0xa0, 0xb5, 0x34, 0x99, 0xfd, 0x30, 0x78, 0x63, 0x1c, 0x2d, 0x4e, 0x98, 0x03, - 0xa6, 0x4c, 0x1c, 0x53, 0xcb, 0x93, 0x4c, 0x1e, 0x63, 0x33, 0x0e, 0x26, 0xb7, 0xda, 0xe2, 0x6a, - 0x85, 0xa2, 0xfb, 0x15, 0xf0, 0xb7, 0x46, 0xd1, 0xfa, 0x56, 0x1a, 0x0a, 0x04, 0x1e, 0x4c, 0xae, - 0x32, 0x0c, 0x47, 0x89, 0x0c, 0x06, 0x94, 0xfa, 0x8c, 0x1c, 0x94, 0x16, 0xc8, 0x44, 0xf6, 0x07, - 0x6e, 0x4a, 0x87, 0xdd, 0x14, 0x72, 0x26, 0xc8, 0x0d, 0xe3, 0xc4, 0x76, 0x7f, 0x38, 0x63, 0x50, - 0x14, 0x91, 0x8c, 0x13, 0xe9, 0xf2, 0x51, 0xa3, 0x45, 0xc2, 0x79, 0x38, 0xd2, 0xde, 0xce, 0x73, - 0xa4, 0xe3, 0x10, 0x7c, 0x1c, 0x79, 0x0f, 0x47, 0x89, 0xea, 0xbc, 0x2e, 0xb0, 0xa5, 0xdb, 0x95, - 0x3e, 0xb7, 0xcc, 0x2d, 0xe7, 0x4d, 0xa9, 0x80, 0xb0, 0x0c, 0x0c, 0x8e, 0x3f, 0x08, 0x23, 0x99, - 0xfc, 0x78, 0xe2, 0xdb, 0x33, 0x4b, 0xd8, 0x30, 0x97, 0xff, 0xce, 0x48, 0x77, 0x94, 0x0b, 0x26, - 0x74, 0xc0, 0x45, 0x31, 0x6c, 0x30, 0x9c, 0x36, 0xd0, 0x0d, 0x1b, 0xda, 0xe1, 0x43, 0x3b, 0x8c, - 0xac, 0x87, 0x13, 0xfa, 0x69, 0x05, 0x5e, 0x38, 0x61, 0x8c, 0x1b, 0x2d, 0xd6, 0xb4, 0x4c, 0x6e, - 0xf7, 0xb2, 0xa5, 0x67, 0x72, 0xae, 0xc2, 0xf1, 0x9e, 0x19, 0xef, 0x81, 0x23, 0x76, 0x4f, 0x51, - 0x93, 0x25, 0x7f, 0x5d, 0x0c, 0xc8, 0x0c, 0x69, 0x6c, 0x60, 0x31, 0xb0, 0x18, 0x58, 0x0c, 0x2c, - 0xee, 0x06, 0x16, 0xf3, 0x54, 0x52, 0x16, 0x83, 0x31, 0x47, 0x59, 0x25, 0xd0, 0x18, 0x68, 0x0c, - 0x34, 0x06, 0x1a, 0x9b, 0x8d, 0xc6, 0x8d, 0x52, 0x26, 0xd3, 0x02, 0x27, 0x2e, 0xff, 0x97, 0xa7, - 0xce, 0x29, 0x93, 0xc6, 0x59, 0xef, 0x34, 0x17, 0xca, 0x58, 0xf7, 0x94, 0x09, 0x65, 0xa9, 0x7f, - 0xe2, 0x7a, 0xa9, 0x4c, 0xf5, 0x50, 0x99, 0xbc, 0x7a, 0xeb, 0xa2, 0xf2, 0x89, 0xae, 0xf7, 0xfc, - 0x5c, 0xba, 0x55, 0x67, 0x05, 0xd5, 0xed, 0xe4, 0x89, 0x16, 0x3e, 0x39, 0x0d, 0xe3, 0xe4, 0x74, - 0xf9, 0x79, 0x5a, 0x58, 0x51, 0xee, 0xc9, 0x67, 0x11, 0xc5, 0xe3, 0x37, 0x4e, 0x6c, 0xa5, 0x92, - 0x83, 0xfd, 0x9c, 0x64, 0x54, 0x97, 0x97, 0x73, 0xf4, 0x90, 0x39, 0x41, 0xe6, 0xa4, 0x49, 0x07, - 0x4e, 0x97, 0x06, 0x5b, 0x4c, 0x6d, 0x5c, 0x32, 0x59, 0xb4, 0x76, 0x2e, 0xcd, 0xe2, 0xae, 0x8c, - 0x6d, 0xf1, 0xea, 0xfa, 0xa3, 0x58, 0x3e, 0x33, 0x9e, 0xe5, 0x59, 0x92, 0x4a, 0xcd, 0xc4, 0x89, - 0xbe, 0x33, 0xf2, 0x27, 0xfa, 0x12, 0xe1, 0x78, 0x24, 0xe0, 0x1b, 0xf0, 0xdd, 0x2e, 0xf8, 0x56, - 0x1f, 0x43, 0xba, 0x16, 0xb5, 0x7b, 0x2d, 0x44, 0x5a, 0xdf, 0x49, 0xd2, 0x20, 0x45, 0x57, 0x91, - 0xd0, 0x1a, 0xf9, 0xa8, 0x13, 0x02, 0x5c, 0x02, 0x2e, 0xb5, 0xc1, 0x25, 0x5b, 0x9d, 0x50, 0x5f, - 0xbe, 0x0a, 0xcf, 0xd6, 0x04, 0x12, 0xb9, 0x2d, 0xbf, 0xf1, 0x6a, 0x86, 0x67, 0x4a, 0x3e, 0x20, - 0x53, 0x82, 0x4c, 0x49, 0x09, 0xa8, 0x41, 0xa6, 0x44, 0x75, 0xf7, 0x22, 0x6f, 0x5d, 0xe6, 0x99, - 0xfe, 0x96, 0x49, 0x22, 0x22, 0xed, 0x50, 0x5d, 0x7c, 0x19, 0x60, 0x34, 0x30, 0x1a, 0x18, 0x0d, - 0x8c, 0x06, 0x46, 0x6f, 0x7c, 0xa6, 0x7f, 0x46, 0x42, 0x06, 0x83, 0xda, 0xdc, 0xea, 0xcd, 0x97, - 0x43, 0x05, 0x12, 0x30, 0x1b, 0x98, 0x0d, 0xcc, 0x06, 0x66, 0x6f, 0x7c, 0xa6, 0x24, 0x72, 0xfa, - 0x7d, 0xe9, 0xda, 0xc3, 0x28, 0x1c, 0x8a, 0x28, 0x79, 0xd3, 0x54, 0xa7, 0x5f, 0x7c, 0x19, 0x60, - 0x34, 0x30, 0x1a, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0x6f, 0x7c, 0xa6, 0x17, 0x27, 0xf0, 0x6a, 0xe0, - 0x3e, 0x8a, 0x2f, 0x03, 0xee, 0x03, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0xa3, 0x92, 0x5f, 0xcf, 0x1b, - 0x9c, 0x55, 0xf2, 0xeb, 0xf0, 0x90, 0x51, 0xd5, 0x8f, 0xaa, 0x7e, 0x0d, 0x55, 0xfd, 0xda, 0x18, - 0xb7, 0x06, 0x0b, 0xfb, 0x2f, 0x27, 0xcf, 0xd4, 0xfe, 0xda, 0xfe, 0x27, 0xe7, 0xd5, 0x76, 0x7c, - 0x3f, 0x7c, 0x11, 0x9e, 0xed, 0x86, 0x71, 0xc2, 0x57, 0xf3, 0x94, 0x93, 0x8c, 0x6a, 0xa7, 0x72, - 0xae, 0x1f, 0xaa, 0x9d, 0x50, 0xed, 0xa4, 0xf0, 0x80, 0x6c, 0xd5, 0x4e, 0xe4, 0x46, 0xcb, 0x6b, - 0xb7, 0x37, 0xb1, 0xf1, 0x32, 0x98, 0xbc, 0x1a, 0xa0, 0x02, 0xd1, 0xa2, 0x09, 0x50, 0xd2, 0xb5, - 0xa8, 0x91, 0xdc, 0x40, 0x7a, 0x1d, 0x36, 0x1c, 0x33, 0x8a, 0xe4, 0x69, 0x30, 0xbd, 0xfa, 0xc3, - 0xab, 0x5e, 0x16, 0x77, 0x03, 0x6a, 0xcd, 0xa0, 0x9b, 0x13, 0xcf, 0xdc, 0xa0, 0x3a, 0x27, 0x5f, - 0x43, 0x6b, 0x64, 0x4d, 0xea, 0xb6, 0x1a, 0xf7, 0xb6, 0xfe, 0x95, 0xea, 0x6b, 0x78, 0xdd, 0xc8, - 0x5b, 0xde, 0x33, 0x53, 0xda, 0xc3, 0x0e, 0xa5, 0x32, 0x34, 0x75, 0x1e, 0x42, 0xd3, 0x21, 0x38, - 0xa1, 0x70, 0x42, 0xe1, 0x84, 0xc2, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, 0x9c, 0xd0, - 0x9d, 0x75, 0x42, 0x91, 0xca, 0xe3, 0x4c, 0xe5, 0x31, 0xe7, 0x74, 0xac, 0x66, 0x93, 0x78, 0x5f, - 0x9d, 0xd7, 0x93, 0xc9, 0xc3, 0x9c, 0x8e, 0x9f, 0xa5, 0xe5, 0xd9, 0x3b, 0x4f, 0xf8, 0xce, 0x9b, - 0x9e, 0xf4, 0xdd, 0x44, 0x34, 0xf2, 0x77, 0x8d, 0xc5, 0x43, 0xc8, 0xdf, 0x21, 0x7f, 0x57, 0x5a, - 0x10, 0xf2, 0x77, 0xa0, 0x4e, 0x40, 0x9d, 0x80, 0x3a, 0x01, 0x75, 0x02, 0xea, 0x04, 0xd4, 0x09, - 0xa8, 0x13, 0x50, 0x27, 0xa0, 0x4e, 0x9a, 0xd1, 0x02, 0xe4, 0xef, 0xe0, 0x84, 0xc2, 0x09, 0x85, - 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, 0x9c, 0x50, 0x38, 0xa1, 0x70, 0x42, 0xe1, 0x84, 0xd6, 0x29, - 0x01, 0xf9, 0xbb, 0x0d, 0xf9, 0x3b, 0x8e, 0xa4, 0x8e, 0x65, 0x4a, 0x02, 0xef, 0x2c, 0x7d, 0x98, - 0x96, 0x67, 0xf0, 0x7e, 0x84, 0xc3, 0x58, 0x4f, 0x02, 0x2f, 0x95, 0x8c, 0xfc, 0x5d, 0x63, 0xf1, - 0x10, 0xf2, 0x77, 0xc8, 0xdf, 0x95, 0x16, 0x84, 0xfc, 0x1d, 0xa8, 0x13, 0x50, 0x27, 0xa0, 0x4e, - 0x40, 0x9d, 0x80, 0x3a, 0x01, 0x75, 0x02, 0xea, 0x04, 0xd4, 0x09, 0xa8, 0x93, 0x66, 0xb4, 0x00, - 0xf9, 0x3b, 0x38, 0xa1, 0x70, 0x42, 0xe1, 0x84, 0xc2, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, - 0x28, 0x9c, 0x50, 0x38, 0xa1, 0x75, 0x4a, 0x40, 0xfe, 0x6e, 0x43, 0xfe, 0x8e, 0x21, 0xa7, 0x63, - 0x99, 0x92, 0xbe, 0xfb, 0x63, 0xfc, 0x2c, 0x2d, 0xcc, 0xde, 0x45, 0x32, 0xfe, 0x69, 0xcf, 0x47, - 0xe0, 0xeb, 0x1a, 0x1f, 0xbc, 0xf9, 0x32, 0xc8, 0xeb, 0x35, 0x16, 0x27, 0x21, 0xaf, 0x87, 0xbc, - 0x5e, 0x35, 0xb0, 0x58, 0xd6, 0x5d, 0x4d, 0xe3, 0x73, 0xd6, 0x5e, 0x09, 0x94, 0x0b, 0x0f, 0x94, - 0x60, 0x3a, 0x43, 0xa3, 0x54, 0x0b, 0xa6, 0x33, 0xa8, 0xee, 0x5e, 0x4c, 0xd0, 0x29, 0x8d, 0xd4, - 0xd2, 0x13, 0x41, 0x22, 0xfb, 0x52, 0x44, 0xb6, 0x2f, 0x19, 0x1a, 0xa3, 0x17, 0xa3, 0xf4, 0xea, - 0x55, 0x80, 0xd0, 0x40, 0x68, 0x20, 0x34, 0x10, 0xda, 0x5c, 0x84, 0x66, 0x5a, 0x41, 0xd6, 0x59, - 0x33, 0x73, 0x86, 0x74, 0x69, 0xe6, 0x0c, 0xb3, 0x9e, 0xce, 0x5e, 0x51, 0x8f, 0x5b, 0x3f, 0x35, - 0x01, 0xcb, 0x2a, 0xb8, 0x3c, 0xc9, 0xc0, 0x16, 0xb3, 0xd5, 0xd1, 0x40, 0x4f, 0xeb, 0x86, 0x99, - 0x1c, 0xd4, 0xf4, 0xf6, 0x0d, 0xa5, 0x5f, 0x19, 0xc9, 0x7f, 0x2d, 0x13, 0x8f, 0x32, 0xe1, 0xac, - 0x93, 0x8f, 0x18, 0x9d, 0x38, 0x13, 0x46, 0x6c, 0x69, 0x8a, 0xa2, 0x31, 0x65, 0x0b, 0x53, 0xb6, - 0x34, 0xa4, 0x06, 0x74, 0x72, 0xc4, 0x56, 0xb3, 0x79, 0x82, 0x5b, 0x19, 0xff, 0x3c, 0x9b, 0x3d, - 0x59, 0xfb, 0x47, 0x6e, 0x4d, 0xde, 0x66, 0xf8, 0xfd, 0xef, 0x74, 0xb1, 0x84, 0xdd, 0x1f, 0x05, - 0x2e, 0xcb, 0x46, 0x9c, 0x47, 0x96, 0xeb, 0xae, 0xc0, 0x93, 0x2a, 0x38, 0x40, 0xaa, 0xa0, 0x79, - 0x27, 0x0f, 0xa9, 0x02, 0xf3, 0x1c, 0x07, 0xb6, 0xa8, 0x50, 0xb7, 0x26, 0x2f, 0xc5, 0x85, 0x87, - 0x0c, 0xb2, 0xce, 0x83, 0xd1, 0xd3, 0xf8, 0xc9, 0x7f, 0xb5, 0x10, 0x8f, 0x93, 0xd0, 0x17, 0x91, - 0xf3, 0xdd, 0x17, 0xb6, 0x7c, 0x1a, 0x3a, 0x2e, 0xe3, 0x08, 0xc4, 0x9c, 0x64, 0xe0, 0x2f, 0xf0, - 0x17, 0xf8, 0xdb, 0x22, 0xfc, 0x1d, 0x44, 0x8e, 0x27, 0x62, 0x3b, 0xec, 0xf3, 0x68, 0xf0, 0x12, - 0xee, 0x32, 0x94, 0xbd, 0xed, 0x5f, 0xa4, 0xe9, 0x83, 0xe4, 0xed, 0x37, 0x27, 0xd6, 0x90, 0x47, - 0xfe, 0xfd, 0xf6, 0xe4, 0xec, 0xfc, 0xee, 0xf1, 0xfa, 0xcb, 0xe3, 0xc5, 0xd7, 0x9b, 0x93, 0xd3, - 0x7b, 0xae, 0x1d, 0x9e, 0xd6, 0x02, 0xc6, 0xac, 0x45, 0xb4, 0x9a, 0xa8, 0xbe, 0xd5, 0x15, 0x78, - 0xfc, 0x7a, 0xf2, 0x3f, 0xd7, 0xb7, 0xb3, 0xe5, 0x30, 0x91, 0x2f, 0xaa, 0x6b, 0x21, 0x2e, 0xaf, - 0xaf, 0x7e, 0xc7, 0x3a, 0xdc, 0x3f, 0xfe, 0x71, 0x71, 0x7f, 0x79, 0x7e, 0x77, 0xd7, 0xe9, 0x35, - 0xf8, 0x7a, 0x71, 0xa5, 0x43, 0x29, 0x58, 0x24, 0x3d, 0x34, 0x6d, 0xd3, 0xf6, 0xea, 0xfd, 0xa6, - 0xe2, 0xf6, 0xe1, 0x22, 0xc4, 0x1a, 0x27, 0xc2, 0x08, 0x36, 0xaa, 0x39, 0x8a, 0x4b, 0x4d, 0x69, - 0xaa, 0x6f, 0x10, 0x85, 0xcd, 0xb1, 0x3f, 0x4b, 0xe5, 0x2e, 0xae, 0xb1, 0xea, 0x0e, 0x59, 0x88, - 0x8c, 0xf2, 0x42, 0x15, 0x37, 0x2e, 0xad, 0x7e, 0x95, 0x1c, 0x0c, 0x71, 0x04, 0x41, 0xcb, 0xc1, - 0xcf, 0xa2, 0x7a, 0x50, 0x76, 0x33, 0x53, 0xc0, 0xc3, 0x1e, 0xe8, 0xb0, 0x07, 0x38, 0xf9, 0xc0, - 0x66, 0x69, 0x09, 0x5b, 0x02, 0xc0, 0xd4, 0x3a, 0xd3, 0x7d, 0xe7, 0x39, 0x94, 0xde, 0xbc, 0xf2, - 0x82, 0x8d, 0xc5, 0x58, 0x91, 0x0b, 0x0e, 0x03, 0x1c, 0x06, 0x38, 0x8c, 0x16, 0x71, 0x18, 0xa3, - 0x91, 0xf4, 0x38, 0x79, 0x8b, 0xe3, 0x16, 0x72, 0xbc, 0x73, 0x37, 0xc3, 0x7e, 0x11, 0x72, 0xf0, - 0x83, 0x91, 0xe4, 0xcd, 0x8b, 0x06, 0x42, 0x02, 0x21, 0x81, 0x90, 0x6d, 0x42, 0x48, 0xae, 0xc6, - 0x03, 0x8c, 0x0d, 0x07, 0x98, 0x1b, 0x0d, 0xf0, 0xd6, 0x58, 0x6a, 0xa8, 0x81, 0xd6, 0x72, 0xfa, - 0x5c, 0x57, 0x23, 0x01, 0x9d, 0x47, 0xcb, 0x99, 0x6b, 0x07, 0x5b, 0xf7, 0xaa, 0xf4, 0x37, 0x08, - 0xd0, 0xfa, 0xf6, 0x0c, 0xa9, 0xa0, 0x7c, 0x68, 0xa1, 0x93, 0x26, 0x5e, 0x5d, 0x7f, 0xe4, 0x09, - 0xdb, 0x97, 0xc1, 0x4f, 0x3e, 0xff, 0x6c, 0x49, 0x2a, 0x5c, 0x33, 0xb8, 0x66, 0x70, 0xcd, 0x10, - 0xbc, 0xb6, 0x12, 0x17, 0x83, 0xd0, 0x13, 0xfc, 0xb8, 0x98, 0x4a, 0x05, 0x2e, 0x02, 0x17, 0x81, - 0x8b, 0xc0, 0xc5, 0xd6, 0xe2, 0xa2, 0x2d, 0xbc, 0x81, 0xb0, 0x87, 0x21, 0x25, 0x3b, 0xb9, 0x11, - 0x22, 0x17, 0x2f, 0x00, 0xb4, 0x04, 0x5a, 0x02, 0x2d, 0x81, 0x96, 0xad, 0x44, 0xcb, 0x69, 0x69, - 0x0e, 0x33, 0x44, 0xa6, 0x52, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x22, 0x70, 0xb1, 0x55, 0xb8, 0x28, - 0x03, 0x1d, 0xac, 0xe3, 0x92, 0x54, 0xe0, 0x22, 0x70, 0x11, 0xb8, 0x08, 0x5c, 0x6c, 0x25, 0x2e, - 0xf2, 0xb2, 0x8e, 0x4b, 0x52, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x22, 0x70, 0xb1, 0xb5, 0xb8, 0xa8, - 0x85, 0x75, 0x5c, 0x77, 0x01, 0xa0, 0x25, 0xd0, 0x12, 0x68, 0x09, 0xb4, 0x6c, 0x25, 0x5a, 0xf2, - 0xb2, 0x8e, 0x4b, 0x52, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x22, 0x70, 0xb1, 0x95, 0xb8, 0xc8, 0x7f, - 0x5c, 0x2f, 0x27, 0x19, 0xf8, 0x08, 0x7c, 0x04, 0x3e, 0x02, 0x1f, 0x5b, 0x85, 0x8f, 0x7e, 0xe8, - 0x3a, 0xbe, 0x2d, 0x3d, 0x3e, 0x5c, 0xcc, 0x24, 0x02, 0x0f, 0xcb, 0xe1, 0xe1, 0xa4, 0x6b, 0x07, - 0x50, 0x50, 0x0b, 0x0a, 0x4e, 0x17, 0x17, 0xd8, 0xb7, 0xb2, 0xf3, 0xd8, 0xc6, 0x1f, 0xb4, 0x1a, - 0xfd, 0x58, 0xc6, 0x82, 0x65, 0x6b, 0xca, 0xd1, 0xb4, 0xbc, 0x33, 0x53, 0x02, 0x81, 0x7a, 0x40, - 0xbd, 0x2d, 0x8f, 0xc5, 0x36, 0x11, 0xf0, 0x79, 0x7a, 0xe4, 0x91, 0xb9, 0x6d, 0xe3, 0x44, 0x2c, - 0x26, 0x49, 0x19, 0x06, 0x08, 0xba, 0x80, 0x41, 0x3b, 0x40, 0x68, 0x07, 0x0a, 0xfd, 0x80, 0xc1, - 0x03, 0x1c, 0x4c, 0x00, 0xc2, 0xef, 0x3e, 0xe9, 0x73, 0xa3, 0x98, 0xdd, 0x29, 0xbe, 0xf7, 0xc0, - 0x31, 0xe7, 0x2f, 0x05, 0x4a, 0x4d, 0x33, 0x58, 0x17, 0x64, 0x03, 0x89, 0x81, 0xc4, 0x40, 0x62, - 0x20, 0xf1, 0xae, 0x22, 0xb1, 0x09, 0xc3, 0xba, 0xd8, 0xe0, 0x16, 0xe3, 0xb9, 0x30, 0x9e, 0x8b, - 0xda, 0x95, 0xb8, 0xa0, 0xbb, 0xed, 0x7b, 0x26, 0x4f, 0xa0, 0xb6, 0x1e, 0xc5, 0xf7, 0xd3, 0x67, - 0x58, 0xf8, 0x28, 0x85, 0xb4, 0x16, 0xb2, 0x69, 0x63, 0x13, 0x2c, 0xa2, 0x48, 0x78, 0x76, 0x12, - 0x39, 0x41, 0x3c, 0x0c, 0xa3, 0xc4, 0xf6, 0x9d, 0x37, 0x11, 0xf1, 0x51, 0x6c, 0xeb, 0x2f, 0x81, - 0x6c, 0x43, 0x39, 0xe7, 0x0e, 0xd9, 0x57, 0x64, 0x5f, 0x9b, 0x74, 0xdc, 0xe6, 0x79, 0xc2, 0xb1, - 0xda, 0xda, 0xc3, 0x28, 0x4c, 0x42, 0x37, 0xf4, 0xb9, 0x22, 0xb8, 0xdd, 0x9a, 0xb6, 0x85, 0xc9, - 0x04, 0x2a, 0x3e, 0x40, 0x1b, 0x46, 0x13, 0xe4, 0xcd, 0x7e, 0x6d, 0xb3, 0x09, 0xf6, 0x34, 0x6e, - 0xa6, 0x59, 0x98, 0xa0, 0x58, 0x04, 0x40, 0x0b, 0x0a, 0x58, 0x82, 0x00, 0x16, 0xa7, 0x9f, 0xe6, - 0xe4, 0x57, 0x5d, 0x73, 0xa2, 0xe2, 0xd6, 0xab, 0xb0, 0x0a, 0xca, 0x59, 0x97, 0x52, 0x56, 0xd3, - 0xc0, 0xf2, 0x7a, 0x54, 0xe1, 0x7d, 0xee, 0x47, 0x22, 0x4e, 0xc2, 0x28, 0x7d, 0x99, 0xb6, 0x1b, - 0x86, 0x91, 0x27, 0x03, 0x27, 0x11, 0x76, 0xa2, 0x62, 0x7e, 0xe7, 0xd3, 0x2d, 0x37, 0x08, 0xad, - 0xaa, 0xdf, 0x4a, 0x7e, 0xb2, 0xb2, 0x5f, 0x4c, 0xf1, 0x83, 0x59, 0xa7, 0x7d, 0x50, 0x7d, 0x5c, - 0x36, 0x9f, 0x96, 0xcd, 0x87, 0xe5, 0x9e, 0xe6, 0xa1, 0xd7, 0xae, 0x28, 0xfb, 0x9f, 0x0b, 0xfd, - 0xe3, 0x29, 0x1b, 0x9f, 0xea, 0x5b, 0x2a, 0xfa, 0x92, 0x3a, 0x41, 0x46, 0xd8, 0xc3, 0x48, 0x86, - 0xd1, 0xf8, 0x65, 0x13, 0x91, 0x65, 0x41, 0x12, 0xe0, 0x04, 0x70, 0xd2, 0x09, 0x38, 0x51, 0xee, - 0x65, 0x4f, 0xe8, 0x5d, 0x4f, 0xec, 0x55, 0x4f, 0x88, 0xe9, 0x38, 0x7a, 0xd1, 0x73, 0x71, 0x6c, - 0x4c, 0xbd, 0xe6, 0x39, 0xbb, 0x93, 0x53, 0x58, 0x53, 0x8e, 0xde, 0xf1, 0xdc, 0x4b, 0xcb, 0xdf, - 0x1b, 0x9e, 0x75, 0xb5, 0x6b, 0x8a, 0x94, 0x1f, 0x8c, 0x30, 0xd5, 0xcf, 0x22, 0x8a, 0xc7, 0x8e, - 0xfb, 0x93, 0x4a, 0x7f, 0x90, 0x05, 0x43, 0xbd, 0x24, 0x07, 0x66, 0x1a, 0x66, 0xba, 0x13, 0x66, - 0x9a, 0xb4, 0xef, 0x77, 0xca, 0xe9, 0x8f, 0x85, 0x3f, 0xa1, 0x43, 0x66, 0x2c, 0x8d, 0x3a, 0x98, - 0xe4, 0x45, 0x01, 0x4f, 0x80, 0x27, 0x9d, 0xc0, 0x13, 0xea, 0xd6, 0xdf, 0x2d, 0x48, 0x19, 0x7d, - 0xb7, 0x97, 0x99, 0x5f, 0x02, 0xa6, 0xe4, 0x65, 0xa9, 0x81, 0x4a, 0x4f, 0x15, 0x54, 0x3e, 0x00, - 0x54, 0x00, 0x2a, 0x0a, 0xa0, 0xa2, 0x7a, 0x4c, 0x65, 0x7f, 0x9e, 0x3f, 0xb1, 0xd3, 0xa3, 0xc8, - 0xe4, 0x69, 0xdf, 0xab, 0x02, 0x69, 0x93, 0xbe, 0x0f, 0x30, 0xe9, 0x9b, 0x57, 0xd1, 0xd8, 0x15, - 0x8e, 0x5d, 0xf1, 0x74, 0x29, 0x20, 0x31, 0x72, 0x57, 0xdc, 0x47, 0xe4, 0x9a, 0x95, 0x79, 0xad, - 0x8a, 0x70, 0xfa, 0x91, 0xe8, 0x53, 0xf6, 0xce, 0xcc, 0x3a, 0x1d, 0x11, 0x64, 0xdc, 0x14, 0xa4, - 0x68, 0x3f, 0xcf, 0xb2, 0xb1, 0xb9, 0xd7, 0xf4, 0xb9, 0x30, 0x69, 0xbb, 0xfe, 0xcf, 0xc2, 0xa0, - 0xe0, 0x97, 0x29, 0x8e, 0xd4, 0x55, 0x99, 0xa0, 0x92, 0x1a, 0x5e, 0x72, 0x19, 0x98, 0x70, 0xb4, - 0x48, 0x28, 0xb0, 0x14, 0x58, 0x0a, 0x2c, 0x05, 0x96, 0x12, 0xb0, 0x74, 0xa5, 0x48, 0xa6, 0x61, - 0xb0, 0xad, 0xa3, 0x0c, 0x6c, 0xc5, 0x21, 0xb5, 0xe8, 0xc0, 0x8a, 0x0a, 0x31, 0x6b, 0x27, 0x2a, - 0xc4, 0xc8, 0xe1, 0xbe, 0xc5, 0x5f, 0x18, 0x76, 0x37, 0xfa, 0xbe, 0xf4, 0x81, 0x09, 0xf5, 0x60, - 0x93, 0x35, 0x22, 0xd0, 0x2a, 0x93, 0xef, 0xd7, 0x4c, 0xa5, 0x80, 0x9f, 0x05, 0x95, 0x52, 0x2b, - 0x95, 0x42, 0x6e, 0x63, 0xc6, 0xd5, 0xbe, 0x6c, 0x17, 0x1d, 0x7e, 0xe2, 0x69, 0xf0, 0x6e, 0xbb, - 0xfa, 0xb4, 0xd3, 0xdc, 0x6d, 0x75, 0xf2, 0xc9, 0xa7, 0xb1, 0x89, 0xa7, 0xaf, 0xeb, 0x21, 0x1f, - 0x48, 0x1d, 0x2d, 0x38, 0xda, 0x86, 0x11, 0xdb, 0x85, 0x01, 0x6d, 0x80, 0x36, 0xcd, 0xa1, 0x0d, - 0xb5, 0xbd, 0x17, 0x53, 0x5b, 0x2f, 0xd6, 0x76, 0x5e, 0xe8, 0x5a, 0xda, 0x98, 0xc2, 0x6a, 0x53, - 0x5c, 0x6d, 0x0a, 0xac, 0x4f, 0x91, 0x69, 0x0a, 0x4d, 0x54, 0x6c, 0x3e, 0x77, 0x82, 0xdf, 0xad, - 0x60, 0x72, 0x2f, 0xe8, 0xeb, 0x4b, 0xa9, 0x18, 0x66, 0x6c, 0xa7, 0xc5, 0xdf, 0x46, 0x0b, 0x08, - 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0x0d, 0x73, 0x36, 0xb9, 0xda, 0x57, 0xf1, 0xb4, 0xad, 0x62, - 0x6d, 0x57, 0xc5, 0xda, 0xa6, 0x8a, 0xa7, 0x3d, 0xd5, 0xee, 0xb5, 0xa0, 0x98, 0xfc, 0x93, 0xda, - 0x5d, 0x8a, 0x3b, 0x61, 0x91, 0xfe, 0x8b, 0xd0, 0x2f, 0xaa, 0xa6, 0x1a, 0x8d, 0xb4, 0x66, 0x56, - 0x78, 0xf6, 0x42, 0x3a, 0x50, 0x04, 0x1e, 0x71, 0x9e, 0xe3, 0x4a, 0x49, 0xee, 0x3a, 0xf1, 0x0d, - 0x13, 0x2b, 0x1f, 0x50, 0xb7, 0xb1, 0x43, 0xf4, 0x4a, 0xfb, 0xea, 0x36, 0xc8, 0x24, 0x4b, 0x91, - 0x52, 0xd1, 0xca, 0xac, 0x72, 0xfb, 0x73, 0xfd, 0x25, 0x10, 0x8a, 0xd4, 0xaa, 0xdc, 0x08, 0x48, - 0x74, 0x2b, 0xff, 0xae, 0x86, 0x25, 0xf4, 0xa2, 0xae, 0x9c, 0xe5, 0x3d, 0x62, 0x90, 0xb5, 0xbd, - 0xc8, 0x6b, 0xd6, 0x3e, 0xec, 0xf3, 0x62, 0x1f, 0xb1, 0x0d, 0xbf, 0x5e, 0xf9, 0x38, 0x08, 0x3d, - 0xb1, 0xf2, 0x51, 0xf8, 0x12, 0x08, 0x6f, 0x75, 0xa8, 0x74, 0x51, 0xa9, 0x98, 0x18, 0xda, 0xbe, - 0x8c, 0x37, 0x57, 0x91, 0xcd, 0x01, 0x91, 0xb5, 0x5c, 0xac, 0x59, 0xfe, 0x6a, 0x65, 0x6d, 0x98, - 0xad, 0x49, 0xa1, 0x74, 0x18, 0x92, 0x72, 0x86, 0x84, 0x69, 0x98, 0x25, 0x8c, 0x48, 0xb1, 0x11, - 0xc9, 0x96, 0x17, 0x06, 0x04, 0x06, 0x44, 0xc1, 0x80, 0x64, 0x7f, 0xd3, 0x6a, 0xe8, 0xd7, 0x80, - 0xf7, 0x00, 0x79, 0x80, 0x3c, 0x40, 0x1e, 0x20, 0xdf, 0x1a, 0x90, 0x6f, 0x2b, 0x80, 0x67, 0x0b, - 0xc0, 0x0b, 0xe2, 0xcb, 0x62, 0x01, 0xe4, 0x00, 0x72, 0x00, 0x39, 0x80, 0xdc, 0x38, 0x20, 0x6f, - 0x14, 0xb5, 0x9b, 0xc8, 0x97, 0x2f, 0xe1, 0xb2, 0x95, 0xb9, 0xda, 0x56, 0x11, 0xc9, 0x62, 0x71, - 0xf3, 0xf8, 0x5a, 0x72, 0xed, 0x4c, 0x06, 0xab, 0x47, 0x35, 0x52, 0x8c, 0x78, 0xbb, 0x88, 0xb5, - 0x4f, 0x32, 0xb0, 0xc5, 0xec, 0x69, 0x19, 0x54, 0x4a, 0x07, 0xda, 0x2e, 0x21, 0x6d, 0xaf, 0x8d, - 0x5e, 0x10, 0x2a, 0x2e, 0x56, 0xe5, 0x68, 0xab, 0xb8, 0xd0, 0x91, 0xdd, 0xb7, 0xb4, 0x95, 0x62, - 0xdc, 0x4d, 0xef, 0x76, 0xfe, 0x77, 0xe7, 0x81, 0x77, 0x13, 0xd6, 0x39, 0xde, 0x83, 0x52, 0xa0, - 0x91, 0x0e, 0x6b, 0x60, 0xac, 0xc8, 0x98, 0xc8, 0x43, 0x09, 0x06, 0x4a, 0x30, 0x98, 0x5c, 0xf2, - 0xae, 0x97, 0x60, 0x68, 0x2b, 0xbc, 0x40, 0xdc, 0x5d, 0xbf, 0x22, 0x23, 0xf6, 0xd6, 0xad, 0xe8, - 0x88, 0xbf, 0x0d, 0x8b, 0xbf, 0x0d, 0xea, 0x4f, 0xd6, 0x6c, 0x04, 0x31, 0x19, 0x8b, 0x45, 0x6e, - 0x5b, 0x90, 0xdb, 0x19, 0x2b, 0x72, 0x81, 0xe8, 0x40, 0x74, 0x20, 0x3a, 0x10, 0xbd, 0x45, 0x88, - 0x9e, 0x22, 0x58, 0xc1, 0xe7, 0x19, 0xa6, 0x75, 0x89, 0x7f, 0x5d, 0x6d, 0xa0, 0xc6, 0x02, 0xef, - 0xe0, 0x55, 0xc1, 0xab, 0x82, 0x57, 0x05, 0xaf, 0x4a, 0xe7, 0xe8, 0xf4, 0x13, 0xa9, 0xe9, 0x88, - 0x56, 0xf3, 0xb9, 0xd3, 0x31, 0x40, 0x47, 0xc2, 0x89, 0x09, 0xaf, 0xbb, 0x60, 0xc4, 0xc4, 0x54, - 0x62, 0xc3, 0x9d, 0xc8, 0xc0, 0x9f, 0x82, 0x3f, 0x6d, 0xd2, 0x15, 0x62, 0xec, 0x4a, 0xc6, 0xa3, - 0x59, 0x16, 0x71, 0x86, 0x4b, 0x26, 0x43, 0x6d, 0x96, 0x4b, 0xcd, 0xf8, 0x36, 0xb1, 0x1e, 0x9e, - 0x8c, 0x26, 0x4b, 0xc7, 0xd6, 0x5d, 0x7d, 0x2e, 0x11, 0x9d, 0x16, 0x81, 0x6f, 0xc0, 0x37, 0x86, - 0x5d, 0x34, 0x0c, 0xa3, 0x84, 0xac, 0x57, 0xed, 0x45, 0xb7, 0x3a, 0x3a, 0x9a, 0x2b, 0x86, 0xde, - 0x68, 0x5b, 0x6e, 0xed, 0x46, 0xdb, 0x72, 0x95, 0x76, 0xda, 0xda, 0xa2, 0x24, 0x13, 0x1a, 0x94, - 0x2b, 0x65, 0xa4, 0xe7, 0x53, 0xb4, 0x15, 0x26, 0x00, 0xb4, 0x78, 0x78, 0xa4, 0x62, 0xc3, 0xb0, - 0x6e, 0xb4, 0x25, 0x57, 0x6b, 0xf8, 0x65, 0xfc, 0x9c, 0x78, 0xb5, 0xc2, 0x0a, 0xc5, 0xf6, 0x5c, - 0x7a, 0x74, 0xfc, 0xc5, 0x91, 0x89, 0x9d, 0x84, 0x76, 0x3a, 0x4c, 0x37, 0xb1, 0x13, 0xf9, 0x44, - 0x98, 0x44, 0x5d, 0x24, 0xac, 0x6a, 0x9b, 0x78, 0xd1, 0x77, 0x46, 0xfe, 0x84, 0xe6, 0xfc, 0x88, - 0xd9, 0xb3, 0x00, 0x91, 0x6e, 0xcc, 0x9e, 0x1d, 0xc9, 0x20, 0xf9, 0x74, 0x48, 0x00, 0x93, 0x63, - 0x85, 0xaf, 0xde, 0x3a, 0xc1, 0x60, 0x7c, 0xf5, 0xff, 0x28, 0xbd, 0x22, 0x5a, 0x7a, 0x89, 0x21, - 0x84, 0xe5, 0x29, 0x60, 0xf8, 0x73, 0xda, 0x69, 0x9a, 0x2a, 0xe7, 0x4b, 0xe4, 0xa4, 0xde, 0xdc, - 0x99, 0x1c, 0xc8, 0xd4, 0x0b, 0x3f, 0x68, 0x2a, 0xcd, 0x62, 0xdc, 0xd2, 0xf6, 0x8e, 0x0f, 0x0f, - 0x3f, 0x1d, 0x1d, 0x1e, 0x1e, 0x1c, 0xfd, 0xeb, 0xe8, 0xe0, 0xdf, 0x1f, 0x3f, 0xf6, 0x3e, 0xf5, - 0x3e, 0x1a, 0xb4, 0xda, 0x35, 0xc5, 0xb0, 0x0f, 0xba, 0xac, 0xfd, 0x1e, 0xe3, 0x9e, 0x9a, 0xc5, - 0xc2, 0x15, 0x5c, 0x1b, 0xb5, 0xf8, 0x97, 0x14, 0xf7, 0x92, 0xe2, 0x5d, 0xb5, 0x38, 0xb7, 0xec, - 0xfa, 0x29, 0xc6, 0xb5, 0xfc, 0xf1, 0xec, 0x7e, 0x95, 0x49, 0x54, 0x9c, 0x01, 0x6c, 0x39, 0xe3, - 0xbc, 0x7d, 0xd7, 0x96, 0x58, 0xf1, 0x6a, 0x11, 0xaa, 0x8a, 0xdf, 0x5e, 0x11, 0x0a, 0x2b, 0xbb, - 0x92, 0x2a, 0x2e, 0x24, 0x31, 0xf2, 0x54, 0x75, 0x16, 0xc9, 0x4e, 0x22, 0xd9, 0x39, 0xa4, 0x47, - 0x96, 0xbc, 0x58, 0x59, 0xd9, 0xed, 0x53, 0x8d, 0x1c, 0x2b, 0x46, 0x8c, 0x25, 0x74, 0x6b, 0x8f, - 0xf0, 0xfc, 0x15, 0x6c, 0x44, 0x35, 0xdb, 0xa0, 0x64, 0x13, 0x94, 0x6c, 0x41, 0x35, 0x1b, 0xb0, - 0x6d, 0x3d, 0x2a, 0x62, 0x3e, 0x03, 0xd6, 0x97, 0xd8, 0x3b, 0x54, 0x50, 0xdf, 0xac, 0x54, 0xeb, - 0x37, 0xd0, 0x86, 0xc5, 0xda, 0x5f, 0x7a, 0xaa, 0x58, 0x44, 0xcf, 0xb2, 0x04, 0x0e, 0xe5, 0x8e, - 0xb4, 0x2c, 0x7d, 0x7b, 0xdb, 0x56, 0x2d, 0x75, 0xd0, 0xac, 0x34, 0x6c, 0x57, 0x81, 0x6b, 0x52, - 0x84, 0x5f, 0x15, 0xa4, 0x95, 0xc1, 0x59, 0x19, 0x94, 0xa9, 0x11, 0x3a, 0x0d, 0x82, 0xca, 0x1e, - 0xbc, 0xda, 0x77, 0xbc, 0x27, 0x19, 0xc8, 0x38, 0x89, 0x9c, 0x44, 0x3e, 0x0b, 0x3b, 0x4e, 0x9c, - 0x0a, 0xa7, 0x20, 0xb3, 0x57, 0x58, 0x28, 0x05, 0x1e, 0x04, 0x3c, 0x88, 0xc6, 0x3c, 0x08, 0xc2, - 0x8e, 0xb4, 0x14, 0xb3, 0xc0, 0x15, 0xb3, 0xbe, 0x3c, 0x1e, 0xfe, 0x82, 0xcd, 0xab, 0xac, 0xb5, - 0x95, 0xec, 0xa5, 0x55, 0xfd, 0x5c, 0x72, 0xe5, 0x3a, 0x3a, 0x0e, 0x5d, 0x55, 0x22, 0x8a, 0x77, - 0x4b, 0x63, 0x55, 0x88, 0x60, 0x5e, 0xbd, 0xad, 0x7a, 0xee, 0x97, 0x7c, 0xce, 0x97, 0xe9, 0x5c, - 0x2f, 0x32, 0x24, 0xc8, 0x90, 0xb0, 0x10, 0x9a, 0xf5, 0x67, 0x48, 0xd4, 0x4f, 0x51, 0x51, 0x4e, - 0x4d, 0xb5, 0xe3, 0xdc, 0x6b, 0xc3, 0x64, 0xb1, 0x1a, 0x26, 0x81, 0x37, 0x36, 0x81, 0x37, 0x5e, - 0x0c, 0xa6, 0xdf, 0x57, 0x76, 0x98, 0xe8, 0x44, 0xc3, 0xf8, 0xb3, 0xbb, 0xc9, 0xe5, 0x4b, 0x93, - 0x0f, 0x7a, 0x3c, 0xcc, 0xd9, 0xf2, 0x8c, 0x7d, 0xea, 0x2a, 0xc3, 0x8b, 0x8a, 0xf9, 0x89, 0x05, - 0x41, 0x9a, 0x7d, 0xcf, 0x03, 0xf8, 0x9e, 0xf0, 0x3d, 0x4b, 0xfa, 0x9e, 0xe2, 0xd5, 0xf5, 0x47, - 0xb1, 0x4a, 0xd1, 0x65, 0xe1, 0x44, 0x9f, 0x4c, 0x1a, 0xbc, 0x50, 0x78, 0xa1, 0xdd, 0xa8, 0xd3, - 0xa9, 0xb7, 0xe4, 0x0f, 0x95, 0xe8, 0x0a, 0x95, 0xe8, 0x5a, 0xea, 0x24, 0x17, 0x60, 0x4f, 0x06, - 0x9c, 0x20, 0x3a, 0x97, 0x06, 0x10, 0x05, 0x88, 0x02, 0x44, 0x01, 0xa2, 0xbb, 0x0c, 0xa2, 0x93, - 0x26, 0x27, 0x2c, 0x08, 0xba, 0x2a, 0x4a, 0x0d, 0x3e, 0x7b, 0x80, 0x4f, 0xc0, 0x67, 0x9d, 0xf0, - 0xa9, 0xda, 0x32, 0xb4, 0xb0, 0xfc, 0x81, 0xd6, 0x34, 0x74, 0x63, 0x65, 0x05, 0xa9, 0xbb, 0x3b, - 0xce, 0x6f, 0xeb, 0x51, 0x3e, 0x76, 0x25, 0x64, 0x57, 0x46, 0x5d, 0x4a, 0xa9, 0xa6, 0x9c, 0x8a, - 0x4a, 0x4a, 0xf7, 0x75, 0x72, 0xbb, 0x88, 0xde, 0x04, 0x8e, 0xa3, 0xf9, 0x9b, 0xe6, 0x74, 0xc6, - 0x12, 0x99, 0xcc, 0xd9, 0xd0, 0xd3, 0xb4, 0x13, 0xe3, 0x4d, 0x9f, 0x5e, 0x2e, 0x64, 0xed, 0x57, - 0x78, 0xe7, 0xf7, 0x54, 0x17, 0x49, 0x0f, 0xb9, 0x3f, 0xfd, 0xbb, 0xe9, 0x4d, 0x3e, 0x9e, 0x4e, - 0x6e, 0xf2, 0x22, 0xbb, 0x47, 0x03, 0xdc, 0x54, 0x4f, 0x3e, 0x8b, 0x28, 0x1e, 0xaf, 0x26, 0x03, - 0x5f, 0x5a, 0x24, 0x0c, 0xae, 0x2a, 0x5c, 0x55, 0xb8, 0xaa, 0x70, 0x55, 0xe1, 0xaa, 0xc2, 0x55, - 0x85, 0xab, 0x0a, 0x57, 0x55, 0x27, 0x88, 0xaf, 0xd4, 0xe8, 0x50, 0x71, 0x13, 0xf4, 0xe8, 0xce, - 0xc6, 0x0b, 0x74, 0x4f, 0xb5, 0x96, 0x88, 0xe1, 0x6c, 0x76, 0x9b, 0xe7, 0xaf, 0x06, 0xc5, 0x0c, - 0x91, 0xf8, 0x67, 0x24, 0xe2, 0x74, 0x98, 0x99, 0x33, 0x74, 0xdc, 0xb1, 0xe1, 0x50, 0x0e, 0x19, - 0x0a, 0x64, 0x21, 0x62, 0x40, 0xc4, 0xb0, 0xcb, 0x11, 0x43, 0x12, 0x26, 0x8e, 0x6f, 0xc7, 0xf2, - 0xbf, 0x0c, 0x23, 0xea, 0x16, 0x64, 0x35, 0x3c, 0x9e, 0xce, 0xa0, 0x98, 0x40, 0xb1, 0x3d, 0x19, - 0xa2, 0x01, 0xf5, 0xf6, 0x65, 0xcd, 0xc4, 0x01, 0xe4, 0x91, 0x74, 0xa3, 0x40, 0x26, 0x7c, 0x43, - 0x1f, 0x52, 0x69, 0x18, 0x55, 0x54, 0x93, 0x9a, 0x72, 0xab, 0xab, 0x36, 0xb5, 0xd5, 0xa6, 0xbe, - 0xfa, 0xd4, 0x98, 0xa6, 0xce, 0x44, 0xb5, 0xe6, 0x0b, 0xf3, 0xf3, 0x8c, 0xda, 0xd4, 0xc7, 0xb4, - 0x19, 0x54, 0xd5, 0x62, 0x6a, 0x30, 0x9c, 0xc9, 0xa2, 0x35, 0x1a, 0xa6, 0xbf, 0x32, 0x4a, 0x2b, - 0xae, 0xe7, 0x69, 0xfb, 0x2b, 0x26, 0x24, 0x9d, 0x88, 0x03, 0x94, 0x02, 0x4a, 0x01, 0xa5, 0x86, - 0x42, 0xa9, 0x72, 0x17, 0xc7, 0x75, 0x7a, 0x7a, 0xcc, 0x20, 0x8a, 0xd6, 0xe5, 0x71, 0xf5, 0x87, - 0x47, 0x09, 0x2c, 0xae, 0x2e, 0x90, 0x9a, 0x00, 0x2e, 0x27, 0x96, 0xa9, 0x4b, 0x64, 0x4e, 0x2e, - 0x63, 0x1f, 0x43, 0x66, 0xf5, 0x58, 0x65, 0x5c, 0x5b, 0xf7, 0xaa, 0xf8, 0xbb, 0x4e, 0xd6, 0xfa, - 0xf6, 0xf6, 0xcc, 0x90, 0xf2, 0xd0, 0x89, 0x91, 0x8c, 0xa6, 0x8c, 0x74, 0x2b, 0xc5, 0xd3, 0xe7, - 0xe9, 0xe1, 0xf7, 0x64, 0xca, 0xcb, 0xaa, 0x83, 0xb9, 0xbf, 0x9d, 0xdd, 0xf8, 0xe9, 0xf4, 0xbe, - 0x1f, 0xef, 0xc7, 0xf7, 0x7d, 0x37, 0xbe, 0x6d, 0x94, 0x85, 0x35, 0xb7, 0x7d, 0x4c, 0xcc, 0xf2, - 0xe4, 0xf6, 0x8a, 0x09, 0x49, 0x9e, 0xf1, 0xfb, 0xf1, 0x46, 0x3e, 0xa1, 0x43, 0x7e, 0x26, 0x01, - 0x09, 0x9d, 0x5a, 0xa2, 0x2f, 0x24, 0x74, 0x68, 0x88, 0xa6, 0x9c, 0xd0, 0x11, 0x81, 0xa7, 0x36, - 0x4c, 0x22, 0xb7, 0x8d, 0x32, 0x49, 0x28, 0xf0, 0x42, 0x32, 0xa7, 0x71, 0xea, 0xa2, 0xad, 0x45, - 0x5d, 0x9e, 0x93, 0x08, 0xdb, 0xa1, 0xa9, 0x92, 0xa5, 0x7e, 0x08, 0x93, 0xe0, 0xb1, 0x29, 0x39, - 0x27, 0x8e, 0xea, 0x2c, 0x9b, 0xbc, 0xc5, 0x9e, 0xcb, 0x02, 0x00, 0x01, 0x80, 0x00, 0x40, 0x9d, - 0x03, 0x20, 0x84, 0x8c, 0x8a, 0x51, 0x4b, 0x2d, 0x81, 0xe2, 0xdd, 0xec, 0xde, 0x4c, 0x88, 0x0f, - 0xa7, 0x75, 0xb5, 0xbe, 0x78, 0x16, 0x3e, 0x21, 0x48, 0x5c, 0x12, 0x83, 0xb6, 0x20, 0x88, 0x14, - 0x3b, 0xd1, 0x16, 0x24, 0x4e, 0x22, 0x19, 0x0c, 0xda, 0x3e, 0x50, 0x71, 0xa6, 0xbc, 0x89, 0xca, - 0x7a, 0xe4, 0x20, 0x20, 0x95, 0x02, 0x04, 0x00, 0x02, 0x74, 0x03, 0x01, 0xd4, 0x77, 0xbd, 0x45, - 0xac, 0x3c, 0x52, 0xac, 0x34, 0x6a, 0xaa, 0xf3, 0xae, 0x51, 0xed, 0x62, 0xd5, 0x1a, 0x9e, 0xd6, - 0xe1, 0x1d, 0x36, 0xd6, 0x47, 0xb6, 0xec, 0x70, 0x9b, 0x9c, 0x0a, 0x28, 0x0c, 0xb9, 0xc9, 0x6d, - 0x7f, 0x4c, 0x2f, 0x60, 0x02, 0x74, 0x74, 0x90, 0x5d, 0xbf, 0xb5, 0x99, 0xe6, 0x18, 0x90, 0xcf, - 0x23, 0xc2, 0xdb, 0x81, 0xb7, 0xd3, 0x4e, 0x6f, 0x67, 0x27, 0x27, 0x1a, 0xb0, 0x9f, 0xab, 0x36, - 0x64, 0xb6, 0x81, 0x2a, 0x4e, 0x61, 0xca, 0x81, 0xd9, 0x6e, 0x6b, 0x35, 0x17, 0x4b, 0x9f, 0xcf, - 0x3a, 0xfd, 0xac, 0x4e, 0x87, 0xd5, 0x93, 0x91, 0xea, 0x64, 0xad, 0xf9, 0x57, 0x35, 0x0f, 0xc1, - 0x83, 0x6b, 0xda, 0x2d, 0xd7, 0x54, 0x7d, 0x20, 0x5e, 0x3f, 0x8c, 0x5e, 0x9c, 0xc8, 0x93, 0xc1, - 0xc0, 0xae, 0xba, 0x3b, 0xad, 0x36, 0x0d, 0xc4, 0x13, 0x81, 0x67, 0x0f, 0x43, 0xa5, 0x01, 0x25, - 0xf3, 0xaf, 0x62, 0x24, 0x09, 0xb4, 0xb6, 0xc9, 0x80, 0x92, 0x34, 0x95, 0x35, 0xb7, 0x15, 0x88, - 0xb3, 0x30, 0xdb, 0x1e, 0x46, 0x2a, 0x16, 0x63, 0x74, 0x23, 0x80, 0x54, 0x2b, 0xb6, 0x30, 0x3d, - 0x74, 0x64, 0xd8, 0xf1, 0xe6, 0x13, 0xe6, 0x55, 0x1a, 0xcb, 0x93, 0x7b, 0xee, 0xa0, 0xd3, 0x0e, - 0xd0, 0x03, 0x9d, 0x76, 0xaa, 0x6e, 0x24, 0x74, 0xda, 0x41, 0x6d, 0xa4, 0xba, 0x40, 0x74, 0xda, - 0x41, 0xa7, 0x1d, 0xed, 0xea, 0xa9, 0x49, 0x4d, 0xb9, 0xd5, 0x55, 0x9b, 0xda, 0x6a, 0x53, 0x5f, - 0x7d, 0x6a, 0x4c, 0x53, 0x67, 0xa2, 0x5a, 0xd3, 0xbd, 0xf4, 0xad, 0x3e, 0x26, 0x3a, 0xed, 0xf0, - 0xbe, 0x2e, 0x74, 0xda, 0x01, 0x94, 0x02, 0x4a, 0x3b, 0x05, 0xa5, 0xe8, 0xb4, 0x53, 0xe5, 0xc6, - 0xd0, 0x69, 0x07, 0x9d, 0x76, 0xd0, 0x69, 0x47, 0x0b, 0x34, 0xf2, 0x49, 0x41, 0xa7, 0x9d, 0x2a, - 0x72, 0x58, 0x2b, 0x42, 0xb2, 0xc4, 0xe8, 0x7b, 0x53, 0x3b, 0xea, 0x9c, 0x07, 0xde, 0x4d, 0x98, - 0xce, 0xcb, 0x42, 0xeb, 0x9c, 0x26, 0xf6, 0x43, 0xa3, 0x27, 0x1f, 0x73, 0x2f, 0x7f, 0xdf, 0xac, - 0x81, 0xe8, 0xd5, 0x4b, 0x12, 0xf2, 0xa1, 0x71, 0x91, 0xb4, 0x9a, 0x53, 0x31, 0x1f, 0x90, 0x8a, - 0x41, 0x2a, 0xa6, 0x89, 0x31, 0x69, 0x8b, 0x9b, 0x9e, 0x79, 0x4c, 0x5a, 0x5e, 0x34, 0x9a, 0x58, - 0x60, 0x4c, 0x9a, 0x65, 0x82, 0x52, 0x36, 0xe3, 0x7f, 0x76, 0x70, 0x4c, 0x5a, 0x12, 0x0e, 0x43, - 0x3f, 0x1c, 0xbc, 0x7d, 0x9e, 0xfd, 0x8f, 0xbd, 0xf9, 0xd7, 0x2b, 0x1f, 0x07, 0xa1, 0x27, 0x56, - 0x3e, 0x0a, 0x5f, 0x02, 0xe1, 0xd9, 0xe3, 0x5f, 0xd8, 0xc2, 0x1b, 0x88, 0xa9, 0xaf, 0x54, 0x70, - 0x28, 0x40, 0x0c, 0x6d, 0x5f, 0xc6, 0x9b, 0xce, 0x0b, 0x2c, 0x02, 0x54, 0xd3, 0x73, 0xd8, 0x14, - 0x4c, 0xef, 0xca, 0x1a, 0x30, 0xa1, 0x77, 0xa1, 0x54, 0x00, 0xf7, 0xfe, 0xd2, 0x2e, 0x04, 0x68, - 0x2b, 0x81, 0x76, 0xb6, 0x7c, 0x00, 0x6c, 0x00, 0xf6, 0xe2, 0xdf, 0xb4, 0x02, 0x6a, 0x19, 0xf1, - 0x15, 0xa0, 0x0a, 0x50, 0x05, 0xa8, 0x02, 0x54, 0x95, 0x41, 0xd5, 0x74, 0xc0, 0xcc, 0x1e, 0x94, - 0x07, 0x34, 0x97, 0xc5, 0x01, 0x38, 0x01, 0x9c, 0x00, 0x4e, 0x00, 0xe7, 0x56, 0xe0, 0xdc, 0xb9, - 0x49, 0xea, 0x4b, 0x38, 0x68, 0x65, 0xae, 0xa4, 0x55, 0x14, 0xb4, 0x5b, 0x5c, 0x3c, 0x2c, 0xc6, - 0xae, 0x5b, 0x3b, 0x94, 0x54, 0xa4, 0x27, 0xbb, 0x2c, 0x4d, 0x09, 0xc6, 0xec, 0xce, 0x66, 0x1f, - 0x99, 0x90, 0x6a, 0xac, 0xde, 0xa8, 0x20, 0x87, 0xb6, 0x2a, 0x47, 0xc2, 0x2d, 0xb4, 0x17, 0x42, - 0x52, 0xb1, 0x29, 0x63, 0x43, 0x3f, 0x23, 0x3a, 0x0c, 0xa3, 0xc4, 0x56, 0xdd, 0xf7, 0xd6, 0x2e, - 0x9d, 0x0e, 0xf5, 0x9d, 0x37, 0x11, 0xd9, 0xc3, 0x28, 0x4c, 0x42, 0x37, 0xf4, 0xed, 0x29, 0x60, - 0x2a, 0x22, 0x49, 0x91, 0x30, 0x60, 0x0a, 0x30, 0xa5, 0x1b, 0x2d, 0xcb, 0xc8, 0x9b, 0x7f, 0x97, - 0x81, 0xe5, 0x9f, 0x91, 0xe3, 0xcb, 0xbe, 0x14, 0x11, 0x1b, 0xba, 0xcc, 0x25, 0x02, 0x62, 0x00, - 0x31, 0x5d, 0x84, 0x18, 0x55, 0x0d, 0x58, 0xc2, 0x19, 0x85, 0x6a, 0xf4, 0xfd, 0x0b, 0x4f, 0x04, - 0x89, 0x4c, 0xde, 0x7e, 0x73, 0x62, 0x86, 0x93, 0xf2, 0x97, 0x27, 0x7f, 0x9d, 0xdf, 0x3e, 0xde, - 0xdc, 0x5e, 0xdf, 0x5f, 0x9f, 0x5e, 0x5f, 0x3e, 0xfe, 0xef, 0xb7, 0x93, 0xcb, 0x8b, 0x2f, 0x17, - 0xe7, 0xb7, 0xaa, 0xbb, 0x2b, 0x2d, 0xbd, 0x8f, 0x49, 0x67, 0x4d, 0x98, 0x0e, 0xcb, 0xad, 0x7b, - 0xb2, 0xc7, 0x6f, 0x57, 0x77, 0x37, 0xe7, 0xa7, 0xe3, 0xff, 0x3f, 0xab, 0x9b, 0xdd, 0x7b, 0xd0, - 0xad, 0x15, 0x7a, 0xac, 0x89, 0xec, 0x0b, 0xf7, 0xcd, 0xf5, 0xc9, 0xfd, 0x90, 0x56, 0x05, 0xd5, - 0x6c, 0x3b, 0x3e, 0xa0, 0x15, 0x12, 0x5a, 0x21, 0xd5, 0x67, 0x2f, 0x48, 0x9b, 0x7d, 0xb7, 0xdc, - 0xd1, 0xd0, 0x75, 0x7c, 0x9b, 0xd2, 0x95, 0x3b, 0x93, 0x80, 0xee, 0x69, 0x80, 0x8c, 0x9d, 0x85, - 0x8c, 0xdd, 0x18, 0x34, 0x44, 0xa3, 0xb1, 0x08, 0xbc, 0x55, 0x0f, 0x5a, 0x0e, 0x2d, 0x37, 0xf6, - 0x50, 0x0d, 0xad, 0x17, 0x08, 0x4b, 0x0f, 0x10, 0x4c, 0x7c, 0x65, 0x57, 0x24, 0x76, 0x85, 0x62, - 0x57, 0x2c, 0x7e, 0x05, 0xa3, 0xc5, 0xc0, 0xcd, 0x57, 0xb8, 0x28, 0x9b, 0x59, 0xa2, 0xb9, 0x55, - 0x5f, 0x37, 0x95, 0x2a, 0xbb, 0x14, 0x28, 0xd4, 0x72, 0x4a, 0xc5, 0xa0, 0xa3, 0xca, 0xaa, 0x03, - 0x79, 0x80, 0x3c, 0x40, 0x9e, 0xb6, 0x22, 0x4f, 0x1d, 0x95, 0x6b, 0xca, 0xf0, 0x82, 0xea, 0x33, - 0x6b, 0x77, 0xaa, 0xcf, 0x54, 0x93, 0xb6, 0xfc, 0xd5, 0x66, 0xa9, 0xba, 0x1a, 0x10, 0x49, 0x87, - 0x43, 0x11, 0xa5, 0xef, 0xc9, 0xf1, 0xa9, 0xd4, 0x7b, 0x5e, 0x14, 0xc8, 0x77, 0xc4, 0xd8, 0x3b, - 0xcb, 0xa4, 0x51, 0xb7, 0xbb, 0xb5, 0x4b, 0xf4, 0xfb, 0x50, 0x88, 0xc8, 0xee, 0xbf, 0x78, 0x76, - 0xe1, 0xcc, 0x38, 0x86, 0x26, 0x39, 0x65, 0x2f, 0x80, 0x11, 0x06, 0x00, 0x9e, 0x2e, 0xf4, 0xcd, - 0x29, 0xde, 0xfe, 0xb6, 0x72, 0x1a, 0x2c, 0xb7, 0xcb, 0xca, 0x5e, 0x08, 0xc1, 0x3a, 0x7a, 0xea, - 0x58, 0x26, 0x28, 0x6c, 0xdb, 0x03, 0xf7, 0xd6, 0x1c, 0x8a, 0xd3, 0x38, 0x22, 0x77, 0x53, 0x3b, - 0x9c, 0x0c, 0x71, 0x0c, 0x26, 0x44, 0xf9, 0x86, 0x85, 0x97, 0xc3, 0x63, 0x1c, 0x47, 0x06, 0x02, - 0x03, 0x81, 0x81, 0xc0, 0x4d, 0x0e, 0x29, 0x37, 0x95, 0xf8, 0x35, 0x94, 0x82, 0xd4, 0x13, 0xc8, - 0x6a, 0x62, 0x29, 0x6f, 0x84, 0x88, 0xbe, 0xbc, 0x78, 0x05, 0x7f, 0x63, 0xd2, 0x19, 0xd9, 0x61, - 0x14, 0x26, 0xe3, 0xdb, 0x0b, 0x06, 0xfa, 0xe8, 0x87, 0xd2, 0x97, 0x00, 0x01, 0x01, 0x02, 0x02, - 0x04, 0x04, 0x08, 0x08, 0xb8, 0xbf, 0x70, 0x7f, 0xe1, 0xfe, 0x82, 0x80, 0x00, 0x01, 0x01, 0x04, - 0x06, 0x02, 0x03, 0x81, 0x81, 0xc0, 0x20, 0x20, 0xcc, 0x20, 0x20, 0x34, 0x85, 0xb2, 0xba, 0x28, - 0x88, 0xec, 0x76, 0x5b, 0xc2, 0x42, 0x84, 0x81, 0x1d, 0x85, 0xbe, 0xa0, 0x73, 0x0d, 0x33, 0x41, - 0x68, 0x7f, 0x01, 0x46, 0xa1, 0x1b, 0x5d, 0xbb, 0x48, 0x1b, 0xdf, 0xda, 0xa5, 0x7a, 0x2a, 0x1a, - 0x82, 0x00, 0x36, 0x00, 0x1b, 0x1d, 0x6b, 0xf6, 0xd7, 0x75, 0xc0, 0x18, 0x7b, 0x6f, 0x22, 0xd2, - 0x96, 0xff, 0x28, 0x27, 0x1e, 0xb9, 0x0f, 0x40, 0x0e, 0x72, 0x1f, 0xc8, 0x7d, 0x80, 0x79, 0x03, - 0xf3, 0x06, 0xe6, 0xad, 0x6d, 0xcc, 0x1b, 0x72, 0x1f, 0xd5, 0xf0, 0x18, 0xb9, 0x0f, 0x20, 0x30, - 0x10, 0x18, 0x08, 0x8c, 0xdc, 0x47, 0xc1, 0xe6, 0x36, 0x33, 0xf7, 0xa1, 0x23, 0x8c, 0xb5, 0xf4, - 0xe4, 0x3d, 0xee, 0xd2, 0x5b, 0x35, 0x3c, 0xe7, 0x31, 0x5b, 0x3b, 0x19, 0x24, 0x22, 0xea, 0x3b, - 0xae, 0xe0, 0xe0, 0x19, 0x8a, 0x04, 0x82, 0x59, 0x00, 0xb3, 0xb0, 0xcb, 0xcc, 0xc2, 0x9a, 0x7d, - 0xcf, 0xe4, 0xbe, 0x6e, 0x94, 0x0e, 0x0f, 0x16, 0xdd, 0x96, 0x18, 0x94, 0xb2, 0x9b, 0xdd, 0x96, - 0x5a, 0xe4, 0xb5, 0xa6, 0x9f, 0xad, 0x41, 0x82, 0xa5, 0xbf, 0x81, 0x17, 0x5a, 0x83, 0x17, 0x4a, - 0x77, 0x72, 0x34, 0xfa, 0x9d, 0xd2, 0x15, 0x17, 0xb3, 0x7b, 0xd3, 0xeb, 0x6b, 0xee, 0x31, 0xbe, - 0xf6, 0x59, 0xab, 0xaf, 0x8a, 0xec, 0xb8, 0x5a, 0x83, 0xaf, 0x95, 0xc6, 0x5e, 0x8a, 0xee, 0xee, - 0x87, 0xaa, 0x8e, 0x2d, 0xc1, 0xc4, 0x2c, 0x9a, 0x95, 0x27, 0x19, 0xd8, 0x62, 0x76, 0xf7, 0x0a, - 0xdb, 0x8e, 0xc3, 0xa0, 0x2c, 0x19, 0x91, 0x0f, 0x26, 0x44, 0x33, 0x94, 0x36, 0x6b, 0x6a, 0xed, - 0xd5, 0xca, 0xee, 0x6c, 0x45, 0x20, 0xd3, 0x04, 0x60, 0xfb, 0x55, 0x22, 0x44, 0x6e, 0x80, 0x2a, - 0xb7, 0x51, 0xb6, 0x6f, 0x90, 0x12, 0x4b, 0xaf, 0x3c, 0x95, 0x84, 0x38, 0xa0, 0xa1, 0xa2, 0x6f, - 0x5d, 0xb9, 0x01, 0x9a, 0x8a, 0xef, 0x4c, 0xf4, 0x95, 0x55, 0x81, 0x8b, 0xec, 0x0b, 0x93, 0xa1, - 0x8a, 0xee, 0xeb, 0xf2, 0x1a, 0xb9, 0xca, 0xbe, 0x2b, 0xc3, 0xb4, 0x10, 0x95, 0x2a, 0x99, 0x8a, - 0xd5, 0x31, 0x3c, 0x0a, 0x5b, 0xa9, 0x15, 0xb1, 0xca, 0x3c, 0x80, 0x8a, 0xcc, 0x52, 0xe5, 0x30, - 0x17, 0xaa, 0xd9, 0x62, 0xd5, 0xac, 0xca, 0xfe, 0x28, 0xf6, 0xeb, 0x27, 0xf5, 0xe9, 0xc7, 0xb8, - 0x9a, 0x1d, 0x25, 0x45, 0x31, 0xae, 0xa6, 0x18, 0xa8, 0x4d, 0x18, 0x57, 0x43, 0xe8, 0x93, 0x4f, - 0xef, 0x8f, 0x0f, 0x8d, 0x87, 0xc6, 0x43, 0xe3, 0x4d, 0x25, 0xab, 0x2a, 0xab, 0x35, 0x0b, 0x5d, - 0x55, 0x91, 0xdb, 0x00, 0x31, 0xb2, 0x91, 0x18, 0xa9, 0x08, 0xca, 0x7c, 0x9c, 0x48, 0xf9, 0x26, - 0xf2, 0x3c, 0xe1, 0x95, 0x7a, 0xb3, 0x78, 0x72, 0xd7, 0x6c, 0x70, 0x22, 0x08, 0xbc, 0x34, 0x70, - 0x22, 0x94, 0x26, 0xee, 0xad, 0x61, 0x45, 0x22, 0x11, 0x4b, 0x5f, 0x8a, 0xc0, 0x15, 0x63, 0x1c, - 0x8b, 0x93, 0xc8, 0xa9, 0x52, 0xa3, 0x33, 0x3f, 0x55, 0x58, 0x28, 0x66, 0x77, 0x78, 0x13, 0xa5, - 0xca, 0x9b, 0xdd, 0x52, 0x62, 0x95, 0xca, 0x9a, 0x86, 0x39, 0x94, 0xbe, 0x33, 0xf2, 0x93, 0xf1, - 0xad, 0x7b, 0x32, 0x3d, 0x39, 0xec, 0x89, 0x44, 0x44, 0x4f, 0x32, 0x50, 0x4b, 0xfb, 0x66, 0x7b, - 0x62, 0xb3, 0x58, 0x9c, 0xad, 0x45, 0x1c, 0xd6, 0x89, 0xb3, 0xb5, 0x9c, 0x6a, 0xb0, 0x64, 0x07, - 0x3e, 0x2a, 0x7c, 0xf7, 0xc2, 0x13, 0x41, 0x22, 0x93, 0xb7, 0xdf, 0x9c, 0x98, 0x61, 0xe0, 0xe0, - 0x97, 0x93, 0x6f, 0x97, 0xf7, 0x8f, 0xa7, 0xd7, 0x57, 0x67, 0x17, 0xf7, 0x17, 0xd7, 0x57, 0x8f, - 0x67, 0xe7, 0xf7, 0xe7, 0xb7, 0x5f, 0x2f, 0xae, 0x4e, 0xc6, 0xff, 0x52, 0xdd, 0x67, 0x7f, 0x8e, - 0xc3, 0xb9, 0x71, 0x90, 0xf4, 0x1f, 0xe5, 0x62, 0x1e, 0x62, 0xf1, 0x58, 0xa9, 0xc7, 0x7b, 0xbc, - 0xb8, 0xfa, 0xe3, 0xfc, 0xf6, 0xfc, 0xea, 0x9e, 0x50, 0xb1, 0xf5, 0xce, 0xec, 0x27, 0xbc, 0xfb, - 0xf6, 0xdb, 0xe5, 0xc9, 0x5f, 0xe7, 0xb7, 0xbb, 0xfb, 0x84, 0xf7, 0xe7, 0x77, 0x3b, 0xfc, 0xfe, - 0xae, 0xd2, 0x5d, 0x7a, 0x7f, 0xfb, 0xed, 0xee, 0xe2, 0xcf, 0xf3, 0xba, 0x0b, 0x0b, 0x1f, 0x74, - 0x03, 0xb9, 0x16, 0x9a, 0xf9, 0x47, 0xe8, 0x7b, 0x76, 0xd8, 0xef, 0xdb, 0x89, 0xa4, 0x30, 0xcd, - 0xcb, 0x62, 0xe0, 0xea, 0xc0, 0xd5, 0xe9, 0x84, 0xab, 0x33, 0x92, 0x41, 0xf2, 0xe9, 0x90, 0xe0, - 0xd3, 0x1c, 0x2b, 0x7c, 0xf5, 0xd6, 0x09, 0x06, 0x42, 0xd9, 0x5d, 0x20, 0x14, 0x30, 0x7f, 0x95, - 0x01, 0x43, 0xa1, 0x3a, 0xe9, 0x0c, 0xc0, 0xb2, 0xd3, 0xc4, 0x20, 0xe7, 0x4b, 0xe4, 0xa4, 0xdd, - 0xa3, 0xce, 0xe4, 0x40, 0xa6, 0x4c, 0xf5, 0x41, 0x13, 0xd6, 0x71, 0xff, 0xab, 0xf3, 0x6a, 0xdc, - 0xd2, 0xf6, 0x8e, 0x0f, 0x0f, 0x3f, 0x1d, 0x1d, 0x1e, 0x1e, 0x1c, 0xfd, 0xeb, 0xe8, 0xe0, 0xdf, - 0x1f, 0x3f, 0xf6, 0x3e, 0xa9, 0x78, 0xe0, 0xda, 0x56, 0xbb, 0xa6, 0x6a, 0xf3, 0x07, 0x03, 0x8c, - 0xb4, 0x8c, 0x6d, 0x37, 0x0c, 0x23, 0x6f, 0x1c, 0x43, 0x09, 0xcf, 0x8e, 0x5f, 0x64, 0xe2, 0xfe, - 0x90, 0xc1, 0xc0, 0xfe, 0x1e, 0x26, 0x3f, 0x6c, 0x11, 0x78, 0x84, 0x72, 0xe2, 0x12, 0xb2, 0x61, - 0xce, 0x61, 0xce, 0x3b, 0x61, 0xce, 0xbf, 0x87, 0xa1, 0x2f, 0x1c, 0x12, 0x47, 0xd1, 0x33, 0x03, - 0x2e, 0xfa, 0x51, 0xf8, 0x5f, 0x11, 0x90, 0x50, 0x61, 0x2a, 0x02, 0xca, 0x0f, 0xe5, 0x87, 0xf2, - 0xb7, 0x4a, 0xf9, 0xfd, 0xd0, 0xfd, 0x69, 0x87, 0xa3, 0x84, 0xa4, 0xfe, 0x99, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xd0, 0x1e, 0x00, 0x78, 0x72, 0x5e, 0xa7, 0x5e, 0x7c, 0x4a, 0xc6, 0x11, 0x42, - 0x83, 0x9c, 0x24, 0x40, 0x01, 0xa0, 0x00, 0xbc, 0x1e, 0x78, 0x3d, 0xf0, 0x7a, 0xe0, 0xf5, 0xc0, - 0xeb, 0xd1, 0x4d, 0xf5, 0x18, 0xdc, 0x45, 0x14, 0x09, 0xcf, 0x8e, 0x44, 0x9c, 0x84, 0x93, 0xaa, - 0x42, 0xdb, 0x77, 0xde, 0x44, 0x44, 0x19, 0x05, 0xb2, 0x5e, 0x28, 0x0c, 0x38, 0x0c, 0x78, 0x27, - 0x0c, 0x78, 0xba, 0xdd, 0xed, 0x61, 0x14, 0x26, 0xa1, 0x1b, 0xfa, 0x2a, 0x47, 0xa0, 0xac, 0x86, - 0x3a, 0xfd, 0x57, 0x5c, 0x2a, 0xa5, 0x93, 0x1d, 0x8b, 0x96, 0x5f, 0xf9, 0x90, 0xc6, 0xa2, 0x8d, - 0xa3, 0x0b, 0x51, 0x3a, 0xf1, 0xa1, 0x17, 0x9d, 0x17, 0x6a, 0x97, 0x13, 0x95, 0x0d, 0x59, 0x54, - 0x04, 0x9d, 0x0a, 0x42, 0x63, 0x42, 0xa0, 0xf0, 0x2e, 0x37, 0x26, 0x5c, 0x98, 0xc9, 0x94, 0x50, - 0xba, 0xa6, 0x15, 0x0d, 0x79, 0x52, 0x50, 0x20, 0x26, 0x3f, 0xda, 0xc0, 0xf6, 0x83, 0x49, 0x38, - 0x0c, 0xfd, 0x70, 0x80, 0xe6, 0xd9, 0x6a, 0xca, 0x97, 0x2d, 0x5f, 0xe7, 0x5a, 0x10, 0xf2, 0x28, - 0x14, 0xd5, 0x45, 0x22, 0xba, 0x4a, 0xea, 0x2f, 0x41, 0x65, 0x52, 0xc0, 0x62, 0x30, 0x35, 0x0c, - 0x7d, 0xe9, 0xbe, 0xd1, 0x71, 0xad, 0x40, 0x26, 0xa0, 0x0d, 0xd0, 0x06, 0x68, 0x33, 0x41, 0xa7, - 0xda, 0x8b, 0x6e, 0xdd, 0xe9, 0x8f, 0x5a, 0x78, 0xbc, 0xf4, 0x3d, 0x2d, 0xde, 0xb2, 0x58, 0x8f, - 0xdb, 0xdf, 0x66, 0xf7, 0x72, 0x9a, 0xdd, 0xe0, 0xc2, 0x87, 0xe9, 0xbe, 0x37, 0x29, 0xd6, 0x7d, - 0xb3, 0xa3, 0x70, 0x94, 0x28, 0x1d, 0xfa, 0x5d, 0x1f, 0xf7, 0x16, 0x08, 0x45, 0x0c, 0x8c, 0x18, - 0x78, 0x97, 0x63, 0x60, 0xbe, 0xb9, 0x7e, 0x18, 0xdc, 0x87, 0xa6, 0xfb, 0x7c, 0x8e, 0x61, 0x57, - 0x9b, 0xee, 0x2b, 0xb7, 0x88, 0xca, 0x99, 0xa0, 0x63, 0x83, 0x83, 0x54, 0xa5, 0x76, 0x71, 0xb9, - 0xb5, 0x52, 0xcc, 0x96, 0x10, 0x0c, 0x35, 0xd0, 0x06, 0x68, 0xd3, 0x3c, 0xda, 0xa8, 0x1a, 0xfb, - 0x4c, 0x80, 0x5a, 0x6f, 0xd6, 0xb5, 0xfb, 0x4f, 0xa5, 0x57, 0x2b, 0xb3, 0xf9, 0x67, 0x53, 0x4c, - 0x4e, 0x05, 0xd5, 0xa4, 0xa8, 0xdc, 0x0a, 0xab, 0x4d, 0x71, 0xb5, 0x29, 0xb0, 0x3e, 0x45, 0xa6, - 0x29, 0x34, 0x51, 0xb1, 0xf9, 0xdc, 0x09, 0x7e, 0xb7, 0x82, 0xc9, 0xbd, 0xa0, 0xaf, 0x2f, 0xa5, - 0xca, 0x8d, 0xd0, 0xab, 0x76, 0x33, 0xf8, 0xd9, 0x04, 0x57, 0x04, 0x08, 0x08, 0x04, 0x04, 0x02, - 0x02, 0x01, 0x0d, 0x75, 0x36, 0x55, 0x7b, 0xf9, 0xe6, 0x04, 0x91, 0x2a, 0xc0, 0x32, 0x29, 0x1c, - 0x95, 0x60, 0x73, 0x61, 0x0c, 0x15, 0x61, 0x99, 0x30, 0x52, 0x65, 0x18, 0xf5, 0x2d, 0x11, 0xb3, - 0x1d, 0x99, 0x9c, 0x3a, 0xb3, 0x1e, 0x79, 0xb6, 0xfd, 0x3d, 0xd1, 0x8c, 0xd6, 0x95, 0x0e, 0x79, - 0xbb, 0x1d, 0xdf, 0xf8, 0xc2, 0x6f, 0xca, 0x37, 0x2b, 0x6e, 0x86, 0x6f, 0x19, 0x46, 0x32, 0x8c, - 0x64, 0xf2, 0xc6, 0x51, 0xe2, 0x34, 0x95, 0x04, 0x96, 0x97, 0x25, 0x71, 0x02, 0xf6, 0x85, 0x9a, - 0x58, 0x69, 0xc6, 0x2c, 0xf2, 0x31, 0xbe, 0xca, 0x67, 0xb8, 0x56, 0x75, 0xea, 0x98, 0x20, 0x82, - 0x76, 0xa6, 0x6b, 0xf6, 0xc3, 0xe0, 0xae, 0x71, 0x9c, 0xf1, 0x62, 0x8e, 0xa8, 0x32, 0x71, 0x4c, - 0x67, 0xbe, 0x32, 0x79, 0x8c, 0xa7, 0x91, 0x98, 0xfc, 0x6e, 0x8b, 0xeb, 0x2c, 0x98, 0xee, 0x57, - 0xc0, 0x7f, 0x36, 0x4c, 0xeb, 0x5b, 0x69, 0x28, 0x52, 0x78, 0x30, 0xb9, 0x4e, 0x31, 0x1c, 0x25, - 0x32, 0x18, 0x50, 0x0a, 0x38, 0x72, 0x50, 0x5a, 0x20, 0x13, 0xe9, 0x21, 0xb8, 0x29, 0x1d, 0x76, - 0x53, 0xc8, 0xa9, 0x22, 0x37, 0x8c, 0x13, 0xdb, 0xfd, 0xe1, 0x8c, 0x41, 0x51, 0x44, 0x32, 0x4e, - 0xa4, 0xcb, 0xc7, 0x9d, 0x16, 0x09, 0xe7, 0x21, 0x51, 0x7b, 0x3b, 0x4f, 0xa2, 0x8e, 0x63, 0xf4, - 0x71, 0x68, 0x3e, 0x1c, 0x25, 0xaa, 0x0d, 0xcb, 0x41, 0xa7, 0x6e, 0x57, 0xfa, 0xdc, 0x32, 0xb7, - 0x9c, 0x58, 0xa5, 0x02, 0xc2, 0x32, 0x30, 0x38, 0xfe, 0x20, 0x8c, 0x64, 0xf2, 0xe3, 0x89, 0x6f, - 0xcf, 0x2c, 0x61, 0xc3, 0x5c, 0xfe, 0x3b, 0x23, 0xdd, 0x51, 0x2e, 0x98, 0xd0, 0x01, 0x17, 0xc5, - 0xb0, 0xc1, 0x70, 0x5e, 0x41, 0x37, 0x6c, 0x68, 0x87, 0x0f, 0xed, 0x30, 0xb2, 0x1e, 0x4e, 0xe8, - 0xe7, 0x1d, 0x78, 0xe1, 0x84, 0x31, 0x6e, 0xb4, 0x58, 0xf3, 0x36, 0xb9, 0xdd, 0xcb, 0x96, 0xbf, - 0xc9, 0xb9, 0x0a, 0xc7, 0x7b, 0x66, 0xbc, 0x07, 0x8e, 0xd8, 0x3d, 0x45, 0x4d, 0x96, 0x04, 0x77, - 0x31, 0x20, 0x33, 0xe4, 0xb9, 0x81, 0xc5, 0xc0, 0x62, 0x60, 0x31, 0xb0, 0xb8, 0x1b, 0x58, 0xcc, - 0x53, 0x6a, 0x59, 0x0c, 0xc6, 0x1c, 0x75, 0x97, 0x40, 0x63, 0xa0, 0x31, 0xd0, 0x18, 0x68, 0x6c, - 0x36, 0x1a, 0x37, 0x4a, 0x99, 0x4c, 0x2b, 0xa0, 0xb8, 0xfc, 0x5f, 0x9e, 0x42, 0xa8, 0x4c, 0x1a, - 0x67, 0x41, 0xd4, 0x5c, 0x28, 0x63, 0x61, 0x54, 0x26, 0x94, 0xa5, 0x40, 0x8a, 0xeb, 0xa5, 0x32, - 0x15, 0x4c, 0x65, 0xf2, 0x1a, 0x2e, 0x9c, 0xca, 0x67, 0xbe, 0xde, 0xf3, 0x93, 0xeb, 0x56, 0x93, - 0x25, 0x56, 0xb7, 0x93, 0x27, 0x5c, 0xf8, 0xe4, 0x34, 0x8c, 0x93, 0xd3, 0xe5, 0xe7, 0x6b, 0x61, - 0x4d, 0xba, 0x27, 0x9f, 0x45, 0x14, 0x8f, 0xdf, 0x3e, 0xb1, 0x5b, 0x4b, 0xce, 0x2e, 0xe4, 0x24, - 0xa3, 0x3e, 0xbd, 0x9c, 0x27, 0x88, 0xd4, 0x0a, 0x52, 0x2b, 0x4d, 0x7a, 0x78, 0xba, 0x34, 0xd8, - 0x62, 0xea, 0x14, 0x93, 0xc9, 0xa2, 0x75, 0x8c, 0x69, 0x16, 0x77, 0x65, 0x6c, 0x8b, 0x57, 0xd7, - 0x1f, 0xc5, 0xf2, 0x99, 0xf1, 0x34, 0xd0, 0x92, 0x54, 0x6a, 0xaa, 0x4e, 0xa4, 0x13, 0xaa, 0x53, - 0x7d, 0x89, 0x70, 0xc0, 0x12, 0xf0, 0x0d, 0xf8, 0x6e, 0x17, 0x7c, 0xab, 0x0f, 0x6a, 0x59, 0x8b, - 0xda, 0xbd, 0x16, 0x22, 0xad, 0xef, 0x24, 0x69, 0xd0, 0xa2, 0xab, 0x8a, 0x68, 0x8d, 0x7c, 0x14, - 0x12, 0x01, 0x2e, 0x01, 0x97, 0xda, 0xe0, 0x92, 0xad, 0x90, 0xa8, 0x2f, 0x5f, 0x85, 0x67, 0x6b, - 0x02, 0x89, 0xdc, 0x96, 0xdf, 0x78, 0x35, 0xc3, 0x53, 0x29, 0x1f, 0x90, 0x4a, 0x41, 0x2a, 0xa5, - 0x04, 0xd4, 0x20, 0x95, 0xa2, 0xba, 0x7b, 0x91, 0xd8, 0x2e, 0xf3, 0x4c, 0x7f, 0xcb, 0x24, 0x11, - 0x91, 0x76, 0xa8, 0x2e, 0xbe, 0x0c, 0x30, 0x1a, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0x03, 0xa3, 0x37, - 0x3e, 0xd3, 0x3f, 0x23, 0x21, 0x83, 0x41, 0x6d, 0x6e, 0xf5, 0xe6, 0xcb, 0xa1, 0x44, 0x09, 0x98, - 0x0d, 0xcc, 0x06, 0x66, 0x03, 0xb3, 0x37, 0x3e, 0x53, 0x12, 0x39, 0xfd, 0xbe, 0x74, 0xed, 0x61, - 0x14, 0x0e, 0x45, 0x94, 0xbc, 0x69, 0x2a, 0xe4, 0x2f, 0xbe, 0x0c, 0x30, 0x1a, 0x18, 0x0d, 0x8c, - 0x06, 0x46, 0x03, 0xa3, 0x37, 0x3e, 0xd3, 0x8b, 0x13, 0x78, 0x35, 0x70, 0x1f, 0xc5, 0x97, 0x01, - 0xf7, 0x01, 0x8c, 0x06, 0x46, 0x03, 0xa3, 0x51, 0xea, 0xaf, 0xe7, 0x0d, 0xce, 0x4a, 0xfd, 0x75, - 0x78, 0xc8, 0x28, 0xfb, 0x47, 0xd9, 0x7f, 0x1d, 0x65, 0xff, 0xda, 0x28, 0x38, 0x83, 0x2a, 0xff, - 0x2f, 0x27, 0xcf, 0xd8, 0xfe, 0xe2, 0xff, 0x27, 0xe7, 0xd5, 0x76, 0x7c, 0x3f, 0x7c, 0x11, 0x9e, - 0xed, 0x86, 0x71, 0xc2, 0x57, 0x14, 0x95, 0x93, 0x8c, 0x72, 0xa8, 0x72, 0xbe, 0x21, 0xca, 0xa1, - 0x50, 0x0e, 0xa5, 0xf0, 0x80, 0x6c, 0xe5, 0x50, 0xe4, 0x56, 0xcd, 0x6b, 0xb7, 0x37, 0xb1, 0x75, - 0x33, 0xa8, 0xbe, 0x1a, 0xa0, 0x02, 0xe1, 0xa4, 0x09, 0x50, 0xd2, 0xb5, 0xb0, 0x92, 0xdc, 0x82, - 0x7a, 0x1d, 0x36, 0x1c, 0x33, 0x8a, 0xe4, 0x69, 0x51, 0xbd, 0xfa, 0xc3, 0xab, 0x5e, 0x16, 0x77, - 0x0b, 0x6b, 0xcd, 0xa0, 0x9b, 0x13, 0xcf, 0xdc, 0xe2, 0x3a, 0x27, 0x5f, 0x43, 0x73, 0x65, 0x4d, - 0xea, 0xb6, 0x1a, 0x18, 0xb7, 0xfe, 0x95, 0xea, 0x6b, 0x99, 0xdd, 0xc8, 0x5b, 0xde, 0x33, 0x53, - 0xda, 0xc3, 0x0e, 0xe5, 0x3a, 0x34, 0xf5, 0x2e, 0x42, 0xdb, 0x22, 0x38, 0xa1, 0x70, 0x42, 0xe1, - 0x84, 0xc2, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, 0x9c, 0xd0, 0x9d, 0x75, 0x42, 0x91, - 0xeb, 0xd3, 0x9a, 0xeb, 0x63, 0x4e, 0xf2, 0x58, 0x66, 0x65, 0xf9, 0xbe, 0x3a, 0xaf, 0x27, 0x93, - 0x87, 0x3b, 0x1d, 0x3f, 0x5b, 0xcb, 0xd3, 0x7b, 0x9e, 0xf0, 0x9d, 0x37, 0x3d, 0xf9, 0xbd, 0x89, - 0x68, 0x24, 0xf8, 0x1a, 0x0b, 0x98, 0x90, 0xe0, 0x43, 0x82, 0xaf, 0xb4, 0x20, 0x24, 0xf8, 0xc0, - 0xad, 0x80, 0x5b, 0x01, 0xb7, 0x02, 0x6e, 0x05, 0xdc, 0x0a, 0xb8, 0x15, 0x70, 0x2b, 0xe0, 0x56, - 0xc0, 0xad, 0x34, 0xa3, 0x05, 0x48, 0xf0, 0xc1, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, - 0x9c, 0x50, 0x38, 0xa1, 0x70, 0x42, 0xe1, 0x84, 0xc2, 0x09, 0xad, 0x53, 0x02, 0x12, 0x7c, 0x55, - 0x12, 0x7c, 0x1c, 0x59, 0x1e, 0xcb, 0xd4, 0x0c, 0xdf, 0x59, 0xfa, 0x70, 0x2d, 0x4f, 0xf1, 0xfd, - 0x08, 0x87, 0xb1, 0x9e, 0x0c, 0x5f, 0x2a, 0x19, 0x09, 0xbe, 0xc6, 0x02, 0x26, 0x24, 0xf8, 0x90, - 0xe0, 0x2b, 0x2d, 0x08, 0x09, 0x3e, 0x70, 0x2b, 0xe0, 0x56, 0xc0, 0xad, 0x80, 0x5b, 0x01, 0xb7, - 0x02, 0x6e, 0x05, 0xdc, 0x0a, 0xb8, 0x15, 0x70, 0x2b, 0xcd, 0x68, 0x01, 0x12, 0x7c, 0x70, 0x42, - 0xe1, 0x84, 0xc2, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, 0x9c, 0x50, 0x38, 0xa1, 0x70, - 0x42, 0xeb, 0x94, 0x80, 0x04, 0x5f, 0x95, 0x04, 0x1f, 0x43, 0x92, 0xc7, 0x32, 0x35, 0xbf, 0xf7, - 0xc7, 0xf8, 0xd9, 0x5a, 0x98, 0xde, 0x8b, 0x64, 0xfc, 0xd3, 0x9e, 0x8f, 0xe1, 0xd7, 0x35, 0xc2, - 0x78, 0xf3, 0x65, 0x90, 0xf8, 0x6b, 0x2c, 0x90, 0x42, 0xe2, 0x0f, 0x89, 0xbf, 0x6a, 0x60, 0xb1, - 0xac, 0xbb, 0x9a, 0x46, 0xf8, 0xac, 0xbd, 0x12, 0x38, 0x19, 0x1e, 0x28, 0xc1, 0x84, 0x88, 0x46, - 0xb9, 0x18, 0x4c, 0x88, 0x50, 0xdd, 0xbd, 0x98, 0xe2, 0x53, 0x1a, 0xa9, 0xa5, 0x27, 0x82, 0x44, - 0xf6, 0xa5, 0x88, 0x6c, 0x5f, 0x32, 0xf4, 0x5e, 0x2f, 0x46, 0xe9, 0xd5, 0xab, 0x00, 0xa1, 0x81, - 0xd0, 0x40, 0x68, 0x20, 0xb4, 0xb9, 0x08, 0xcd, 0xb4, 0x82, 0xac, 0xf3, 0x6e, 0xe6, 0x14, 0xea, - 0xd2, 0xdc, 0x1b, 0x66, 0x3d, 0x9d, 0xbd, 0xa2, 0x1e, 0xb7, 0x7e, 0x6a, 0x02, 0x96, 0x55, 0x70, - 0x79, 0x92, 0x81, 0x2d, 0x66, 0xab, 0xa3, 0x81, 0xbf, 0xd6, 0x0d, 0x33, 0x39, 0xa8, 0xe9, 0xed, - 0x1b, 0xca, 0xcf, 0x32, 0x66, 0x07, 0xb4, 0x4c, 0x5d, 0xca, 0x84, 0xb3, 0x4e, 0x5f, 0x62, 0x74, - 0xe2, 0x4c, 0x18, 0xf3, 0xa5, 0x29, 0x8a, 0xc6, 0xa4, 0x2f, 0x4c, 0xfa, 0xaa, 0x23, 0x77, 0xa0, - 0x93, 0x34, 0xb6, 0xcc, 0x4a, 0x24, 0xdc, 0xca, 0xf8, 0xe7, 0xd9, 0xec, 0x49, 0xdb, 0x3f, 0xf6, - 0x6b, 0xf2, 0x76, 0xc3, 0xef, 0x7f, 0xa7, 0x0b, 0x25, 0xec, 0xfe, 0x28, 0x70, 0x59, 0x76, 0xea, - 0x3c, 0xf4, 0x5c, 0x77, 0x05, 0x9e, 0x5c, 0xc2, 0x01, 0x72, 0x09, 0xcd, 0x7b, 0x81, 0xc8, 0x25, - 0x98, 0xe7, 0x59, 0xb0, 0x85, 0x8d, 0xba, 0x35, 0x79, 0x29, 0x70, 0x3c, 0x64, 0x90, 0x75, 0x1e, - 0x8c, 0x9e, 0xc6, 0x4f, 0xfe, 0xab, 0x85, 0x78, 0x9c, 0x84, 0xbe, 0x88, 0x9c, 0xef, 0xbe, 0xb0, - 0xe5, 0xd3, 0xd0, 0x71, 0x19, 0xc7, 0x30, 0xe6, 0x24, 0x03, 0x7f, 0x81, 0xbf, 0xc0, 0xdf, 0x16, - 0xe1, 0xef, 0x20, 0x72, 0x3c, 0x11, 0xdb, 0x61, 0x9f, 0x47, 0x83, 0x97, 0x70, 0x97, 0xa1, 0x70, - 0x6e, 0xff, 0x22, 0xcd, 0x2f, 0x24, 0x6f, 0xbf, 0x39, 0xb1, 0x86, 0x44, 0xf3, 0xef, 0xb7, 0x27, - 0x67, 0xe7, 0x77, 0x8f, 0xd7, 0x5f, 0x1e, 0x2f, 0xbe, 0xde, 0x9c, 0x9c, 0xde, 0x73, 0xed, 0xf0, - 0xb4, 0x9a, 0x30, 0x66, 0x2d, 0xc3, 0xd5, 0xc4, 0x05, 0xae, 0xae, 0xc0, 0xe3, 0xd7, 0x93, 0xff, - 0xb9, 0xbe, 0x9d, 0x2d, 0x87, 0x89, 0x84, 0x52, 0x5d, 0x0b, 0x71, 0x79, 0x7d, 0xf5, 0x3b, 0xd6, - 0xe1, 0xfe, 0xf1, 0x8f, 0x8b, 0xfb, 0xcb, 0xf3, 0xbb, 0xbb, 0x4e, 0xaf, 0xc1, 0xd7, 0x8b, 0x2b, - 0x1d, 0x4a, 0xc1, 0x22, 0xe9, 0xa1, 0x69, 0x9b, 0xb6, 0x57, 0xef, 0x37, 0x15, 0xb7, 0x0f, 0x17, - 0x63, 0x66, 0x1e, 0x53, 0x46, 0x30, 0x5a, 0xe6, 0x70, 0x60, 0x6a, 0x5a, 0x55, 0x7d, 0x07, 0x29, - 0xec, 0x9e, 0xfd, 0x59, 0x32, 0x78, 0x71, 0xcd, 0x55, 0xb7, 0xd0, 0x42, 0xe8, 0x94, 0x17, 0xaa, - 0xb8, 0xb3, 0x69, 0x15, 0xb0, 0xe4, 0x68, 0x89, 0x23, 0x4a, 0x5a, 0x8e, 0x8e, 0x16, 0x55, 0x85, - 0xb2, 0xbb, 0x99, 0x22, 0x22, 0xf6, 0x48, 0x88, 0x3d, 0x02, 0xca, 0x47, 0x3e, 0x4b, 0x4b, 0xd8, - 0x12, 0x84, 0xa6, 0x56, 0xaa, 0xee, 0x3b, 0xcf, 0xa1, 0xf4, 0xe6, 0xb5, 0x1b, 0x6c, 0x34, 0xc7, - 0x8a, 0x5c, 0x90, 0x1c, 0x20, 0x39, 0x40, 0x72, 0xb4, 0x88, 0xe4, 0x18, 0x8d, 0xa4, 0xc7, 0x49, - 0x6c, 0x1c, 0xb7, 0x90, 0x04, 0x9e, 0xbb, 0x19, 0xf6, 0x8b, 0x90, 0x83, 0x1f, 0x8c, 0x2c, 0x70, - 0x5e, 0x34, 0x10, 0x12, 0x08, 0x09, 0x84, 0x6c, 0x13, 0x42, 0x72, 0xf5, 0x36, 0x60, 0xec, 0x69, - 0xc0, 0xdc, 0xcb, 0x80, 0xb7, 0x4a, 0x53, 0x43, 0x15, 0xb5, 0x96, 0x03, 0xee, 0xba, 0x7a, 0x15, - 0xe8, 0x3c, 0xbd, 0xce, 0x5c, 0x7d, 0xd8, 0xba, 0x57, 0xa5, 0xbf, 0x07, 0x81, 0xd6, 0xb7, 0x67, - 0x48, 0x0d, 0xe6, 0x43, 0x0b, 0x9d, 0x34, 0xf1, 0xea, 0xfa, 0x23, 0x4f, 0xd8, 0xbe, 0x0c, 0x7e, - 0xf2, 0xf9, 0x67, 0x4b, 0x52, 0xe1, 0x9a, 0xc1, 0x35, 0x83, 0x6b, 0x86, 0xe0, 0xb5, 0x95, 0xb8, - 0x18, 0x84, 0x9e, 0xe0, 0xc7, 0xc5, 0x54, 0x2a, 0x70, 0x11, 0xb8, 0x08, 0x5c, 0x04, 0x2e, 0xb6, - 0x16, 0x17, 0x6d, 0xe1, 0x0d, 0x84, 0x3d, 0x0c, 0x29, 0xd9, 0xc9, 0x8d, 0x10, 0xb9, 0x78, 0x01, - 0xa0, 0x25, 0xd0, 0x12, 0x68, 0x09, 0xb4, 0x6c, 0x25, 0x5a, 0x4e, 0x6b, 0x77, 0x98, 0x21, 0x32, - 0x95, 0x0a, 0x5c, 0x04, 0x2e, 0x02, 0x17, 0x81, 0x8b, 0xad, 0xc2, 0x45, 0x19, 0xe8, 0x60, 0x1d, - 0x97, 0xa4, 0x02, 0x17, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x62, 0x2b, 0x71, 0x91, 0x97, 0x75, 0x5c, - 0x92, 0x0a, 0x5c, 0x04, 0x2e, 0x02, 0x17, 0x81, 0x8b, 0xad, 0xc5, 0x45, 0x2d, 0xac, 0xe3, 0xba, - 0x0b, 0x00, 0x2d, 0x81, 0x96, 0x40, 0x4b, 0xa0, 0x65, 0x2b, 0xd1, 0x92, 0x97, 0x75, 0x5c, 0x92, - 0x0a, 0x5c, 0x04, 0x2e, 0x02, 0x17, 0x81, 0x8b, 0xad, 0xc4, 0x45, 0xfe, 0xe3, 0x7a, 0x39, 0xc9, - 0xc0, 0x47, 0xe0, 0x23, 0xf0, 0x11, 0xf8, 0xd8, 0x2a, 0x7c, 0xf4, 0x43, 0xd7, 0xf1, 0x6d, 0xe9, - 0xf1, 0xe1, 0x62, 0x26, 0x11, 0x78, 0x58, 0x0e, 0x0f, 0x27, 0x6d, 0x3d, 0x80, 0x82, 0x5a, 0x50, - 0x70, 0xba, 0xb8, 0xc0, 0xbe, 0x95, 0x9d, 0xc7, 0x36, 0x40, 0xa1, 0xd5, 0xe8, 0xc7, 0x32, 0x58, - 0x2c, 0x5b, 0x53, 0x8e, 0xb6, 0xe7, 0x9d, 0x99, 0x33, 0x08, 0xd4, 0x03, 0xea, 0x6d, 0x79, 0x2c, - 0xb6, 0x99, 0x82, 0xcf, 0xd3, 0x23, 0x8f, 0xcc, 0x7d, 0x1d, 0x27, 0x62, 0x31, 0x8b, 0xca, 0x30, - 0x40, 0xd0, 0x05, 0x0c, 0xda, 0x01, 0x42, 0x3b, 0x50, 0xe8, 0x07, 0x0c, 0x1e, 0xe0, 0x60, 0x02, - 0x10, 0x7e, 0xf7, 0x49, 0x9f, 0x1b, 0xc5, 0xec, 0x4e, 0xf1, 0xbd, 0x07, 0x8e, 0x49, 0x81, 0x29, - 0x50, 0x6a, 0x9a, 0xe2, 0xba, 0x20, 0x1b, 0x48, 0x0c, 0x24, 0x06, 0x12, 0x03, 0x89, 0x77, 0x15, - 0x89, 0x4d, 0x18, 0xf7, 0xc5, 0x06, 0xb7, 0x18, 0xf0, 0x85, 0x01, 0x5f, 0xec, 0x6d, 0x8b, 0x0b, - 0xda, 0xdd, 0xbe, 0x67, 0x72, 0x0d, 0x1a, 0x6b, 0x62, 0x7c, 0x3f, 0x7d, 0xa6, 0x85, 0x8f, 0x52, - 0xcc, 0x6b, 0x21, 0xdd, 0x36, 0xb6, 0xd1, 0x22, 0x8a, 0x84, 0x67, 0x27, 0x91, 0x13, 0xc4, 0xc3, - 0x30, 0x4a, 0x6c, 0xdf, 0x79, 0x13, 0x11, 0x1f, 0x07, 0xb7, 0xfe, 0x12, 0x48, 0x47, 0x94, 0xf3, - 0xfe, 0x90, 0x9e, 0x45, 0x7a, 0xb6, 0x49, 0xcf, 0x6e, 0x9e, 0x48, 0x1c, 0xab, 0xad, 0x3d, 0x8c, - 0xc2, 0x24, 0x74, 0x43, 0x9f, 0x2b, 0xc4, 0xdb, 0xad, 0x79, 0x5d, 0x98, 0x6d, 0xc0, 0xe2, 0x24, - 0xb4, 0x71, 0xb8, 0x41, 0xde, 0x2f, 0xa8, 0x6d, 0xba, 0xc1, 0x9e, 0xc6, 0xdd, 0x36, 0x0b, 0x34, - 0x14, 0xcb, 0x08, 0x68, 0x61, 0x05, 0x4b, 0x18, 0xc1, 0x12, 0x36, 0xd0, 0xc2, 0x84, 0xaa, 0x6b, - 0x4e, 0xd4, 0xec, 0x86, 0x35, 0x5a, 0x41, 0x7b, 0x9b, 0xd2, 0xda, 0x6a, 0x2a, 0x5a, 0x5e, 0xd1, - 0x2a, 0xbc, 0xf0, 0xfd, 0x48, 0xc4, 0x49, 0x18, 0xa5, 0x6f, 0xdb, 0x76, 0xc3, 0x30, 0xf2, 0x64, - 0xe0, 0x24, 0xc2, 0x4e, 0x54, 0x0c, 0xf8, 0x7c, 0xc2, 0xe6, 0x06, 0xa1, 0x55, 0x01, 0x40, 0xc9, - 0xd3, 0x56, 0xf6, 0xac, 0x29, 0x9e, 0x34, 0xeb, 0x40, 0x11, 0xaa, 0x97, 0xcc, 0xe6, 0x15, 0xb3, - 0x79, 0xc1, 0xdc, 0x03, 0x43, 0xf4, 0x1a, 0x1e, 0x65, 0x0f, 0x76, 0xa1, 0x45, 0x3d, 0x65, 0xe3, - 0x53, 0xbd, 0x53, 0x45, 0x6f, 0x54, 0x27, 0xc8, 0x08, 0x7b, 0x18, 0xc9, 0x30, 0x1a, 0xbf, 0x6c, - 0x22, 0xb2, 0x2c, 0x48, 0x02, 0x9c, 0x00, 0x4e, 0x3a, 0x01, 0x27, 0xca, 0xed, 0xf2, 0x09, 0xed, - 0xf1, 0x89, 0xed, 0xf0, 0x09, 0x51, 0x21, 0x47, 0xbb, 0x7b, 0x2e, 0x96, 0x8e, 0xa9, 0x9d, 0x3d, - 0x67, 0x03, 0x74, 0x0a, 0xef, 0xca, 0xd1, 0x9e, 0x9e, 0x7b, 0x69, 0xf9, 0xdb, 0xcf, 0xb3, 0xae, - 0x76, 0x4d, 0xa1, 0xf4, 0x83, 0x11, 0xa6, 0xfa, 0x59, 0x44, 0xf1, 0xd8, 0x71, 0x7f, 0x52, 0x69, - 0x41, 0xb2, 0x60, 0xa8, 0x97, 0xe4, 0xc0, 0x4c, 0xc3, 0x4c, 0x77, 0xc2, 0x4c, 0x93, 0xf6, 0xfd, - 0x4e, 0x39, 0xfd, 0xb1, 0xf0, 0x85, 0x3b, 0xa5, 0x00, 0x82, 0x24, 0x0a, 0x7d, 0x75, 0x30, 0xc9, - 0x8b, 0x02, 0x9e, 0x00, 0x4f, 0x3a, 0x81, 0x27, 0xd4, 0xad, 0xbf, 0x53, 0x90, 0xf2, 0xe2, 0xc8, - 0xc4, 0x4e, 0x42, 0x3b, 0x05, 0xd9, 0xc4, 0x4e, 0xe4, 0x13, 0xc1, 0x43, 0x29, 0x12, 0x56, 0xf1, - 0xf5, 0x9e, 0x89, 0xbe, 0x33, 0xf2, 0xd3, 0xad, 0xd8, 0xfb, 0x08, 0x4c, 0x02, 0x26, 0x81, 0x8a, - 0x00, 0x15, 0x01, 0x2a, 0x02, 0x54, 0x04, 0xa8, 0x08, 0xd2, 0x5f, 0x96, 0xdc, 0x53, 0xaa, 0x99, - 0xea, 0x1a, 0x32, 0xd4, 0xfb, 0x55, 0x02, 0x25, 0x9d, 0xd9, 0xe7, 0x72, 0xd6, 0x67, 0xfb, 0x6b, - 0x29, 0xf1, 0x4a, 0xf6, 0xa3, 0x70, 0x94, 0xc8, 0x60, 0xb0, 0xb8, 0x0c, 0x65, 0x5f, 0xcb, 0x3c, - 0x7e, 0xce, 0xcb, 0x28, 0xb9, 0x19, 0xaa, 0x1d, 0x96, 0xae, 0xec, 0x47, 0xa9, 0xf8, 0x4f, 0x2c, - 0x7e, 0x93, 0xaa, 0xbf, 0x44, 0xf6, 0x93, 0xc8, 0xfe, 0x11, 0x97, 0x5f, 0xc4, 0x0b, 0x1a, 0x55, - 0x0f, 0x12, 0xef, 0xbb, 0x61, 0x9c, 0xd8, 0xee, 0x0f, 0x67, 0x8c, 0xe2, 0x22, 0x92, 0x71, 0x22, - 0x5d, 0xf5, 0xa8, 0xa3, 0x48, 0x98, 0x5a, 0xe0, 0xd0, 0x6b, 0x5d, 0xe0, 0xc0, 0x50, 0x4c, 0xdc, - 0x85, 0xe0, 0x81, 0x5e, 0x0c, 0xac, 0x37, 0x80, 0x50, 0x3d, 0x89, 0x3f, 0xd9, 0xfb, 0x8e, 0x3f, - 0x08, 0x23, 0x99, 0xfc, 0x78, 0x52, 0x7f, 0x87, 0x4b, 0xba, 0x34, 0x97, 0xa7, 0xb8, 0xfe, 0x34, - 0xff, 0x91, 0x5c, 0xc3, 0xcf, 0x51, 0xbb, 0xbf, 0xac, 0x66, 0x0c, 0x3d, 0xe8, 0xb8, 0x6a, 0xf4, - 0xd9, 0x6b, 0xf3, 0xd9, 0x6b, 0xf2, 0xf3, 0xea, 0x97, 0x2d, 0x5f, 0x4b, 0x0a, 0xb1, 0xc9, 0xb5, - 0xf6, 0x7c, 0xa7, 0x26, 0x89, 0xa7, 0x24, 0x15, 0x8a, 0x8f, 0xdf, 0x29, 0xa2, 0x10, 0xe9, 0xf8, - 0xf9, 0x32, 0x00, 0x11, 0x8e, 0x22, 0x00, 0x7b, 0x80, 0x3d, 0xc0, 0x9e, 0xae, 0x61, 0x0f, 0xad, - 0x01, 0xd1, 0x32, 0xf8, 0x50, 0xba, 0x0e, 0x01, 0x7d, 0x80, 0x3e, 0x40, 0x9f, 0xb6, 0xa2, 0x4f, - 0x1d, 0xc7, 0xae, 0x54, 0xfd, 0x1b, 0x9c, 0xbb, 0xb2, 0x5a, 0x7f, 0xee, 0x2a, 0xc7, 0xc3, 0xbe, - 0xa7, 0x53, 0x57, 0x16, 0x2f, 0xdd, 0x3d, 0xb9, 0xc5, 0x85, 0x93, 0x56, 0xa7, 0x61, 0x9c, 0x9c, - 0x2e, 0xdf, 0xa0, 0x01, 0x55, 0x0b, 0x9e, 0x4c, 0x4b, 0xc2, 0x92, 0x37, 0x7b, 0x18, 0xfa, 0xd2, - 0x25, 0x9c, 0x7e, 0xc8, 0x49, 0xea, 0x4a, 0xc9, 0x01, 0x98, 0xc3, 0x9d, 0x60, 0x0e, 0xe9, 0xa5, - 0x07, 0x44, 0x0d, 0xb0, 0x76, 0xa9, 0x1a, 0x4a, 0xc6, 0x76, 0x3a, 0x08, 0x3c, 0x96, 0xcf, 0x84, - 0x32, 0xa8, 0x25, 0x29, 0xea, 0xf5, 0x4f, 0xe3, 0x6d, 0x0c, 0x38, 0x02, 0x1c, 0x75, 0x0b, 0x8e, - 0xbe, 0x87, 0xa1, 0x2f, 0x9c, 0x80, 0x82, 0x42, 0x3d, 0x03, 0x90, 0xc4, 0x77, 0x92, 0xf4, 0x2c, - 0x3d, 0x57, 0x92, 0x73, 0x8d, 0x3c, 0xe4, 0x39, 0x01, 0x0f, 0x5d, 0xc8, 0x73, 0xf6, 0xe5, 0xab, - 0xf0, 0x6c, 0x26, 0xa5, 0xca, 0x6d, 0xb1, 0x8d, 0xd2, 0x1b, 0x66, 0x02, 0x3f, 0x80, 0x09, 0x04, - 0x13, 0x08, 0x26, 0xd0, 0xf8, 0x3c, 0xc4, 0xdf, 0x32, 0x49, 0x44, 0xc4, 0x0e, 0x4d, 0xc5, 0x62, - 0x81, 0x49, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x69, 0xcb, 0x3d, 0xfe, 0x33, 0x12, 0x32, 0x18, 0x68, - 0x73, 0x9b, 0x36, 0x8b, 0x47, 0x06, 0x15, 0x18, 0x05, 0x8c, 0x02, 0x46, 0x6d, 0xb9, 0xc7, 0x24, - 0x72, 0xfa, 0x7d, 0xe9, 0xda, 0xc3, 0x28, 0x1c, 0x8a, 0x28, 0x79, 0x63, 0xaa, 0x23, 0x2b, 0x16, - 0x0b, 0x4c, 0x02, 0x26, 0x01, 0x93, 0x80, 0x49, 0x5b, 0xee, 0xf1, 0xc5, 0x09, 0x3c, 0x0d, 0xb1, - 0x5c, 0xb1, 0x58, 0xc4, 0x72, 0xc0, 0x24, 0x60, 0x52, 0xb7, 0x30, 0xa9, 0x8e, 0x4a, 0x33, 0x0e, - 0x0f, 0x08, 0x55, 0x67, 0xd6, 0x0e, 0x56, 0x9d, 0xb1, 0x05, 0xec, 0x3a, 0x0b, 0xcf, 0x2e, 0x27, - 0x37, 0x69, 0x5e, 0xed, 0xd9, 0x93, 0xf3, 0x6a, 0x3b, 0xbe, 0x1f, 0xbe, 0x08, 0xcf, 0x76, 0xc3, - 0x38, 0x51, 0xcf, 0xe9, 0xe6, 0x24, 0x21, 0x9b, 0x5b, 0x9b, 0xa9, 0x47, 0x36, 0x97, 0x8e, 0x73, - 0xca, 0xd9, 0x5c, 0xe5, 0xa6, 0xd5, 0xb9, 0xed, 0xa4, 0xd8, 0xb4, 0x7a, 0x77, 0x23, 0x7b, 0xc6, - 0xe9, 0x52, 0x5d, 0xf6, 0xa6, 0xf9, 0xa6, 0x47, 0xb5, 0xd5, 0xab, 0x56, 0xee, 0x48, 0xb5, 0xaa, - 0x5b, 0xc7, 0x04, 0x11, 0xb4, 0x0e, 0x55, 0xb3, 0x1f, 0x9e, 0xf1, 0x97, 0x8c, 0xd3, 0xd5, 0x78, - 0x07, 0x20, 0x33, 0x75, 0xb0, 0xca, 0xe4, 0x31, 0xf6, 0x56, 0x22, 0x6e, 0xe7, 0xd5, 0x38, 0xc0, - 0xf8, 0x57, 0xc0, 0xdf, 0xe9, 0x4a, 0xeb, 0x5b, 0x69, 0x68, 0xaa, 0xda, 0x83, 0xc1, 0xd4, 0x1f, - 0xd3, 0x49, 0x52, 0x1c, 0x22, 0x85, 0x53, 0x02, 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x38, 0x25, - 0x70, 0x4a, 0xe0, 0x94, 0xd4, 0x45, 0xc9, 0x98, 0x4e, 0x3d, 0x13, 0x29, 0x4f, 0x4b, 0x33, 0xe9, - 0xfc, 0xd5, 0x79, 0x3d, 0x99, 0xdc, 0xdd, 0xe9, 0xf8, 0xe6, 0x0c, 0x63, 0x9b, 0x3d, 0xe1, 0x3b, - 0x6f, 0x3c, 0x74, 0xf3, 0x44, 0x14, 0xf8, 0xe6, 0xda, 0xfc, 0x4e, 0xf0, 0xcd, 0x74, 0x70, 0x03, - 0xdf, 0x8c, 0xd0, 0x0e, 0xa1, 0x1d, 0x42, 0x3b, 0x84, 0x76, 0x08, 0xed, 0x10, 0xda, 0x21, 0xb4, - 0x33, 0x2e, 0xb4, 0x03, 0xdf, 0x0c, 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x38, 0x25, 0x70, 0x4a, - 0xe0, 0x94, 0xc0, 0x29, 0x31, 0xc2, 0x29, 0x01, 0xdf, 0x4c, 0xe0, 0x3c, 0xad, 0xda, 0x08, 0xe7, - 0xb3, 0xf4, 0xee, 0x0c, 0x63, 0x9c, 0x7f, 0x84, 0xc3, 0x98, 0x87, 0x70, 0x4e, 0x25, 0x81, 0x6f, - 0xae, 0xcd, 0xef, 0x04, 0xdf, 0x4c, 0x07, 0x37, 0xf0, 0xcd, 0x08, 0xed, 0x10, 0xda, 0x21, 0xb4, - 0x43, 0x68, 0x87, 0xd0, 0x0e, 0xa1, 0x1d, 0x42, 0x3b, 0xe3, 0x42, 0x3b, 0xf0, 0xcd, 0x70, 0x4a, - 0xe0, 0x94, 0xc0, 0x29, 0x81, 0x53, 0x02, 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x23, 0x9c, 0x12, - 0xf0, 0xcd, 0xea, 0x94, 0xa7, 0x55, 0x1b, 0xdd, 0xfc, 0xc7, 0xf8, 0xe6, 0x0c, 0x60, 0x9b, 0x23, - 0x19, 0xff, 0xb4, 0xe7, 0x23, 0x68, 0xb8, 0xc6, 0x25, 0x6c, 0x16, 0x0b, 0x1e, 0xba, 0x36, 0x7f, - 0x14, 0x3c, 0x34, 0x1d, 0xf4, 0x94, 0x79, 0xe8, 0x54, 0x0b, 0x96, 0xf7, 0x3e, 0x53, 0x7b, 0xcd, - 0xb5, 0x92, 0x11, 0x12, 0xa2, 0x9b, 0x1d, 0x83, 0x4a, 0xa2, 0x9b, 0xdd, 0x6e, 0x77, 0xd8, 0x4c, - 0xf1, 0x43, 0x7a, 0x22, 0x48, 0x64, 0x5f, 0x8a, 0xc8, 0xf6, 0xa5, 0x42, 0x23, 0xad, 0x62, 0x54, - 0x5a, 0x95, 0x0a, 0x44, 0x02, 0x22, 0x01, 0x91, 0xda, 0x8c, 0x48, 0x8a, 0x2b, 0x40, 0xea, 0x5d, - 0xb9, 0x48, 0x42, 0x2d, 0xb4, 0x9f, 0x24, 0xee, 0xfb, 0xd9, 0x92, 0xf6, 0xa8, 0xfb, 0x9d, 0x49, - 0x11, 0x57, 0x95, 0xf1, 0x49, 0x06, 0xb6, 0x98, 0x3d, 0x2d, 0x03, 0x7d, 0xc4, 0xad, 0x96, 0x39, - 0xd5, 0xec, 0xed, 0x37, 0x44, 0xa7, 0x10, 0xc8, 0x35, 0x96, 0x8e, 0xa6, 0x99, 0x30, 0x52, 0x67, - 0x53, 0x53, 0x69, 0x9e, 0x69, 0x0b, 0x5b, 0xa6, 0x28, 0x03, 0x5d, 0x6c, 0x77, 0x91, 0x6a, 0xe3, - 0xa4, 0x78, 0x74, 0xf3, 0x6e, 0xb7, 0x32, 0xfe, 0x79, 0x36, 0xbb, 0x55, 0xf3, 0x5a, 0xda, 0x8e, - 0x57, 0x57, 0xd8, 0xe1, 0xf7, 0xbf, 0xd3, 0x27, 0x11, 0x76, 0x7f, 0x14, 0xb8, 0x4a, 0x2f, 0x7e, - 0xee, 0x89, 0xaf, 0x93, 0x88, 0x79, 0xc6, 0xa0, 0xde, 0x3a, 0x35, 0xcf, 0x98, 0x49, 0x13, 0xac, - 0x5d, 0x1a, 0xb3, 0x9e, 0x84, 0xbe, 0x88, 0x9c, 0xef, 0xbe, 0xb0, 0xe5, 0xd3, 0xd0, 0x71, 0x09, - 0x2d, 0xb4, 0x73, 0x92, 0x80, 0x2f, 0xc0, 0x97, 0x4e, 0xe1, 0xcb, 0x20, 0x72, 0x3c, 0x11, 0xdb, - 0x61, 0x5f, 0x4d, 0x03, 0x96, 0x70, 0x45, 0x21, 0x6d, 0xbe, 0x7f, 0x91, 0xd2, 0x6d, 0xc9, 0xdb, - 0x6f, 0x4e, 0xcc, 0x90, 0x57, 0xf8, 0xfd, 0xf6, 0xe4, 0xec, 0xfc, 0xee, 0xf1, 0xfa, 0xcb, 0xe3, - 0xc5, 0xd7, 0x9b, 0x93, 0xd3, 0x7b, 0xd5, 0x1d, 0x95, 0xd6, 0x06, 0xc4, 0xa4, 0x22, 0x16, 0xa6, - 0x50, 0x7f, 0xf5, 0x89, 0x1e, 0xbf, 0x9e, 0xfc, 0xcf, 0xf5, 0xed, 0xec, 0xf1, 0x9a, 0x88, 0x3f, - 0x75, 0x3d, 0xd8, 0xe5, 0xf5, 0xd5, 0xef, 0xbb, 0xf8, 0x5c, 0x7f, 0x5c, 0xdc, 0x5f, 0x9e, 0xdf, - 0xdd, 0xed, 0xd4, 0x33, 0x7d, 0xbd, 0xb8, 0xe2, 0xd8, 0x84, 0x4a, 0xdf, 0x7c, 0xd0, 0x8d, 0xc1, - 0x7b, 0xbc, 0x7f, 0x59, 0xf2, 0xf5, 0xa9, 0x06, 0xcc, 0xba, 0x03, 0xe5, 0x0a, 0x10, 0xaa, 0x31, - 0x04, 0x2e, 0xb7, 0xc9, 0xb6, 0xbf, 0x90, 0x12, 0x2f, 0x63, 0x7f, 0x46, 0xd5, 0x2f, 0x2e, 0x42, - 0xd9, 0x37, 0xb2, 0xe0, 0x59, 0xe6, 0x85, 0x94, 0xdc, 0x08, 0xd5, 0xea, 0x45, 0x2a, 0x3b, 0x93, - 0x2a, 0x4e, 0xe4, 0xb2, 0xf3, 0xb8, 0xb8, 0x73, 0xaa, 0x6c, 0x0f, 0x45, 0x87, 0x91, 0xec, 0x28, - 0x92, 0x1d, 0xc4, 0xbc, 0x63, 0xb8, 0xb4, 0x04, 0x0d, 0x01, 0x46, 0xd5, 0xba, 0x8e, 0x7d, 0xe7, - 0x39, 0x94, 0xde, 0x3c, 0x13, 0xa5, 0x1c, 0x35, 0xad, 0xc8, 0x41, 0xcc, 0x84, 0x98, 0xa9, 0x53, - 0x31, 0xd3, 0x68, 0x24, 0x3d, 0x4a, 0x9c, 0x74, 0x6c, 0x00, 0x87, 0x32, 0x37, 0x4b, 0xf6, 0x8b, - 0x90, 0x83, 0x1f, 0x04, 0x12, 0x25, 0x2f, 0x0a, 0x88, 0x00, 0x44, 0xe8, 0x16, 0x22, 0xa8, 0x1e, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x5d, 0x73, 0xdb, 0x38, + 0xd2, 0x3d, 0x7e, 0x9f, 0x4f, 0xc1, 0xf2, 0x75, 0x58, 0x7e, 0x19, 0x27, 0xf1, 0xe6, 0xce, 0xe3, + 0x38, 0x3b, 0x7e, 0x1e, 0xbf, 0x3d, 0xb6, 0x67, 0xff, 0xb5, 0xb5, 0xe5, 0x72, 0x31, 0x24, 0x24, + 0x63, 0x42, 0x93, 0x1a, 0x92, 0x4a, 0xec, 0xfd, 0x55, 0xbe, 0xfb, 0xbf, 0x44, 0x49, 0xd4, 0x0b, + 0x29, 0x89, 0x44, 0x37, 0x48, 0x90, 0x3c, 0xb9, 0xd9, 0x1d, 0xdb, 0x6a, 0x91, 0x00, 0xfa, 0xe0, + 0xf4, 0xe9, 0x46, 0xe3, 0xff, 0xbd, 0xb3, 0x2c, 0xcb, 0xda, 0xbb, 0x76, 0x5e, 0xc4, 0xde, 0x67, + 0x6b, 0xcf, 0x13, 0x3f, 0xa4, 0x2b, 0xf6, 0xde, 0x4f, 0x7f, 0xfa, 0xbf, 0x32, 0xf0, 0xf6, 0x3e, + 0x5b, 0x87, 0xb3, 0xff, 0x3c, 0x0b, 0x83, 0x81, 0x1c, 0xee, 0x7d, 0xb6, 0x0e, 0x66, 0x3f, 0xf8, + 0x22, 0xa3, 0xbd, 0xcf, 0xd6, 0xd4, 0x44, 0xfa, 0x03, 0x37, 0x0c, 0x12, 0xf1, 0x9a, 0xac, 0xfc, + 0x70, 0xc5, 0xfe, 0xfc, 0x0f, 0xde, 0xaf, 0xfe, 0x7a, 0xf5, 0x8b, 0xb2, 0x1f, 0xaf, 0x7f, 0x61, + 0xf6, 0x8b, 0xdb, 0x48, 0x0c, 0xe4, 0x6b, 0xee, 0x6b, 0x56, 0xbe, 0x2a, 0x71, 0x46, 0xd2, 0x76, + 0xc3, 0x97, 0x97, 0x30, 0x58, 0xfb, 0xba, 0xf4, 0xcf, 0xee, 0xc3, 0x71, 0xe4, 0x8a, 0x42, 0x13, + 0xd3, 0x47, 0x12, 0x6f, 0x3f, 0xc3, 0x68, 0xf2, 0x54, 0x7b, 0xa3, 0xe9, 0xb7, 0xbd, 0x2f, 0xfe, + 0xc3, 0x3f, 0x9c, 0xf8, 0x34, 0x1a, 0x8e, 0x5f, 0x44, 0x30, 0x79, 0xef, 0x24, 0x1a, 0x8b, 0x0d, + 0x7f, 0xb8, 0xf4, 0x57, 0x2b, 0x0f, 0x97, 0xfb, 0xeb, 0x5f, 0x2b, 0x3f, 0xf9, 0xb5, 0xf6, 0xee, + 0xeb, 0x83, 0xbe, 0x3c, 0xf8, 0x81, 0x70, 0x13, 0xf9, 0x43, 0x26, 0x6f, 0xf6, 0xa6, 0x99, 0x28, + 0x9a, 0x91, 0xfc, 0xa7, 0x36, 0xbc, 0x41, 0xf1, 0x34, 0xed, 0x9c, 0xae, 0x32, 0xd3, 0xb6, 0x69, + 0xfa, 0x16, 0x0f, 0xb7, 0xe1, 0xa1, 0xca, 0x4c, 0x66, 0xe5, 0x49, 0xad, 0x3c, 0xb9, 0xdb, 0x26, + 0x79, 0xe9, 0x15, 0x36, 0x7e, 0xf6, 0x57, 0xe1, 0x6f, 0x7e, 0x6d, 0x18, 0xc7, 0x4d, 0x4b, 0x20, + 0xb7, 0x14, 0xc2, 0x60, 0xf7, 0x98, 0xac, 0x2f, 0x84, 0x42, 0x77, 0xa9, 0xb0, 0x0c, 0xf2, 0xcb, + 0xe1, 0x68, 0xc7, 0x1f, 0x96, 0x58, 0x16, 0xa4, 0xe5, 0x51, 0x75, 0x99, 0x28, 0x2f, 0x17, 0xe5, + 0x65, 0x43, 0x5d, 0x3e, 0xdb, 0x97, 0xd1, 0x8e, 0xe5, 0x54, 0x7a, 0x59, 0x65, 0x7f, 0xf8, 0x2d, + 0x1c, 0x07, 0x9e, 0x0c, 0x86, 0x76, 0x10, 0x7a, 0x15, 0x86, 0x73, 0x3e, 0x77, 0xab, 0x1f, 0x2f, + 0x39, 0x32, 0xe5, 0x16, 0x5d, 0xe5, 0xc5, 0xa7, 0xb2, 0x08, 0x59, 0x16, 0xa3, 0xea, 0xa2, 0x24, + 0x2f, 0x4e, 0xf2, 0x22, 0xe5, 0x5a, 0xac, 0xe5, 0x16, 0x6d, 0xc9, 0xc5, 0x5b, 0x79, 0x11, 0x67, + 0x1f, 0x98, 0x2c, 0x42, 0x7b, 0x3c, 0x96, 0x5e, 0xf5, 0x29, 0x98, 0xcf, 0xff, 0xc2, 0x44, 0xc5, + 0x11, 0x9c, 0x2d, 0xea, 0x83, 0x8a, 0x1f, 0xdb, 0xb5, 0xd1, 0x72, 0x2e, 0xf2, 0xe2, 0xc5, 0x9e, + 0x84, 0xa3, 0xd0, 0x0f, 0x87, 0x6f, 0x15, 0x5f, 0x98, 0xb2, 0xe0, 0xd9, 0x16, 0x3e, 0x9b, 0x03, + 0x6c, 0x76, 0x84, 0x6c, 0x78, 0x2a, 0xdb, 0xfb, 0x55, 0xe9, 0x13, 0xbf, 0x2a, 0xce, 0xff, 0xc3, + 0xdb, 0x48, 0xd0, 0x66, 0xdf, 0x17, 0xce, 0x20, 0x12, 0x03, 0x95, 0x79, 0x9f, 0x23, 0xf8, 0x27, + 0x85, 0xcf, 0xde, 0x3a, 0xc9, 0xf3, 0xe4, 0xeb, 0xf7, 0x97, 0x88, 0xf3, 0xe7, 0x19, 0x5b, 0xdd, + 0x5f, 0x19, 0xf2, 0xcf, 0xf3, 0xff, 0x63, 0x6f, 0xff, 0xf5, 0xda, 0x8f, 0x27, 0x2e, 0xbc, 0xf6, + 0xa3, 0xd4, 0xa1, 0xdf, 0xe9, 0x99, 0xbc, 0x0a, 0x13, 0xb7, 0x97, 0xbd, 0x10, 0x0d, 0xa4, 0x56, + 0xcd, 0x00, 0xa8, 0x00, 0x54, 0x00, 0xaa, 0x16, 0x02, 0x95, 0x56, 0x54, 0x62, 0x65, 0x62, 0xa7, + 0x41, 0x10, 0x26, 0x4e, 0xa9, 0x20, 0x74, 0xe5, 0x73, 0xb1, 0xfb, 0x2c, 0x5e, 0x9c, 0x51, 0xc1, + 0x40, 0xee, 0xcf, 0x47, 0xaa, 0x48, 0xb4, 0xd8, 0x5f, 0x04, 0xb0, 0xfb, 0x2a, 0x11, 0xc6, 0xf4, + 0xbb, 0x93, 0x68, 0xec, 0x26, 0xc1, 0x6c, 0x0d, 0x3d, 0x38, 0x23, 0x79, 0x96, 0x7e, 0xf3, 0xd3, + 0xd9, 0xf4, 0x4b, 0x26, 0xff, 0x9b, 0x7d, 0xf3, 0xfa, 0xcf, 0xc2, 0xe0, 0xe9, 0xf7, 0xd9, 0x17, + 0x5f, 0x4f, 0xbe, 0xf7, 0x1d, 0xcf, 0x98, 0x97, 0x18, 0xef, 0xa5, 0xe0, 0xdd, 0x16, 0x81, 0x67, + 0x8f, 0x42, 0x19, 0x24, 0xd5, 0x03, 0xb3, 0x42, 0x2b, 0x88, 0xcf, 0x10, 0x9f, 0x35, 0x19, 0x9f, + 0x15, 0x2d, 0x4a, 0x22, 0x15, 0xda, 0x6c, 0xb2, 0x2f, 0xb4, 0x48, 0xd1, 0x19, 0xfa, 0x44, 0x8d, + 0xd4, 0x9c, 0x05, 0xf4, 0xc8, 0xb8, 0x38, 0x2e, 0xfc, 0x19, 0x08, 0x2f, 0x65, 0x02, 0xb6, 0xf0, + 0x86, 0x62, 0xea, 0xee, 0xfb, 0xb9, 0x39, 0xfe, 0xec, 0x8a, 0x91, 0xed, 0xcb, 0xb8, 0xf0, 0x57, + 0x05, 0x80, 0x51, 0xf0, 0x67, 0xa6, 0x44, 0x8c, 0x6b, 0xef, 0xca, 0xa1, 0x6e, 0xad, 0x5b, 0x43, + 0xfc, 0x08, 0x90, 0x44, 0xfc, 0xd8, 0x79, 0x80, 0x34, 0x4e, 0x0c, 0x83, 0x5a, 0x0f, 0x10, 0x03, + 0x88, 0x01, 0xc4, 0xa0, 0xd6, 0x03, 0xa8, 0x00, 0x54, 0x00, 0x2a, 0xa8, 0xf5, 0x4c, 0xba, 0xdc, + 0xff, 0x8a, 0xb7, 0x1c, 0xee, 0x58, 0x19, 0x55, 0xb2, 0x8a, 0x82, 0x40, 0x8b, 0xaa, 0xa3, 0xed, + 0x5d, 0xca, 0x38, 0x39, 0x4d, 0x92, 0x8a, 0x8a, 0xe0, 0x95, 0x0c, 0xce, 0x7d, 0x31, 0xf1, 0x8c, + 0x58, 0x1d, 0x60, 0x8f, 0xaa, 0x82, 0x2a, 0x01, 0x5f, 0x96, 0xb1, 0xe5, 0x45, 0x06, 0xb6, 0x98, + 0x3f, 0xbd, 0xc2, 0x92, 0xe5, 0x40, 0x97, 0x15, 0x64, 0x39, 0x32, 0x61, 0xd7, 0xbc, 0x72, 0x5e, + 0x97, 0xa6, 0x34, 0x18, 0xfb, 0x7e, 0x85, 0x0f, 0xdf, 0x44, 0x9e, 0x88, 0x84, 0xf7, 0xfb, 0xdb, + 0xec, 0xa3, 0x5d, 0xc9, 0x62, 0x11, 0xd2, 0x31, 0x16, 0x47, 0x32, 0x6b, 0xf1, 0x7f, 0xcf, 0x03, + 0xef, 0x36, 0xfd, 0xf6, 0x1a, 0x53, 0x5a, 0x9e, 0x8c, 0x4a, 0x96, 0xb0, 0xe6, 0x7c, 0x7b, 0xf1, + 0xd1, 0x6a, 0xc9, 0xab, 0x03, 0x24, 0xaf, 0x98, 0xc8, 0x50, 0x47, 0x93, 0x57, 0x95, 0x89, 0x4e, + 0x36, 0x8b, 0x83, 0x30, 0xfa, 0xe9, 0x44, 0x69, 0x4e, 0xba, 0xea, 0xea, 0x5c, 0x61, 0x39, 0xc7, + 0x15, 0x3e, 0x73, 0x1e, 0x8c, 0x5f, 0x26, 0x4f, 0xfb, 0xab, 0x46, 0xaf, 0xf5, 0x9d, 0x37, 0x11, + 0xd9, 0xa3, 0x28, 0x4c, 0x42, 0x37, 0xf4, 0xed, 0x19, 0xf8, 0x54, 0xf4, 0xdf, 0x22, 0x23, 0xf0, + 0x64, 0x78, 0xb2, 0x11, 0x9e, 0xac, 0xbe, 0x38, 0xdb, 0xe5, 0xc8, 0x72, 0x20, 0xdc, 0x37, 0xd7, + 0x17, 0x76, 0x9c, 0x38, 0x89, 0x8a, 0x13, 0xaf, 0x19, 0xe8, 0x8e, 0x03, 0x6f, 0x38, 0x52, 0xd6, + 0x0f, 0xd7, 0x2d, 0x3e, 0xb2, 0x66, 0xbc, 0xd3, 0x2a, 0x2d, 0xc6, 0x76, 0x39, 0x6c, 0xf8, 0x53, + 0x44, 0x76, 0x85, 0x93, 0x5f, 0xf9, 0x41, 0x5a, 0xb7, 0x80, 0xd2, 0x2f, 0xec, 0xb9, 0x8c, 0xee, + 0x4b, 0x29, 0xfd, 0x62, 0x2b, 0xf8, 0x42, 0x99, 0x17, 0x34, 0x75, 0x94, 0x79, 0x35, 0xae, 0xab, + 0x17, 0x96, 0x57, 0xad, 0x08, 0x61, 0xdb, 0xaa, 0xb0, 0xea, 0xae, 0xbd, 0xd2, 0xa1, 0xb4, 0xab, + 0x61, 0x12, 0x8b, 0x64, 0x5e, 0x51, 0x5f, 0x85, 0x38, 0x5b, 0x20, 0xce, 0x2a, 0x92, 0x25, 0x16, + 0x61, 0xf6, 0x72, 0xf2, 0xdd, 0x8b, 0xff, 0xae, 0x53, 0x95, 0x55, 0x13, 0x74, 0x14, 0x14, 0x9c, + 0xca, 0x6c, 0xf2, 0x00, 0x01, 0x60, 0xe7, 0x03, 0xc0, 0xca, 0x0c, 0xf2, 0x87, 0xe3, 0x8f, 0x85, + 0x3a, 0x6f, 0x9c, 0x7e, 0xbc, 0x3f, 0x6c, 0xb1, 0xe2, 0xc2, 0xee, 0x17, 0x4f, 0xac, 0xb6, 0xf0, + 0xdb, 0xc2, 0x10, 0xe3, 0x24, 0x92, 0xc1, 0x90, 0x42, 0x10, 0x4f, 0x0c, 0xc8, 0x1f, 0xa7, 0x8e, + 0x5a, 0x2d, 0xdb, 0x50, 0xec, 0xec, 0x55, 0xf5, 0x5c, 0x78, 0x3c, 0x3c, 0x1e, 0x1e, 0x6f, 0x72, + 0x9c, 0x55, 0xd9, 0xad, 0x11, 0x62, 0x19, 0x12, 0x62, 0x55, 0x4d, 0xad, 0x51, 0xc3, 0xaa, 0xd4, + 0x41, 0x6a, 0x8c, 0xa5, 0xc2, 0x91, 0x88, 0xd2, 0x91, 0x75, 0x7c, 0xd5, 0x24, 0x5b, 0xde, 0x04, + 0xd2, 0x6c, 0x88, 0xb2, 0x88, 0x2e, 0xaf, 0x9e, 0x66, 0x53, 0x5d, 0x8e, 0x56, 0x9b, 0x12, 0x6d, + 0x51, 0x38, 0x56, 0x71, 0xd5, 0xe9, 0xc7, 0x90, 0x52, 0x43, 0x4a, 0xad, 0x49, 0x41, 0x84, 0xd4, + 0x28, 0x24, 0xb7, 0x14, 0x88, 0x15, 0xaa, 0x0a, 0x4b, 0x5d, 0x79, 0xc9, 0xeb, 0x08, 0x9e, 0x90, + 0x5c, 0xd3, 0xe2, 0x22, 0xf5, 0x04, 0x52, 0x55, 0x5d, 0x67, 0xab, 0x0b, 0xa9, 0xe5, 0xa7, 0x4b, + 0xf9, 0x93, 0x4a, 0xc6, 0x9a, 0xa8, 0x4c, 0x90, 0x15, 0x0a, 0x0e, 0x67, 0xd3, 0xe2, 0x74, 0x5c, + 0xce, 0xc7, 0xee, 0x84, 0xec, 0xce, 0xa8, 0xcb, 0x29, 0xd5, 0x9c, 0x53, 0xd1, 0x49, 0xe9, 0xaa, + 0x47, 0x6e, 0x15, 0xa9, 0x67, 0xc4, 0x73, 0x3b, 0xd6, 0x27, 0x82, 0x0d, 0x34, 0x42, 0xe1, 0x5a, + 0x56, 0x0a, 0x4b, 0x8a, 0xa7, 0x41, 0x4a, 0x6e, 0x69, 0x31, 0x34, 0x4a, 0xe9, 0x2e, 0x70, 0x13, + 0x8e, 0xf6, 0x02, 0xb4, 0x29, 0x47, 0x7f, 0x01, 0xd8, 0x5d, 0x04, 0x6c, 0xc2, 0x09, 0xe3, 0x06, + 0xa0, 0x96, 0x11, 0x5f, 0x01, 0xaa, 0x00, 0x55, 0x80, 0x2a, 0x40, 0xb5, 0xc6, 0x46, 0x31, 0xf5, + 0x02, 0x26, 0xad, 0x81, 0x4c, 0x1e, 0x27, 0x08, 0x8d, 0x64, 0x00, 0x9c, 0x00, 0x4e, 0x00, 0x67, + 0x2f, 0x81, 0xb3, 0x56, 0x94, 0xd4, 0xaa, 0xf3, 0x36, 0xd1, 0xd8, 0x26, 0xfb, 0x72, 0xa5, 0x52, + 0x92, 0xec, 0xd3, 0x94, 0x46, 0x37, 0xb9, 0x95, 0x7b, 0xa4, 0x0a, 0xfe, 0x0c, 0x38, 0xc7, 0xd8, + 0x00, 0x47, 0x0b, 0xca, 0x51, 0x1a, 0xe2, 0xd4, 0xcb, 0x0e, 0x28, 0x85, 0x42, 0x99, 0x11, 0xa5, + 0x82, 0x21, 0x55, 0xff, 0x53, 0x2c, 0x20, 0xca, 0x3e, 0xcf, 0x50, 0x48, 0x94, 0xa6, 0xde, 0xf7, + 0x19, 0x92, 0x95, 0x16, 0x47, 0x99, 0xd1, 0xdd, 0xe4, 0x69, 0x94, 0x9b, 0xeb, 0x54, 0x5f, 0x6e, + 0x55, 0xea, 0x68, 0xfd, 0xd0, 0x75, 0x7c, 0x9b, 0x72, 0xd4, 0x32, 0xb3, 0x80, 0x1a, 0x5a, 0xcd, + 0xc0, 0x8a, 0x1a, 0x5a, 0x55, 0x48, 0x42, 0xd5, 0xfc, 0x4c, 0x9b, 0x23, 0xd5, 0xcb, 0x13, 0x2a, + 0xe5, 0x0f, 0xe1, 0xe5, 0xf0, 0x72, 0x63, 0x0b, 0x3c, 0xd4, 0x0e, 0x8d, 0xe5, 0xd6, 0x8d, 0xca, + 0xe1, 0xb1, 0xee, 0x2a, 0x2e, 0xca, 0x0e, 0x04, 0xbd, 0x45, 0xdd, 0xc1, 0xda, 0xae, 0xb6, 0x28, + 0x6f, 0xb3, 0xc4, 0xed, 0xb6, 0xde, 0x98, 0x8e, 0x70, 0x78, 0xad, 0x18, 0x74, 0x54, 0x0e, 0xb1, + 0x01, 0x79, 0x80, 0x3c, 0x40, 0x9e, 0x36, 0x23, 0x4f, 0x1d, 0x2a, 0xaa, 0xfa, 0x19, 0x59, 0x4e, + 0x25, 0x54, 0x51, 0xf6, 0x82, 0x76, 0xa6, 0xac, 0x9d, 0x29, 0x6e, 0x28, 0x4c, 0x5a, 0x59, 0xf9, + 0x83, 0x79, 0x7a, 0xe3, 0xe5, 0x48, 0xc4, 0xd2, 0x97, 0x22, 0x70, 0x85, 0x5d, 0xed, 0x10, 0x50, + 0x0e, 0x5e, 0x72, 0x96, 0xfa, 0x13, 0x47, 0xe3, 0xd0, 0xc4, 0xce, 0x2d, 0xb7, 0x83, 0x87, 0x26, + 0x46, 0x91, 0x0c, 0xa3, 0xc9, 0x0b, 0x91, 0x19, 0x6e, 0x66, 0xa9, 0x61, 0x7e, 0x7b, 0x84, 0x23, + 0x11, 0x1d, 0x62, 0xb9, 0x7d, 0x3e, 0x12, 0x31, 0x96, 0x41, 0xf2, 0xf1, 0x98, 0x81, 0xeb, 0x9e, + 0x10, 0x4c, 0xdc, 0x39, 0xc1, 0x70, 0xf2, 0x34, 0xff, 0x21, 0x4d, 0x2d, 0x6d, 0xe9, 0xce, 0xa9, + 0x26, 0xd9, 0x07, 0x98, 0xc0, 0x26, 0x67, 0xee, 0x5f, 0x33, 0x65, 0x92, 0xcb, 0xde, 0xd7, 0xc8, + 0x49, 0x79, 0xd6, 0x17, 0x39, 0x94, 0x29, 0x29, 0x3e, 0x20, 0xdb, 0xfd, 0xf5, 0x9e, 0x61, 0x0a, + 0x9c, 0x57, 0xe3, 0xa7, 0xe0, 0xf0, 0xe4, 0xf8, 0xf8, 0xe3, 0xa7, 0xe3, 0xe3, 0x83, 0x4f, 0xbf, + 0x7d, 0x3a, 0xf8, 0xc7, 0x87, 0x0f, 0x87, 0x1f, 0x0f, 0x3f, 0x18, 0x3c, 0x2b, 0xef, 0x9a, 0xf9, + 0xf4, 0xa3, 0xc1, 0xb2, 0x5b, 0x4a, 0xbc, 0x2b, 0x36, 0xde, 0xd8, 0x4c, 0xe8, 0x97, 0x8c, 0x81, + 0x98, 0x80, 0x98, 0x80, 0x98, 0x30, 0xac, 0x22, 0xba, 0x53, 0xad, 0x04, 0xcb, 0x04, 0x7c, 0xde, + 0xbb, 0xf0, 0x44, 0x90, 0xc8, 0xe4, 0xed, 0x77, 0x27, 0x66, 0x58, 0x89, 0xf3, 0x17, 0xbc, 0xbb, + 0xf9, 0xf3, 0xe1, 0xfc, 0xe9, 0xfe, 0xe1, 0xf4, 0xe1, 0x9c, 0xba, 0x16, 0xd3, 0x7d, 0x29, 0x26, + 0x13, 0x28, 0x1e, 0x12, 0xb5, 0xe9, 0x25, 0x9f, 0xfe, 0xbc, 0xfe, 0xdf, 0xeb, 0x9b, 0xff, 0xef, + 0x7a, 0xcf, 0x04, 0x9a, 0xa1, 0xf1, 0x35, 0xaf, 0x6f, 0x1e, 0x9e, 0xce, 0xfe, 0xbc, 0xbb, 0x3b, + 0xbf, 0x7e, 0xe8, 0xfa, 0xab, 0xf2, 0xbd, 0x26, 0xc9, 0xc2, 0x63, 0xdd, 0xe0, 0x68, 0x98, 0x30, + 0x63, 0x8c, 0x52, 0x4c, 0x54, 0x36, 0x2d, 0x3e, 0xd5, 0xf8, 0x2e, 0x7b, 0x92, 0xf4, 0xbf, 0x5b, + 0xd5, 0x1c, 0xbe, 0x62, 0x15, 0x25, 0x5a, 0x16, 0x32, 0xf8, 0x02, 0x9b, 0x0f, 0xd4, 0xd9, 0xb3, + 0xb0, 0xc2, 0xd2, 0xe6, 0xe9, 0x7e, 0x16, 0x8f, 0x47, 0xa3, 0x30, 0x4a, 0x84, 0x67, 0xbb, 0x13, + 0xe7, 0x4a, 0x6c, 0x5f, 0x06, 0xdf, 0xab, 0x77, 0x43, 0x2b, 0x36, 0x83, 0xee, 0x68, 0xe8, 0x8e, + 0xc6, 0x08, 0x04, 0x95, 0xbb, 0xa3, 0x4d, 0x16, 0x21, 0xf1, 0xaa, 0xa1, 0x85, 0x09, 0x5c, 0xda, + 0xaf, 0x3d, 0xb4, 0xc7, 0xa5, 0xfd, 0xea, 0x8c, 0x11, 0x97, 0xf6, 0x6f, 0x3a, 0xfb, 0x38, 0x71, + 0xe1, 0x3a, 0xef, 0xf1, 0xaf, 0xb0, 0x41, 0xd0, 0x0e, 0x87, 0xb3, 0x1c, 0x0a, 0x07, 0x50, 0x01, + 0xa8, 0x00, 0x54, 0x46, 0x00, 0x55, 0xeb, 0xee, 0x3c, 0x5b, 0x3d, 0x84, 0x5d, 0x95, 0x2a, 0x21, + 0xca, 0x35, 0x24, 0xca, 0xa5, 0x04, 0x6f, 0x2c, 0x51, 0xef, 0xfd, 0xfc, 0x01, 0xce, 0xd2, 0xef, + 0xbf, 0x9c, 0x7c, 0x7d, 0x9d, 0x31, 0xf0, 0x4f, 0x99, 0xb8, 0xcf, 0xe9, 0xc8, 0x44, 0xa1, 0xaf, + 0x10, 0xfc, 0xae, 0x7e, 0x1e, 0x51, 0x2f, 0xa2, 0xde, 0x26, 0xa3, 0xde, 0x81, 0x33, 0xf6, 0x93, + 0xc9, 0xa3, 0x7b, 0x32, 0x3d, 0x1d, 0xef, 0x89, 0x44, 0x44, 0x2f, 0x32, 0x50, 0x93, 0x93, 0xb3, + 0x35, 0xb1, 0xdd, 0x2c, 0xae, 0xe0, 0x05, 0xf1, 0xec, 0xc5, 0x15, 0xbc, 0x9c, 0x6e, 0x60, 0x11, + 0xd3, 0xd9, 0x3c, 0x69, 0xec, 0xec, 0xd5, 0xbe, 0x9e, 0xfe, 0x79, 0xf9, 0xf0, 0x74, 0x76, 0x73, + 0xfd, 0xe5, 0xe2, 0xe1, 0xe2, 0xe6, 0xfa, 0xe9, 0xcb, 0xf9, 0xc3, 0xf9, 0xdd, 0xd5, 0xc5, 0xf5, + 0xe9, 0xe4, 0xbf, 0x54, 0xd7, 0x19, 0x43, 0x22, 0x9b, 0x29, 0x3b, 0xbf, 0xf5, 0xf5, 0x9e, 0xee, + 0xff, 0xfc, 0xfd, 0xf2, 0xf4, 0xdf, 0xe7, 0x77, 0x84, 0xb2, 0x8c, 0xf7, 0x66, 0xbf, 0xe1, 0xc3, + 0xf9, 0xfd, 0x43, 0x77, 0xdf, 0xee, 0xfa, 0xe6, 0xfa, 0xe9, 0xe2, 0xfa, 0xe1, 0xee, 0xcf, 0xfb, + 0x8b, 0x7f, 0x9d, 0x77, 0xf7, 0x35, 0x2f, 0xae, 0xff, 0x38, 0xa7, 0x25, 0xe8, 0xd5, 0x12, 0xe4, + 0x8f, 0xba, 0x81, 0x5c, 0x8b, 0xbe, 0xf6, 0x1c, 0xfa, 0x9e, 0x1d, 0x0e, 0x06, 0x76, 0x22, 0x29, + 0xad, 0x31, 0x56, 0xcd, 0x80, 0xea, 0x80, 0xea, 0xf4, 0x82, 0xea, 0x28, 0x1f, 0x24, 0x20, 0x1c, + 0x20, 0x20, 0x1e, 0x1c, 0x20, 0x54, 0x29, 0x72, 0x1c, 0x14, 0x60, 0xaa, 0x4e, 0xe7, 0x3a, 0x18, + 0xc0, 0x59, 0x7a, 0x4e, 0xd8, 0x18, 0x59, 0x0e, 0x00, 0x70, 0x0f, 0x2d, 0x7f, 0xc1, 0x3f, 0xeb, + 0x68, 0xd7, 0x54, 0xc5, 0xf6, 0x68, 0xc0, 0x26, 0x2d, 0x63, 0xdb, 0x0d, 0xc3, 0xc8, 0x9b, 0xc4, + 0x50, 0xc2, 0xb3, 0xa7, 0x6a, 0x9a, 0x0c, 0x86, 0xf6, 0xb7, 0x30, 0x79, 0xb6, 0x45, 0xe0, 0xc5, + 0xea, 0x3b, 0x77, 0x09, 0xdb, 0xd8, 0xce, 0xb1, 0x9d, 0xf7, 0x62, 0x3b, 0xff, 0x16, 0x86, 0xbe, + 0x70, 0x48, 0x1a, 0xc5, 0xa1, 0x19, 0x70, 0x31, 0x88, 0xc2, 0xff, 0x8a, 0x80, 0x84, 0x0a, 0x33, + 0x13, 0x70, 0x7e, 0x38, 0x3f, 0x9c, 0xbf, 0x55, 0xce, 0xef, 0x87, 0xee, 0x77, 0x3b, 0x1c, 0x27, + 0x24, 0xf7, 0xcf, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf6, 0x00, 0xc0, 0x8b, 0xf3, 0x3a, + 0x63, 0xf1, 0xa9, 0x18, 0x47, 0x08, 0x0d, 0x72, 0x96, 0x00, 0x05, 0x80, 0x02, 0xe8, 0x7a, 0xd0, + 0xf5, 0xa0, 0xeb, 0x41, 0xd7, 0x83, 0xae, 0x47, 0xdf, 0xaa, 0xd1, 0x8e, 0xbe, 0xc2, 0x96, 0x8c, + 0x76, 0xf4, 0x5b, 0x36, 0x63, 0xb4, 0xa3, 0xcf, 0xaf, 0x1b, 0xb4, 0xa3, 0x47, 0x53, 0x68, 0xab, + 0x59, 0x07, 0x23, 0x6e, 0x6a, 0x68, 0x0a, 0x8d, 0x76, 0xf4, 0x40, 0x1e, 0x20, 0x0f, 0x90, 0xa7, + 0x0d, 0xc8, 0x83, 0x76, 0xf4, 0xbb, 0x83, 0x61, 0xb4, 0xa3, 0xaf, 0x7c, 0xf4, 0x6c, 0xe5, 0xe8, + 0x54, 0x63, 0x7d, 0xe9, 0xef, 0xd3, 0xc7, 0x38, 0x9b, 0x3e, 0x85, 0x31, 0xfd, 0xe9, 0x27, 0x28, + 0x2e, 0xa2, 0x48, 0x78, 0x76, 0x24, 0xe2, 0x24, 0x8c, 0xd2, 0xa9, 0xb2, 0x7d, 0xe7, 0x4d, 0x44, + 0xea, 0x71, 0xf5, 0x36, 0xa3, 0x50, 0xc0, 0x11, 0x74, 0xf7, 0x42, 0x01, 0x4f, 0x97, 0xbb, 0x3d, + 0x8a, 0xc2, 0x24, 0x74, 0x43, 0x5f, 0x95, 0xd0, 0x66, 0x9b, 0xf0, 0xb1, 0xc2, 0x67, 0xcf, 0x83, + 0xf1, 0xcb, 0xe4, 0x25, 0xf4, 0x0e, 0x15, 0xf6, 0xc5, 0x3a, 0x6e, 0x0f, 0x49, 0x54, 0x16, 0x64, + 0xd1, 0xe5, 0x21, 0xa9, 0x21, 0xdc, 0x1d, 0x02, 0x14, 0xee, 0xf6, 0xdd, 0x21, 0x61, 0x32, 0xbb, + 0xb8, 0x3b, 0xa1, 0x44, 0x54, 0x4b, 0x94, 0x66, 0xd5, 0x20, 0xa4, 0x09, 0x72, 0x83, 0x1c, 0x88, + 0x13, 0x94, 0x06, 0x3a, 0x6d, 0x97, 0x27, 0x78, 0x1c, 0x8a, 0x4a, 0x91, 0x88, 0x54, 0xa9, 0x5e, + 0x95, 0x75, 0x39, 0x98, 0x1a, 0x85, 0xbe, 0x74, 0x19, 0xae, 0x46, 0x2a, 0xb0, 0x09, 0x68, 0x03, + 0xb4, 0x01, 0xda, 0x4c, 0xf0, 0xa9, 0xf6, 0xa2, 0x5b, 0xcf, 0x34, 0x45, 0x5a, 0x78, 0xa5, 0x41, + 0x5e, 0x5c, 0x34, 0x32, 0x4f, 0x97, 0xb5, 0x49, 0xa1, 0xec, 0xdb, 0xb4, 0xc9, 0xfb, 0x64, 0xec, + 0xe2, 0x24, 0x72, 0x64, 0x90, 0x30, 0x84, 0xb5, 0x05, 0x46, 0x11, 0xe2, 0x22, 0xc4, 0xed, 0x72, + 0x88, 0x9b, 0xf5, 0xfb, 0x27, 0x73, 0xc0, 0x8a, 0x37, 0x07, 0x74, 0x9f, 0xf9, 0x21, 0xdf, 0x4e, + 0x72, 0x36, 0xe4, 0xdb, 0x69, 0x4c, 0xcf, 0xe4, 0x4a, 0x1f, 0x9e, 0x1a, 0x1f, 0x86, 0xea, 0x9e, + 0x43, 0xa0, 0x0d, 0xd0, 0xa6, 0x6d, 0x68, 0xa3, 0xba, 0xd9, 0x67, 0x06, 0x68, 0x85, 0xbd, 0xb9, + 0xf5, 0x47, 0x29, 0xf0, 0x65, 0xda, 0xfe, 0xd9, 0x1c, 0x93, 0xd3, 0x41, 0x35, 0x39, 0x2a, 0xb7, + 0xc3, 0x6a, 0x73, 0x5c, 0x6d, 0x0e, 0xac, 0xcf, 0x91, 0x69, 0x0e, 0x4d, 0x74, 0x6c, 0x3e, 0x3a, + 0xc1, 0x4f, 0x2b, 0x98, 0xe8, 0x05, 0x7d, 0x7c, 0x29, 0xa7, 0xc0, 0x18, 0x0a, 0x8c, 0x8b, 0xc1, + 0x8f, 0x52, 0x68, 0x0c, 0x04, 0x04, 0x02, 0x02, 0x01, 0x81, 0x80, 0x86, 0x92, 0x4d, 0x6a, 0xc1, + 0x73, 0x66, 0x88, 0x54, 0xe0, 0x95, 0x59, 0xe1, 0x28, 0xf4, 0x5a, 0x18, 0x63, 0x28, 0xf8, 0xca, + 0x8c, 0x91, 0x0a, 0xbf, 0xa8, 0xb3, 0x44, 0x4c, 0x66, 0x64, 0x76, 0x34, 0x26, 0x35, 0xf2, 0xe2, + 0xfa, 0x3e, 0x71, 0xd7, 0xd4, 0x95, 0xed, 0x78, 0x4b, 0xef, 0xb6, 0x3c, 0xcb, 0x9e, 0x53, 0xa1, + 0xcc, 0xba, 0x5e, 0x39, 0x65, 0x14, 0xc9, 0x30, 0x92, 0xc9, 0x1b, 0x47, 0x81, 0xd2, 0xcc, 0x12, + 0x44, 0x5c, 0x96, 0xbc, 0x08, 0xc4, 0x15, 0x6a, 0xde, 0xa4, 0x99, 0x5d, 0x8f, 0x4f, 0xd0, 0x55, + 0x6e, 0x61, 0xb2, 0xee, 0x53, 0x27, 0x04, 0x13, 0xb4, 0x96, 0x26, 0xf3, 0x7f, 0x0c, 0x6c, 0x8c, + 0xa3, 0xc5, 0x09, 0x73, 0xc0, 0x94, 0x99, 0x63, 0x6a, 0x79, 0x92, 0xd9, 0x63, 0x6c, 0xc6, 0xc1, + 0x44, 0xab, 0x2d, 0xae, 0x56, 0x28, 0xba, 0xa7, 0x80, 0xbf, 0x35, 0x8a, 0xd6, 0x59, 0x69, 0x28, + 0x10, 0x78, 0x34, 0xb9, 0xca, 0x30, 0x1c, 0x27, 0x32, 0x18, 0x52, 0xea, 0x33, 0x72, 0x50, 0x5a, + 0x60, 0x13, 0xd9, 0x1f, 0xd0, 0x94, 0x1e, 0xd3, 0x14, 0x72, 0x26, 0xc8, 0x0d, 0xe3, 0xc4, 0x76, + 0x9f, 0x9d, 0x09, 0x28, 0x8a, 0x48, 0xc6, 0x89, 0x74, 0xf9, 0xa4, 0xd1, 0x22, 0xe3, 0x3c, 0x1a, + 0xe9, 0x61, 0xe7, 0x35, 0xd2, 0x49, 0x08, 0x3e, 0x89, 0xbc, 0x47, 0xe3, 0x44, 0xf5, 0xbe, 0x2e, + 0xa8, 0xa5, 0xbb, 0x9d, 0x3e, 0x37, 0xcc, 0x2d, 0xd7, 0x4d, 0xa9, 0x80, 0xb0, 0x0a, 0x0c, 0x8e, + 0x3f, 0x0c, 0x23, 0x99, 0x3c, 0xbf, 0xf0, 0xad, 0x99, 0x15, 0x6c, 0x58, 0xd8, 0x7f, 0x6f, 0x24, + 0x1d, 0xe5, 0x82, 0x09, 0x1d, 0x70, 0x51, 0x0c, 0x1b, 0x0c, 0xa7, 0x0d, 0x74, 0xc3, 0x86, 0x76, + 0xf8, 0xd0, 0x0e, 0x23, 0x9b, 0xe1, 0x84, 0x7e, 0x5a, 0x81, 0x17, 0x4e, 0x18, 0xe3, 0x46, 0x8b, + 0x35, 0x2d, 0x93, 0x5b, 0xbd, 0x6c, 0xe9, 0x99, 0x1c, 0x55, 0x38, 0x79, 0x67, 0xc6, 0x3c, 0x70, + 0xc4, 0xee, 0x29, 0x6a, 0xb2, 0xe4, 0xaf, 0x8b, 0x01, 0x99, 0x21, 0x8d, 0x0d, 0x2c, 0x06, 0x16, + 0x03, 0x8b, 0x81, 0xc5, 0xfd, 0xc0, 0x62, 0x9e, 0x4a, 0xca, 0x62, 0x30, 0xe6, 0x28, 0xab, 0x04, + 0x1a, 0x03, 0x8d, 0x81, 0xc6, 0x40, 0x63, 0xb3, 0xd1, 0xb8, 0x51, 0xc9, 0x64, 0x56, 0xe0, 0xc4, + 0xc5, 0x7f, 0x79, 0xea, 0x9c, 0x32, 0x6b, 0x9c, 0xf5, 0x4e, 0x0b, 0xa3, 0x8c, 0x75, 0x4f, 0x99, + 0x51, 0x96, 0xfa, 0x27, 0xae, 0x49, 0x65, 0xaa, 0x87, 0xca, 0xec, 0xd5, 0x5b, 0x17, 0x95, 0x4f, + 0x74, 0xed, 0xf3, 0x6b, 0xe9, 0x56, 0x9d, 0x15, 0x54, 0x77, 0xd3, 0x37, 0x5a, 0xfa, 0xc9, 0x59, + 0x18, 0x27, 0x67, 0xab, 0xef, 0xd3, 0xc2, 0x8a, 0x72, 0x4f, 0xfe, 0x10, 0x51, 0x3c, 0x99, 0x71, + 0x62, 0x2b, 0x95, 0x1c, 0xec, 0xe7, 0x2c, 0xa3, 0xba, 0xbc, 0x1c, 0xd1, 0x43, 0xe6, 0x04, 0x99, + 0x93, 0x26, 0x09, 0x9c, 0x2e, 0x0f, 0xb6, 0x98, 0xda, 0xb8, 0x64, 0xb6, 0x68, 0xed, 0x5c, 0x9a, + 0xc5, 0x5d, 0x19, 0xdb, 0xe2, 0xd5, 0xf5, 0xc7, 0xb1, 0xfc, 0xc1, 0x78, 0x96, 0x67, 0xc5, 0x2a, + 0x35, 0x13, 0x27, 0x06, 0xce, 0xd8, 0x9f, 0xfa, 0x4b, 0x84, 0xe3, 0x91, 0x80, 0x6f, 0xc0, 0x77, + 0xbb, 0xe0, 0x5b, 0xfd, 0x1a, 0xd2, 0x8d, 0xa8, 0x7d, 0xd8, 0x42, 0xa4, 0xf5, 0x9d, 0x24, 0x0d, + 0x52, 0x74, 0x15, 0x09, 0x6d, 0xb0, 0x8f, 0x3a, 0x21, 0xc0, 0x25, 0xe0, 0x52, 0x1b, 0x5c, 0xb2, + 0xd5, 0x09, 0x0d, 0xe4, 0xab, 0xf0, 0x6c, 0x4d, 0x20, 0x91, 0x5b, 0xf2, 0x5b, 0xbf, 0xcd, 0xf0, + 0x4c, 0xc9, 0x11, 0x32, 0x25, 0xc8, 0x94, 0x94, 0x80, 0x1a, 0x64, 0x4a, 0x54, 0x57, 0x2f, 0xf2, + 0xd6, 0x65, 0xde, 0xe9, 0x2f, 0x99, 0x24, 0x22, 0xd2, 0x0e, 0xd5, 0xc5, 0x5f, 0x03, 0x8c, 0x06, + 0x46, 0x03, 0xa3, 0x81, 0xd1, 0xc0, 0xe8, 0xad, 0xef, 0xf4, 0xf7, 0x58, 0xc8, 0x60, 0x58, 0x1b, + 0xad, 0xde, 0xfe, 0x75, 0xa8, 0x40, 0x02, 0x66, 0x03, 0xb3, 0x81, 0xd9, 0xc0, 0xec, 0xad, 0xef, + 0x94, 0x44, 0xce, 0x60, 0x20, 0x5d, 0x7b, 0x14, 0x85, 0x23, 0x11, 0x25, 0x6f, 0x9a, 0xea, 0xf4, + 0x8b, 0xbf, 0x06, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0x03, 0xa3, 0x81, 0xd1, 0x5b, 0xdf, 0xe9, 0xa7, + 0x13, 0x78, 0x35, 0x68, 0x1f, 0xc5, 0x5f, 0x03, 0xed, 0x03, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0xa3, + 0x92, 0x5f, 0xcf, 0x0c, 0xce, 0x2b, 0xf9, 0x75, 0x30, 0x64, 0x54, 0xf5, 0xa3, 0xaa, 0x5f, 0x43, + 0x55, 0xbf, 0x36, 0xc5, 0xad, 0xc1, 0xc2, 0xfe, 0xcb, 0xe9, 0x3b, 0xb5, 0xbf, 0xb6, 0xff, 0xc5, + 0x79, 0xb5, 0x1d, 0xdf, 0x0f, 0x7f, 0x0a, 0xcf, 0x76, 0xc3, 0x38, 0xe1, 0xab, 0x79, 0xca, 0x59, + 0x46, 0xb5, 0x53, 0x39, 0xea, 0x87, 0x6a, 0x27, 0x54, 0x3b, 0x29, 0xbc, 0x20, 0x5b, 0xb5, 0x13, + 0xb9, 0xd1, 0xf2, 0xc6, 0xe5, 0x4d, 0x6c, 0xbc, 0x0c, 0x25, 0xaf, 0x06, 0xa8, 0x40, 0xb4, 0x68, + 0x02, 0x94, 0xf4, 0x2d, 0x6a, 0x24, 0x37, 0x90, 0xde, 0x84, 0x0d, 0x27, 0x8c, 0x26, 0x79, 0x1a, + 0x4c, 0xaf, 0xff, 0xe3, 0x75, 0x2f, 0x8b, 0xbb, 0x01, 0xb5, 0x66, 0xd0, 0xcd, 0x99, 0x67, 0x6e, + 0x50, 0x9d, 0xb3, 0xaf, 0xa1, 0x35, 0xb2, 0x26, 0x77, 0x5b, 0x8f, 0x7b, 0x5b, 0x3f, 0xa5, 0xfa, + 0x1a, 0x5e, 0x37, 0x32, 0xcb, 0xef, 0xcc, 0xb4, 0xf6, 0xd8, 0xa1, 0x54, 0x86, 0xa6, 0xce, 0x43, + 0x68, 0x3a, 0x04, 0x12, 0x0a, 0x12, 0x0a, 0x12, 0x0a, 0x12, 0x0a, 0x12, 0x0a, 0x12, 0x0a, 0x12, + 0x0a, 0x12, 0xda, 0x59, 0x12, 0x8a, 0x54, 0x1e, 0x67, 0x2a, 0x8f, 0x39, 0xa7, 0x63, 0x35, 0x9b, + 0xc4, 0xbb, 0x72, 0x5e, 0x4f, 0xa7, 0x2f, 0x73, 0x36, 0x79, 0x97, 0x96, 0x67, 0xef, 0x3c, 0xe1, + 0x3b, 0x6f, 0x7a, 0xd2, 0x77, 0x53, 0xd3, 0xc8, 0xdf, 0x35, 0x16, 0x0f, 0x21, 0x7f, 0x87, 0xfc, + 0x5d, 0x69, 0x43, 0xc8, 0xdf, 0x41, 0x3a, 0x81, 0x74, 0x02, 0xe9, 0x04, 0xd2, 0x09, 0xa4, 0x13, + 0x48, 0x27, 0x90, 0x4e, 0x20, 0x9d, 0x40, 0x3a, 0x69, 0xc6, 0x0b, 0x90, 0xbf, 0x03, 0x09, 0x05, + 0x09, 0x05, 0x09, 0x05, 0x09, 0x05, 0x09, 0x05, 0x09, 0x05, 0x09, 0x05, 0x09, 0x05, 0x09, 0xad, + 0xd3, 0x02, 0xf2, 0x77, 0x5b, 0xf2, 0x77, 0x1c, 0x49, 0x1d, 0xcb, 0x94, 0x04, 0xde, 0x97, 0xf4, + 0x65, 0x5a, 0x9e, 0xc1, 0x7b, 0x0e, 0x47, 0xb1, 0x9e, 0x04, 0x5e, 0x6a, 0x19, 0xf9, 0xbb, 0xc6, + 0xe2, 0x21, 0xe4, 0xef, 0x90, 0xbf, 0x2b, 0x6d, 0x08, 0xf9, 0x3b, 0x48, 0x27, 0x90, 0x4e, 0x20, + 0x9d, 0x40, 0x3a, 0x81, 0x74, 0x02, 0xe9, 0x04, 0xd2, 0x09, 0xa4, 0x13, 0x48, 0x27, 0xcd, 0x78, + 0x01, 0xf2, 0x77, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, + 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x75, 0x5a, 0x40, 0xfe, 0x6e, 0x4b, 0xfe, 0x8e, 0x21, 0xa7, 0x63, + 0x99, 0x92, 0xbe, 0xfb, 0x63, 0xf2, 0x2e, 0x2d, 0xcc, 0xde, 0x45, 0x32, 0xfe, 0x6e, 0x2f, 0xae, + 0xc0, 0xd7, 0x75, 0x7d, 0xf0, 0xf6, 0xaf, 0x41, 0x5e, 0xaf, 0xb1, 0x38, 0x09, 0x79, 0x3d, 0xe4, + 0xf5, 0xaa, 0x81, 0xc5, 0xaa, 0xef, 0x6a, 0xba, 0x3e, 0x67, 0xe3, 0x37, 0x41, 0x72, 0xe1, 0x81, + 0x12, 0xdc, 0xce, 0xd0, 0xa8, 0xd4, 0x82, 0xdb, 0x19, 0x54, 0x57, 0x2f, 0x6e, 0xd0, 0x29, 0x8d, + 0xd4, 0xd2, 0x13, 0x41, 0x22, 0x07, 0x52, 0x44, 0xb6, 0x2f, 0x19, 0x1a, 0xa3, 0x17, 0xa3, 0xf4, + 0xfa, 0xb7, 0x00, 0xa1, 0x81, 0xd0, 0x40, 0x68, 0x20, 0xb4, 0xb9, 0x08, 0xcd, 0x34, 0x82, 0xac, + 0x77, 0xcd, 0x2c, 0x14, 0xd2, 0x95, 0x3b, 0x67, 0x98, 0xfd, 0x74, 0x3e, 0x45, 0x87, 0xdc, 0xfe, + 0xa9, 0x09, 0x58, 0xd6, 0xc1, 0xe5, 0x45, 0x06, 0xb6, 0x98, 0x8f, 0x8e, 0x06, 0x79, 0x5a, 0x37, + 0xcc, 0xe4, 0xa0, 0xe6, 0x70, 0xcf, 0x50, 0xf9, 0x95, 0x51, 0xfc, 0xd7, 0x72, 0xe3, 0x51, 0x66, + 0x9c, 0xf5, 0xe6, 0x23, 0x46, 0x12, 0x67, 0xc2, 0x15, 0x5b, 0x9a, 0xa2, 0x68, 0xdc, 0xb2, 0x85, + 0x5b, 0xb6, 0x34, 0xa4, 0x06, 0x74, 0x6a, 0xc4, 0x56, 0xb3, 0x79, 0x82, 0x3b, 0x19, 0x7f, 0xff, + 0x32, 0x7f, 0xb3, 0xf6, 0x5f, 0xb9, 0x35, 0x9d, 0xcd, 0xf0, 0xdb, 0x5f, 0xe9, 0x60, 0x09, 0x7b, + 0x30, 0x0e, 0x5c, 0x96, 0x85, 0xb8, 0x88, 0x2c, 0x37, 0x7d, 0x03, 0x4f, 0xaa, 0xe0, 0x00, 0xa9, + 0x82, 0xe6, 0x49, 0x1e, 0x52, 0x05, 0xe6, 0x11, 0x07, 0xb6, 0xa8, 0x50, 0xb7, 0x27, 0xaf, 0xc4, + 0x85, 0xc7, 0x0c, 0xb6, 0xce, 0x83, 0xf1, 0xcb, 0xe4, 0xcd, 0x7f, 0xb5, 0x10, 0x8f, 0x93, 0xd0, + 0x17, 0x91, 0xf3, 0xcd, 0x17, 0xb6, 0x7c, 0x19, 0x39, 0x2e, 0xe3, 0x15, 0x88, 0x39, 0xcb, 0xc0, + 0x5f, 0xe0, 0x2f, 0xf0, 0xb7, 0x45, 0xf8, 0x3b, 0x8c, 0x1c, 0x4f, 0xc4, 0x76, 0x38, 0xe0, 0xf1, + 0xe0, 0x15, 0xdc, 0x65, 0x28, 0x7b, 0xdb, 0xbb, 0x48, 0xd3, 0x07, 0xc9, 0xdb, 0xef, 0x4e, 0xac, + 0x21, 0x8f, 0xfc, 0xcf, 0xbb, 0xd3, 0x2f, 0xe7, 0xf7, 0x4f, 0x37, 0x5f, 0x9f, 0x2e, 0xae, 0x6e, + 0x4f, 0xcf, 0x1e, 0xb8, 0x56, 0x78, 0x5a, 0x0b, 0x18, 0xb3, 0x16, 0xd1, 0x6a, 0x92, 0xfa, 0xd6, + 0x47, 0xe0, 0xe9, 0xea, 0xe2, 0xfa, 0xe6, 0x6e, 0x3e, 0x1c, 0x26, 0xea, 0x45, 0x75, 0x0d, 0xc4, + 0x1f, 0x17, 0x0f, 0x97, 0xe7, 0xf7, 0xf7, 0xbd, 0x1e, 0x83, 0xab, 0xd3, 0xff, 0xc1, 0x62, 0x98, + 0x0c, 0xc4, 0xe5, 0xcd, 0xf5, 0x3f, 0xf9, 0xc7, 0x81, 0xc5, 0xd2, 0x63, 0xd3, 0x7b, 0xda, 0xbb, + 0x7a, 0x3f, 0xa9, 0xb8, 0x7a, 0xb8, 0x04, 0xb1, 0xc6, 0x85, 0x30, 0xc2, 0x1e, 0xd5, 0x9c, 0xc4, + 0xa5, 0xe6, 0x34, 0xd5, 0x17, 0x88, 0xc2, 0xe2, 0xd8, 0x9b, 0xa7, 0x72, 0x97, 0xc7, 0x58, 0x75, + 0x85, 0x2c, 0x45, 0x46, 0x79, 0xa3, 0x8a, 0x0b, 0x97, 0x56, 0xbf, 0x4a, 0x0e, 0x86, 0x38, 0x82, + 0xa0, 0xd5, 0xe0, 0x67, 0xd9, 0x3d, 0x28, 0xab, 0x99, 0x29, 0xe0, 0x61, 0x0f, 0x74, 0xd8, 0x03, + 0x9c, 0x7c, 0x60, 0xb3, 0x32, 0x84, 0x2d, 0x01, 0x60, 0x6a, 0x9d, 0xe9, 0x9e, 0xf3, 0x23, 0x94, + 0xde, 0xa2, 0xf2, 0x82, 0x4d, 0xc5, 0x58, 0xb3, 0x0b, 0x0d, 0x03, 0x1a, 0x06, 0x34, 0x8c, 0x16, + 0x69, 0x18, 0xe3, 0xb1, 0xf4, 0x38, 0x75, 0x8b, 0x93, 0x16, 0x6a, 0xbc, 0x0b, 0x9a, 0x61, 0xff, + 0x14, 0x72, 0xf8, 0xcc, 0x28, 0xf2, 0xe6, 0x4d, 0x03, 0x21, 0x81, 0x90, 0x40, 0xc8, 0x36, 0x21, + 0x24, 0x57, 0xe3, 0x01, 0xc6, 0x86, 0x03, 0xcc, 0x8d, 0x06, 0x78, 0x6b, 0x2c, 0x35, 0xd4, 0x40, + 0x6b, 0x39, 0x7d, 0xae, 0xab, 0x91, 0x80, 0xce, 0xa3, 0xe5, 0xcc, 0xb5, 0x83, 0xad, 0x9b, 0x2a, + 0xfd, 0x0d, 0x02, 0xb4, 0xce, 0x9e, 0x21, 0x15, 0x94, 0x8f, 0x2d, 0x24, 0x69, 0xe2, 0xd5, 0xf5, + 0xc7, 0x9e, 0xb0, 0x7d, 0x19, 0x7c, 0xe7, 0xe3, 0x67, 0x2b, 0x56, 0x41, 0xcd, 0x40, 0xcd, 0x40, + 0xcd, 0x10, 0xbc, 0xb6, 0x12, 0x17, 0x83, 0xd0, 0x13, 0xfc, 0xb8, 0x98, 0x5a, 0x05, 0x2e, 0x02, + 0x17, 0x81, 0x8b, 0xc0, 0xc5, 0xd6, 0xe2, 0xa2, 0x2d, 0xbc, 0xa1, 0xb0, 0x47, 0x21, 0x25, 0x3b, + 0xb9, 0x15, 0x22, 0x97, 0xbf, 0x00, 0x68, 0x09, 0xb4, 0x04, 0x5a, 0x02, 0x2d, 0x5b, 0x89, 0x96, + 0xb3, 0xd2, 0x1c, 0x66, 0x88, 0x4c, 0xad, 0x02, 0x17, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x62, 0xab, + 0x70, 0x51, 0x06, 0x3a, 0x54, 0xc7, 0x15, 0xab, 0xc0, 0x45, 0xe0, 0x22, 0x70, 0x11, 0xb8, 0xd8, + 0x4a, 0x5c, 0xe4, 0x55, 0x1d, 0x57, 0xac, 0x02, 0x17, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x62, 0x6b, + 0x71, 0x51, 0x8b, 0xea, 0xb8, 0xe9, 0x0b, 0x80, 0x96, 0x40, 0x4b, 0xa0, 0x25, 0xd0, 0xb2, 0x95, + 0x68, 0xc9, 0xab, 0x3a, 0xae, 0x58, 0x05, 0x2e, 0x02, 0x17, 0x81, 0x8b, 0xc0, 0xc5, 0x56, 0xe2, + 0x22, 0xff, 0x71, 0xbd, 0x9c, 0x65, 0xe0, 0x23, 0xf0, 0x11, 0xf8, 0x08, 0x7c, 0x6c, 0x15, 0x3e, + 0xfa, 0xa1, 0xeb, 0xf8, 0xb6, 0xf4, 0xf8, 0x70, 0x31, 0xb3, 0x08, 0x3c, 0x2c, 0x87, 0x87, 0xd3, + 0xae, 0x1d, 0x40, 0x41, 0x2d, 0x28, 0x38, 0x1b, 0x5c, 0x60, 0xdf, 0xda, 0xca, 0x63, 0xbb, 0xfe, + 0xa0, 0xd5, 0xe8, 0xc7, 0x72, 0x2d, 0x58, 0x36, 0xa6, 0x1c, 0x4d, 0xcb, 0x7b, 0x73, 0x4b, 0x20, + 0x50, 0x0f, 0xa8, 0xb7, 0xe3, 0xb5, 0xd8, 0x6e, 0x04, 0xfc, 0x31, 0x3b, 0xf2, 0xc8, 0xdc, 0xb6, + 0x71, 0x6a, 0x16, 0x37, 0x49, 0x19, 0x06, 0x08, 0xba, 0x80, 0x41, 0x3b, 0x40, 0x68, 0x07, 0x0a, + 0xfd, 0x80, 0xc1, 0x03, 0x1c, 0x4c, 0x00, 0xc2, 0x4f, 0x9f, 0xf4, 0xd1, 0x28, 0x66, 0x3a, 0xc5, + 0x37, 0x0f, 0x1c, 0xf7, 0xfc, 0xa5, 0x40, 0xa9, 0xe9, 0x0e, 0xd6, 0x25, 0xdb, 0x40, 0x62, 0x20, + 0x31, 0x90, 0x18, 0x48, 0xdc, 0x55, 0x24, 0x36, 0xe1, 0xb2, 0x2e, 0x36, 0xb8, 0xc5, 0xf5, 0x5c, + 0xb8, 0x9e, 0x8b, 0xda, 0x95, 0xb8, 0xa0, 0xbb, 0xed, 0x3e, 0x13, 0x13, 0xa8, 0xad, 0x47, 0xf1, + 0xc3, 0xec, 0x1d, 0x96, 0x7e, 0x94, 0x42, 0x5a, 0x0b, 0xd5, 0xb4, 0xc9, 0x16, 0x2c, 0xa2, 0x48, + 0x78, 0x76, 0x12, 0x39, 0x41, 0x3c, 0x0a, 0xa3, 0xc4, 0xf6, 0x9d, 0x37, 0x11, 0xf1, 0x49, 0x6c, + 0x9b, 0xbf, 0x02, 0xd9, 0x86, 0x72, 0xe4, 0x0e, 0xd9, 0x57, 0x64, 0x5f, 0x9b, 0x24, 0x6e, 0x8b, + 0x3c, 0xe1, 0xc4, 0x6d, 0xed, 0x51, 0x14, 0x26, 0xa1, 0x1b, 0xfa, 0x5c, 0x11, 0x5c, 0xb7, 0x6e, + 0xdb, 0xc2, 0xcd, 0x04, 0x2a, 0x1c, 0xa0, 0x0d, 0x57, 0x13, 0xe4, 0xb7, 0xfd, 0xda, 0xee, 0x26, + 0x78, 0xa7, 0x71, 0x31, 0xcd, 0xc3, 0x04, 0xc5, 0x22, 0x00, 0x5a, 0x50, 0xc0, 0x12, 0x04, 0xb0, + 0x90, 0x7e, 0x1a, 0xc9, 0xaf, 0x3a, 0xe6, 0x44, 0xc7, 0xad, 0xd7, 0x61, 0x15, 0x9c, 0xb3, 0x2e, + 0xa7, 0xac, 0xe6, 0x81, 0xe5, 0xfd, 0xa8, 0xc2, 0x7c, 0xee, 0x45, 0x22, 0x4e, 0xc2, 0x28, 0x9d, + 0x4c, 0xdb, 0x0d, 0xc3, 0xc8, 0x93, 0x81, 0x93, 0x08, 0x3b, 0x51, 0xd9, 0x7e, 0x17, 0xb7, 0x5b, + 0x6e, 0x31, 0x5a, 0xd5, 0xbf, 0x95, 0x78, 0xb2, 0x32, 0x2f, 0xa6, 0xf0, 0x60, 0xd6, 0xdb, 0x3e, + 0xa8, 0x1c, 0x97, 0x8d, 0xd3, 0xb2, 0x71, 0x58, 0xee, 0xdb, 0x3c, 0xf4, 0xee, 0x2b, 0xca, 0xfc, + 0x73, 0xa9, 0x7f, 0x3c, 0x65, 0xe1, 0x53, 0xb9, 0xa5, 0x22, 0x97, 0xd4, 0x09, 0x32, 0xc2, 0x1e, + 0x45, 0x32, 0x8c, 0x26, 0x93, 0x4d, 0x44, 0x96, 0x25, 0x4b, 0x80, 0x13, 0xc0, 0x49, 0x2f, 0xe0, + 0x44, 0xb9, 0x97, 0x3d, 0xa1, 0x77, 0x3d, 0xb1, 0x57, 0x3d, 0x21, 0xa6, 0xe3, 0xe8, 0x45, 0xcf, + 0xa5, 0xb1, 0x31, 0xf5, 0x9a, 0xe7, 0xec, 0x4e, 0x4e, 0x51, 0x4d, 0x39, 0x7a, 0xc7, 0x73, 0x0f, + 0x2d, 0x7f, 0x6f, 0x78, 0xd6, 0xd1, 0xae, 0x29, 0x52, 0x7e, 0x34, 0x62, 0xab, 0xfe, 0x21, 0xa2, + 0x78, 0x42, 0xdc, 0x5f, 0x54, 0xfa, 0x83, 0x2c, 0x6d, 0xd4, 0x2b, 0x76, 0xb0, 0x4d, 0x63, 0x9b, + 0xee, 0xc5, 0x36, 0x4d, 0x5a, 0xf7, 0x9d, 0x22, 0xfd, 0xb1, 0xf0, 0xa7, 0x72, 0xc8, 0x5c, 0xa5, + 0x51, 0x07, 0x93, 0xbc, 0x29, 0xe0, 0x09, 0xf0, 0xa4, 0x17, 0x78, 0x42, 0x5d, 0xfa, 0xdd, 0x82, + 0x94, 0xf1, 0x37, 0x7b, 0x55, 0xf9, 0x25, 0x60, 0x4a, 0xde, 0x96, 0x1a, 0xa8, 0x1c, 0xaa, 0x82, + 0xca, 0x11, 0x40, 0x05, 0xa0, 0xa2, 0x00, 0x2a, 0xaa, 0xc7, 0x54, 0xf6, 0x16, 0xf9, 0x13, 0x3b, + 0x3d, 0x8a, 0x4c, 0xbe, 0xed, 0x7b, 0xdd, 0x20, 0xed, 0xa6, 0xef, 0x03, 0xdc, 0xf4, 0xcd, 0xeb, + 0x68, 0xec, 0x0e, 0xc7, 0xee, 0x78, 0xba, 0x1c, 0x90, 0x18, 0xb9, 0x2b, 0xae, 0x23, 0x72, 0xcd, + 0xca, 0xa2, 0x56, 0x45, 0x38, 0x83, 0x48, 0x0c, 0x28, 0x6b, 0x67, 0xbe, 0x3b, 0x7d, 0x22, 0xd8, + 0xb8, 0x2d, 0x48, 0xd1, 0x7e, 0x9e, 0x67, 0x63, 0x73, 0xd3, 0xf4, 0xb9, 0x30, 0x69, 0xbb, 0xf9, + 0xcf, 0xc2, 0xa0, 0xe0, 0x97, 0x29, 0x8e, 0xd4, 0x55, 0x99, 0xa0, 0x92, 0x1a, 0x5e, 0xa1, 0x0c, + 0x4c, 0x38, 0x5a, 0x64, 0x14, 0x58, 0x0a, 0x2c, 0x05, 0x96, 0x02, 0x4b, 0x09, 0x58, 0xba, 0x56, + 0x24, 0xd3, 0x30, 0xd8, 0xd6, 0x51, 0x06, 0xb6, 0x46, 0x48, 0x2d, 0x3a, 0xb0, 0xa2, 0x42, 0xcc, + 0xea, 0x44, 0x85, 0x18, 0x39, 0xdc, 0xb7, 0xf8, 0x0b, 0xc3, 0xee, 0xc7, 0xdf, 0x56, 0x7e, 0x60, + 0x42, 0x3d, 0xd8, 0x74, 0x8c, 0x08, 0xb2, 0xca, 0xf4, 0xf3, 0x35, 0x4b, 0x29, 0xd0, 0x67, 0x21, + 0xa5, 0xd4, 0x2a, 0xa5, 0x90, 0xdb, 0x98, 0x71, 0xb5, 0x2f, 0xeb, 0x22, 0xe1, 0x27, 0x9e, 0x06, + 0xef, 0x37, 0xd5, 0xa7, 0x9d, 0xe6, 0x6e, 0x2b, 0xc9, 0x27, 0x9f, 0xc6, 0x26, 0x9e, 0xbe, 0xae, + 0x47, 0x7c, 0x20, 0x75, 0xb4, 0xe0, 0x68, 0x1b, 0x46, 0x6c, 0x17, 0x06, 0xb4, 0x01, 0xda, 0x34, + 0x87, 0x36, 0xd4, 0xf6, 0x5e, 0x4c, 0x6d, 0xbd, 0x58, 0xdb, 0x79, 0xa1, 0x6b, 0x69, 0x63, 0x0e, + 0xab, 0xcd, 0x71, 0xb5, 0x39, 0xb0, 0x3e, 0x47, 0xa6, 0x39, 0x34, 0xd1, 0xb1, 0xf9, 0xe8, 0x04, + 0x3f, 0xad, 0x60, 0xa2, 0x17, 0xf4, 0xf1, 0xa5, 0x54, 0x0c, 0x33, 0xb6, 0xd3, 0xe2, 0x6f, 0xa3, + 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x81, 0x80, 0x86, 0x91, 0x4d, 0xae, 0xf6, 0x55, 0x3c, 0x6d, + 0xab, 0x58, 0xdb, 0x55, 0xb1, 0xb6, 0xa9, 0xe2, 0x69, 0x4f, 0xd5, 0xbd, 0x16, 0x14, 0xd3, 0xff, + 0xa4, 0x76, 0x97, 0xe2, 0x4e, 0x58, 0xa4, 0xff, 0x45, 0xe8, 0x17, 0x55, 0x53, 0x8d, 0x46, 0x5a, + 0x33, 0x2b, 0x3c, 0x7b, 0x29, 0x1d, 0x28, 0x02, 0x8f, 0x78, 0x9f, 0xe3, 0x5a, 0x49, 0xee, 0x26, + 0xf3, 0x0d, 0x0b, 0x2b, 0x47, 0xa8, 0xdb, 0xe8, 0x90, 0xbc, 0xd2, 0xbe, 0xba, 0x0d, 0xb2, 0xc8, + 0x52, 0xe4, 0x54, 0xb4, 0x32, 0xab, 0xdc, 0xfa, 0xdc, 0xfc, 0x15, 0x08, 0x45, 0x6a, 0x75, 0x6e, + 0x04, 0x24, 0xba, 0x9d, 0xbf, 0xab, 0x61, 0x09, 0xbd, 0xa8, 0x2b, 0xb7, 0xf3, 0x7e, 0x62, 0xb0, + 0xb5, 0xbb, 0xc8, 0x6b, 0xde, 0x3e, 0xec, 0xf3, 0x72, 0x1f, 0xb1, 0x2d, 0xbf, 0x5e, 0xfb, 0x71, + 0x10, 0x7a, 0x62, 0xed, 0x47, 0xe1, 0xcf, 0x40, 0x78, 0xeb, 0x97, 0x4a, 0x17, 0x95, 0x8a, 0x89, + 0x91, 0xed, 0xcb, 0x78, 0x7b, 0x15, 0xd9, 0x02, 0x10, 0x59, 0xcb, 0xc5, 0x9a, 0xd5, 0xaf, 0xd6, + 0xc6, 0x86, 0x79, 0x37, 0x29, 0xb4, 0x8e, 0x8d, 0xa4, 0xdc, 0x46, 0xc2, 0x74, 0x99, 0x25, 0x36, + 0x91, 0xe2, 0x4d, 0x24, 0x1b, 0x5e, 0x6c, 0x20, 0xd8, 0x40, 0x14, 0x36, 0x90, 0xec, 0x6f, 0x5a, + 0x0d, 0xfd, 0x1a, 0xf0, 0x1e, 0x20, 0x0f, 0x90, 0x07, 0xc8, 0x03, 0xe4, 0x5b, 0x03, 0xf2, 0x6d, + 0x05, 0xf0, 0x6c, 0x00, 0x78, 0x41, 0x7c, 0xd5, 0x2c, 0x80, 0x1c, 0x40, 0x0e, 0x20, 0x07, 0x90, + 0x1b, 0x07, 0xe4, 0x8d, 0xa2, 0x76, 0x13, 0xf9, 0xf2, 0x15, 0x5c, 0xb6, 0x32, 0xaa, 0x6d, 0x15, + 0x89, 0x2c, 0x16, 0xb7, 0x8e, 0xaf, 0x25, 0xd7, 0xce, 0xb4, 0x61, 0x1d, 0x52, 0x37, 0x29, 0x46, + 0xbc, 0x5d, 0xc6, 0xda, 0x17, 0x19, 0xd8, 0x62, 0xfe, 0xb6, 0x0c, 0x2e, 0xa5, 0x03, 0x6d, 0x57, + 0x90, 0xf6, 0xb0, 0x8d, 0x2c, 0x08, 0x15, 0x17, 0xeb, 0x76, 0xb4, 0x55, 0x5c, 0xe8, 0xc8, 0xee, + 0x5b, 0xda, 0x4a, 0x31, 0xee, 0x67, 0x4f, 0xbb, 0xf8, 0xbb, 0xf3, 0xc0, 0xbb, 0x0d, 0xeb, 0xbc, + 0xde, 0x83, 0x52, 0xa0, 0x91, 0x5e, 0xd6, 0xc0, 0x58, 0x91, 0x31, 0xb5, 0x87, 0x12, 0x0c, 0x94, + 0x60, 0x30, 0x51, 0xf2, 0xbe, 0x97, 0x60, 0x68, 0x2b, 0xbc, 0x40, 0xdc, 0x5d, 0xbf, 0x23, 0x23, + 0xf6, 0xd6, 0xed, 0xe8, 0x88, 0xbf, 0x0d, 0x8b, 0xbf, 0x0d, 0xea, 0x4f, 0xd6, 0x6c, 0x04, 0x31, + 0xbd, 0x16, 0x8b, 0xdc, 0xb6, 0x20, 0xb7, 0x32, 0xd6, 0xec, 0x02, 0xd1, 0x81, 0xe8, 0x40, 0x74, + 0x20, 0x7a, 0x8b, 0x10, 0x3d, 0x45, 0xb0, 0x82, 0x9f, 0x67, 0x98, 0xd6, 0x27, 0xfd, 0x75, 0xbd, + 0x81, 0x1a, 0x0b, 0xbc, 0x43, 0x57, 0x85, 0xae, 0x0a, 0x5d, 0x15, 0xba, 0x2a, 0x5d, 0xa3, 0xd3, + 0x2f, 0xa4, 0xa6, 0x57, 0xb4, 0x9a, 0xaf, 0x9d, 0x4e, 0x00, 0x3a, 0x12, 0x4e, 0x4c, 0x98, 0xee, + 0x82, 0x2b, 0x26, 0x66, 0x16, 0x1b, 0xee, 0x44, 0x06, 0xfd, 0x14, 0xfa, 0x69, 0x93, 0x54, 0x88, + 0xb1, 0x2b, 0x19, 0x8f, 0x67, 0x59, 0xc4, 0x3b, 0x5c, 0x32, 0x1b, 0x6a, 0x77, 0xb9, 0xd4, 0x8c, + 0x6f, 0xd3, 0xdd, 0xc3, 0x93, 0xd1, 0x74, 0xe8, 0xd8, 0xba, 0xab, 0x2f, 0x2c, 0xa2, 0xd3, 0x22, + 0xf0, 0x0d, 0xf8, 0xc6, 0xb0, 0x8a, 0x46, 0x61, 0x94, 0x90, 0xfd, 0xaa, 0xbd, 0xe8, 0x56, 0x47, + 0x47, 0x73, 0xc5, 0xd0, 0x1b, 0x6d, 0xcb, 0xad, 0x6e, 0xb4, 0x2d, 0x57, 0x69, 0xa7, 0xad, 0x2d, + 0x4a, 0x32, 0xa1, 0x41, 0xb9, 0x52, 0x46, 0x7a, 0x71, 0x8b, 0xb6, 0xc2, 0x0d, 0x00, 0x2d, 0xbe, + 0x3c, 0x52, 0xb1, 0x61, 0x58, 0x3f, 0xda, 0x92, 0xab, 0x35, 0xfc, 0x32, 0xfe, 0x9e, 0x78, 0xb5, + 0xc2, 0x0a, 0xc5, 0xf6, 0x5c, 0x7a, 0x7c, 0xfc, 0xa7, 0x23, 0x13, 0x3b, 0x09, 0xed, 0xf4, 0x32, + 0xdd, 0xc4, 0x4e, 0xe4, 0x0b, 0xe1, 0x26, 0xea, 0x22, 0x63, 0x55, 0xdb, 0xc4, 0x8b, 0x81, 0x33, + 0xf6, 0xa7, 0x32, 0xe7, 0x07, 0xdc, 0x3d, 0x0b, 0x10, 0xe9, 0xc7, 0xdd, 0xb3, 0x63, 0x19, 0x24, + 0x1f, 0x8f, 0x09, 0x60, 0x72, 0xa2, 0xf0, 0xd1, 0x3b, 0x27, 0x18, 0x4e, 0xbe, 0xfd, 0x3f, 0x4a, + 0x53, 0x44, 0x4b, 0x2f, 0x31, 0x84, 0xb0, 0x3c, 0x05, 0x0c, 0xff, 0x9a, 0x75, 0x9a, 0xa6, 0xda, + 0xf9, 0x1a, 0x39, 0x29, 0x9b, 0xfb, 0x22, 0x87, 0x32, 0x65, 0xe1, 0x07, 0x4d, 0xa5, 0x59, 0x8c, + 0x1b, 0xda, 0xc3, 0x93, 0xe3, 0xe3, 0x8f, 0x9f, 0x8e, 0x8f, 0x0f, 0x3e, 0xfd, 0xf6, 0xe9, 0xe0, + 0x1f, 0x1f, 0x3e, 0x1c, 0x7e, 0x3c, 0xfc, 0x60, 0xd0, 0x68, 0xd7, 0x14, 0xc3, 0x3e, 0xea, 0xda, + 0xed, 0xdf, 0x31, 0xae, 0xa9, 0x79, 0x2c, 0x5c, 0x81, 0xda, 0xa8, 0xc5, 0xbf, 0xa4, 0xb8, 0x97, + 0x14, 0xef, 0xaa, 0xc5, 0xb9, 0x65, 0xc7, 0x4f, 0x31, 0xae, 0xe5, 0x8f, 0x67, 0xf7, 0xaa, 0xdc, + 0x44, 0xc5, 0x19, 0xc0, 0x96, 0xdb, 0x9c, 0x77, 0xaf, 0xda, 0x12, 0x23, 0x5e, 0x2d, 0x42, 0x55, + 0xe1, 0xed, 0x15, 0xa1, 0xb0, 0x32, 0x95, 0x54, 0xa1, 0x90, 0xc4, 0xc8, 0x53, 0x95, 0x2c, 0x92, + 0x49, 0x22, 0x99, 0x1c, 0xd2, 0x23, 0x4b, 0x5e, 0xac, 0xac, 0x4c, 0xfb, 0x54, 0x23, 0xc7, 0x8a, + 0x11, 0x63, 0x09, 0xdf, 0x7a, 0x47, 0x78, 0xff, 0x0a, 0x7b, 0x44, 0xb5, 0xbd, 0x41, 0x69, 0x4f, + 0x50, 0xda, 0x0b, 0xaa, 0xed, 0x01, 0xbb, 0xc6, 0xa3, 0x22, 0xe6, 0x33, 0x60, 0x7d, 0x89, 0xb5, + 0x43, 0x05, 0xf5, 0xed, 0x4e, 0xb5, 0x79, 0x01, 0x6d, 0x19, 0xac, 0xbd, 0x95, 0xb7, 0x8a, 0x45, + 0xf4, 0x43, 0x96, 0xc0, 0xa1, 0xdc, 0x91, 0x96, 0x95, 0x4f, 0xef, 0x5a, 0xaa, 0xa5, 0x0e, 0x9a, + 0x95, 0x86, 0xed, 0x2a, 0x70, 0x4d, 0x8a, 0xf0, 0xab, 0x82, 0xb4, 0x32, 0x38, 0x2b, 0x83, 0x32, + 0x35, 0x42, 0xa7, 0x41, 0x50, 0xd9, 0x83, 0x57, 0x7b, 0x8e, 0xf7, 0x22, 0x03, 0x19, 0x27, 0x91, + 0x93, 0xc8, 0x1f, 0xc2, 0x8e, 0x13, 0xa7, 0xc2, 0x29, 0xc8, 0x6c, 0x0a, 0x0b, 0xad, 0x80, 0x41, + 0x80, 0x41, 0x34, 0xc6, 0x20, 0x08, 0x2b, 0xd2, 0x52, 0xcc, 0x02, 0x57, 0xcc, 0xfa, 0xf2, 0x30, + 0xfc, 0xa5, 0x3d, 0xaf, 0xb2, 0xd7, 0x56, 0xda, 0x2f, 0xad, 0xea, 0xe7, 0x92, 0x2b, 0xd7, 0xd1, + 0x71, 0xf8, 0xaa, 0x92, 0x50, 0xdc, 0x2d, 0x8f, 0x55, 0x11, 0x82, 0x79, 0xfd, 0xb6, 0xea, 0xb9, + 0x5f, 0xf2, 0x39, 0x5f, 0xa6, 0x73, 0xbd, 0xc8, 0x90, 0x20, 0x43, 0xc2, 0x22, 0x68, 0xd6, 0x9f, + 0x21, 0x51, 0x3f, 0x45, 0x45, 0x39, 0x35, 0xd5, 0x8e, 0x73, 0xaf, 0x0d, 0x8b, 0xc5, 0x6a, 0x98, + 0x04, 0xdd, 0xd8, 0x04, 0xdd, 0x78, 0x39, 0x98, 0xde, 0xaf, 0x4c, 0x98, 0xe8, 0x42, 0xc3, 0xe4, + 0x67, 0xf7, 0xd3, 0xaf, 0x2f, 0x2d, 0x3e, 0xe8, 0x61, 0x98, 0xf3, 0xe1, 0x99, 0x70, 0xea, 0x2a, + 0x97, 0x17, 0x15, 0xeb, 0x13, 0x4b, 0x86, 0x34, 0x73, 0xcf, 0x03, 0x70, 0x4f, 0x70, 0xcf, 0x92, + 0xdc, 0x53, 0xbc, 0xba, 0xfe, 0x38, 0x56, 0x29, 0xba, 0x2c, 0xbc, 0xd1, 0x27, 0xb3, 0x06, 0x16, + 0x0a, 0x16, 0xda, 0x8f, 0x3a, 0x9d, 0x7a, 0x4b, 0xfe, 0x50, 0x89, 0xae, 0x50, 0x89, 0xae, 0xa5, + 0x4e, 0x72, 0x09, 0xf6, 0x64, 0xc0, 0x09, 0xa2, 0x0b, 0x6b, 0x00, 0x51, 0x80, 0x28, 0x40, 0x14, + 0x20, 0xda, 0x65, 0x10, 0x9d, 0x36, 0x39, 0x61, 0x41, 0xd0, 0x75, 0x53, 0x6a, 0xf0, 0x79, 0x08, + 0xf8, 0x04, 0x7c, 0xd6, 0x09, 0x9f, 0xaa, 0x2d, 0x43, 0x0b, 0xcb, 0x1f, 0x68, 0x4d, 0x43, 0xb7, + 0x56, 0x56, 0x90, 0xba, 0xbb, 0xe3, 0xfc, 0xb6, 0x1e, 0xe7, 0x63, 0x77, 0x42, 0x76, 0x67, 0xd4, + 0xe5, 0x94, 0x6a, 0xce, 0xa9, 0xe8, 0xa4, 0x74, 0xae, 0x93, 0x5b, 0x45, 0xf4, 0x26, 0x70, 0x1c, + 0xcd, 0xdf, 0x34, 0xa7, 0x33, 0x56, 0xc4, 0x64, 0xce, 0x86, 0x9e, 0xa6, 0x9d, 0x18, 0x6f, 0xfa, + 0xf4, 0x72, 0xa1, 0x6a, 0xbf, 0xa6, 0x3b, 0xef, 0x53, 0x29, 0x92, 0x1e, 0x71, 0x7f, 0xf6, 0x77, + 0xb3, 0x87, 0x7c, 0x3a, 0x9b, 0x3e, 0xe4, 0x45, 0xf6, 0x8c, 0x06, 0xd0, 0x54, 0x4f, 0xfe, 0x10, + 0x51, 0x3c, 0x19, 0x4d, 0x06, 0xbd, 0xb4, 0xc8, 0x18, 0xa8, 0x2a, 0xa8, 0x2a, 0xa8, 0x2a, 0xa8, + 0x2a, 0xa8, 0x2a, 0xa8, 0x2a, 0xa8, 0x2a, 0xa8, 0xaa, 0x4e, 0x10, 0x5f, 0xab, 0xd1, 0xa1, 0xe2, + 0x26, 0xe4, 0xd1, 0xce, 0xc6, 0x0b, 0x74, 0xa6, 0x5a, 0x4b, 0xc4, 0xf0, 0x65, 0xfe, 0x98, 0xe7, + 0xaf, 0x06, 0xc5, 0x0c, 0x91, 0xf8, 0x7b, 0x2c, 0xe2, 0xf4, 0x32, 0x33, 0x67, 0xe4, 0xb8, 0x93, + 0x8d, 0x43, 0x39, 0x64, 0x28, 0xb0, 0x85, 0x88, 0x01, 0x11, 0x43, 0x97, 0x23, 0x86, 0x24, 0x4c, + 0x1c, 0xdf, 0x8e, 0xe5, 0x7f, 0x19, 0xae, 0xa8, 0x5b, 0xb2, 0xd5, 0xf0, 0xf5, 0x74, 0x06, 0xc5, + 0x04, 0x8a, 0xed, 0xc9, 0x10, 0x0d, 0xa8, 0xb7, 0x2f, 0x6b, 0x26, 0x0e, 0x20, 0x5f, 0x49, 0x37, + 0x0e, 0x64, 0xc2, 0x77, 0xe9, 0x43, 0x6a, 0x0d, 0x57, 0x15, 0xd5, 0xe4, 0xa6, 0xdc, 0xee, 0xaa, + 0xcd, 0x6d, 0xb5, 0xb9, 0xaf, 0x3e, 0x37, 0xa6, 0xb9, 0x33, 0xd1, 0xad, 0xf9, 0xc2, 0xfc, 0xbc, + 0xa2, 0x36, 0xe3, 0x98, 0x36, 0x83, 0xab, 0x5a, 0x4c, 0x0d, 0x86, 0x33, 0x5b, 0xb4, 0x46, 0xc3, + 0xf4, 0x29, 0xa3, 0xb4, 0xe2, 0xfa, 0x31, 0x6b, 0x7f, 0xc5, 0x84, 0xa4, 0x53, 0x73, 0x80, 0x52, + 0x40, 0x29, 0xa0, 0xd4, 0x50, 0x28, 0x55, 0xee, 0xe2, 0xb8, 0xc9, 0x4f, 0x4f, 0x18, 0x4c, 0xd1, + 0xba, 0x3c, 0xae, 0xff, 0xe3, 0x71, 0x02, 0x8b, 0xab, 0x0b, 0xa4, 0x26, 0x80, 0xcb, 0x99, 0x65, + 0xea, 0x12, 0x99, 0xb3, 0xcb, 0xd8, 0xc7, 0x90, 0xd9, 0x3d, 0xd6, 0x15, 0xd7, 0xd6, 0x4d, 0x15, + 0x7f, 0xd7, 0xc9, 0x5a, 0x67, 0xef, 0x9d, 0x19, 0x56, 0x1e, 0x7b, 0x71, 0x25, 0xa3, 0x29, 0x57, + 0xba, 0x95, 0xd2, 0xe9, 0xf3, 0xf2, 0xf0, 0x3e, 0x59, 0xf2, 0xb2, 0xea, 0x50, 0xee, 0xef, 0xe6, + 0x0f, 0x7e, 0x36, 0x7b, 0xee, 0xa7, 0x87, 0xc9, 0x73, 0xdf, 0x4f, 0x1e, 0x1b, 0x65, 0x61, 0xcd, + 0x2d, 0x1f, 0x13, 0xb3, 0x3c, 0xb9, 0xb5, 0x62, 0x42, 0x92, 0x67, 0x32, 0x3f, 0xde, 0xd8, 0x27, + 0x74, 0xc8, 0xcf, 0x2c, 0x20, 0xa1, 0x53, 0x4b, 0xf4, 0x85, 0x84, 0x0e, 0x0d, 0xd1, 0x94, 0x13, + 0x3a, 0x22, 0xf0, 0xd4, 0x2e, 0x93, 0xc8, 0x2d, 0xa3, 0xcc, 0x12, 0x0a, 0xbc, 0x90, 0xcc, 0x69, + 0x5c, 0xba, 0x68, 0x6b, 0x51, 0x97, 0xe7, 0x24, 0xc2, 0x76, 0x68, 0xae, 0x64, 0xa9, 0x1f, 0xc2, + 0x24, 0x30, 0x36, 0x25, 0x72, 0xe2, 0xa8, 0xde, 0x65, 0x93, 0xdf, 0xb1, 0x17, 0xb6, 0x00, 0x40, + 0x00, 0x20, 0x00, 0x50, 0xef, 0x00, 0x08, 0x21, 0xa3, 0x62, 0xd4, 0x52, 0x4b, 0xa0, 0x78, 0x3f, + 0x7f, 0x36, 0x13, 0xe2, 0xc3, 0x59, 0x5d, 0xad, 0x2f, 0x7e, 0x08, 0x9f, 0x10, 0x24, 0xae, 0x98, + 0x41, 0x5b, 0x10, 0x44, 0x8a, 0xbd, 0x68, 0x0b, 0x12, 0x27, 0x91, 0x0c, 0x86, 0x6d, 0xbf, 0x50, + 0x71, 0xee, 0xbc, 0x89, 0xca, 0x78, 0xe4, 0x20, 0x20, 0xb5, 0x02, 0x04, 0x00, 0x02, 0xf4, 0x03, + 0x01, 0xd4, 0x57, 0xbd, 0x45, 0xac, 0x3c, 0x52, 0xac, 0x34, 0x6a, 0xaa, 0xf3, 0xae, 0x51, 0xed, + 0x62, 0xd5, 0x1a, 0x9e, 0xd6, 0xc1, 0x0e, 0x1b, 0xeb, 0x23, 0x5b, 0xf6, 0x72, 0x9b, 0x9c, 0x0b, + 0x28, 0x5c, 0x72, 0x93, 0x5b, 0xfe, 0xb8, 0xbd, 0x80, 0x09, 0xd0, 0xd1, 0x41, 0x76, 0xf3, 0xd2, + 0x66, 0xba, 0xc7, 0x80, 0x7c, 0x1e, 0x11, 0x6c, 0x07, 0x6c, 0xa7, 0x9d, 0x6c, 0xa7, 0x93, 0x37, + 0x1a, 0xb0, 0x9f, 0xab, 0x36, 0xe4, 0x6e, 0x03, 0x55, 0x9c, 0xc2, 0x2d, 0x07, 0x66, 0xd3, 0xd6, + 0x6a, 0x14, 0x4b, 0x1f, 0x67, 0x9d, 0xfd, 0xac, 0x4e, 0xc2, 0xea, 0xc9, 0x48, 0xf5, 0x66, 0xad, + 0xc5, 0x47, 0x35, 0x5f, 0x82, 0x07, 0x6a, 0xda, 0x2f, 0x6a, 0xaa, 0x7e, 0x21, 0xde, 0x20, 0x8c, + 0x7e, 0x3a, 0x91, 0x27, 0x83, 0xa1, 0x5d, 0x75, 0x75, 0x5a, 0x6d, 0xba, 0x10, 0x4f, 0x04, 0x9e, + 0x3d, 0x0a, 0x95, 0x2e, 0x28, 0x59, 0x7c, 0x14, 0x57, 0x92, 0xc0, 0x6b, 0x9b, 0x0c, 0x28, 0x49, + 0xb7, 0xb2, 0xe6, 0x96, 0x02, 0xf1, 0x2e, 0xcc, 0xb6, 0x87, 0x91, 0x8a, 0xc5, 0x18, 0xfd, 0x08, + 0x20, 0xd5, 0x8a, 0x2d, 0x4c, 0x0f, 0x1d, 0x19, 0x56, 0xbc, 0xf9, 0x82, 0x79, 0x95, 0xc6, 0xf2, + 0xe4, 0x9e, 0x3b, 0xe8, 0xb4, 0x03, 0xf4, 0x40, 0xa7, 0x9d, 0xaa, 0x0b, 0x09, 0x9d, 0x76, 0x50, + 0x1b, 0xa9, 0x6e, 0x10, 0x9d, 0x76, 0xd0, 0x69, 0x47, 0xbb, 0x7b, 0x6a, 0x72, 0x53, 0x6e, 0x77, + 0xd5, 0xe6, 0xb6, 0xda, 0xdc, 0x57, 0x9f, 0x1b, 0xd3, 0xdc, 0x99, 0xe8, 0xd6, 0x74, 0x96, 0xbe, + 0x93, 0x63, 0xa2, 0xd3, 0x0e, 0xef, 0x74, 0xa1, 0xd3, 0x0e, 0xa0, 0x14, 0x50, 0xda, 0x2b, 0x28, + 0x45, 0xa7, 0x9d, 0x2a, 0x0f, 0x86, 0x4e, 0x3b, 0xe8, 0xb4, 0x83, 0x4e, 0x3b, 0x5a, 0xa0, 0x91, + 0xcf, 0x0a, 0x3a, 0xed, 0x54, 0xb1, 0xc3, 0x5a, 0x11, 0x92, 0x25, 0x46, 0xf7, 0x4d, 0xed, 0xa8, + 0x73, 0x1e, 0x78, 0xb7, 0x61, 0x7a, 0x5f, 0x16, 0x5a, 0xe7, 0x34, 0xb1, 0x1e, 0x1a, 0x3d, 0xf9, + 0x98, 0x9b, 0xfc, 0x3d, 0xb3, 0x2e, 0x44, 0xaf, 0x5e, 0x92, 0x90, 0x0f, 0x8d, 0x8b, 0xac, 0xd5, + 0x9c, 0x8a, 0x39, 0x42, 0x2a, 0x06, 0xa9, 0x98, 0x26, 0xae, 0x49, 0x5b, 0x5e, 0xf4, 0xcc, 0xd7, + 0xa4, 0xe5, 0x4d, 0xa3, 0x89, 0x05, 0xae, 0x49, 0xb3, 0x4c, 0x70, 0xca, 0x66, 0xf8, 0x67, 0x0f, + 0xaf, 0x49, 0x4b, 0xc2, 0x51, 0xe8, 0x87, 0xc3, 0xb7, 0xcf, 0xf3, 0xff, 0x63, 0x6f, 0xff, 0xf5, + 0xda, 0x8f, 0x83, 0xd0, 0x13, 0x6b, 0x3f, 0x0a, 0x7f, 0x06, 0xc2, 0xb3, 0x27, 0xbf, 0xb0, 0x85, + 0x37, 0x14, 0x33, 0xae, 0x54, 0x70, 0x28, 0x40, 0x8c, 0x6c, 0x5f, 0xc6, 0xdb, 0xce, 0x0b, 0x2c, + 0x03, 0x54, 0xd3, 0xf7, 0xb0, 0x29, 0x6c, 0xbd, 0x6b, 0x63, 0xc0, 0x84, 0xde, 0x85, 0x56, 0x01, + 0xdc, 0x7b, 0x2b, 0xab, 0x10, 0xa0, 0xad, 0x04, 0xda, 0xd9, 0xf0, 0x01, 0xb0, 0x01, 0xd8, 0xcb, + 0x7f, 0xd3, 0x0a, 0xa8, 0x65, 0xc4, 0x57, 0x80, 0x2a, 0x40, 0x15, 0xa0, 0x0a, 0x50, 0x55, 0x06, + 0x55, 0xd3, 0x01, 0x33, 0x7b, 0x51, 0x1e, 0xd0, 0x5c, 0x35, 0x07, 0xe0, 0x04, 0x70, 0x02, 0x38, + 0x01, 0x9c, 0x3b, 0x81, 0xb3, 0x73, 0x37, 0xa9, 0xaf, 0xe0, 0xa0, 0x95, 0x51, 0x49, 0xab, 0x28, + 0x68, 0xb7, 0xb8, 0x74, 0x58, 0x5c, 0xbb, 0x6e, 0x75, 0x28, 0xa9, 0x48, 0x4f, 0x76, 0x59, 0x9a, + 0x12, 0x8c, 0xd9, 0x93, 0xcd, 0x7f, 0x64, 0x42, 0xaa, 0xb1, 0x7a, 0xa3, 0x82, 0x1c, 0xda, 0xaa, + 0x1c, 0x09, 0xb7, 0xd0, 0x5e, 0x08, 0x49, 0xc5, 0xa6, 0x36, 0x1b, 0xfa, 0x19, 0xd1, 0x51, 0x18, + 0x25, 0xb6, 0xea, 0xba, 0xb7, 0xba, 0x74, 0x3a, 0xd4, 0x77, 0xde, 0x44, 0x64, 0x8f, 0xa2, 0x30, + 0x09, 0xdd, 0xd0, 0xb7, 0x67, 0x80, 0xa9, 0x88, 0x24, 0x45, 0xc6, 0x80, 0x29, 0xc0, 0x94, 0x7e, + 0xb4, 0x2c, 0x23, 0x2f, 0xfe, 0x2e, 0x03, 0xcb, 0xdf, 0x63, 0xc7, 0x97, 0x03, 0x29, 0x22, 0x36, + 0x74, 0x59, 0x58, 0x04, 0xc4, 0x00, 0x62, 0xfa, 0x08, 0x31, 0xaa, 0x1e, 0xb0, 0x82, 0x33, 0x0a, + 0xd5, 0xe8, 0x7b, 0x17, 0x9e, 0x08, 0x12, 0x99, 0xbc, 0xfd, 0xee, 0xc4, 0x0c, 0x27, 0xe5, 0x2f, + 0x4f, 0xff, 0x7d, 0x7e, 0xf7, 0x74, 0x7b, 0x77, 0xf3, 0x70, 0x73, 0x76, 0x73, 0xf9, 0xf4, 0x7f, + 0x7f, 0x9e, 0x5e, 0x5e, 0x7c, 0xbd, 0x38, 0xbf, 0x53, 0x5d, 0x5d, 0x69, 0xe9, 0x7d, 0x4c, 0x3a, + 0x6b, 0xc2, 0x74, 0x58, 0xee, 0xf6, 0x8f, 0x9b, 0x87, 0x9b, 0xeb, 0x8b, 0xb3, 0xa7, 0xe9, 0x2b, + 0x52, 0xdf, 0x8c, 0xf3, 0x0d, 0x79, 0xde, 0xb4, 0xf4, 0x1b, 0x3f, 0x5d, 0x9d, 0x31, 0x1c, 0xd4, + 0x7a, 0xdf, 0x9a, 0xd7, 0xbd, 0x79, 0xb8, 0x97, 0x7d, 0x7b, 0xe5, 0xb3, 0x3f, 0x7a, 0xf5, 0xbe, + 0x57, 0x67, 0xa7, 0xfd, 0x9a, 0xdf, 0xab, 0xfb, 0xd3, 0xde, 0xf9, 0x70, 0xef, 0xa6, 0xb8, 0x77, + 0x33, 0xdc, 0xb7, 0x17, 0xee, 0x9d, 0x0f, 0xf7, 0x90, 0x77, 0x9c, 0x36, 0x7d, 0x28, 0xfe, 0xb1, + 0x89, 0x56, 0x17, 0x9a, 0x49, 0x3b, 0x89, 0xc2, 0x1a, 0xfc, 0x5a, 0x54, 0xaa, 0x6a, 0xf2, 0xab, + 0x51, 0x28, 0xa9, 0xd1, 0x2b, 0xf1, 0xb4, 0x9b, 0xf3, 0x45, 0xa2, 0x98, 0x86, 0xfb, 0x58, 0x67, + 0xa7, 0xac, 0xb3, 0x33, 0xd6, 0xd5, 0x17, 0xeb, 0xac, 0x8f, 0x75, 0x78, 0x7f, 0x6e, 0xf5, 0x9c, + 0x6d, 0x52, 0x78, 0x9f, 0xfe, 0xbc, 0xbe, 0xbf, 0x3d, 0x3f, 0x9b, 0xfc, 0xff, 0x2f, 0x75, 0x57, + 0x39, 0x3e, 0xea, 0xce, 0x0e, 0xe8, 0xc9, 0xaa, 0xc9, 0x81, 0x70, 0xdf, 0x5c, 0x9f, 0xdc, 0x17, + 0x7e, 0xdd, 0x50, 0xcd, 0x39, 0xb4, 0x23, 0xb4, 0x84, 0x47, 0x4b, 0xf8, 0x92, 0x8f, 0xc9, 0x90, + 0x37, 0x23, 0x2d, 0x76, 0xab, 0x53, 0x69, 0xf9, 0xd0, 0x75, 0x7c, 0x9b, 0x72, 0x3b, 0x61, 0x66, + 0x01, 0xb7, 0x48, 0x00, 0x32, 0x3a, 0x0b, 0x19, 0xdd, 0xb8, 0x70, 0xfd, 0x45, 0x78, 0xd2, 0xb1, + 0xdd, 0x67, 0x27, 0x08, 0x84, 0x6f, 0x17, 0xde, 0xd7, 0xb7, 0x28, 0xbd, 0x8f, 0x47, 0xc2, 0x55, + 0x87, 0x85, 0xea, 0x5f, 0xd5, 0x97, 0xdb, 0x24, 0x46, 0xcf, 0x61, 0x12, 0x06, 0xd2, 0xb5, 0xd3, + 0x21, 0x02, 0x8e, 0x14, 0xe2, 0xc8, 0xda, 0x20, 0x75, 0xa5, 0x8d, 0xd1, 0x8b, 0x3b, 0x71, 0x85, + 0xe9, 0x02, 0x24, 0x96, 0xc9, 0x2c, 0x4c, 0xe1, 0x3e, 0x09, 0x26, 0xc7, 0xe2, 0x72, 0x30, 0x76, + 0x47, 0x63, 0x77, 0x38, 0x7d, 0x8e, 0x47, 0x8b, 0xc2, 0x1b, 0xbb, 0x5f, 0x62, 0xb2, 0x03, 0x25, + 0xd1, 0x94, 0x97, 0xf3, 0x88, 0x1c, 0x99, 0x45, 0x9e, 0xe6, 0xe8, 0x87, 0x9d, 0x6f, 0x8e, 0xce, + 0xe6, 0xbe, 0xdc, 0x6e, 0xac, 0xcd, 0x9d, 0xb5, 0xb9, 0xb5, 0x7e, 0xf7, 0xa6, 0xb9, 0x39, 0x83, + 0x14, 0xc9, 0xe2, 0xf6, 0x99, 0xa1, 0x41, 0x24, 0xfe, 0x1e, 0x8b, 0xc0, 0x4d, 0xcf, 0x25, 0xc6, + 0x49, 0xe4, 0xa8, 0x74, 0xe8, 0xdc, 0xb9, 0xcc, 0x0b, 0xbf, 0x85, 0x69, 0xa6, 0x79, 0x60, 0x82, + 0x1d, 0x2e, 0x74, 0xc0, 0x46, 0x4d, 0xf0, 0xa1, 0x0b, 0x46, 0xb4, 0xc3, 0x89, 0x76, 0x58, 0xa9, + 0x0f, 0x5e, 0x78, 0x60, 0x86, 0x09, 0x6e, 0xd8, 0x61, 0x27, 0x33, 0xe8, 0x78, 0x7f, 0x8d, 0xe3, + 0x64, 0x32, 0x92, 0xf6, 0x30, 0x72, 0x82, 0xb1, 0xef, 0x44, 0x2a, 0x37, 0x34, 0x96, 0x76, 0x98, + 0x0d, 0xdf, 0xf7, 0xbe, 0x15, 0xad, 0xf4, 0xb9, 0xa1, 0x49, 0x27, 0x44, 0xd5, 0x0c, 0x55, 0xba, + 0x21, 0xab, 0x36, 0xe8, 0xaa, 0x0d, 0xc2, 0xea, 0x87, 0x32, 0x5e, 0x48, 0x63, 0x86, 0x36, 0xba, + 0x62, 0x6a, 0x16, 0x06, 0x59, 0xcc, 0x57, 0x7f, 0xe5, 0x6c, 0xf3, 0x5c, 0x05, 0xa6, 0x6f, 0x6d, + 0x70, 0xde, 0xb7, 0x32, 0x8c, 0xa4, 0x67, 0x27, 0x3a, 0x16, 0x46, 0xb6, 0x28, 0x16, 0x5f, 0x81, + 0xbd, 0x08, 0x7b, 0x11, 0xf6, 0x22, 0xec, 0x45, 0xb5, 0xec, 0x45, 0xba, 0x60, 0x07, 0xdb, 0x8f, + 0x51, 0x71, 0x1b, 0xd3, 0x85, 0x4a, 0x39, 0xbb, 0x9a, 0x7a, 0x5f, 0x55, 0x4e, 0xa1, 0xee, 0x67, + 0x39, 0xa1, 0xfd, 0xb9, 0xfa, 0xbc, 0xaf, 0x51, 0x73, 0xb2, 0xf4, 0x34, 0xd6, 0xba, 0x9a, 0xbc, + 0xf6, 0xd9, 0xf4, 0xad, 0x0b, 0xfe, 0x70, 0xfe, 0x77, 0xf7, 0x23, 0xe1, 0x3e, 0x5d, 0xb9, 0xd3, + 0x1d, 0xf8, 0xe9, 0x7e, 0xf6, 0xbe, 0x4f, 0x5f, 0xe7, 0xef, 0x7b, 0xb6, 0x78, 0x5d, 0x43, 0x6e, + 0x2d, 0x63, 0x58, 0xc6, 0x7b, 0x7e, 0xf8, 0x53, 0x44, 0x76, 0x36, 0xa9, 0xfc, 0x1a, 0xe5, 0xfa, + 0x17, 0xf0, 0xca, 0x93, 0x07, 0x90, 0x27, 0x21, 0x4f, 0x42, 0x9e, 0xd4, 0xbb, 0xcd, 0xb1, 0xf3, + 0x25, 0xfe, 0xab, 0x64, 0xd7, 0x71, 0xe1, 0x84, 0xd1, 0x24, 0xef, 0xd5, 0xb2, 0xf3, 0x7f, 0x1a, + 0xd8, 0xa7, 0x8e, 0xab, 0x66, 0x35, 0x07, 0xbc, 0x99, 0x79, 0x4d, 0x57, 0xcf, 0x66, 0xf6, 0x35, + 0x5e, 0x62, 0xaa, 0x29, 0x4c, 0xb1, 0x74, 0x5d, 0x49, 0x5b, 0xf7, 0x94, 0xea, 0xbf, 0xa2, 0xb6, + 0xd6, 0x59, 0x36, 0x34, 0x32, 0x7a, 0xec, 0x10, 0x29, 0x1d, 0x8f, 0x46, 0x7a, 0x49, 0xe9, 0xfa, + 0x17, 0x80, 0x94, 0x82, 0x94, 0x82, 0x94, 0x82, 0x94, 0x82, 0x94, 0x82, 0x94, 0x82, 0x94, 0x82, + 0x94, 0x82, 0x94, 0x76, 0x8c, 0x94, 0x36, 0x5a, 0x55, 0xca, 0x9c, 0x26, 0x30, 0x39, 0x3d, 0xc0, + 0x51, 0x65, 0x6d, 0x58, 0x06, 0x80, 0x46, 0xa0, 0x7e, 0xb5, 0xe4, 0xc0, 0x03, 0xd3, 0x1a, 0x35, + 0x70, 0x6d, 0x52, 0xce, 0xed, 0x98, 0xb1, 0x14, 0x4d, 0xbe, 0xe8, 0x6e, 0x94, 0xa6, 0x77, 0x5e, + 0x9c, 0xc0, 0x19, 0xa6, 0xd7, 0x13, 0xb1, 0x1d, 0x47, 0xdb, 0x64, 0x18, 0x87, 0xd3, 0x70, 0x38, + 0xcd, 0xb8, 0x50, 0xb9, 0x65, 0x87, 0xd3, 0xc4, 0xeb, 0x64, 0x6f, 0x13, 0x9e, 0xfd, 0xe2, 0xbc, + 0xca, 0x97, 0xf1, 0x8b, 0x2d, 0x83, 0xd1, 0x38, 0xb1, 0x53, 0x97, 0xe3, 0x3b, 0xb0, 0xb6, 0xf5, + 0x5b, 0x70, 0x88, 0xad, 0x21, 0x45, 0x0d, 0x87, 0xd8, 0x70, 0x88, 0xad, 0xd2, 0xde, 0x3e, 0xa5, + 0xf6, 0x8e, 0x6f, 0x7b, 0x22, 0x88, 0x39, 0x4f, 0x91, 0xac, 0x6d, 0xf5, 0xb9, 0xef, 0x81, 0x28, + 0x6f, 0x28, 0x84, 0xe8, 0x82, 0x12, 0xed, 0x90, 0xa2, 0x1d, 0x5a, 0xea, 0x83, 0x18, 0x5e, 0xad, + 0xc6, 0x7c, 0x51, 0xde, 0x13, 0xae, 0x7c, 0x71, 0x7c, 0x2d, 0xba, 0xfc, 0xe1, 0x11, 0xa3, 0xcd, + 0x9c, 0xda, 0xf7, 0x09, 0xaa, 0xbf, 0x1e, 0x89, 0xf8, 0x08, 0xaa, 0xbf, 0x66, 0x7f, 0x5e, 0x9d, + 0xd2, 0x1a, 0x54, 0xff, 0xdf, 0x30, 0xa5, 0x7a, 0x81, 0x9e, 0xdf, 0x5a, 0x97, 0xea, 0x4e, 0x92, + 0x30, 0x71, 0x7c, 0xa6, 0x30, 0x38, 0xcf, 0xc5, 0x96, 0x8c, 0x83, 0xda, 0x82, 0xda, 0x82, 0xda, + 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0xea, 0xb2, + 0x80, 0xea, 0x95, 0x0d, 0x15, 0x02, 0x1b, 0x32, 0xcc, 0xfb, 0x1a, 0xf3, 0x56, 0x56, 0xf3, 0x45, + 0x05, 0xb7, 0x93, 0xd7, 0xb8, 0xca, 0x5e, 0x7a, 0x56, 0xec, 0x72, 0x3e, 0x7b, 0xe7, 0xab, 0xe9, + 0x2b, 0x5f, 0x4c, 0xde, 0x38, 0xfd, 0xcb, 0xc6, 0xaa, 0x5f, 0xde, 0x73, 0xa4, 0x37, 0x65, 0x50, + 0x47, 0x7a, 0xb3, 0xe0, 0x5b, 0x90, 0xde, 0x6c, 0x28, 0x80, 0x43, 0x7a, 0x13, 0xe9, 0xcd, 0x92, + 0x86, 0x90, 0xde, 0x84, 0x06, 0x04, 0x0d, 0x08, 0x1a, 0x10, 0x34, 0x20, 0x68, 0x40, 0xd0, 0x80, + 0xa0, 0x01, 0x41, 0x03, 0x82, 0x06, 0x64, 0xae, 0x06, 0x84, 0xf4, 0x26, 0xa8, 0x2d, 0xa8, 0x2d, + 0xa8, 0x2d, 0xa8, 0x2d, 0xa8, 0x2d, 0xa8, 0x2d, 0xa8, 0x2d, 0xa8, 0x2d, 0xa8, 0x6d, 0x47, 0xa8, + 0x2d, 0xd2, 0x9b, 0xcd, 0xa4, 0x37, 0xd9, 0xf3, 0x56, 0x96, 0xf1, 0xe9, 0xcd, 0xe9, 0x2b, 0xb7, + 0x3b, 0xbd, 0x29, 0x83, 0x44, 0x04, 0xde, 0x52, 0x7e, 0x3a, 0x1c, 0x27, 0x1a, 0xf2, 0x9b, 0xdb, + 0xbf, 0x06, 0x09, 0xce, 0x86, 0x42, 0x38, 0x24, 0x38, 0x91, 0xe0, 0x2c, 0x69, 0x08, 0x09, 0x4e, + 0xa8, 0x40, 0x50, 0x81, 0xa0, 0x02, 0x41, 0x05, 0x82, 0x0a, 0x04, 0x15, 0x08, 0x2a, 0x10, 0x54, + 0x20, 0xa8, 0x40, 0xe6, 0xaa, 0x40, 0x48, 0x70, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, + 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x76, 0x84, 0xda, 0x22, 0xc1, 0x59, + 0x67, 0x82, 0x53, 0x67, 0xe2, 0xca, 0x32, 0x35, 0xc3, 0x79, 0x31, 0x7b, 0xe9, 0xd9, 0x01, 0xce, + 0x9b, 0xf4, 0x95, 0x3b, 0x90, 0xe2, 0x9c, 0xe5, 0xa8, 0x75, 0xa7, 0x38, 0x8b, 0xbe, 0x06, 0x29, + 0xce, 0x86, 0x82, 0x38, 0xa4, 0x38, 0x91, 0xe2, 0x2c, 0x69, 0x08, 0x29, 0x4e, 0xe8, 0x40, 0xd0, + 0x81, 0xa0, 0x03, 0x41, 0x07, 0x82, 0x0e, 0x04, 0x1d, 0x08, 0x3a, 0x10, 0x74, 0x20, 0xe8, 0x40, + 0xe6, 0xea, 0x40, 0x48, 0x71, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, + 0xda, 0x82, 0xda, 0x82, 0xda, 0x82, 0xda, 0x76, 0x84, 0xda, 0x22, 0xc5, 0xd9, 0x4c, 0x8a, 0x93, + 0x3f, 0x71, 0x65, 0x19, 0x9f, 0xe2, 0x9c, 0xbe, 0xb3, 0x09, 0x29, 0x4e, 0x5c, 0xd1, 0xac, 0x61, + 0x75, 0xb7, 0xf7, 0xc2, 0xe6, 0xc2, 0x75, 0x5b, 0xdb, 0xed, 0xcd, 0xef, 0x34, 0x2e, 0x42, 0xea, + 0xe2, 0x33, 0x66, 0xd1, 0x29, 0x2c, 0xae, 0x66, 0x17, 0x55, 0xb5, 0xe5, 0x53, 0x7e, 0x11, 0x54, + 0x58, 0x00, 0x7b, 0xb3, 0x57, 0xaf, 0x36, 0xed, 0x59, 0xf0, 0x98, 0x7e, 0xba, 0xe2, 0x72, 0x53, + 0x2b, 0x9e, 0x50, 0x96, 0x87, 0x28, 0x32, 0xd0, 0xaa, 0xdc, 0x33, 0x5d, 0xd3, 0x2a, 0xab, 0x8c, + 0x28, 0xe7, 0xb0, 0xc9, 0x36, 0x6c, 0xf2, 0x4c, 0x5e, 0x86, 0x99, 0x0d, 0x8e, 0x61, 0xd0, 0xa6, + 0x5a, 0x8c, 0xb0, 0xf7, 0x63, 0x16, 0xd7, 0x10, 0x6f, 0xba, 0x9f, 0x9a, 0xa1, 0xdd, 0x6b, 0x7f, + 0xd0, 0x99, 0x7b, 0xed, 0x95, 0x1d, 0x88, 0x5b, 0x17, 0x6d, 0xe3, 0x7d, 0xf6, 0xaa, 0x0e, 0xd6, + 0x0c, 0xa1, 0x25, 0xeb, 0x95, 0xd9, 0xca, 0x89, 0x93, 0x48, 0x06, 0x24, 0xe2, 0x38, 0xdf, 0x70, + 0x4e, 0xea, 0x62, 0x6b, 0xef, 0x15, 0xf1, 0xc6, 0x56, 0xda, 0x8c, 0x8b, 0x41, 0xc7, 0x56, 0xd8, + 0x9a, 0x81, 0x3c, 0x40, 0x1e, 0x20, 0x4f, 0x9b, 0x91, 0x47, 0x2b, 0x99, 0xfa, 0x5f, 0xf1, 0x46, + 0x82, 0x97, 0xbd, 0x4b, 0x19, 0x27, 0xa7, 0x49, 0xa2, 0x48, 0xc9, 0xae, 0x64, 0x70, 0xee, 0xa7, + 0xc1, 0x77, 0xbc, 0xf7, 0xd9, 0x0a, 0xc6, 0xbe, 0xaf, 0x80, 0xb3, 0x57, 0xce, 0x2b, 0xdd, 0xc8, + 0x4d, 0xe4, 0x89, 0x48, 0x78, 0xbf, 0xbf, 0xcd, 0x4c, 0xf4, 0x31, 0x3a, 0x57, 0xdc, 0x5e, 0x34, + 0x04, 0xdc, 0xa9, 0xbb, 0x1a, 0x10, 0x49, 0x87, 0x23, 0x11, 0xa5, 0xf3, 0xe4, 0xf8, 0x76, 0x9c, + 0x38, 0x09, 0x21, 0xac, 0xce, 0x9b, 0x52, 0x8b, 0xb1, 0x0f, 0x54, 0x63, 0xec, 0x23, 0xc4, 0xd8, + 0x88, 0xb1, 0x75, 0x6f, 0xb8, 0x6c, 0xcb, 0x7d, 0x65, 0xaf, 0x3d, 0x56, 0xf8, 0xec, 0x79, 0x30, + 0x7e, 0x99, 0xbc, 0xc2, 0x2f, 0x13, 0x60, 0x24, 0x89, 0x65, 0x29, 0xb5, 0x53, 0x1d, 0x5d, 0xca, + 0x7e, 0x43, 0x5f, 0x84, 0x3d, 0x72, 0x1d, 0x57, 0x1f, 0xc0, 0x87, 0x5a, 0x67, 0x65, 0xa8, 0xd0, + 0x37, 0x77, 0x86, 0xe9, 0x12, 0x24, 0x46, 0xde, 0xcb, 0xc6, 0x68, 0xa1, 0xf7, 0x61, 0x67, 0x42, + 0x6f, 0xb6, 0x22, 0xc9, 0x3e, 0x87, 0xe0, 0x5c, 0x45, 0x8e, 0xf5, 0x86, 0xe2, 0xd4, 0xa3, 0x80, + 0x7b, 0xce, 0x68, 0xe4, 0x4b, 0x37, 0xa5, 0x06, 0xb6, 0xf4, 0x44, 0x90, 0xc8, 0x81, 0xe4, 0x3c, + 0x24, 0xbc, 0xc1, 0x3e, 0x4e, 0x07, 0xd7, 0xec, 0xda, 0xdc, 0x2e, 0xae, 0xcd, 0xd5, 0xb5, 0xb9, + 0xbc, 0x7e, 0xd7, 0xa7, 0x41, 0x00, 0x11, 0x0a, 0xd8, 0x20, 0xa1, 0x10, 0x1a, 0xdc, 0xd0, 0x13, + 0xfc, 0x27, 0x26, 0x72, 0xdf, 0x80, 0x63, 0x13, 0x86, 0xc2, 0x86, 0x2e, 0xf8, 0xd0, 0x0e, 0x23, + 0xda, 0xe1, 0xa4, 0x3e, 0x58, 0xe1, 0x81, 0x17, 0x26, 0x98, 0xa1, 0x6b, 0x13, 0x3b, 0x57, 0x32, + 0x39, 0x39, 0xb0, 0x91, 0x36, 0x9c, 0x74, 0xe8, 0x48, 0x5b, 0x31, 0xc1, 0xb2, 0x13, 0xce, 0x69, + 0xd9, 0xc1, 0xe6, 0xa6, 0x5f, 0x06, 0xec, 0x06, 0x76, 0x03, 0xbb, 0x81, 0xdd, 0x35, 0x01, 0x85, + 0x45, 0x54, 0xa4, 0x37, 0xda, 0x54, 0x53, 0xaa, 0x35, 0x6e, 0x12, 0x38, 0x1c, 0xb2, 0x3b, 0x57, + 0x5a, 0x56, 0x70, 0xdf, 0x5f, 0xd2, 0x0f, 0xf7, 0xb5, 0x68, 0x13, 0x96, 0x9e, 0x14, 0xec, 0x4d, + 0x12, 0xcb, 0x5d, 0x05, 0xf4, 0xb3, 0xbf, 0x19, 0xc8, 0xe1, 0xd3, 0xe9, 0xe2, 0xd5, 0x2e, 0x16, + 0x6f, 0xd6, 0xc2, 0x5e, 0x76, 0xae, 0x08, 0xd2, 0x9e, 0x51, 0x83, 0x48, 0xfc, 0x3d, 0x16, 0x81, + 0xfb, 0xc6, 0x27, 0x4d, 0xe5, 0x4d, 0x43, 0x95, 0x82, 0x2a, 0x05, 0x55, 0xca, 0x6c, 0x55, 0x8a, + 0x1f, 0x10, 0xb4, 0x03, 0x03, 0x62, 0x1b, 0xc4, 0x36, 0x88, 0x6d, 0x3a, 0x13, 0xdb, 0x8c, 0x65, + 0x90, 0x68, 0xe9, 0xe5, 0x71, 0x82, 0x6e, 0x1b, 0xcc, 0xc6, 0x79, 0x01, 0x37, 0x67, 0x1e, 0xdd, + 0x36, 0x8a, 0xa7, 0xb4, 0x86, 0x6e, 0x1b, 0xba, 0xa7, 0xf4, 0xf0, 0xe4, 0xf8, 0xf8, 0xe3, 0xa7, + 0xe3, 0xe3, 0x83, 0x4f, 0xbf, 0x7d, 0x3a, 0xf8, 0xc7, 0x87, 0x0f, 0x87, 0x1f, 0x0f, 0x3f, 0xa0, + 0x01, 0x07, 0xb7, 0xb5, 0x2e, 0xf5, 0x96, 0xcb, 0xd8, 0xa2, 0xed, 0x86, 0x41, 0x9c, 0x44, 0x8e, + 0x4c, 0xf7, 0x5c, 0x66, 0x6e, 0x5a, 0xf8, 0x2d, 0xbc, 0xf4, 0xf4, 0x10, 0xf4, 0x14, 0xf4, 0x14, + 0xf4, 0x54, 0x2f, 0x3d, 0xe5, 0x8a, 0x87, 0x33, 0x83, 0x8e, 0xf7, 0xd7, 0x38, 0x4e, 0xd2, 0x46, + 0x20, 0xc3, 0xc8, 0x09, 0xc6, 0xbe, 0x13, 0x71, 0xf6, 0x72, 0xcf, 0x39, 0xcc, 0x86, 0xef, 0x63, + 0x5e, 0x1d, 0x7a, 0x76, 0x7b, 0x76, 0x68, 0xd2, 0x09, 0x51, 0x35, 0x43, 0x95, 0x6e, 0xc8, 0xaa, + 0x0d, 0xba, 0x6a, 0x83, 0xb0, 0xfa, 0xa1, 0x4c, 0x13, 0xad, 0x63, 0xf6, 0x05, 0xf6, 0x08, 0xbc, + 0x19, 0x0c, 0xb2, 0x34, 0x25, 0x1a, 0x33, 0xdb, 0xbc, 0x09, 0x47, 0xfe, 0xb5, 0xc1, 0xb8, 0x2e, + 0xf6, 0x86, 0x91, 0xf4, 0x78, 0x6b, 0x53, 0x72, 0x8b, 0x62, 0xf1, 0x15, 0xd8, 0x8b, 0xb0, 0x17, + 0x61, 0x2f, 0xc2, 0x5e, 0x54, 0xcb, 0x5e, 0xa4, 0x0b, 0x76, 0xb0, 0xfd, 0x18, 0x15, 0xb7, 0x31, + 0xd7, 0xc3, 0x64, 0x76, 0x4d, 0xaa, 0x8b, 0xc9, 0xe5, 0x3f, 0xf7, 0x35, 0xaa, 0x4e, 0x96, 0x11, + 0xf5, 0x32, 0x67, 0xd3, 0x57, 0xfe, 0x3a, 0x7f, 0xcf, 0xa7, 0xec, 0xff, 0x9d, 0x2d, 0x5e, 0x18, + 0x05, 0x61, 0x1d, 0x2f, 0x08, 0xd3, 0x91, 0xf8, 0x37, 0x6f, 0x6d, 0xb7, 0xb1, 0x0c, 0xcc, 0x77, + 0x62, 0x11, 0xa5, 0x73, 0x1f, 0x85, 0x3e, 0x5f, 0x09, 0xd8, 0xaa, 0x59, 0x9e, 0xf2, 0xaf, 0x03, + 0x94, 0x7f, 0x35, 0xcd, 0xef, 0x51, 0xfe, 0x65, 0xda, 0xae, 0xc1, 0xc6, 0xbf, 0x8b, 0x5d, 0x97, + 0x8b, 0x78, 0x73, 0x12, 0x6d, 0x26, 0x62, 0xdd, 0x0c, 0xde, 0xbe, 0x84, 0xde, 0xd8, 0xe7, 0xd9, + 0xe5, 0xb3, 0x19, 0x5b, 0xb2, 0x09, 0xa4, 0x05, 0xd2, 0x02, 0x69, 0x5b, 0x82, 0xb4, 0x0b, 0xbf, + 0xb5, 0x13, 0xe1, 0x3e, 0x07, 0xf2, 0xef, 0x31, 0xb0, 0x96, 0x11, 0x6b, 0xa7, 0xf7, 0x62, 0x4f, + 0x9f, 0x9f, 0x07, 0x69, 0x33, 0x8b, 0x38, 0xd0, 0x00, 0x9c, 0x05, 0xce, 0x6a, 0xc1, 0x59, 0xb6, + 0x03, 0x0d, 0xa8, 0x1b, 0xd3, 0x04, 0x17, 0x3a, 0x60, 0xa3, 0x26, 0xf8, 0xd0, 0x05, 0x23, 0xda, + 0xe1, 0x44, 0x3b, 0xac, 0xd4, 0x07, 0x2f, 0x7c, 0x82, 0xad, 0x85, 0xba, 0x31, 0xd4, 0x8d, 0xd5, + 0x0e, 0x51, 0x35, 0x43, 0x95, 0x6e, 0xc8, 0xaa, 0x0d, 0xba, 0x6a, 0x83, 0xb0, 0xfa, 0xa1, 0x8c, + 0x17, 0xd2, 0x98, 0xa1, 0x8d, 0x3f, 0x82, 0x6d, 0x16, 0x83, 0x2c, 0xd4, 0x8d, 0xa1, 0x6e, 0x0c, + 0x7b, 0x11, 0xf6, 0x22, 0xec, 0x45, 0xd8, 0x8b, 0xea, 0x87, 0x1d, 0x6c, 0x3f, 0xa8, 0x1b, 0xab, + 0xb9, 0x7c, 0x66, 0x2e, 0x3b, 0x77, 0xbf, 0x5c, 0xec, 0x7e, 0xf6, 0xa6, 0x46, 0x97, 0x89, 0x31, + 0xa8, 0xd8, 0x7e, 0x7a, 0xc7, 0xb4, 0xc6, 0x56, 0x2b, 0xeb, 0x5f, 0x80, 0x46, 0x2b, 0x50, 0x24, + 0xa1, 0x48, 0xb6, 0x6a, 0x67, 0x43, 0xa3, 0x15, 0x34, 0x5a, 0x41, 0xa3, 0x95, 0xba, 0x23, 0x13, + 0x0b, 0x8d, 0x56, 0x8c, 0x9c, 0x65, 0x34, 0x5a, 0xd1, 0x4e, 0x4a, 0xc7, 0xa3, 0x91, 0x5e, 0x52, + 0xba, 0xfe, 0x05, 0x20, 0xa5, 0x20, 0xa5, 0x20, 0xa5, 0x20, 0xa5, 0x20, 0xa5, 0x20, 0xa5, 0x20, + 0xa5, 0x20, 0xa5, 0x20, 0xa5, 0x1d, 0x23, 0xa5, 0x38, 0x50, 0xab, 0x39, 0x23, 0xd0, 0x89, 0x73, + 0xb4, 0x73, 0xd1, 0xbf, 0x8d, 0xe7, 0x67, 0x93, 0x30, 0x71, 0x7c, 0x7b, 0x94, 0xaa, 0xed, 0x3f, + 0x9d, 0x28, 0xb0, 0x93, 0xe7, 0x48, 0xc4, 0xcf, 0xa1, 0xef, 0xd9, 0xa9, 0x04, 0xcf, 0x77, 0xf6, + 0x60, 0xe7, 0x37, 0xe1, 0xec, 0x57, 0x43, 0xd1, 0x12, 0xce, 0x24, 0xe0, 0xec, 0x57, 0xd5, 0x95, + 0xe8, 0x09, 0x57, 0xbe, 0x38, 0x3e, 0x4b, 0xc0, 0x93, 0x55, 0x23, 0x1c, 0x31, 0xd8, 0xca, 0xd1, + 0xa6, 0x4f, 0x0c, 0x46, 0x79, 0xc3, 0x26, 0xc6, 0xe0, 0x53, 0x47, 0x98, 0x34, 0x9f, 0x8e, 0x23, + 0x66, 0xc5, 0x41, 0x53, 0x58, 0xa4, 0x93, 0x28, 0x73, 0x56, 0x2a, 0xea, 0x08, 0x7f, 0xe6, 0x53, + 0xf5, 0x1b, 0xa6, 0xca, 0x94, 0x5b, 0xd9, 0x1e, 0xbb, 0x45, 0x02, 0x53, 0xc9, 0xbb, 0x16, 0x12, + 0x38, 0xfd, 0x26, 0x90, 0x40, 0x90, 0x40, 0x90, 0x40, 0x90, 0x40, 0x90, 0x40, 0x90, 0x40, 0x90, + 0x40, 0x90, 0x40, 0x90, 0xc0, 0xda, 0x48, 0x60, 0xe4, 0x04, 0xf1, 0x8b, 0x4c, 0xa6, 0xec, 0x8c, + 0x91, 0xf2, 0xad, 0xda, 0x45, 0xe7, 0x11, 0x10, 0x3c, 0x10, 0x3c, 0x2d, 0x04, 0x8f, 0xad, 0xf3, + 0xc8, 0x34, 0x3e, 0x9b, 0xe6, 0x68, 0x1c, 0xdf, 0xf6, 0x44, 0x10, 0x73, 0x1e, 0xfd, 0xcf, 0x16, + 0xfa, 0x86, 0xef, 0x41, 0x59, 0x95, 0xa1, 0x10, 0xa2, 0x0b, 0x4a, 0xb4, 0x43, 0x8a, 0x76, 0x68, + 0xa9, 0x0f, 0x62, 0x98, 0xa9, 0x8e, 0xf1, 0x65, 0x55, 0x9c, 0x31, 0xa6, 0x8e, 0x58, 0x53, 0x6b, + 0xcc, 0xa9, 0x29, 0xf6, 0xe4, 0x8f, 0x41, 0xb5, 0xc6, 0xa2, 0x9a, 0x63, 0x52, 0xdd, 0x01, 0x4f, + 0x1d, 0x81, 0x8f, 0x86, 0x58, 0x55, 0x6b, 0xcc, 0xaa, 0x39, 0x76, 0xed, 0xd4, 0x94, 0xa2, 0x48, + 0x4b, 0xf7, 0x92, 0x5f, 0x4e, 0x4b, 0xf0, 0xb3, 0xdc, 0x65, 0xe3, 0xa0, 0xb6, 0xa0, 0xb6, 0xa0, + 0xb6, 0xa0, 0xb6, 0xa0, 0xb6, 0xa0, 0xb6, 0xa0, 0xb6, 0xa0, 0xb6, 0xa0, 0xb6, 0xa0, 0xb6, 0xba, + 0x2c, 0xe0, 0xfc, 0xc1, 0xe6, 0xf3, 0x07, 0xac, 0x49, 0x29, 0xcb, 0x88, 0x53, 0x08, 0x0f, 0xb3, + 0x57, 0xba, 0x4d, 0xdf, 0xa8, 0xa9, 0x04, 0xe4, 0xbb, 0x1a, 0x57, 0x2a, 0xd7, 0x0a, 0x35, 0x69, + 0x65, 0xee, 0x51, 0xee, 0x8b, 0x68, 0x78, 0x09, 0xaa, 0x2d, 0xba, 0xea, 0x4b, 0xa6, 0xda, 0x27, + 0x2a, 0x2e, 0x2e, 0xea, 0xa2, 0x6a, 0x7a, 0x31, 0x29, 0x2c, 0xa0, 0x66, 0x16, 0x4e, 0xb5, 0xd5, + 0x52, 0x7e, 0xce, 0x2b, 0xcc, 0xf7, 0xde, 0x48, 0x88, 0xc8, 0x1e, 0xfc, 0xf4, 0x76, 0x0c, 0x6c, + 0xe5, 0x85, 0xb0, 0xc8, 0x70, 0x96, 0xfc, 0x82, 0x8a, 0x6b, 0x54, 0xad, 0x0a, 0x42, 0x59, 0xe7, + 0xa1, 0xe8, 0x39, 0xab, 0xba, 0xcd, 0xf2, 0x30, 0xa8, 0xac, 0x54, 0xa2, 0x3a, 0xc3, 0xa6, 0xc2, + 0xb0, 0xa9, 0x2d, 0x79, 0x55, 0x65, 0x65, 0x88, 0x0c, 0xc3, 0x46, 0xd5, 0x0a, 0x83, 0xbd, 0x1d, + 0xc0, 0xe5, 0x87, 0xae, 0xe3, 0xdb, 0xd2, 0x53, 0x9f, 0xd8, 0xf9, 0x2a, 0x2b, 0xfb, 0x45, 0x8a, + 0xb3, 0x45, 0x13, 0x5e, 0xc9, 0x42, 0x2b, 0x87, 0xb0, 0xca, 0xea, 0x90, 0xdc, 0xb2, 0x29, 0xbb, + 0x4c, 0xca, 0x2e, 0x8b, 0x72, 0x3b, 0x6c, 0x33, 0xcc, 0x99, 0x2c, 0x6a, 0x2e, 0x1a, 0x75, 0x0a, + 0x67, 0x10, 0x89, 0x01, 0x65, 0xed, 0xcc, 0x77, 0x33, 0x82, 0xaa, 0xb8, 0x77, 0x5b, 0xc0, 0xb7, + 0x3e, 0xcf, 0xa9, 0x55, 0x6e, 0x9a, 0x3e, 0x17, 0x32, 0xb0, 0x1d, 0x7f, 0x36, 0xe7, 0x64, 0xf9, + 0x3f, 0x5b, 0xb0, 0xb4, 0xfc, 0xef, 0x32, 0xc4, 0xa9, 0x8b, 0x1c, 0xbf, 0x67, 0x42, 0xe7, 0xf1, + 0x58, 0x1b, 0x1e, 0xa7, 0xa6, 0x81, 0xc0, 0x40, 0x60, 0x20, 0x30, 0x10, 0x98, 0x05, 0x81, 0x53, + 0x44, 0x81, 0xfc, 0xa0, 0x4f, 0x7e, 0xd0, 0x13, 0xc8, 0x6a, 0x52, 0x1f, 0x6e, 0x85, 0x88, 0xbe, + 0xfe, 0xf4, 0xb6, 0x08, 0x10, 0x46, 0x88, 0x0f, 0x51, 0x98, 0x4c, 0x1e, 0x2f, 0x18, 0xea, 0x93, + 0x1f, 0x4a, 0x7f, 0x05, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0xfe, 0x82, 0xfe, + 0x82, 0xfe, 0x42, 0x80, 0x80, 0x00, 0x01, 0x04, 0x06, 0x02, 0x03, 0x81, 0x81, 0xc0, 0x10, 0x20, + 0xcc, 0x10, 0x20, 0x34, 0x85, 0xb2, 0xba, 0x24, 0x88, 0xec, 0x71, 0x5b, 0xa2, 0x42, 0x84, 0x81, + 0x1d, 0x85, 0xbe, 0xa0, 0x6b, 0x0d, 0x73, 0x43, 0x6a, 0x8a, 0xc2, 0x01, 0x14, 0x05, 0x28, 0x0a, + 0x75, 0xc2, 0x9d, 0xf2, 0x36, 0xc8, 0xb4, 0xf0, 0x2d, 0xe2, 0x75, 0xac, 0x8a, 0xd7, 0xad, 0xea, + 0x01, 0x13, 0x1a, 0x82, 0x00, 0x36, 0x00, 0x1b, 0x3d, 0x82, 0x8d, 0x30, 0x4a, 0x7a, 0x0f, 0x18, + 0x13, 0xf6, 0x26, 0x22, 0x6d, 0xf9, 0x8f, 0x72, 0xe6, 0x91, 0xfb, 0x00, 0xe4, 0x20, 0xf7, 0x81, + 0xdc, 0x07, 0x94, 0x37, 0x28, 0x6f, 0x50, 0xde, 0xda, 0xa6, 0xbc, 0x21, 0xf7, 0x51, 0x0d, 0x8f, + 0x91, 0xfb, 0x00, 0x02, 0x03, 0x81, 0x81, 0xc0, 0xc8, 0x7d, 0x14, 0x2c, 0x6e, 0x33, 0x73, 0x1f, + 0x3a, 0xc2, 0x58, 0x4b, 0x4f, 0xde, 0xe3, 0x3e, 0x7d, 0x54, 0xc3, 0x73, 0x1e, 0xf3, 0xb1, 0x93, + 0x41, 0x22, 0xa2, 0x81, 0xe3, 0x0a, 0x0e, 0x9d, 0xa1, 0xc8, 0x20, 0x94, 0x05, 0x28, 0x0b, 0x5d, + 0x56, 0x16, 0x36, 0xac, 0x7b, 0x26, 0xfa, 0xba, 0xd5, 0x3a, 0x18, 0xec, 0xde, 0xd2, 0xf6, 0x02, + 0xee, 0xaa, 0xe8, 0x94, 0xe9, 0xe0, 0x81, 0xb5, 0x9a, 0xcb, 0x5a, 0xd3, 0x9f, 0x6d, 0x40, 0x82, + 0x95, 0xbf, 0x01, 0x0b, 0xad, 0x81, 0x85, 0xd2, 0x49, 0x8e, 0x46, 0xde, 0x29, 0x5d, 0x71, 0x31, + 0x7f, 0x36, 0xbd, 0x5c, 0xf3, 0x1d, 0xe3, 0xb4, 0x4f, 0x70, 0x33, 0xf5, 0xc9, 0x6a, 0xea, 0xf8, + 0xde, 0xa5, 0x8c, 0x93, 0xd3, 0x24, 0xa9, 0xb6, 0x73, 0xef, 0x5d, 0xc9, 0xe0, 0xdc, 0x17, 0x13, + 0x10, 0x8c, 0xd5, 0xe9, 0xee, 0x51, 0x55, 0x62, 0x4b, 0xd8, 0x62, 0x96, 0xb7, 0x95, 0x17, 0x19, + 0xd8, 0x62, 0xfe, 0xf4, 0x0a, 0xcb, 0x8e, 0x63, 0x43, 0x59, 0xd9, 0x44, 0x8e, 0x4c, 0x88, 0x66, + 0xae, 0x9c, 0xd7, 0xa5, 0x29, 0x0d, 0xc6, 0xbe, 0x5f, 0xe1, 0xc3, 0x37, 0x91, 0x27, 0x22, 0xe1, + 0xfd, 0xfe, 0x36, 0xfb, 0x28, 0xeb, 0xca, 0x3e, 0x1d, 0x0f, 0x27, 0x8f, 0x25, 0xbc, 0x4a, 0xed, + 0x3d, 0x15, 0x17, 0x65, 0xb3, 0xe2, 0x73, 0x55, 0x8f, 0xf8, 0x22, 0x62, 0x37, 0x92, 0xa3, 0x19, + 0xc8, 0xef, 0x05, 0x61, 0x20, 0x7a, 0x13, 0x2d, 0x92, 0x9b, 0x37, 0xf7, 0x21, 0x5e, 0xa4, 0x36, + 0x57, 0x36, 0x34, 0x62, 0x2c, 0xdd, 0xc6, 0x8c, 0x1c, 0x3d, 0x6a, 0x6c, 0x98, 0xc6, 0xe4, 0xc1, + 0x44, 0x4f, 0x36, 0x38, 0x28, 0x65, 0x6b, 0xcf, 0xde, 0xe7, 0xe0, 0x94, 0xab, 0xbd, 0xfa, 0x2f, + 0x33, 0x83, 0x22, 0x1d, 0x5c, 0x08, 0xd4, 0x01, 0xd4, 0x01, 0xd4, 0xa1, 0xa3, 0xd4, 0x21, 0x7d, + 0x1b, 0xdb, 0x7d, 0x76, 0x82, 0x40, 0xf8, 0xf5, 0x70, 0x88, 0xea, 0x5f, 0x09, 0x32, 0x01, 0x32, + 0x01, 0x32, 0x61, 0x30, 0x99, 0x28, 0xf5, 0x97, 0x8f, 0x65, 0x05, 0x0e, 0x35, 0xa5, 0x56, 0x93, + 0x42, 0xbb, 0x57, 0x25, 0x05, 0xce, 0xad, 0xc0, 0x96, 0x5b, 0x52, 0xbb, 0x87, 0xbf, 0xc4, 0x76, + 0xb2, 0xe7, 0xcb, 0x81, 0x70, 0xdf, 0x5c, 0x5f, 0xd8, 0x71, 0xe2, 0x24, 0xe5, 0x1d, 0x7a, 0x91, + 0xff, 0x58, 0x33, 0x50, 0x56, 0xa9, 0xad, 0x94, 0x3c, 0x5c, 0x40, 0x69, 0xc9, 0x5b, 0x5d, 0x54, + 0xa0, 0x93, 0x98, 0x0c, 0x54, 0x85, 0x44, 0x32, 0x04, 0x92, 0x21, 0x8f, 0x9e, 0xcc, 0xe3, 0x55, + 0xf1, 0x2b, 0x27, 0xe7, 0x88, 0x8b, 0xd1, 0x52, 0x3c, 0x06, 0x54, 0xf1, 0xf8, 0x0f, 0x8f, 0xc3, + 0xce, 0x70, 0xa6, 0xa2, 0x97, 0xa6, 0x9f, 0xaa, 0xe6, 0x9a, 0x87, 0x55, 0x5d, 0xf3, 0x00, 0xae, + 0xd9, 0x79, 0xd7, 0xac, 0x1a, 0x71, 0xec, 0xfd, 0x98, 0x5d, 0xad, 0xa4, 0x28, 0x27, 0x4c, 0x3f, + 0xde, 0x9f, 0x83, 0xac, 0x8a, 0x05, 0x28, 0xfd, 0xa8, 0xfa, 0x52, 0x2b, 0x30, 0x31, 0xfd, 0xf0, + 0x6a, 0x9c, 0x44, 0x32, 0x18, 0x52, 0x4e, 0xae, 0x9e, 0x18, 0x90, 0x39, 0x4d, 0x1d, 0xd5, 0xae, + 0xb4, 0x39, 0x15, 0x3b, 0xbb, 0x5d, 0x61, 0xab, 0x82, 0xc7, 0xc3, 0xe3, 0xe1, 0xf1, 0xb5, 0x87, + 0xf4, 0x15, 0xab, 0x71, 0x2a, 0xbb, 0x35, 0x4b, 0x3d, 0x4e, 0xc5, 0xe2, 0x0d, 0x83, 0x2b, 0x3f, + 0x4c, 0x10, 0x46, 0x2a, 0x82, 0x32, 0x9f, 0x26, 0x92, 0xfa, 0x4c, 0x8d, 0xe1, 0x55, 0x38, 0x12, + 0x51, 0x3a, 0xd8, 0x8e, 0xaf, 0xaa, 0x88, 0xe4, 0x4d, 0x40, 0x13, 0x41, 0xe0, 0xd5, 0x98, 0x26, + 0xa2, 0xba, 0x1c, 0x5b, 0xa5, 0x8a, 0x44, 0x22, 0x96, 0xbe, 0x14, 0x81, 0x2b, 0x26, 0x38, 0x16, + 0x27, 0x91, 0x53, 0xe5, 0x10, 0xd2, 0xa2, 0x6d, 0x52, 0xa1, 0x99, 0xee, 0xe8, 0x26, 0x4a, 0x47, + 0x8b, 0xba, 0xe5, 0xc4, 0x2a, 0x47, 0x87, 0x1a, 0xd6, 0x50, 0x06, 0xce, 0xd8, 0x4f, 0x26, 0x8f, + 0xee, 0xc9, 0xb4, 0x35, 0x9a, 0x27, 0x12, 0x11, 0xbd, 0xc8, 0x40, 0xad, 0xae, 0x3d, 0x5b, 0x13, + 0xdb, 0xcd, 0xa2, 0x79, 0x18, 0xe2, 0xb0, 0x5e, 0x34, 0x0f, 0xe3, 0x74, 0x83, 0x95, 0x7d, 0xe0, + 0x83, 0xc2, 0x67, 0x2f, 0x3c, 0x11, 0x24, 0x32, 0x79, 0xfb, 0xdd, 0x89, 0x05, 0xbd, 0xe6, 0xe2, + 0xeb, 0xe9, 0x9f, 0x97, 0x0f, 0x4f, 0x67, 0x37, 0xd7, 0x5f, 0x2e, 0x1e, 0x2e, 0x6e, 0xae, 0x9f, + 0xbe, 0x9c, 0x3f, 0x9c, 0xdf, 0x5d, 0x5d, 0x5c, 0x9f, 0x4e, 0xfe, 0x4b, 0x75, 0x9d, 0xa5, 0x97, + 0xe5, 0xc7, 0x95, 0xca, 0xd0, 0xd7, 0xff, 0x11, 0x6b, 0x06, 0x4a, 0xbd, 0xde, 0xd3, 0xfd, 0x9f, + 0xbf, 0x5f, 0x9e, 0xfe, 0xfb, 0xfc, 0x8e, 0x90, 0xa0, 0x7f, 0x6f, 0xf6, 0x1b, 0x3e, 0x9c, 0xdf, + 0x3f, 0x74, 0xf7, 0xed, 0xae, 0x6f, 0xae, 0x9f, 0x2e, 0xae, 0x1f, 0xee, 0xfe, 0xbc, 0xbf, 0xf8, + 0xd7, 0x79, 0x77, 0x5f, 0xf3, 0xe2, 0xfa, 0x8f, 0xf3, 0xbb, 0xf3, 0xeb, 0x87, 0xba, 0xeb, 0x48, + 0x1e, 0xdb, 0x58, 0x94, 0xba, 0xf7, 0x1c, 0xfa, 0x9e, 0x1d, 0x0e, 0x06, 0x76, 0x22, 0x29, 0x4a, + 0xf3, 0xaa, 0x19, 0x50, 0x1d, 0x50, 0x9d, 0x5e, 0x50, 0x9d, 0xb1, 0x0c, 0x92, 0x8f, 0xc7, 0x04, + 0x4e, 0x73, 0xa2, 0xf0, 0xd1, 0x3b, 0x27, 0x18, 0x0a, 0x65, 0xba, 0x40, 0xa8, 0x7c, 0xbc, 0x92, + 0x01, 0x43, 0x7d, 0x22, 0xa9, 0xc9, 0xc1, 0x2a, 0x69, 0x62, 0xb0, 0xf3, 0x35, 0x72, 0xd2, 0xf6, + 0xd8, 0x5f, 0xe4, 0x50, 0xa6, 0x4a, 0xf5, 0x41, 0x13, 0x1b, 0xe3, 0xde, 0x95, 0xf3, 0x6a, 0xdc, + 0xd0, 0x1e, 0x9e, 0x1c, 0x1f, 0x7f, 0xfc, 0x74, 0x7c, 0x7c, 0xf0, 0xe9, 0xb7, 0x4f, 0x07, 0xff, + 0xf8, 0xf0, 0xe1, 0xf0, 0xa3, 0x0a, 0x03, 0xd7, 0x36, 0xda, 0x35, 0x15, 0x7b, 0x3e, 0x1a, 0xb0, + 0x49, 0xcb, 0xd8, 0x76, 0xc3, 0x30, 0xf2, 0x26, 0x31, 0x94, 0xf0, 0xec, 0xf8, 0xa7, 0x4c, 0xdc, + 0x67, 0x19, 0x0c, 0xed, 0x6f, 0x61, 0xf2, 0x6c, 0x8b, 0xc0, 0x23, 0x9c, 0x97, 0x2e, 0x61, 0x1b, + 0xdb, 0x39, 0xb6, 0xf3, 0x5e, 0x6c, 0xe7, 0xdf, 0xc2, 0xd0, 0x17, 0x0e, 0x49, 0xa3, 0x38, 0x34, + 0x03, 0x2e, 0x06, 0x51, 0xf8, 0x5f, 0x11, 0x90, 0x50, 0x61, 0x66, 0x02, 0xce, 0x0f, 0xe7, 0x87, + 0xf3, 0xb7, 0xca, 0xf9, 0xfd, 0xd0, 0xfd, 0x6e, 0x87, 0xe3, 0x84, 0xe4, 0xfe, 0x99, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xd0, 0x1e, 0x00, 0x78, 0x71, 0x5e, 0x67, 0x2c, 0x3e, 0x15, 0xe3, 0x08, + 0xa1, 0x41, 0xce, 0x12, 0xa0, 0x00, 0x50, 0x00, 0x5d, 0x0f, 0xba, 0x1e, 0x74, 0x3d, 0xe8, 0x7a, + 0xd0, 0xf5, 0xe8, 0x5b, 0xf5, 0x04, 0xdc, 0x45, 0x14, 0x09, 0xcf, 0x8e, 0x44, 0x9c, 0x84, 0xd3, + 0xaa, 0x42, 0xdb, 0x77, 0xde, 0x44, 0x44, 0xb9, 0xeb, 0x74, 0xb3, 0x51, 0x6c, 0xe0, 0xd8, 0xc0, + 0x7b, 0xb1, 0x81, 0xa7, 0xcb, 0xdd, 0x1e, 0x45, 0x61, 0x12, 0xba, 0xa1, 0xaf, 0x72, 0x04, 0xca, + 0x6a, 0xe8, 0x2a, 0xc3, 0x8a, 0x43, 0xa5, 0x74, 0xb2, 0x63, 0x79, 0xe7, 0x57, 0x3e, 0xa4, 0xb1, + 0xbc, 0xc7, 0xd1, 0x8d, 0x28, 0x9d, 0xf8, 0xd0, 0x8b, 0xce, 0x4b, 0xb5, 0xcb, 0x89, 0xca, 0x82, + 0x2c, 0x2a, 0x82, 0x4e, 0x0d, 0xe1, 0xe6, 0x05, 0xa0, 0x70, 0x97, 0x6f, 0x5e, 0x58, 0xba, 0x74, + 0x3a, 0xa1, 0xb4, 0x85, 0x2f, 0xba, 0xc5, 0x5a, 0xc1, 0x81, 0x98, 0x78, 0xb4, 0x81, 0xdd, 0xa7, + 0x92, 0x70, 0x14, 0xfa, 0xe1, 0x10, 0xb7, 0x83, 0xa9, 0x39, 0x5f, 0x36, 0x7c, 0xbd, 0xbb, 0x63, + 0x81, 0xc7, 0xa1, 0xa8, 0x14, 0x89, 0x48, 0x95, 0xd4, 0x27, 0x41, 0xe5, 0x2a, 0xc4, 0xe5, 0x60, + 0x6a, 0x14, 0xfa, 0xd2, 0x7d, 0xa3, 0xe3, 0x5a, 0x81, 0x4d, 0x40, 0x1b, 0xa0, 0x0d, 0xd0, 0x66, + 0x82, 0x4f, 0xb5, 0x17, 0xdd, 0xfa, 0x73, 0x01, 0x4c, 0xe1, 0xf1, 0xd2, 0x7d, 0x5a, 0xbc, 0x65, + 0xb1, 0x1e, 0xb7, 0xbf, 0xcb, 0x9e, 0xe5, 0x2c, 0x7b, 0xc0, 0xa5, 0x1f, 0xa6, 0xeb, 0xde, 0xa4, + 0x58, 0xf7, 0xcd, 0x8e, 0xc2, 0x71, 0xa2, 0x74, 0xe8, 0x77, 0x73, 0xdc, 0x5b, 0x60, 0x14, 0x31, + 0x30, 0x62, 0xe0, 0x2e, 0xc7, 0xc0, 0xd9, 0x8d, 0x49, 0x64, 0x92, 0x58, 0xf1, 0xee, 0xa5, 0xee, + 0x53, 0x43, 0xdc, 0x2a, 0x48, 0x72, 0xb6, 0x7e, 0xde, 0x2a, 0xa8, 0xdc, 0x22, 0x2a, 0xb7, 0x05, + 0x9d, 0x18, 0x1c, 0xa4, 0x2a, 0xb5, 0x8b, 0xcb, 0x8d, 0x95, 0x62, 0xb6, 0xc4, 0xea, 0x64, 0x87, + 0x77, 0xa0, 0x4d, 0x6f, 0xd0, 0x46, 0x75, 0xb3, 0xcf, 0x0c, 0xa8, 0xf5, 0x66, 0xdd, 0xb8, 0xfe, + 0x54, 0x7a, 0xb5, 0x32, 0x6f, 0xff, 0x6c, 0x8e, 0xc9, 0xe9, 0xa0, 0x9a, 0x1c, 0x95, 0xdb, 0x61, + 0xb5, 0x39, 0xae, 0x36, 0x07, 0xd6, 0xe7, 0xc8, 0x34, 0x87, 0x26, 0x3a, 0x36, 0x1f, 0x9d, 0xe0, + 0xa7, 0x15, 0x4c, 0xf4, 0x82, 0x3e, 0xbe, 0x94, 0x2a, 0x37, 0x42, 0xaf, 0xda, 0xed, 0xe0, 0x67, + 0x13, 0xa8, 0x08, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x1a, 0x4a, 0x36, 0x55, 0x7b, 0xf9, + 0xe6, 0x0c, 0x91, 0x2a, 0xc0, 0x32, 0x2b, 0x1c, 0x95, 0x60, 0x0b, 0x63, 0x0c, 0x15, 0x61, 0x99, + 0x31, 0x52, 0x65, 0x18, 0x75, 0x96, 0x88, 0xd9, 0x8e, 0xcc, 0x4e, 0x9d, 0x59, 0x8f, 0xbc, 0xda, + 0xbe, 0x4f, 0xdc, 0x46, 0xeb, 0x4a, 0x87, 0xbc, 0xdd, 0x4d, 0x1e, 0x7c, 0xe9, 0x37, 0xe5, 0x9b, + 0x15, 0x37, 0xa3, 0xb7, 0x8c, 0x22, 0x19, 0x46, 0x32, 0x79, 0xe3, 0x28, 0x71, 0x9a, 0x59, 0x82, + 0xca, 0xcb, 0x92, 0x38, 0x81, 0xfa, 0x42, 0x4d, 0xac, 0x34, 0xb3, 0x2d, 0xf2, 0x29, 0xbe, 0xca, + 0x67, 0xb8, 0xd6, 0x7d, 0xea, 0x84, 0x60, 0x82, 0x76, 0xa6, 0x6b, 0xfe, 0x8f, 0x81, 0xae, 0x71, + 0x9c, 0xf1, 0x62, 0x8e, 0xa8, 0x32, 0x73, 0x4c, 0x67, 0xbe, 0x32, 0x7b, 0x8c, 0xa7, 0x91, 0x98, + 0x78, 0xb7, 0xc5, 0x75, 0x16, 0x4c, 0xf7, 0x14, 0xf0, 0x9f, 0x0d, 0xd3, 0x3a, 0x2b, 0x0d, 0x45, + 0x0a, 0x8f, 0x26, 0xd7, 0x29, 0x86, 0xe3, 0x44, 0x06, 0x43, 0x4a, 0x01, 0x47, 0x0e, 0x4a, 0x0b, + 0x6c, 0x22, 0x3d, 0x04, 0x9a, 0xd2, 0x63, 0x9a, 0x42, 0x4e, 0x15, 0xb9, 0x61, 0x9c, 0xd8, 0xee, + 0xb3, 0x33, 0x01, 0x45, 0x11, 0xc9, 0x38, 0x91, 0x2e, 0x9f, 0x76, 0x5a, 0x64, 0x9c, 0x47, 0x44, + 0x3d, 0xec, 0xbc, 0x88, 0x3a, 0x89, 0xd1, 0x27, 0xa1, 0xf9, 0x68, 0x9c, 0xa8, 0x36, 0x2c, 0x87, + 0x9c, 0xba, 0xdb, 0xe9, 0x73, 0xc3, 0xdc, 0x72, 0x61, 0x95, 0x0a, 0x08, 0xab, 0xc0, 0xe0, 0xf8, + 0xc3, 0x30, 0x92, 0xc9, 0xf3, 0x0b, 0xdf, 0x9a, 0x59, 0xc1, 0x86, 0x85, 0xfd, 0xf7, 0x46, 0xd2, + 0x51, 0x2e, 0x98, 0xd0, 0x01, 0x17, 0xc5, 0xb0, 0xc1, 0x70, 0x5e, 0x41, 0x37, 0x6c, 0x68, 0x87, + 0x0f, 0xed, 0x30, 0xb2, 0x19, 0x4e, 0xe8, 0xe7, 0x1d, 0x78, 0xe1, 0x84, 0x31, 0x6e, 0xb4, 0x58, + 0xf3, 0x36, 0xb9, 0xd5, 0xcb, 0x96, 0xbf, 0xc9, 0x51, 0x85, 0x93, 0x77, 0x66, 0xcc, 0x03, 0x47, + 0xec, 0x9e, 0xa2, 0x26, 0x4b, 0x82, 0xbb, 0x18, 0x90, 0x19, 0xf2, 0xdc, 0xc0, 0x62, 0x60, 0x31, + 0xb0, 0x18, 0x58, 0xdc, 0x0f, 0x2c, 0xe6, 0x29, 0xb5, 0x2c, 0x06, 0x63, 0x8e, 0xba, 0x4b, 0xa0, + 0x31, 0xd0, 0x18, 0x68, 0x0c, 0x34, 0x36, 0x1b, 0x8d, 0x1b, 0x95, 0x4c, 0x66, 0x15, 0x50, 0x5c, + 0xfc, 0x97, 0xa7, 0x10, 0x2a, 0xb3, 0xc6, 0x59, 0x10, 0xb5, 0x30, 0xca, 0x58, 0x18, 0x95, 0x19, + 0x65, 0x29, 0x90, 0xe2, 0x9a, 0x54, 0xa6, 0x82, 0xa9, 0xcc, 0x5e, 0xc3, 0x85, 0x53, 0xf9, 0xcc, + 0xd7, 0x3e, 0xbf, 0xb8, 0x6e, 0x35, 0x59, 0x62, 0x75, 0x37, 0x7d, 0xc3, 0xa5, 0x9f, 0x9c, 0x85, + 0x71, 0x72, 0xb6, 0xfa, 0x7e, 0x2d, 0xac, 0x49, 0xf7, 0xe4, 0x0f, 0x11, 0xc5, 0x93, 0xd9, 0x27, + 0x76, 0x6b, 0xc9, 0xed, 0x0b, 0x39, 0xcb, 0xa8, 0x4f, 0x2f, 0xc7, 0x04, 0x91, 0x5a, 0x41, 0x6a, + 0xa5, 0x49, 0x86, 0xa7, 0xcb, 0x83, 0x2d, 0xa6, 0x4e, 0x31, 0x99, 0x2d, 0x5a, 0xc7, 0x98, 0x66, + 0x71, 0x57, 0xc6, 0xb6, 0x78, 0x75, 0xfd, 0x71, 0x2c, 0x7f, 0x30, 0x9e, 0x06, 0x5a, 0xb1, 0x4a, + 0x4d, 0xd5, 0x89, 0xf4, 0x86, 0xea, 0xd4, 0x5f, 0x22, 0x1c, 0xb0, 0x04, 0x7c, 0x03, 0xbe, 0xdb, + 0x05, 0xdf, 0xea, 0x17, 0xb5, 0x6c, 0x44, 0xed, 0xc3, 0x16, 0x22, 0xad, 0xef, 0x24, 0x69, 0xd0, + 0xa2, 0xab, 0x8a, 0x68, 0x83, 0x7d, 0x14, 0x12, 0x01, 0x2e, 0x01, 0x97, 0xda, 0xe0, 0x92, 0xad, + 0x90, 0x68, 0x20, 0x5f, 0x85, 0x67, 0x6b, 0x02, 0x89, 0xdc, 0x92, 0xdf, 0xfa, 0x6d, 0x86, 0xa7, + 0x52, 0x8e, 0x90, 0x4a, 0x41, 0x2a, 0xa5, 0x04, 0xd4, 0x20, 0x95, 0xa2, 0xba, 0x7a, 0x91, 0xd8, + 0x2e, 0xf3, 0x4e, 0x7f, 0xc9, 0x24, 0x11, 0x91, 0x76, 0xa8, 0x2e, 0xfe, 0x1a, 0x60, 0x34, 0x30, + 0x1a, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0x6f, 0x7d, 0xa7, 0xbf, 0xc7, 0x42, 0x06, 0xc3, 0xda, 0x68, + 0xf5, 0xf6, 0xaf, 0x43, 0x89, 0x12, 0x30, 0x1b, 0x98, 0x0d, 0xcc, 0x06, 0x66, 0x6f, 0x7d, 0xa7, + 0x24, 0x72, 0x06, 0x03, 0xe9, 0xda, 0xa3, 0x28, 0x1c, 0x89, 0x28, 0x79, 0xd3, 0x54, 0xc8, 0x5f, + 0xfc, 0x35, 0xc0, 0x68, 0x60, 0x34, 0x30, 0x1a, 0x18, 0x0d, 0x8c, 0xde, 0xfa, 0x4e, 0x3f, 0x9d, + 0xc0, 0xab, 0x41, 0xfb, 0x28, 0xfe, 0x1a, 0x68, 0x1f, 0xc0, 0x68, 0x60, 0x34, 0x30, 0x1a, 0xa5, + 0xfe, 0x7a, 0x66, 0x70, 0x5e, 0xea, 0xaf, 0x83, 0x21, 0xa3, 0xec, 0x1f, 0x65, 0xff, 0x75, 0x94, + 0xfd, 0x6b, 0x93, 0xe0, 0x0c, 0xaa, 0xfc, 0xbf, 0x9c, 0xbe, 0x63, 0xfb, 0x8b, 0xff, 0x5f, 0x9c, + 0x57, 0xdb, 0xf1, 0xfd, 0xf0, 0xa7, 0xf0, 0x6c, 0x37, 0x8c, 0x13, 0xbe, 0xa2, 0xa8, 0x9c, 0x65, + 0x94, 0x43, 0x95, 0xe3, 0x86, 0x28, 0x87, 0x42, 0x39, 0x94, 0xc2, 0x0b, 0xb2, 0x95, 0x43, 0x91, + 0x5b, 0x35, 0x6f, 0x5c, 0xde, 0xc4, 0xd6, 0xcd, 0x90, 0xfa, 0x6a, 0x80, 0x0a, 0x84, 0x93, 0x26, + 0x40, 0x49, 0xdf, 0xc2, 0x4a, 0x72, 0x0b, 0xea, 0x4d, 0xd8, 0x70, 0xc2, 0x68, 0x92, 0xa7, 0x45, + 0xf5, 0xfa, 0x3f, 0x5e, 0xf7, 0xb2, 0xb8, 0x5b, 0x58, 0x6b, 0x06, 0xdd, 0x9c, 0x79, 0xe6, 0x16, + 0xd7, 0x39, 0xfb, 0x1a, 0x9a, 0x2b, 0x6b, 0x72, 0xb7, 0xf5, 0xc0, 0xb8, 0xf5, 0x53, 0xaa, 0xaf, + 0x65, 0x76, 0x23, 0xb3, 0xfc, 0xce, 0x4c, 0x6b, 0x8f, 0x1d, 0xca, 0x75, 0x68, 0xea, 0x5d, 0x84, + 0xb6, 0x45, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, + 0x20, 0xa1, 0x9d, 0x25, 0xa1, 0xc8, 0xf5, 0x69, 0xcd, 0xf5, 0x31, 0x27, 0x79, 0x2c, 0xb3, 0xb2, + 0x7c, 0x57, 0xce, 0xeb, 0xe9, 0xf4, 0xe5, 0xce, 0x26, 0xef, 0xd6, 0xf2, 0xf4, 0x9e, 0x27, 0x7c, + 0xe7, 0x4d, 0x4f, 0x7e, 0x6f, 0x6a, 0x1a, 0x09, 0xbe, 0xc6, 0x02, 0x26, 0x24, 0xf8, 0x90, 0xe0, + 0x2b, 0x6d, 0x08, 0x09, 0x3e, 0x68, 0x2b, 0xd0, 0x56, 0xa0, 0xad, 0x40, 0x5b, 0x81, 0xb6, 0x02, + 0x6d, 0x05, 0xda, 0x0a, 0xb4, 0x15, 0x68, 0x2b, 0xcd, 0x78, 0x01, 0x12, 0x7c, 0x20, 0xa1, 0x20, + 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x20, 0xa1, 0x75, + 0x5a, 0x40, 0x82, 0xaf, 0x4a, 0x82, 0x8f, 0x23, 0xcb, 0x63, 0x99, 0x9a, 0xe1, 0xfb, 0x92, 0xbe, + 0x5c, 0xcb, 0x53, 0x7c, 0xcf, 0xe1, 0x28, 0xd6, 0x93, 0xe1, 0x4b, 0x2d, 0x23, 0xc1, 0xd7, 0x58, + 0xc0, 0x84, 0x04, 0x1f, 0x12, 0x7c, 0xa5, 0x0d, 0x21, 0xc1, 0x07, 0x6d, 0x05, 0xda, 0x0a, 0xb4, + 0x15, 0x68, 0x2b, 0xd0, 0x56, 0xa0, 0xad, 0x40, 0x5b, 0x81, 0xb6, 0x02, 0x6d, 0xa5, 0x19, 0x2f, + 0x40, 0x82, 0x0f, 0x24, 0x14, 0x24, 0x14, 0x24, 0x14, 0x24, 0x14, 0x24, 0x14, 0x24, 0x14, 0x24, + 0x14, 0x24, 0x14, 0x24, 0xb4, 0x4e, 0x0b, 0x48, 0xf0, 0x55, 0x49, 0xf0, 0x31, 0x24, 0x79, 0x2c, + 0x53, 0xf3, 0x7b, 0x7f, 0x4c, 0xde, 0xad, 0x85, 0xe9, 0xbd, 0x48, 0xc6, 0xdf, 0xed, 0xc5, 0x35, + 0xfc, 0xba, 0xae, 0x30, 0xde, 0xfe, 0x35, 0x48, 0xfc, 0x35, 0x16, 0x48, 0x21, 0xf1, 0x87, 0xc4, + 0x5f, 0x35, 0xb0, 0x58, 0xf5, 0x5d, 0x4d, 0x57, 0xf8, 0x6c, 0xfc, 0x26, 0x68, 0x32, 0x3c, 0x50, + 0x82, 0x1b, 0x22, 0x1a, 0xd5, 0x62, 0x70, 0x43, 0x84, 0xea, 0xea, 0xc5, 0x2d, 0x3e, 0xa5, 0x91, + 0x5a, 0x7a, 0x22, 0x48, 0xe4, 0x40, 0x8a, 0xc8, 0xf6, 0x25, 0x43, 0xef, 0xf5, 0x62, 0x94, 0x5e, + 0xff, 0x16, 0x20, 0x34, 0x10, 0x1a, 0x08, 0x0d, 0x84, 0x36, 0x17, 0xa1, 0x99, 0x46, 0x90, 0xf5, + 0xbe, 0x9b, 0x85, 0x84, 0xba, 0x72, 0xef, 0x0d, 0xb3, 0x9f, 0xce, 0xa7, 0xe8, 0x90, 0xdb, 0x3f, + 0x35, 0x01, 0xcb, 0x3a, 0xb8, 0xbc, 0xc8, 0xc0, 0x16, 0xf3, 0xd1, 0xd1, 0xa0, 0x5f, 0xeb, 0x86, + 0x99, 0x1c, 0xd4, 0x1c, 0xee, 0x19, 0xaa, 0xcf, 0x32, 0x66, 0x07, 0xb4, 0xdc, 0xba, 0x94, 0x19, + 0x67, 0xbd, 0x7d, 0x89, 0x91, 0xc4, 0x99, 0x70, 0xcd, 0x97, 0xa6, 0x28, 0x1a, 0x37, 0x7d, 0xe1, + 0xa6, 0xaf, 0x3a, 0x72, 0x07, 0x3a, 0x45, 0x63, 0xcb, 0xac, 0x44, 0xc2, 0x9d, 0x8c, 0xbf, 0x7f, + 0x99, 0xbf, 0x69, 0xfb, 0xaf, 0xfd, 0x9a, 0xce, 0x6e, 0xf8, 0xed, 0xaf, 0x74, 0xa0, 0x84, 0x3d, + 0x18, 0x07, 0x2e, 0xcb, 0x4a, 0x5d, 0x84, 0x9e, 0x9b, 0xbe, 0x81, 0x27, 0x97, 0x70, 0x80, 0x5c, + 0x42, 0xf3, 0x2c, 0x10, 0xb9, 0x04, 0xf3, 0x98, 0x05, 0x5b, 0xd8, 0xa8, 0xdb, 0x93, 0x57, 0x02, + 0xc7, 0x63, 0x06, 0x5b, 0xe7, 0xc1, 0xf8, 0x65, 0xf2, 0xe6, 0xbf, 0x5a, 0x88, 0xc7, 0x49, 0xe8, + 0x8b, 0xc8, 0xf9, 0xe6, 0x0b, 0x5b, 0xbe, 0x8c, 0x1c, 0x97, 0xf1, 0x1a, 0xc6, 0x9c, 0x65, 0xe0, + 0x2f, 0xf0, 0x17, 0xf8, 0xdb, 0x22, 0xfc, 0x1d, 0x46, 0x8e, 0x27, 0x62, 0x3b, 0x1c, 0xf0, 0x78, + 0xf0, 0x0a, 0xee, 0x32, 0x14, 0xce, 0xed, 0x5d, 0xa4, 0xf9, 0x85, 0xe4, 0xed, 0x77, 0x27, 0xd6, + 0x90, 0x68, 0xfe, 0xe7, 0xdd, 0xe9, 0x97, 0xf3, 0xfb, 0xa7, 0x9b, 0xaf, 0x4f, 0x17, 0x57, 0xb7, + 0xa7, 0x67, 0x0f, 0x5c, 0x2b, 0x3c, 0xad, 0x26, 0x8c, 0x59, 0xcb, 0x70, 0x35, 0x69, 0x81, 0xeb, + 0x23, 0xf0, 0x74, 0x75, 0x71, 0x7d, 0x73, 0x37, 0x1f, 0x0e, 0x13, 0x05, 0xa5, 0xba, 0x06, 0xe2, + 0x8f, 0x8b, 0x87, 0xcb, 0xf3, 0xfb, 0xfb, 0x5e, 0x8f, 0xc1, 0xd5, 0xe9, 0xff, 0x60, 0x31, 0x4c, + 0x06, 0xe2, 0xf2, 0xe6, 0xfa, 0x9f, 0xfc, 0xe3, 0xc0, 0x62, 0xe9, 0xb1, 0xe9, 0x3d, 0xed, 0x5d, + 0xbd, 0x9f, 0x54, 0x5c, 0x3d, 0x5c, 0x8a, 0x99, 0x79, 0x4a, 0x19, 0x61, 0xd3, 0x32, 0x47, 0x03, + 0x53, 0xf3, 0xaa, 0xea, 0x2b, 0x48, 0x61, 0xf5, 0xec, 0xcd, 0x93, 0xc1, 0xcb, 0x63, 0xae, 0xba, + 0x84, 0x96, 0x42, 0xa7, 0xbc, 0x51, 0xc5, 0x95, 0x4d, 0xab, 0x80, 0x25, 0x47, 0x4b, 0x1c, 0x51, + 0xd2, 0x6a, 0x74, 0xb4, 0xec, 0x2a, 0x94, 0xd5, 0xcd, 0x14, 0x11, 0xb1, 0x47, 0x42, 0xec, 0x11, + 0x50, 0x3e, 0xf2, 0x59, 0x19, 0xc2, 0x96, 0x20, 0x34, 0xb5, 0x52, 0x75, 0xcf, 0xf9, 0x11, 0x4a, + 0x6f, 0x51, 0xbb, 0xc1, 0x26, 0x73, 0xac, 0xd9, 0x85, 0xc8, 0x01, 0x91, 0x03, 0x22, 0x47, 0x8b, + 0x44, 0x8e, 0xf1, 0x58, 0x7a, 0x9c, 0xc2, 0xc6, 0x49, 0x0b, 0x45, 0xe0, 0x05, 0xcd, 0xb0, 0x7f, + 0x0a, 0x39, 0x7c, 0x66, 0x54, 0x81, 0xf3, 0xa6, 0x81, 0x90, 0x40, 0x48, 0x20, 0x64, 0x9b, 0x10, + 0x92, 0xab, 0xb7, 0x01, 0x63, 0x4f, 0x03, 0xe6, 0x5e, 0x06, 0xbc, 0x55, 0x9a, 0x1a, 0xaa, 0xa8, + 0xb5, 0x1c, 0x70, 0xd7, 0xd5, 0xab, 0x40, 0xe7, 0xe9, 0x75, 0xe6, 0xea, 0xc3, 0xd6, 0x4d, 0x95, + 0xfe, 0x1e, 0x04, 0x5a, 0x67, 0xcf, 0x90, 0x1a, 0xcc, 0xc7, 0x16, 0x92, 0x34, 0xf1, 0xea, 0xfa, + 0x63, 0x4f, 0xd8, 0xbe, 0x0c, 0xbe, 0xf3, 0xf1, 0xb3, 0x15, 0xab, 0xa0, 0x66, 0xa0, 0x66, 0xa0, + 0x66, 0x08, 0x5e, 0x5b, 0x89, 0x8b, 0x41, 0xe8, 0x09, 0x7e, 0x5c, 0x4c, 0xad, 0x02, 0x17, 0x81, + 0x8b, 0xc0, 0x45, 0xe0, 0x62, 0x6b, 0x71, 0xd1, 0x16, 0xde, 0x50, 0xd8, 0xa3, 0x90, 0x92, 0x9d, + 0xdc, 0x0a, 0x91, 0xcb, 0x5f, 0x00, 0xb4, 0x04, 0x5a, 0x02, 0x2d, 0x81, 0x96, 0xad, 0x44, 0xcb, + 0x59, 0xed, 0x0e, 0x33, 0x44, 0xa6, 0x56, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x22, 0x70, 0xb1, 0x55, + 0xb8, 0x28, 0x03, 0x1d, 0xaa, 0xe3, 0x8a, 0x55, 0xe0, 0x22, 0x70, 0x11, 0xb8, 0x08, 0x5c, 0x6c, + 0x25, 0x2e, 0xf2, 0xaa, 0x8e, 0x2b, 0x56, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x22, 0x70, 0xb1, 0xb5, + 0xb8, 0xa8, 0x45, 0x75, 0xdc, 0xf4, 0x05, 0x40, 0x4b, 0xa0, 0x25, 0xd0, 0x12, 0x68, 0xd9, 0x4a, + 0xb4, 0xe4, 0x55, 0x1d, 0x57, 0xac, 0x02, 0x17, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x62, 0x2b, 0x71, + 0x91, 0xff, 0xb8, 0x5e, 0xce, 0x32, 0xf0, 0x11, 0xf8, 0x08, 0x7c, 0x04, 0x3e, 0xb6, 0x0a, 0x1f, + 0xfd, 0xd0, 0x75, 0x7c, 0x5b, 0x7a, 0x7c, 0xb8, 0x98, 0x59, 0x04, 0x1e, 0x96, 0xc3, 0xc3, 0x69, + 0x5b, 0x0f, 0xa0, 0xa0, 0x16, 0x14, 0x9c, 0x0d, 0x2e, 0xb0, 0x6f, 0x6d, 0xe5, 0xb1, 0x5d, 0xa0, + 0xd0, 0x6a, 0xf4, 0x63, 0xb9, 0x58, 0x2c, 0x1b, 0x53, 0x8e, 0xb6, 0xe7, 0xbd, 0xb9, 0x67, 0x10, + 0xa8, 0x07, 0xd4, 0xdb, 0xf1, 0x5a, 0x6c, 0x77, 0x0a, 0xfe, 0x98, 0x1d, 0x79, 0x64, 0xee, 0xeb, + 0x38, 0x35, 0x8b, 0xbb, 0xa8, 0x0c, 0x03, 0x04, 0x5d, 0xc0, 0xa0, 0x1d, 0x20, 0xb4, 0x03, 0x85, + 0x7e, 0xc0, 0xe0, 0x01, 0x0e, 0x26, 0x00, 0xe1, 0xa7, 0x4f, 0xfa, 0x68, 0x14, 0x33, 0x9d, 0xe2, + 0x9b, 0x07, 0x8e, 0x9b, 0x02, 0x53, 0xa0, 0xd4, 0x74, 0x8b, 0xeb, 0x92, 0x6d, 0x20, 0x31, 0x90, + 0x18, 0x48, 0x0c, 0x24, 0xee, 0x2a, 0x12, 0x9b, 0x70, 0xdd, 0x17, 0x1b, 0xdc, 0xe2, 0x82, 0x2f, + 0x5c, 0xf0, 0xc5, 0xde, 0xb6, 0xb8, 0xa0, 0xdd, 0xed, 0x3e, 0x13, 0x35, 0x68, 0xac, 0x89, 0xf1, + 0xc3, 0xec, 0x9d, 0x96, 0x7e, 0x94, 0x62, 0x5e, 0x0b, 0xe5, 0xb6, 0xc9, 0x1e, 0x2d, 0xa2, 0x48, + 0x78, 0x76, 0x12, 0x39, 0x41, 0x3c, 0x0a, 0xa3, 0xc4, 0xf6, 0x9d, 0x37, 0x11, 0xf1, 0x69, 0x70, + 0x9b, 0xbf, 0x02, 0xe9, 0x88, 0x72, 0xec, 0x0f, 0xe9, 0x59, 0xa4, 0x67, 0x9b, 0x64, 0x76, 0x8b, + 0x44, 0xe2, 0xc4, 0x6d, 0xed, 0x51, 0x14, 0x26, 0xa1, 0x1b, 0xfa, 0x5c, 0x21, 0x5e, 0xb7, 0xee, + 0xeb, 0xc2, 0xdd, 0x06, 0x2c, 0x24, 0xa1, 0x8d, 0x97, 0x1b, 0xe4, 0x79, 0x41, 0x6d, 0xb7, 0x1b, + 0xbc, 0xd3, 0xb8, 0xda, 0xe6, 0x81, 0x86, 0x62, 0x19, 0x01, 0x2d, 0xac, 0x60, 0x09, 0x23, 0x58, + 0xc2, 0x06, 0x5a, 0x98, 0x50, 0x75, 0xcc, 0x89, 0x9e, 0xdd, 0xb0, 0x47, 0x2b, 0x78, 0x6f, 0x53, + 0x5e, 0x5b, 0xcd, 0x45, 0xcb, 0x3b, 0x5a, 0x85, 0x09, 0xdf, 0x8b, 0x44, 0x9c, 0x84, 0x51, 0x3a, + 0xdb, 0xb6, 0x1b, 0x86, 0x91, 0x27, 0x03, 0x27, 0x11, 0x76, 0xa2, 0xb2, 0x81, 0x2f, 0x6e, 0xd8, + 0xdc, 0x62, 0xb4, 0x2a, 0x00, 0x28, 0x31, 0x6d, 0x65, 0x66, 0x4d, 0x61, 0xd2, 0xac, 0x17, 0x8a, + 0x50, 0x59, 0x32, 0x1b, 0x2b, 0x66, 0x63, 0xc1, 0xdc, 0x17, 0x86, 0xe8, 0xdd, 0x78, 0x94, 0x19, + 0xec, 0x52, 0x8b, 0x7a, 0xca, 0xc2, 0xa7, 0xb2, 0x53, 0x45, 0x36, 0xaa, 0x13, 0x64, 0x84, 0x3d, + 0x8a, 0x64, 0x18, 0x4d, 0x26, 0x9b, 0x88, 0x2c, 0x4b, 0x96, 0x00, 0x27, 0x80, 0x93, 0x5e, 0xc0, + 0x89, 0x72, 0xbb, 0x7c, 0x42, 0x7b, 0x7c, 0x62, 0x3b, 0x7c, 0x42, 0x54, 0xc8, 0xd1, 0xee, 0x9e, + 0x4b, 0xa5, 0x63, 0x6a, 0x67, 0xcf, 0xd9, 0x00, 0x9d, 0xa2, 0xbb, 0x72, 0xb4, 0xa7, 0xe7, 0x1e, + 0x5a, 0xfe, 0xf6, 0xf3, 0xac, 0xa3, 0x5d, 0x53, 0x28, 0xfd, 0x68, 0xc4, 0x56, 0xfd, 0x43, 0x44, + 0xf1, 0x84, 0xb8, 0xbf, 0xa8, 0xb4, 0x20, 0x59, 0xda, 0xa8, 0x57, 0xec, 0x60, 0x9b, 0xc6, 0x36, + 0xdd, 0x8b, 0x6d, 0x9a, 0xb4, 0xee, 0x3b, 0x45, 0xfa, 0x63, 0xe1, 0x0b, 0x77, 0x26, 0x01, 0x04, + 0x49, 0x14, 0xfa, 0xea, 0x60, 0x92, 0x37, 0x05, 0x3c, 0x01, 0x9e, 0xf4, 0x02, 0x4f, 0xa8, 0x4b, + 0xbf, 0x53, 0x90, 0xf2, 0xd3, 0x91, 0x89, 0x9d, 0x84, 0x76, 0x0a, 0xb2, 0x89, 0x9d, 0xc8, 0x17, + 0x02, 0x43, 0x29, 0x32, 0x56, 0x71, 0x7a, 0xbf, 0x88, 0x81, 0x33, 0xf6, 0xd3, 0xa5, 0x78, 0xf8, + 0x01, 0x98, 0x04, 0x4c, 0x82, 0x14, 0x01, 0x29, 0x02, 0x52, 0x04, 0xa4, 0x08, 0x48, 0x11, 0xa4, + 0xbf, 0x2c, 0xb9, 0xa6, 0x54, 0x33, 0xd5, 0x35, 0x64, 0xa8, 0xf7, 0xaa, 0x04, 0x4a, 0x3a, 0xb3, + 0xcf, 0xe5, 0x76, 0x9f, 0xdd, 0xd3, 0x52, 0x62, 0x4a, 0xf6, 0xa2, 0x70, 0x9c, 0xc8, 0x60, 0xb8, + 0x3c, 0x0c, 0x65, 0xa7, 0x65, 0x11, 0x3f, 0xe7, 0x6d, 0x94, 0x5c, 0x0c, 0xd5, 0x0e, 0x4b, 0x57, + 0xe6, 0x51, 0x2a, 0xfc, 0x89, 0x85, 0x37, 0xa9, 0xf2, 0x25, 0x32, 0x4f, 0x22, 0xf3, 0x23, 0x2e, + 0x5e, 0xc4, 0x0b, 0x1a, 0x55, 0x0f, 0x12, 0xef, 0xb9, 0x61, 0x9c, 0xd8, 0xee, 0xb3, 0x33, 0x41, + 0x71, 0x11, 0xc9, 0x38, 0x91, 0xae, 0x7a, 0xd4, 0x51, 0x64, 0x4c, 0x2d, 0x70, 0x38, 0x6c, 0x5d, + 0xe0, 0xc0, 0x50, 0x4c, 0xdc, 0x87, 0xe0, 0x81, 0x5e, 0x0c, 0xac, 0x37, 0x80, 0x50, 0x3d, 0x89, + 0x3f, 0x5d, 0xfb, 0x8e, 0x3f, 0x0c, 0x23, 0x99, 0x3c, 0xbf, 0xa8, 0xcf, 0xe1, 0x8a, 0x2f, 0x2d, + 0xec, 0x29, 0x8e, 0x3f, 0x8d, 0x3f, 0x92, 0x6b, 0xf8, 0x39, 0x6a, 0xf7, 0x57, 0xdd, 0x8c, 0xa1, + 0x07, 0x1d, 0x57, 0x8d, 0x3e, 0x7b, 0x6d, 0x3e, 0x7b, 0x4d, 0x7e, 0xde, 0xfd, 0xb2, 0xe1, 0x6b, + 0x49, 0x21, 0x36, 0xb9, 0xd6, 0x9e, 0xef, 0xd4, 0x24, 0xf1, 0x94, 0xa4, 0x42, 0xf1, 0xf1, 0x7b, + 0x45, 0x14, 0x22, 0x1d, 0x3f, 0x5f, 0x05, 0x20, 0xc2, 0x51, 0x04, 0x60, 0x0f, 0xb0, 0x07, 0xd8, + 0xd3, 0x37, 0xec, 0xa1, 0x35, 0x20, 0x5a, 0x05, 0x1f, 0x4a, 0xd7, 0x21, 0xa0, 0x0f, 0xd0, 0x07, + 0xe8, 0xd3, 0x56, 0xf4, 0xa9, 0xe3, 0xd8, 0x95, 0x2a, 0xbf, 0xc1, 0xb9, 0x2b, 0xab, 0xf5, 0xe7, + 0xae, 0x72, 0x3a, 0xec, 0x3e, 0x5d, 0xba, 0xb2, 0x78, 0xe5, 0xee, 0xe9, 0x23, 0x2e, 0x9d, 0xb4, + 0x3a, 0x0b, 0xe3, 0xe4, 0x6c, 0xf5, 0x01, 0x0d, 0xa8, 0x5a, 0xf0, 0x64, 0x5a, 0x12, 0x96, 0xbc, + 0xd9, 0xa3, 0xd0, 0x97, 0x2e, 0xe1, 0xf4, 0x43, 0xce, 0x52, 0x5f, 0x4a, 0x0e, 0xa0, 0x1c, 0x76, + 0x42, 0x39, 0xa4, 0x97, 0x1e, 0x10, 0x3d, 0xc0, 0xea, 0x52, 0x35, 0x94, 0x8c, 0xed, 0xf4, 0x22, + 0xf0, 0x58, 0xfe, 0x20, 0x94, 0x41, 0xad, 0x58, 0x51, 0xaf, 0x7f, 0x9a, 0x2c, 0x63, 0xc0, 0x11, + 0xe0, 0xa8, 0x5f, 0x70, 0xf4, 0x2d, 0x0c, 0x7d, 0xe1, 0x04, 0x14, 0x14, 0x3a, 0x34, 0x00, 0x49, + 0x7c, 0x27, 0x49, 0xcf, 0xd2, 0x73, 0x25, 0x39, 0x37, 0xd8, 0x43, 0x9e, 0x13, 0xf0, 0xd0, 0x87, + 0x3c, 0xe7, 0x40, 0xbe, 0x0a, 0xcf, 0x66, 0x72, 0xaa, 0xdc, 0x12, 0xdb, 0x6a, 0xbd, 0x61, 0x25, + 0xf0, 0x08, 0x4a, 0x20, 0x94, 0x40, 0x28, 0x81, 0xc6, 0xe7, 0x21, 0xfe, 0x92, 0x49, 0x22, 0x22, + 0x76, 0x68, 0x2a, 0x36, 0x0b, 0x4c, 0x02, 0x26, 0x01, 0x93, 0x80, 0x49, 0x3b, 0x9e, 0xf1, 0xef, + 0xb1, 0x90, 0xc1, 0x50, 0x1b, 0x6d, 0xda, 0x6e, 0x1e, 0x19, 0x54, 0x60, 0x14, 0x30, 0x0a, 0x18, + 0xb5, 0xe3, 0x19, 0x93, 0xc8, 0x19, 0x0c, 0xa4, 0x6b, 0x8f, 0xa2, 0x70, 0x24, 0xa2, 0xe4, 0x8d, + 0xa9, 0x8e, 0xac, 0xd8, 0x2c, 0x30, 0x09, 0x98, 0x04, 0x4c, 0x02, 0x26, 0xed, 0x78, 0xc6, 0x9f, + 0x4e, 0xe0, 0x69, 0x88, 0xe5, 0x8a, 0xcd, 0x22, 0x96, 0x03, 0x26, 0x01, 0x93, 0xfa, 0x85, 0x49, + 0x75, 0x54, 0x9a, 0x71, 0x30, 0x20, 0x54, 0x9d, 0x59, 0x1d, 0xac, 0x3a, 0x63, 0x0b, 0xd8, 0x75, + 0x16, 0x9e, 0x5d, 0x4e, 0x1f, 0xd2, 0xbc, 0xda, 0xb3, 0x17, 0xe7, 0xd5, 0x76, 0x7c, 0x3f, 0xfc, + 0x29, 0x3c, 0xdb, 0x0d, 0xe3, 0x44, 0x3d, 0xa7, 0x9b, 0xb3, 0x84, 0x6c, 0x6e, 0x6d, 0x5b, 0x3d, + 0xb2, 0xb9, 0x74, 0x9c, 0x53, 0xce, 0xe6, 0x2a, 0x37, 0xad, 0xce, 0x2d, 0x27, 0xc5, 0xa6, 0xd5, + 0xdd, 0x8d, 0xec, 0x19, 0x6f, 0x97, 0xea, 0x33, 0x9b, 0xe6, 0xbb, 0x3d, 0xaa, 0xad, 0xac, 0x5a, + 0xb9, 0x23, 0xd5, 0xba, 0x6f, 0x9d, 0x10, 0x4c, 0xd0, 0x3a, 0x54, 0xcd, 0xff, 0xf1, 0x5c, 0x7f, + 0xc9, 0x78, 0xbb, 0x1a, 0xef, 0x05, 0xc8, 0x4c, 0x1d, 0xac, 0x32, 0x7b, 0x8c, 0xbd, 0x95, 0x88, + 0xcb, 0x79, 0x3d, 0x0e, 0x30, 0x7e, 0x0a, 0xf8, 0x3b, 0x5d, 0x69, 0x9d, 0x95, 0x86, 0x6e, 0x55, + 0x7b, 0x34, 0x58, 0xfa, 0x63, 0x3a, 0x49, 0x8a, 0x43, 0xa4, 0x20, 0x25, 0x20, 0x25, 0x20, 0x25, + 0x20, 0x25, 0x20, 0x25, 0x20, 0x25, 0x20, 0x25, 0x75, 0x49, 0x32, 0xa6, 0x4b, 0xcf, 0x44, 0xc9, + 0xd3, 0xd2, 0x2c, 0x3a, 0x5f, 0x39, 0xaf, 0xa7, 0xd3, 0xa7, 0x3b, 0x9b, 0x3c, 0x9c, 0x61, 0x6a, + 0xb3, 0x27, 0x7c, 0xe7, 0x8d, 0x47, 0x6e, 0x9e, 0x9a, 0x82, 0xde, 0x5c, 0x1b, 0xef, 0x84, 0xde, + 0x4c, 0x07, 0x37, 0xe8, 0xcd, 0x08, 0xed, 0x10, 0xda, 0x21, 0xb4, 0x43, 0x68, 0x87, 0xd0, 0x0e, + 0xa1, 0x1d, 0x42, 0x3b, 0xe3, 0x42, 0x3b, 0xe8, 0xcd, 0x20, 0x25, 0x20, 0x25, 0x20, 0x25, 0x20, + 0x25, 0x20, 0x25, 0x20, 0x25, 0x20, 0x25, 0x46, 0x90, 0x12, 0xe8, 0xcd, 0x04, 0xcd, 0xd3, 0xaa, + 0x4d, 0x70, 0xfe, 0x92, 0x3e, 0x9d, 0x61, 0x8a, 0xf3, 0x73, 0x38, 0x8a, 0x79, 0x04, 0xe7, 0xd4, + 0x12, 0xf4, 0xe6, 0xda, 0x78, 0x27, 0xf4, 0x66, 0x3a, 0xb8, 0x41, 0x6f, 0x46, 0x68, 0x87, 0xd0, + 0x0e, 0xa1, 0x1d, 0x42, 0x3b, 0x84, 0x76, 0x08, 0xed, 0x10, 0xda, 0x19, 0x17, 0xda, 0x41, 0x6f, + 0x06, 0x29, 0x01, 0x29, 0x01, 0x29, 0x01, 0x29, 0x01, 0x29, 0x01, 0x29, 0x01, 0x29, 0x31, 0x82, + 0x94, 0x40, 0x6f, 0x56, 0x97, 0x3c, 0xad, 0xda, 0xe4, 0xe6, 0x3f, 0x26, 0x0f, 0x67, 0x80, 0xda, + 0x1c, 0xc9, 0xf8, 0xbb, 0xbd, 0xb8, 0x82, 0x86, 0xeb, 0xba, 0x84, 0xed, 0x66, 0xa1, 0x43, 0xd7, + 0xc6, 0x47, 0xa1, 0x43, 0xd3, 0x41, 0x4f, 0x59, 0x87, 0x4e, 0xbd, 0x60, 0x75, 0xed, 0x33, 0xb5, + 0xd7, 0xdc, 0x68, 0x19, 0x21, 0x21, 0xba, 0xd9, 0x31, 0xb8, 0x24, 0xba, 0xd9, 0x75, 0xbb, 0xc3, + 0x66, 0x8a, 0x1f, 0xd2, 0x13, 0x41, 0x22, 0x07, 0x52, 0x44, 0xb6, 0x2f, 0x15, 0x1a, 0x69, 0x15, + 0xa3, 0xd2, 0xba, 0x55, 0x20, 0x12, 0x10, 0x09, 0x88, 0xd4, 0x66, 0x44, 0x52, 0x1c, 0x01, 0x52, + 0xef, 0xca, 0x65, 0x11, 0x6a, 0xa9, 0xfd, 0x24, 0x71, 0xdd, 0xcf, 0x87, 0xf4, 0x90, 0xba, 0xde, + 0x99, 0x1c, 0x71, 0xdd, 0x19, 0x5f, 0x64, 0x60, 0x8b, 0xf9, 0xdb, 0x32, 0xc8, 0x47, 0xdc, 0x6e, + 0x99, 0x73, 0xcd, 0xc3, 0xbd, 0x86, 0xe4, 0x14, 0x82, 0xb8, 0xc6, 0xd2, 0xd1, 0x34, 0x33, 0x46, + 0xea, 0x6c, 0x6a, 0xaa, 0xcc, 0x33, 0x6b, 0x61, 0xcb, 0x14, 0x65, 0xa0, 0x8b, 0x6d, 0x17, 0xa5, + 0x36, 0x4e, 0x89, 0x47, 0xb7, 0xee, 0x76, 0x27, 0xe3, 0xef, 0x5f, 0xe6, 0x8f, 0x6a, 0x5e, 0x4b, + 0xdb, 0xc9, 0xe8, 0x0a, 0x3b, 0xfc, 0xf6, 0x57, 0xfa, 0x26, 0xc2, 0x1e, 0x8c, 0x03, 0x57, 0x69, + 0xe2, 0x17, 0x4c, 0x7c, 0x93, 0x45, 0xdc, 0x67, 0x0c, 0xe9, 0xad, 0x57, 0xf7, 0x19, 0x33, 0x79, + 0x82, 0xd5, 0xa5, 0x6b, 0xd6, 0x93, 0xd0, 0x17, 0x91, 0xf3, 0xcd, 0x17, 0xb6, 0x7c, 0x19, 0x39, + 0x2e, 0xa1, 0x85, 0x76, 0xce, 0x12, 0xf0, 0x05, 0xf8, 0xd2, 0x2b, 0x7c, 0x19, 0x46, 0x8e, 0x27, + 0x62, 0x3b, 0x1c, 0xa8, 0x79, 0xc0, 0x0a, 0xae, 0x28, 0xa4, 0xcd, 0xf7, 0x2e, 0x52, 0xb9, 0x2d, + 0x79, 0xfb, 0xdd, 0x89, 0x19, 0xf2, 0x0a, 0xff, 0xbc, 0x3b, 0xfd, 0x72, 0x7e, 0xff, 0x74, 0xf3, + 0xf5, 0xe9, 0xe2, 0xea, 0xf6, 0xf4, 0xec, 0x41, 0x75, 0x45, 0xa5, 0xb5, 0x01, 0x31, 0xa9, 0x88, + 0x85, 0x29, 0xd4, 0x5f, 0x7f, 0xa3, 0xa7, 0xab, 0x8b, 0xeb, 0x9b, 0xbb, 0xf9, 0xeb, 0x35, 0x11, + 0x7f, 0xea, 0x7a, 0xb1, 0x3f, 0x2e, 0x1e, 0x2e, 0xcf, 0xef, 0xef, 0x3b, 0xf5, 0x4e, 0x57, 0xa7, + 0xff, 0xd3, 0xcd, 0xc9, 0xba, 0xbc, 0xb9, 0xfe, 0x27, 0xfd, 0xbd, 0x94, 0x3e, 0xf9, 0xa8, 0x1b, + 0x83, 0xdf, 0xf1, 0xfe, 0x65, 0xc9, 0xd9, 0x53, 0x0d, 0x98, 0x75, 0x07, 0xca, 0x15, 0x20, 0x54, + 0x63, 0x08, 0x5c, 0x6e, 0x91, 0xed, 0x9e, 0x90, 0x12, 0x93, 0xb1, 0x37, 0x97, 0xea, 0x97, 0x07, + 0xa1, 0xec, 0x8c, 0x2c, 0x31, 0xcb, 0xbc, 0x91, 0x92, 0x0b, 0xa1, 0x5a, 0xbd, 0x48, 0x65, 0x32, + 0xa9, 0x42, 0x22, 0x57, 0xc9, 0xe3, 0xf2, 0xca, 0xa9, 0xb2, 0x3c, 0x14, 0x09, 0x23, 0x99, 0x28, + 0x92, 0x09, 0x62, 0x9e, 0x18, 0xae, 0x0c, 0x41, 0x43, 0x80, 0x51, 0xb5, 0xae, 0x63, 0xcf, 0xf9, + 0x11, 0x4a, 0x6f, 0x91, 0x89, 0x52, 0x8e, 0x9a, 0xd6, 0xec, 0x20, 0x66, 0x42, 0xcc, 0xd4, 0xab, + 0x98, 0x69, 0x3c, 0x96, 0x1e, 0x25, 0x4e, 0x3a, 0x31, 0x40, 0x43, 0x59, 0x6c, 0x4b, 0xf6, 0x4f, + 0x21, 0x87, 0xcf, 0x04, 0x11, 0x25, 0x6f, 0x0a, 0x88, 0x00, 0x44, 0xe8, 0x17, 0x22, 0xa8, 0x1e, 0xbc, 0x21, 0x1c, 0xb8, 0x21, 0x1e, 0xb4, 0xa1, 0xd5, 0x34, 0x30, 0xd4, 0xf0, 0xb0, 0x9c, 0xe6, - 0xe0, 0x3a, 0x48, 0xc3, 0x79, 0x54, 0x83, 0x98, 0xdb, 0x37, 0x6e, 0x69, 0xf9, 0x0f, 0xc8, 0xb0, - 0xae, 0x76, 0x4d, 0x15, 0x0b, 0x0f, 0x06, 0x18, 0x6d, 0xf1, 0xea, 0xfa, 0x23, 0x4f, 0xd8, 0xbe, - 0x0c, 0x7e, 0xaa, 0xdb, 0xeb, 0x25, 0x29, 0x30, 0xd5, 0x30, 0xd5, 0x70, 0xde, 0x5b, 0xe6, 0xbc, - 0xcf, 0x34, 0x38, 0x08, 0x3d, 0x41, 0xc7, 0x81, 0x54, 0x0a, 0x70, 0x00, 0x38, 0x00, 0x1c, 0x68, - 0x31, 0x0e, 0xd8, 0xc2, 0x1b, 0x08, 0x7b, 0x18, 0x56, 0x61, 0xab, 0x37, 0x42, 0xc2, 0xa2, 0x40, - 0xa0, 0x03, 0xd0, 0x01, 0xe8, 0xd0, 0x52, 0x74, 0x98, 0xa6, 0x06, 0x89, 0x90, 0x90, 0x4a, 0x01, - 0x0e, 0x00, 0x07, 0x80, 0x03, 0x2d, 0xc3, 0x01, 0x19, 0x70, 0xb0, 0x06, 0x4b, 0x52, 0x80, 0x03, - 0xc0, 0x01, 0xe0, 0x40, 0x4b, 0x71, 0x80, 0xc6, 0x1a, 0x2c, 0x49, 0x01, 0x0e, 0x00, 0x07, 0x80, - 0x03, 0x2d, 0xc6, 0x01, 0x16, 0xd6, 0x60, 0x9d, 0x40, 0xa0, 0x03, 0xd0, 0x01, 0xe8, 0xd0, 0x52, - 0x74, 0xa0, 0xb1, 0x06, 0x4b, 0x52, 0x80, 0x03, 0xc0, 0x01, 0xe0, 0x40, 0x4b, 0x71, 0x80, 0x5e, - 0x2e, 0x9c, 0x93, 0x04, 0x3c, 0x00, 0x1e, 0x00, 0x0f, 0x5a, 0x86, 0x07, 0x7e, 0xe8, 0x3a, 0xbe, - 0x2d, 0x3d, 0x75, 0x1c, 0xc8, 0x24, 0x74, 0x45, 0xff, 0x27, 0xa7, 0xb0, 0xa0, 0xf5, 0x6b, 0x4e, - 0xd0, 0xa4, 0x8b, 0xb3, 0x73, 0xba, 0xae, 0xdc, 0xee, 0xcc, 0x28, 0x6d, 0x57, 0x6a, 0xf3, 0x9a, - 0xad, 0x81, 0x4a, 0x93, 0xa5, 0xd6, 0x76, 0x49, 0x86, 0x96, 0xb7, 0x4e, 0xcb, 0x95, 0x3b, 0x22, - 0x63, 0xfc, 0x8d, 0x86, 0xce, 0xa2, 0xca, 0x0a, 0xc4, 0xa5, 0x48, 0xec, 0x0a, 0xc5, 0xae, 0x58, - 0xfc, 0x0a, 0xa6, 0xa6, 0x68, 0x8a, 0x0a, 0x47, 0x37, 0xaf, 0x7c, 0x66, 0x96, 0x68, 0x6e, 0xd5, - 0xd7, 0x4d, 0x79, 0xdc, 0x16, 0x53, 0xcf, 0xf5, 0x05, 0x59, 0x40, 0x1e, 0x20, 0x0f, 0x90, 0xa7, - 0x3b, 0xc8, 0x53, 0x47, 0xb3, 0x55, 0x65, 0x78, 0x41, 0x7b, 0x55, 0xab, 0xed, 0xed, 0x55, 0x0b, - 0x9a, 0x9d, 0xbc, 0x57, 0x34, 0x34, 0x7c, 0x3d, 0x64, 0xee, 0xa7, 0x37, 0xb5, 0xd0, 0x47, 0x35, - 0x55, 0x61, 0x03, 0xa2, 0xeb, 0x31, 0xc4, 0x8b, 0x28, 0x12, 0x9e, 0x9d, 0x44, 0x4e, 0x10, 0x0f, - 0xc3, 0x28, 0xb1, 0x7d, 0xe7, 0x4d, 0x44, 0xea, 0x21, 0xf7, 0x7a, 0x91, 0x60, 0xdb, 0x11, 0x91, - 0x77, 0x8a, 0x6d, 0x4f, 0xb7, 0xbd, 0x3d, 0x8c, 0xc2, 0x24, 0x74, 0x43, 0x5f, 0xd5, 0xe3, 0x35, - 0xbb, 0x5b, 0x2a, 0x6b, 0x23, 0xa1, 0xa9, 0x05, 0xaf, 0xc8, 0xcf, 0xab, 0xd9, 0x6d, 0x92, 0xbd, - 0x26, 0xd9, 0x69, 0x35, 0xfb, 0xdc, 0xaa, 0xee, 0x6d, 0xea, 0x4d, 0xc7, 0x74, 0x9b, 0xde, 0x3a, - 0xfb, 0xb7, 0xa5, 0xd9, 0xb6, 0xca, 0x0d, 0xdb, 0x2a, 0xe4, 0xe8, 0x2a, 0xda, 0xc8, 0x46, 0x3a, - 0xb4, 0x55, 0x0c, 0x6c, 0x77, 0xab, 0x37, 0x5b, 0xb5, 0xc0, 0x94, 0x17, 0x4c, 0x2b, 0xdb, 0x2f, - 0xd5, 0x2c, 0x71, 0xc5, 0x30, 0xb2, 0x84, 0x6e, 0xed, 0x11, 0x9e, 0x7f, 0x66, 0x44, 0x4a, 0x3c, - 0x44, 0x35, 0xc3, 0xa1, 0x64, 0x30, 0x94, 0x0c, 0x45, 0x35, 0x03, 0xb1, 0x6d, 0x3d, 0x2a, 0x1a, - 0x04, 0x56, 0x43, 0x50, 0x62, 0x17, 0xb1, 0x81, 0xfd, 0x66, 0x3d, 0x5b, 0xbf, 0xa7, 0x8a, 0x7f, - 0xb3, 0x66, 0x55, 0xcb, 0xae, 0xa6, 0xea, 0x2a, 0x6e, 0x58, 0x30, 0xa5, 0x85, 0x2a, 0x5e, 0x94, - 0xfc, 0x23, 0x17, 0x3c, 0xee, 0xe6, 0xd4, 0x6b, 0x99, 0x14, 0xeb, 0x96, 0x54, 0xea, 0x56, 0x73, - 0x54, 0xc6, 0xfc, 0x54, 0x34, 0x37, 0x65, 0xcd, 0x4b, 0x65, 0x73, 0x52, 0xd9, 0x7c, 0x54, 0x37, - 0x17, 0xd5, 0x36, 0xea, 0xb6, 0xd4, 0x62, 0xc9, 0x14, 0x62, 0xa5, 0x54, 0x61, 0x49, 0x7f, 0xa4, - 0xb4, 0x1f, 0x52, 0xc5, 0xff, 0x50, 0xf4, 0x3b, 0xaa, 0xfa, 0x1b, 0xca, 0x7e, 0x86, 0xb2, 0x7f, - 0xa1, 0xee, 0x57, 0xd0, 0xec, 0x68, 0x69, 0xff, 0xa1, 0x3a, 0x21, 0x5d, 0xd2, 0x63, 0xd8, 0x80, - 0xd9, 0xef, 0xb6, 0xec, 0xeb, 0x72, 0xa9, 0xaa, 0xea, 0x29, 0x29, 0xec, 0x70, 0xec, 0xf0, 0x7a, - 0x76, 0x78, 0x25, 0xb0, 0x2f, 0x9b, 0xfa, 0x28, 0xe7, 0xf1, 0x56, 0xf2, 0x74, 0x2b, 0x79, 0xb8, - 0xe5, 0x3c, 0xdb, 0x1a, 0x7c, 0xaf, 0x2d, 0xaa, 0xbe, 0xdd, 0xd7, 0x5a, 0xcf, 0xe0, 0x97, 0x73, - 0xae, 0x56, 0xd9, 0xcf, 0xcc, 0x01, 0xdc, 0xea, 0x70, 0xad, 0xfd, 0xa6, 0x29, 0x4e, 0x58, 0x05, - 0xfe, 0xdb, 0x64, 0x77, 0xac, 0x3c, 0x3f, 0xcd, 0xec, 0x98, 0x95, 0x3a, 0xf0, 0xb4, 0xb4, 0x1d, - 0x4a, 0x1a, 0xad, 0x5e, 0x59, 0xa3, 0xf5, 0x41, 0x97, 0xd1, 0x52, 0x48, 0x8d, 0xb4, 0xd1, 0x7c, - 0x55, 0x4f, 0x6d, 0xd0, 0x0c, 0x59, 0xd9, 0x32, 0xc2, 0x7d, 0x4f, 0x46, 0xa2, 0xda, 0x44, 0xc4, - 0xec, 0xfd, 0xcd, 0xbf, 0xaa, 0x99, 0x9b, 0xfc, 0x50, 0x17, 0x37, 0x49, 0xc8, 0xd3, 0xed, 0x12, - 0x4b, 0xa9, 0x9e, 0x87, 0x33, 0x85, 0xaf, 0xec, 0x87, 0xd1, 0x8b, 0x13, 0x79, 0x32, 0x18, 0xd8, - 0x55, 0x77, 0xa9, 0x6a, 0x82, 0xad, 0x62, 0x62, 0x8d, 0x27, 0x9f, 0x50, 0x94, 0x4f, 0xac, 0xac, - 0xc7, 0xea, 0x49, 0x49, 0x68, 0x34, 0x34, 0xba, 0x26, 0x8d, 0xa6, 0x65, 0xce, 0xdb, 0xa3, 0xd0, - 0x55, 0x1a, 0x61, 0xcd, 0x17, 0xa7, 0x7c, 0xe3, 0x2b, 0xe5, 0x11, 0x4e, 0x50, 0xd9, 0x6e, 0xaa, - 0x6c, 0xe5, 0x51, 0x4e, 0xe3, 0xcd, 0x68, 0x57, 0x4a, 0x74, 0x17, 0xee, 0x67, 0x5b, 0xe1, 0x64, - 0x6a, 0x7b, 0x2b, 0xc4, 0x14, 0x0f, 0xa0, 0x5b, 0x1d, 0xa9, 0x0c, 0xcb, 0x96, 0x67, 0xf7, 0x2a, - 0xc2, 0x84, 0xd3, 0x8f, 0x44, 0x9f, 0x52, 0x05, 0x76, 0xa4, 0xf0, 0xdd, 0x9b, 0x02, 0x2a, 0xec, - 0xf3, 0x8c, 0x0a, 0x5b, 0x5a, 0xf2, 0xcf, 0x8b, 0x95, 0x3b, 0x1b, 0x7e, 0xbd, 0xf2, 0xf1, 0x58, - 0x85, 0x57, 0x3e, 0x4a, 0x15, 0xda, 0x88, 0x19, 0xdd, 0xd3, 0x07, 0xa2, 0x81, 0xd4, 0xb2, 0x18, - 0x00, 0x15, 0x80, 0x0a, 0x40, 0xd5, 0x42, 0xa0, 0xd2, 0x8a, 0x4a, 0x3a, 0x6a, 0x61, 0x97, 0x70, - 0xc7, 0xaa, 0xea, 0x2a, 0xb1, 0x94, 0xc6, 0x2a, 0x22, 0x66, 0xaf, 0x2a, 0x4a, 0x12, 0x00, 0x63, - 0x11, 0x2c, 0x9e, 0x64, 0x60, 0x8b, 0xd9, 0xdd, 0x2b, 0xec, 0x41, 0x0e, 0xb8, 0x58, 0x82, 0x8a, - 0x9e, 0x09, 0x66, 0xb0, 0x93, 0x05, 0xcb, 0xeb, 0x52, 0x65, 0xe9, 0x2f, 0xde, 0x57, 0x6c, 0x20, - 0xbd, 0x3d, 0x27, 0x38, 0x46, 0xaf, 0xd3, 0xf9, 0xd5, 0x16, 0x3f, 0x7e, 0xbc, 0x1c, 0x5f, 0xac, - 0x46, 0x6a, 0x41, 0x8d, 0x1c, 0x54, 0x60, 0x03, 0x7b, 0xa8, 0x3d, 0x46, 0xed, 0x31, 0x99, 0x46, - 0x50, 0xeb, 0x67, 0x41, 0xea, 0x63, 0x81, 0x76, 0x4e, 0x3b, 0xe9, 0x93, 0xa3, 0x9d, 0xd3, 0x3a, - 0xa0, 0x36, 0xa1, 0x9d, 0x13, 0xa1, 0x8f, 0x04, 0xbd, 0x7f, 0x04, 0x34, 0x1e, 0x1a, 0x0f, 0x8d, - 0x37, 0x35, 0xd2, 0xad, 0xac, 0xd6, 0x38, 0xf7, 0x69, 0x44, 0x18, 0x55, 0x35, 0x39, 0x4b, 0x0a, - 0xa3, 0xca, 0x37, 0x4e, 0xe0, 0x09, 0xa3, 0xa2, 0x70, 0x94, 0xc8, 0x60, 0xb0, 0x78, 0x8e, 0xb5, - 0x72, 0x50, 0x55, 0x20, 0x03, 0xd9, 0x5b, 0x64, 0x6f, 0x4d, 0x08, 0xbb, 0xdc, 0x30, 0x4e, 0x6c, - 0xf7, 0x87, 0x13, 0x39, 0x6e, 0x22, 0x22, 0x19, 0x27, 0xd2, 0x55, 0xf7, 0xcb, 0x8a, 0x84, 0x75, - 0xa5, 0xf7, 0x26, 0x7a, 0x7e, 0x68, 0x56, 0x94, 0x7a, 0x9c, 0x36, 0xe5, 0x7e, 0x9c, 0xe9, 0xde, - 0x77, 0xfc, 0x41, 0x18, 0xc9, 0xe4, 0xc7, 0x13, 0xbd, 0x47, 0xde, 0x8a, 0x3c, 0xf4, 0xc9, 0x23, - 0xe7, 0x23, 0xb9, 0xd4, 0x8c, 0x5d, 0xdd, 0xd8, 0xd5, 0x6e, 0xbd, 0xfa, 0xa9, 0xe7, 0x2b, 0xd5, - 0xd4, 0x4f, 0x51, 0x0d, 0xe9, 0x31, 0x14, 0x5f, 0x2c, 0x45, 0x8c, 0xa9, 0xd4, 0xd7, 0x4d, 0xa5, - 0x4b, 0x67, 0x8a, 0x1a, 0x3c, 0x4d, 0x3a, 0xe7, 0xa2, 0x80, 0x3d, 0xc0, 0x1e, 0x60, 0x0f, 0xb0, - 0xa7, 0x0c, 0xf6, 0x30, 0xb5, 0x25, 0x5f, 0x90, 0x05, 0xf4, 0x01, 0xfa, 0x00, 0x7d, 0xba, 0x85, - 0x3e, 0x75, 0x74, 0x09, 0x56, 0xf5, 0x6f, 0xd0, 0x24, 0xd8, 0x32, 0xb3, 0x49, 0xf0, 0x66, 0x92, - 0x3a, 0xcf, 0xc1, 0xbe, 0xa7, 0xd3, 0x55, 0x16, 0x99, 0xce, 0xbe, 0x9d, 0xdc, 0xd6, 0x42, 0x67, - 0xe0, 0xd3, 0x30, 0x4e, 0x4e, 0x97, 0x6f, 0xca, 0x80, 0xb4, 0xad, 0x27, 0x9f, 0x45, 0x14, 0xcb, - 0xe4, 0xcd, 0x1e, 0x86, 0xbe, 0x74, 0x09, 0x33, 0xf8, 0x72, 0x92, 0xd0, 0x15, 0x18, 0x0c, 0x61, - 0xa7, 0xba, 0x02, 0x13, 0x35, 0xc0, 0x32, 0xbe, 0x25, 0x70, 0x95, 0xd9, 0x9e, 0xb1, 0x2d, 0x5e, - 0x5d, 0x7f, 0x14, 0xcb, 0x67, 0x42, 0x41, 0xc8, 0x92, 0x94, 0xaa, 0x8c, 0xaf, 0xe8, 0x3b, 0x23, - 0x7f, 0xb2, 0xff, 0xa2, 0x0e, 0xd5, 0x90, 0x01, 0x8e, 0x00, 0x47, 0xe9, 0x6e, 0xf8, 0x1e, 0x86, - 0xbe, 0x70, 0x02, 0x0a, 0x0a, 0xf5, 0x4c, 0x98, 0x0a, 0xea, 0x24, 0x22, 0x70, 0xdf, 0xd8, 0x92, - 0x99, 0x6b, 0xe4, 0x21, 0x9f, 0x09, 0x78, 0xe8, 0x42, 0x3e, 0xb3, 0x2f, 0x5f, 0x85, 0x67, 0x33, - 0x29, 0x55, 0x6e, 0x8b, 0x6d, 0x94, 0xde, 0x30, 0xe3, 0xf7, 0x01, 0x8c, 0x1f, 0x18, 0x3f, 0x30, - 0x7e, 0xc6, 0xe7, 0x1b, 0xfe, 0x96, 0x49, 0x22, 0x22, 0x76, 0x68, 0x2a, 0x16, 0x0b, 0x4c, 0x02, - 0x26, 0x01, 0x93, 0x80, 0x49, 0x5b, 0xee, 0xf1, 0x9f, 0x91, 0x90, 0xc1, 0x40, 0x9b, 0xdb, 0xb4, - 0x59, 0x3c, 0x32, 0xa5, 0xc0, 0x28, 0x60, 0x14, 0x30, 0x6a, 0xcb, 0x3d, 0x26, 0x91, 0xd3, 0xef, - 0x4b, 0xd7, 0x1e, 0x46, 0xe1, 0x50, 0x44, 0xc9, 0x1b, 0x53, 0xbd, 0x58, 0xb1, 0x58, 0x60, 0x12, - 0x30, 0x09, 0x98, 0x04, 0x4c, 0xda, 0x72, 0x8f, 0x2f, 0x4e, 0xe0, 0x69, 0x88, 0xe5, 0x8a, 0xc5, - 0x22, 0x96, 0x03, 0x26, 0x01, 0x93, 0xba, 0x85, 0x49, 0x75, 0x54, 0x94, 0x71, 0x78, 0x40, 0xa8, - 0x2e, 0xb3, 0x76, 0xa4, 0xba, 0x8c, 0x2d, 0x48, 0xe7, 0x2e, 0x30, 0xbb, 0x9c, 0xdc, 0x98, 0x79, - 0x35, 0x66, 0x4f, 0xce, 0xab, 0xed, 0xf8, 0x7e, 0xf8, 0x22, 0x3c, 0xdb, 0x0d, 0xe3, 0x44, 0x3d, - 0x77, 0x9b, 0x93, 0x84, 0xac, 0x6d, 0x6d, 0x26, 0x1d, 0x59, 0x5b, 0x3a, 0x9e, 0x29, 0x67, 0x6d, - 0x87, 0x91, 0x0c, 0x23, 0x99, 0xbc, 0xd1, 0x5d, 0xe7, 0x4c, 0x12, 0x22, 0x78, 0x36, 0xd5, 0x82, - 0xd7, 0xcc, 0xa1, 0x7a, 0x6d, 0xf7, 0x9e, 0x47, 0x32, 0x48, 0x3e, 0x1d, 0x32, 0x78, 0xcf, 0xc7, - 0x04, 0x11, 0xb7, 0x4e, 0x30, 0x18, 0xdf, 0xcd, 0x7f, 0x48, 0xaf, 0x97, 0xb6, 0x7d, 0x67, 0x1e, - 0x2b, 0x59, 0x0f, 0x98, 0x40, 0x27, 0x27, 0xee, 0xcf, 0xe9, 0x61, 0x36, 0x2e, 0x79, 0x5f, 0xc6, - 0x0e, 0x97, 0x0c, 0x83, 0x33, 0x39, 0x90, 0xa9, 0x6f, 0x7d, 0x40, 0x96, 0xfb, 0xeb, 0x1d, 0xc3, - 0x2b, 0x70, 0x5e, 0x8d, 0x7f, 0x05, 0xbd, 0xe3, 0xc3, 0xc3, 0x4f, 0x47, 0x87, 0x87, 0x07, 0x47, - 0xff, 0x3a, 0x3a, 0xf8, 0xf7, 0xc7, 0x8f, 0xbd, 0x4f, 0xbd, 0x8f, 0x06, 0xbf, 0x95, 0xbd, 0x66, - 0xbe, 0xfd, 0x60, 0x30, 0xc5, 0xc7, 0x74, 0x32, 0x14, 0x87, 0x42, 0xe1, 0x94, 0xc0, 0x29, 0x81, - 0x53, 0x02, 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x38, 0x25, 0x75, 0x51, 0x32, 0x26, 0x52, 0xcc, - 0x44, 0x9a, 0xd3, 0xd2, 0x40, 0x2e, 0x7f, 0x75, 0x5e, 0x4f, 0x26, 0x77, 0x74, 0x3a, 0xbe, 0x21, - 0xc3, 0x58, 0x65, 0x4f, 0xf8, 0xce, 0x1b, 0x0f, 0xad, 0x3c, 0x11, 0x05, 0x5e, 0xb9, 0x36, 0xff, - 0x12, 0xbc, 0x32, 0x1d, 0xc4, 0xc0, 0x2b, 0x23, 0x84, 0x43, 0x08, 0x87, 0x10, 0x0e, 0x21, 0x1c, - 0x42, 0x38, 0x84, 0x70, 0x08, 0xe1, 0x8c, 0x0b, 0xe1, 0xc0, 0x2b, 0xc3, 0x29, 0x81, 0x53, 0x02, - 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x38, 0x25, 0x70, 0x4a, 0x8c, 0x70, 0x4a, 0x3a, 0xcd, 0x2b, - 0xab, 0xf0, 0x9c, 0x96, 0x56, 0x62, 0xf9, 0x2c, 0xbd, 0x23, 0xc3, 0x98, 0xe5, 0x1f, 0xe1, 0x30, - 0xe6, 0x21, 0x96, 0x53, 0x49, 0xe0, 0x95, 0x6b, 0xf3, 0x2f, 0xc1, 0x2b, 0xd3, 0x41, 0x0c, 0xbc, - 0x32, 0x42, 0x38, 0x84, 0x70, 0x08, 0xe1, 0x10, 0xc2, 0x21, 0x84, 0x43, 0x08, 0x87, 0x10, 0xce, - 0xb8, 0x10, 0x0e, 0xbc, 0x32, 0x9c, 0x12, 0x38, 0x25, 0x70, 0x4a, 0xe0, 0x94, 0xc0, 0x29, 0x81, - 0x53, 0x02, 0xa7, 0xc4, 0x08, 0xa7, 0xa4, 0xd3, 0xbc, 0xb2, 0x02, 0xcd, 0x69, 0x69, 0xa5, 0x95, - 0xff, 0x18, 0xdf, 0x90, 0x01, 0xac, 0x72, 0x24, 0xe3, 0x9f, 0xf6, 0x7c, 0x44, 0x0c, 0xd7, 0x38, - 0x83, 0xcd, 0x62, 0xc1, 0x37, 0xd7, 0xe6, 0x77, 0x82, 0x6f, 0xa6, 0x83, 0x9b, 0x32, 0xdf, 0x9c, - 0x6a, 0xc1, 0xf2, 0xde, 0x67, 0x6a, 0x7f, 0xb9, 0x56, 0x32, 0x42, 0x3f, 0x74, 0x9b, 0x63, 0x50, - 0x49, 0x74, 0x9b, 0xdb, 0xed, 0x0e, 0x98, 0x29, 0x7e, 0x48, 0x4f, 0x04, 0x89, 0xec, 0x4b, 0x11, - 0xd9, 0xbe, 0x54, 0x68, 0x80, 0x55, 0x8c, 0x4a, 0xab, 0x52, 0x81, 0x48, 0x40, 0x24, 0x20, 0x52, - 0x9b, 0x11, 0x49, 0x71, 0x05, 0x48, 0xbd, 0x25, 0x17, 0xc9, 0xa6, 0x85, 0xf6, 0x90, 0xc4, 0x7d, - 0x3f, 0x5b, 0xd2, 0x1e, 0x75, 0xbf, 0x33, 0x29, 0xe2, 0xaa, 0x32, 0x3e, 0xc9, 0xc0, 0x16, 0xb3, - 0xa7, 0x65, 0xa0, 0x89, 0xb8, 0xd5, 0x32, 0xa7, 0x9a, 0xbd, 0xfd, 0x86, 0x68, 0x13, 0x02, 0x89, - 0xc6, 0xd2, 0x71, 0x34, 0x13, 0x46, 0xea, 0x3c, 0x6a, 0x2a, 0x9d, 0x33, 0x6d, 0x31, 0xcb, 0x14, - 0x65, 0xa0, 0xcb, 0xec, 0xae, 0x50, 0x6a, 0x9c, 0xb4, 0x8e, 0x0e, 0x7e, 0xed, 0x56, 0xc6, 0x3f, - 0xcf, 0x66, 0xb7, 0x67, 0x5e, 0xcb, 0xd9, 0xf1, 0x8a, 0x0a, 0x3b, 0xfc, 0xfe, 0xb7, 0x70, 0x13, - 0xf9, 0x2c, 0xec, 0xfe, 0x28, 0x70, 0x95, 0x5e, 0xf0, 0xdc, 0xe3, 0x5e, 0x27, 0x11, 0x73, 0x85, - 0x41, 0xb1, 0x75, 0x6a, 0xae, 0x30, 0x93, 0x26, 0x58, 0xbb, 0x34, 0xee, 0x3c, 0x09, 0x7d, 0x11, - 0x39, 0xdf, 0x7d, 0x61, 0xcb, 0xa7, 0xa1, 0xe3, 0x12, 0x5a, 0x5c, 0xe7, 0x24, 0x01, 0x5f, 0x80, - 0x2f, 0x9d, 0xc2, 0x97, 0x41, 0xe4, 0x78, 0x22, 0xb6, 0xc3, 0xbe, 0x9a, 0x06, 0x2c, 0xe1, 0x8a, - 0x42, 0x1a, 0x7c, 0xff, 0x22, 0xa5, 0xd5, 0x92, 0xb7, 0xdf, 0x9c, 0x98, 0x21, 0x7f, 0xf0, 0xfb, - 0xed, 0xc9, 0xd9, 0xf9, 0xdd, 0xe3, 0xf5, 0x97, 0xc7, 0x8b, 0xaf, 0x37, 0x27, 0xa7, 0xf7, 0xaa, - 0x3b, 0x2a, 0xcd, 0xf5, 0xc7, 0xa4, 0xa2, 0x14, 0xa6, 0x90, 0x7e, 0xf5, 0x89, 0x1e, 0xbf, 0x9e, - 0xfc, 0xcf, 0xf5, 0xed, 0xec, 0xf1, 0x9a, 0x88, 0x33, 0x75, 0x3d, 0xd8, 0xe5, 0xf5, 0xd5, 0xef, - 0xbb, 0xf8, 0x5c, 0x7f, 0x5c, 0xdc, 0x5f, 0x9e, 0xdf, 0xdd, 0xed, 0xd4, 0x33, 0x7d, 0xbd, 0xb8, - 0xe2, 0xd8, 0x84, 0x4a, 0xdf, 0x7c, 0xd0, 0x8d, 0xc1, 0x7b, 0xbc, 0x7f, 0x59, 0xf2, 0xf5, 0xa9, - 0x06, 0xc6, 0x3a, 0x02, 0xe2, 0x0a, 0xb0, 0xc9, 0x1c, 0xea, 0x96, 0xdb, 0x4c, 0xdb, 0x17, 0xbe, - 0xc4, 0xa2, 0xef, 0x8f, 0x46, 0xd2, 0x2b, 0xbd, 0xd4, 0xf3, 0x9a, 0xc9, 0xf1, 0xb7, 0x4a, 0xbe, - 0xd2, 0x6a, 0xee, 0x61, 0x65, 0xb7, 0x50, 0xc5, 0x1d, 0x5c, 0x76, 0x03, 0x27, 0xfb, 0xa4, 0xca, - 0xeb, 0x56, 0x74, 0xfa, 0xc8, 0xce, 0x1e, 0xd9, 0xc9, 0xcb, 0x3b, 0x77, 0xd3, 0x87, 0x6f, 0x48, - 0xdd, 0x2b, 0xbb, 0x6e, 0x2a, 0x3b, 0xd0, 0xaa, 0x9e, 0x26, 0x29, 0xa1, 0x5b, 0x7b, 0x84, 0xe7, - 0x9f, 0x71, 0xb0, 0x25, 0x1e, 0xa2, 0x1a, 0xbf, 0xaa, 0xc4, 0xa7, 0x2a, 0xf1, 0xa7, 0xd5, 0xf8, - 0xd2, 0x6d, 0xeb, 0x51, 0x11, 0xf6, 0xc9, 0x70, 0x5f, 0x62, 0xe7, 0x90, 0x30, 0x7d, 0xb3, 0x3e, - 0xad, 0xdf, 0x3b, 0x1b, 0xd6, 0x69, 0x3f, 0x7b, 0x20, 0x3b, 0x16, 0xd1, 0xb3, 0x2c, 0x81, 0x3f, - 0xf3, 0x13, 0xad, 0xb9, 0xaf, 0x6e, 0xdb, 0x9f, 0xa5, 0xaa, 0xf2, 0x4a, 0x63, 0x75, 0x15, 0x8c, - 0x26, 0x87, 0xe8, 0x55, 0xd1, 0x59, 0x19, 0x95, 0x95, 0xd1, 0x98, 0x23, 0xc4, 0xa6, 0xe1, 0x4f, - 0xd9, 0xaa, 0xb7, 0x7d, 0x4f, 0x46, 0xa2, 0x1a, 0x8d, 0x9d, 0xbd, 0xbf, 0xf9, 0x57, 0x77, 0xc5, - 0x51, 0x20, 0xf0, 0x45, 0xbb, 0xe4, 0x32, 0xa8, 0xf3, 0x41, 0xa6, 0x38, 0x0f, 0xfd, 0x30, 0x7a, - 0x71, 0x22, 0x6f, 0xec, 0xef, 0x57, 0xdd, 0xa5, 0xaa, 0x1c, 0x72, 0x45, 0xee, 0x98, 0xc7, 0xb9, - 0x17, 0x81, 0x67, 0x0f, 0x43, 0x19, 0x24, 0xd5, 0xb5, 0x77, 0xfe, 0xd5, 0x6a, 0xda, 0xdb, 0x83, - 0xf6, 0x42, 0x7b, 0xcb, 0xdc, 0x58, 0xd5, 0xc2, 0xeb, 0x7d, 0xd7, 0x19, 0x3a, 0xae, 0x4a, 0x83, - 0x8f, 0x6c, 0x1b, 0x64, 0x12, 0x70, 0x46, 0xc1, 0xd2, 0xbd, 0xf5, 0xd9, 0x54, 0x80, 0x4d, 0x15, - 0x74, 0xa8, 0x84, 0x22, 0xb9, 0x56, 0xd7, 0x19, 0x85, 0x24, 0x4c, 0x1c, 0xdf, 0x8e, 0xe5, 0x7f, - 0x19, 0xb2, 0x0a, 0x0b, 0xb2, 0x68, 0x55, 0xbf, 0xbd, 0x9d, 0xa9, 0xfa, 0xad, 0x4c, 0x1c, 0x71, - 0x2b, 0x17, 0xbb, 0x92, 0xb1, 0x2b, 0x1b, 0x1f, 0xf1, 0xc4, 0xc3, 0x9b, 0xab, 0xd6, 0xbb, 0xaa, - 0xaa, 0xe0, 0x9c, 0x67, 0x0d, 0x64, 0xc2, 0x57, 0xe3, 0x9a, 0x4a, 0x23, 0xbe, 0x11, 0x9e, 0x93, - 0xc1, 0x64, 0xb5, 0xe4, 0x54, 0x4f, 0x4d, 0x6a, 0xca, 0xad, 0xae, 0xda, 0xd4, 0x56, 0x9b, 0xfa, - 0xea, 0x53, 0x63, 0x9a, 0x3a, 0x13, 0xd5, 0x5a, 0x3d, 0x94, 0x2c, 0xed, 0x6b, 0xda, 0x0c, 0xaa, - 0x6a, 0x11, 0xeb, 0x96, 0x88, 0xb1, 0x28, 0xff, 0x2b, 0xa3, 0x14, 0x78, 0xd3, 0x9a, 0xe9, 0xe4, - 0xde, 0x13, 0xa5, 0xa9, 0x0e, 0xa0, 0x14, 0x50, 0x0a, 0x28, 0xd5, 0x0e, 0xa5, 0xe4, 0x06, 0x3d, - 0xab, 0x7a, 0x7a, 0xcc, 0x20, 0x8a, 0xa7, 0x61, 0xcf, 0xec, 0x87, 0x47, 0x09, 0x2c, 0xee, 0x06, - 0x3e, 0xcc, 0x00, 0x97, 0x13, 0xcb, 0xdc, 0xd0, 0x27, 0x93, 0xab, 0xa1, 0x85, 0x0c, 0x93, 0x7a, - 0x2c, 0xbf, 0x2a, 0xc6, 0x46, 0x3f, 0x75, 0xbd, 0x2a, 0x7d, 0x8d, 0x7f, 0x6a, 0x79, 0x7b, 0x7b, - 0x66, 0x48, 0x79, 0x68, 0xca, 0xf1, 0xaa, 0x35, 0x68, 0x26, 0x9e, 0x72, 0xca, 0xe4, 0x50, 0xb3, - 0xfd, 0x4b, 0xa9, 0xef, 0xf7, 0x59, 0x66, 0xe3, 0xfd, 0xcc, 0x47, 0x7f, 0x4f, 0xe6, 0xb6, 0x2c, - 0x6a, 0xc1, 0xc0, 0xf8, 0xe3, 0xbb, 0xc9, 0x0d, 0x3e, 0x9e, 0x07, 0xde, 0xcd, 0xf8, 0xfe, 0x1e, - 0x4f, 0xa7, 0xf7, 0xf7, 0x78, 0x3f, 0xbe, 0xbf, 0xbb, 0xf1, 0xed, 0xa1, 0xa1, 0x54, 0x0d, 0xfb, - 0xa1, 0xee, 0xc3, 0x6e, 0x1b, 0x5f, 0xbe, 0x09, 0x67, 0xdb, 0xaa, 0x57, 0x01, 0xe4, 0x9c, 0x38, - 0x95, 0x3c, 0xab, 0x85, 0xd3, 0x25, 0x48, 0xbe, 0x34, 0x0d, 0x56, 0xf4, 0xd3, 0x25, 0xc3, 0x30, - 0x4a, 0x6c, 0xd5, 0xfd, 0x6f, 0xed, 0xd2, 0x99, 0x35, 0xdf, 0x79, 0x13, 0x91, 0x3d, 0x8c, 0xc2, - 0x24, 0x74, 0x43, 0x5f, 0xad, 0x5d, 0x56, 0xb6, 0xac, 0x45, 0xc2, 0x80, 0x2d, 0xc0, 0x96, 0x4e, - 0x61, 0x0b, 0x5d, 0x09, 0x76, 0x19, 0x60, 0xfe, 0x19, 0x39, 0x7e, 0xda, 0xad, 0x8a, 0x0d, 0x65, - 0xe6, 0x12, 0x01, 0x35, 0x80, 0x9a, 0x2e, 0x43, 0x8d, 0xaa, 0x26, 0x58, 0x66, 0x1d, 0x96, 0xbd, - 0x3c, 0xf9, 0xeb, 0xfc, 0xf6, 0xf1, 0xe6, 0xf6, 0xfa, 0xfe, 0xfa, 0xf4, 0xfa, 0xf2, 0xf1, 0x7f, - 0xbf, 0x9d, 0x5c, 0x5e, 0x7c, 0xb9, 0x38, 0xbf, 0x6d, 0xff, 0xa1, 0xd9, 0x75, 0x4f, 0xf6, 0xf8, - 0xed, 0xea, 0xee, 0xe6, 0xfc, 0x74, 0xfc, 0xff, 0x67, 0x1d, 0x3e, 0xb6, 0x58, 0xc5, 0xaa, 0x84, - 0xae, 0xe3, 0xdb, 0x15, 0xce, 0xc9, 0xe5, 0x75, 0x67, 0x26, 0xa1, 0x2b, 0x56, 0x43, 0x39, 0x51, - 0xd8, 0x05, 0x5b, 0xa1, 0x9a, 0xe8, 0x33, 0xdd, 0x42, 0x28, 0x37, 0x33, 0x54, 0x6c, 0x62, 0xa8, - 0x47, 0xdb, 0x69, 0x51, 0x29, 0x21, 0x0c, 0xed, 0x41, 0xcb, 0xa1, 0xe5, 0xc6, 0xd6, 0x12, 0x63, - 0x88, 0x15, 0x2a, 0x88, 0x9b, 0x50, 0x2c, 0x7e, 0x05, 0xa3, 0xb9, 0xb0, 0xe8, 0x19, 0x5c, 0xe3, - 0xd0, 0x3c, 0xa6, 0x89, 0x0a, 0x0b, 0xb2, 0x80, 0x3c, 0x40, 0x1e, 0x20, 0x4f, 0x77, 0x90, 0xa7, - 0x8e, 0x56, 0xca, 0xca, 0xf0, 0x82, 0xe6, 0xc9, 0xd6, 0x0e, 0x95, 0x8f, 0xa8, 0x26, 0x5f, 0xd8, - 0x4b, 0x47, 0x52, 0x75, 0x35, 0xa2, 0x25, 0xb2, 0x2f, 0x28, 0xed, 0x8f, 0x7d, 0x24, 0x74, 0x11, - 0x53, 0x77, 0xb1, 0x58, 0x44, 0x61, 0xeb, 0x5b, 0xbb, 0x94, 0xc6, 0x9d, 0x62, 0xab, 0x2d, 0x83, - 0x44, 0x44, 0x7d, 0xc7, 0x15, 0x15, 0xbb, 0x58, 0xe4, 0x1d, 0x97, 0x35, 0x02, 0xd1, 0x08, 0x00, - 0xf0, 0xd2, 0x85, 0x46, 0x00, 0x6b, 0xf6, 0xbf, 0x5d, 0xa9, 0xfb, 0x63, 0x55, 0xed, 0xb2, 0x2b, - 0xf6, 0xe8, 0x43, 0xc0, 0x8d, 0x80, 0x1b, 0x01, 0xf7, 0xd2, 0xce, 0xf1, 0x85, 0xd3, 0x8f, 0x44, - 0x9f, 0x23, 0xe2, 0x3e, 0x22, 0xc8, 0xb8, 0x29, 0x88, 0x95, 0x3e, 0xcf, 0x42, 0xa2, 0xc5, 0xcf, - 0xd6, 0x20, 0xc1, 0xd2, 0xdf, 0xa4, 0xa8, 0x80, 0x73, 0x0c, 0x1a, 0x03, 0x51, 0x1e, 0x6f, 0x47, - 0x4f, 0x6c, 0x3a, 0xfd, 0xe0, 0x62, 0x76, 0x6b, 0xe9, 0xa7, 0xfb, 0xad, 0xe8, 0x4d, 0x3d, 0x65, - 0x7b, 0x2a, 0xd6, 0x72, 0xa8, 0x71, 0x3c, 0xa4, 0xd1, 0x78, 0x19, 0x7c, 0x7c, 0xa8, 0xea, 0xe0, - 0x12, 0x4c, 0x0c, 0xe3, 0xa8, 0x3b, 0x16, 0x83, 0xb2, 0x64, 0x44, 0x3e, 0x98, 0x40, 0x87, 0x2c, - 0x33, 0x6d, 0x6d, 0x7b, 0xa5, 0xce, 0x2b, 0x5e, 0x29, 0x0f, 0xef, 0x69, 0x7a, 0x2f, 0xfc, 0x35, - 0x66, 0xa5, 0xae, 0x7e, 0xf8, 0x45, 0x66, 0xa3, 0xce, 0x8e, 0xf8, 0x94, 0x43, 0x2a, 0x0c, 0x75, - 0xf9, 0x68, 0x83, 0xab, 0x23, 0x66, 0x41, 0x1b, 0x5c, 0xd6, 0x4d, 0x6a, 0xb5, 0xa9, 0x0b, 0xae, - 0x9a, 0x06, 0x2b, 0xa8, 0x6c, 0x0f, 0x23, 0x2e, 0x30, 0xe2, 0x82, 0xca, 0xd9, 0x29, 0x16, 0xda, - 0x91, 0x0a, 0xec, 0x50, 0x67, 0xbe, 0x93, 0x74, 0x36, 0xea, 0xcc, 0xd7, 0x01, 0xb5, 0x09, 0x75, - 0xe6, 0x84, 0x02, 0x37, 0x7a, 0x61, 0x1b, 0x34, 0x1e, 0x1a, 0x0f, 0x8d, 0x37, 0x95, 0x62, 0xac, - 0xac, 0xd6, 0x2c, 0x24, 0x63, 0xb5, 0xda, 0x2f, 0x52, 0xe1, 0x58, 0x17, 0x88, 0x93, 0xaa, 0xe1, - 0x14, 0x17, 0x67, 0x52, 0xbe, 0xfa, 0x8b, 0x27, 0xbc, 0x22, 0x8c, 0xbc, 0xcf, 0xf4, 0x5b, 0x79, - 0xb4, 0x37, 0xc6, 0x8e, 0x80, 0x2d, 0xd1, 0x1b, 0x8e, 0x7d, 0x77, 0x02, 0xef, 0x45, 0x7a, 0xc9, - 0x0f, 0x3b, 0x1c, 0x26, 0xf2, 0x49, 0xfe, 0xd7, 0xa1, 0x35, 0xc2, 0x5a, 0x23, 0xaf, 0x66, 0xf7, - 0xed, 0x03, 0x2a, 0x91, 0x50, 0x89, 0xd4, 0xa8, 0x4b, 0x37, 0x6d, 0x88, 0xf5, 0x2c, 0x6c, 0xd5, - 0x23, 0x81, 0x3b, 0x53, 0xee, 0xe8, 0x86, 0x81, 0x3b, 0x8a, 0x22, 0x11, 0x24, 0xe9, 0x7b, 0x27, - 0x64, 0x07, 0x73, 0x92, 0x00, 0x2b, 0x80, 0x15, 0xc0, 0x4a, 0x57, 0x61, 0x25, 0x4e, 0x98, 0x9c, - 0x96, 0xbc, 0x28, 0x00, 0x0b, 0x80, 0x05, 0xc0, 0xd2, 0x4d, 0x60, 0xf1, 0x65, 0xf0, 0xd3, 0x1e, - 0x25, 0xd2, 0x27, 0xe3, 0x4a, 0x4e, 0x12, 0x60, 0x05, 0xb0, 0x02, 0x58, 0xe9, 0x28, 0xac, 0xa0, - 0xcd, 0x5a, 0x55, 0x18, 0x41, 0x32, 0x6c, 0x03, 0x78, 0x20, 0x19, 0xb6, 0x0e, 0x29, 0xd0, 0x66, - 0x0d, 0x5a, 0x0e, 0x2d, 0xd7, 0xa9, 0xe5, 0x68, 0xb3, 0x86, 0xb3, 0x97, 0x3a, 0x15, 0x8a, 0x5d, - 0xb1, 0xf8, 0x15, 0x4c, 0x4d, 0xd1, 0x14, 0x15, 0x8e, 0x6e, 0x5e, 0xf9, 0xcc, 0x2c, 0xd1, 0xdc, - 0xaa, 0xaf, 0x1b, 0xda, 0xac, 0x01, 0x79, 0x80, 0x3c, 0x40, 0x1e, 0xb4, 0x59, 0x5b, 0x11, 0x80, - 0x36, 0x6b, 0xad, 0x3f, 0xdd, 0x9e, 0xaf, 0x10, 0x6b, 0xbc, 0xdf, 0xda, 0xf5, 0xec, 0x96, 0xbe, - 0x4c, 0xef, 0xc8, 0x9c, 0xc6, 0x6b, 0x22, 0x4e, 0xad, 0x86, 0x1d, 0xff, 0x70, 0x52, 0x28, 0x51, - 0x6f, 0xc2, 0xb6, 0x2a, 0x09, 0x04, 0x3d, 0xa2, 0x6f, 0x10, 0xf4, 0x6a, 0xd6, 0xd8, 0x48, 0x82, - 0x7e, 0x07, 0x2b, 0xaf, 0x95, 0xab, 0x89, 0xf5, 0x9a, 0x87, 0x5a, 0x8b, 0xb2, 0x17, 0x6a, 0x35, - 0xc6, 0x2b, 0x15, 0x27, 0x91, 0x53, 0xa5, 0x83, 0xde, 0xbc, 0x32, 0x7b, 0x8d, 0x20, 0x94, 0x67, - 0xa3, 0x3c, 0x5b, 0x03, 0x80, 0x54, 0x2e, 0xcf, 0x46, 0xd2, 0xb0, 0x3e, 0x4e, 0x02, 0xe9, 0x84, - 0xf6, 0xba, 0x31, 0x48, 0x1a, 0x22, 0x69, 0x08, 0x2d, 0x47, 0xd2, 0x70, 0xd3, 0xbe, 0x41, 0xd2, - 0x10, 0xd4, 0xbd, 0xd5, 0xac, 0x82, 0xa9, 0x53, 0xd0, 0x16, 0xa8, 0x7b, 0x24, 0x0d, 0x81, 0x3c, - 0x40, 0x1e, 0x20, 0x4f, 0x5b, 0x90, 0x07, 0x49, 0xc3, 0x6d, 0x42, 0x90, 0x34, 0xa4, 0x11, 0xc1, - 0xc5, 0xe4, 0x65, 0xf3, 0x99, 0xc3, 0x85, 0xfb, 0x3a, 0xcd, 0x6e, 0xcb, 0x98, 0xf4, 0x61, 0x12, - 0x39, 0xfd, 0xbe, 0x74, 0x27, 0xfd, 0xc3, 0xa3, 0xd1, 0x90, 0x76, 0xc6, 0xa7, 0x50, 0x1a, 0xd2, - 0x88, 0x88, 0xc7, 0x91, 0x46, 0x54, 0xb3, 0xcf, 0x48, 0x23, 0x36, 0x6a, 0x3d, 0x1a, 0xc9, 0x25, - 0x16, 0x1a, 0x8c, 0x3a, 0x13, 0x8a, 0xd3, 0x45, 0xad, 0x98, 0x3d, 0x4c, 0xbf, 0xa5, 0x39, 0x55, - 0xf8, 0x01, 0xa9, 0x42, 0x8d, 0x98, 0xbd, 0x43, 0xa9, 0xc2, 0xf4, 0xc6, 0x95, 0x26, 0x5e, 0x2d, - 0xed, 0x67, 0x95, 0xb1, 0x56, 0x18, 0x4c, 0x09, 0x07, 0xa6, 0xe5, 0x0e, 0x8c, 0xfa, 0x28, 0x2a, - 0xca, 0x08, 0xaa, 0x12, 0xa3, 0xa7, 0x56, 0x97, 0xfe, 0xf3, 0x5a, 0x13, 0xbf, 0xfe, 0xcf, 0xd7, - 0xfc, 0xaa, 0xfa, 0xa8, 0xaa, 0x86, 0x1b, 0x87, 0x56, 0xc5, 0xa7, 0x26, 0x87, 0x13, 0xf5, 0x30, - 0x9c, 0x68, 0x02, 0x20, 0x3d, 0xf3, 0x86, 0x13, 0xa1, 0x9b, 0xeb, 0x6a, 0x30, 0x50, 0xc1, 0x93, - 0x65, 0xf5, 0xfc, 0x53, 0xfc, 0xab, 0xd1, 0xcf, 0x8f, 0xc2, 0x51, 0x22, 0x83, 0x01, 0xa9, 0x66, - 0xb0, 0x40, 0x06, 0xca, 0x05, 0x11, 0x03, 0x98, 0x10, 0x03, 0xa4, 0x8d, 0xcc, 0xdc, 0x1f, 0x4e, - 0xe4, 0xb8, 0x89, 0x88, 0x64, 0x9c, 0x48, 0x97, 0xd8, 0x15, 0x6d, 0x45, 0x18, 0x26, 0x4a, 0x23, - 0x2e, 0xe8, 0xc2, 0x44, 0xe9, 0x74, 0xef, 0x3b, 0xfe, 0x20, 0x8c, 0x64, 0xf2, 0xe3, 0x89, 0x5e, - 0x06, 0xb0, 0x22, 0x0f, 0xa5, 0x00, 0x93, 0xfd, 0x93, 0x84, 0xc3, 0xd0, 0x0f, 0x07, 0x6f, 0x28, - 0x06, 0x50, 0x52, 0xbf, 0x6c, 0xf9, 0x50, 0x0e, 0xa0, 0x1c, 0xb5, 0x9b, 0x5c, 0x88, 0x94, 0xa2, - 0x06, 0x4f, 0x1d, 0xd2, 0x5c, 0x14, 0xb0, 0x07, 0xd8, 0x03, 0xec, 0x01, 0xf6, 0x94, 0xc1, 0x1e, - 0xa6, 0xca, 0xeb, 0x05, 0x59, 0x40, 0x1f, 0xa0, 0x0f, 0xd0, 0xa7, 0x5b, 0xe8, 0x53, 0x47, 0x21, - 0xa4, 0xaa, 0x7f, 0x83, 0x3a, 0x48, 0xab, 0xf5, 0x75, 0x90, 0x79, 0x42, 0xf6, 0x3d, 0x9d, 0xbb, - 0xb2, 0x38, 0x69, 0xee, 0xdb, 0xc9, 0x1d, 0x2e, 0x14, 0x43, 0x9e, 0x86, 0x71, 0x72, 0xba, 0x7c, - 0x7f, 0x06, 0xa4, 0x49, 0x3c, 0xf9, 0x2c, 0xa2, 0x58, 0x26, 0x6f, 0xf6, 0x30, 0xf4, 0xa5, 0xfb, - 0xa6, 0x4e, 0x1e, 0xe6, 0x24, 0xa1, 0xa2, 0x00, 0xcc, 0x61, 0xc7, 0x4a, 0x22, 0x49, 0x1a, 0x60, - 0xed, 0x52, 0xef, 0x73, 0x19, 0xdb, 0xe2, 0xd5, 0xf5, 0x47, 0xb1, 0x7c, 0x26, 0x1c, 0x70, 0x5e, - 0x92, 0x52, 0x95, 0x09, 0x16, 0x7d, 0x67, 0xe4, 0x4f, 0xf6, 0x5f, 0xd4, 0xa1, 0x09, 0xe2, 0x80, - 0x23, 0xc0, 0xd1, 0x64, 0x30, 0x63, 0x18, 0xfa, 0xc2, 0x09, 0x28, 0x28, 0xd4, 0x33, 0x61, 0x8a, - 0x82, 0x93, 0x88, 0xc0, 0x7d, 0x63, 0x4b, 0x72, 0xae, 0x91, 0x87, 0x3c, 0x27, 0xe0, 0xa1, 0x0b, - 0x79, 0xce, 0xbe, 0x7c, 0x15, 0x9e, 0xcd, 0xa4, 0x54, 0xb9, 0x2d, 0xb6, 0x51, 0x7a, 0xc3, 0x4c, - 0xe0, 0x07, 0x30, 0x81, 0x60, 0x02, 0xc1, 0x04, 0x1a, 0x9f, 0x87, 0xf8, 0x5b, 0x26, 0x89, 0x88, - 0xd8, 0xa1, 0xa9, 0x58, 0x2c, 0x30, 0x09, 0x98, 0x04, 0x4c, 0x02, 0x26, 0x6d, 0xb9, 0xc7, 0x7f, - 0x46, 0x42, 0x06, 0x03, 0x6d, 0x6e, 0xd3, 0x66, 0xf1, 0xc8, 0xa0, 0x02, 0xa3, 0x80, 0x51, 0xc0, - 0xa8, 0x2d, 0xf7, 0x38, 0xeb, 0x4b, 0x31, 0x8c, 0xc2, 0xa1, 0x88, 0x92, 0x37, 0xa6, 0x3a, 0xb2, - 0x62, 0xb1, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x09, 0x98, 0xb4, 0xe5, 0x1e, 0x5f, 0x9c, 0xc0, 0xd3, - 0x10, 0xcb, 0x15, 0x8b, 0x45, 0x2c, 0x07, 0x4c, 0x02, 0x26, 0x75, 0x0b, 0x93, 0xea, 0xa8, 0x34, - 0xe3, 0xf0, 0x80, 0x50, 0x75, 0x66, 0xed, 0x62, 0xd5, 0x19, 0x5b, 0xc4, 0xae, 0xb1, 0xf0, 0xec, - 0x72, 0x72, 0x8f, 0xe6, 0xd5, 0x9e, 0x3d, 0x39, 0xaf, 0xb6, 0xe3, 0xfb, 0xe1, 0x8b, 0xf0, 0x6c, - 0x37, 0x8c, 0x13, 0xf5, 0x9c, 0x6e, 0x4e, 0x12, 0xb2, 0xb9, 0xb5, 0x99, 0x7a, 0x64, 0x73, 0xe9, - 0x38, 0xa7, 0x9c, 0xcd, 0x1d, 0x46, 0x32, 0x8c, 0x64, 0xf2, 0x46, 0x77, 0xa9, 0x33, 0x49, 0x88, - 0xec, 0xd9, 0x54, 0x0b, 0xde, 0x34, 0x87, 0xea, 0xb5, 0xdd, 0xab, 0x1e, 0xc9, 0x20, 0xf9, 0x74, - 0xc8, 0xe0, 0x55, 0x1f, 0x13, 0x44, 0xdc, 0x3a, 0xc1, 0x60, 0x7c, 0x37, 0xff, 0x21, 0xbd, 0x5e, - 0xda, 0xf6, 0x9d, 0x79, 0xb2, 0x64, 0x3d, 0x60, 0x02, 0x9d, 0x9c, 0xb8, 0x3f, 0xa7, 0x87, 0xdf, - 0xb8, 0xe4, 0x7d, 0x19, 0x3b, 0x5c, 0x32, 0x0c, 0xce, 0xe4, 0x40, 0xa6, 0x3e, 0xf7, 0x01, 0x59, - 0xee, 0xaf, 0x77, 0x0c, 0xaf, 0xc0, 0x79, 0x35, 0xfe, 0x15, 0xf4, 0x8e, 0x0f, 0x0f, 0x3f, 0x1d, - 0x1d, 0x1e, 0x1e, 0x1c, 0xfd, 0xeb, 0xe8, 0xe0, 0xdf, 0x1f, 0x3f, 0xf6, 0x3e, 0xf5, 0x3e, 0x1a, - 0xfc, 0x56, 0xf6, 0x9a, 0xf9, 0xf6, 0x83, 0xe9, 0x33, 0x35, 0x30, 0xc3, 0x07, 0x4e, 0x09, 0x9c, - 0x12, 0x38, 0x25, 0x70, 0x4a, 0xe0, 0x94, 0xc0, 0x29, 0x81, 0x53, 0xc2, 0xea, 0x94, 0x74, 0x9b, - 0x7a, 0x26, 0x72, 0x9e, 0x96, 0x5e, 0xd2, 0xf9, 0xab, 0xf3, 0x7a, 0x32, 0xb9, 0xb9, 0xd3, 0xf1, - 0xbd, 0x19, 0xc6, 0x36, 0x7b, 0xc2, 0x77, 0xde, 0x78, 0xe8, 0xe6, 0x89, 0x28, 0xf0, 0xcd, 0xb5, - 0xf9, 0x9d, 0xe0, 0x9b, 0xe9, 0xe0, 0x06, 0xbe, 0x19, 0xa1, 0x1d, 0x42, 0x3b, 0x84, 0x76, 0x08, - 0xed, 0x10, 0xda, 0x21, 0xb4, 0x43, 0x68, 0x67, 0x5c, 0x68, 0x07, 0xbe, 0x19, 0x4e, 0x09, 0x9c, - 0x12, 0x38, 0x25, 0x70, 0x4a, 0xe0, 0x94, 0xc0, 0x29, 0x81, 0x53, 0x62, 0x84, 0x53, 0x02, 0xbe, - 0x99, 0x42, 0x7a, 0x5a, 0x75, 0x11, 0xce, 0x67, 0xe9, 0xcd, 0x19, 0xc6, 0x38, 0xff, 0x08, 0x87, - 0x31, 0x0f, 0xe1, 0x9c, 0x4a, 0x02, 0xdf, 0x5c, 0x9b, 0xdf, 0x09, 0xbe, 0x99, 0x0e, 0x6e, 0xe0, - 0x9b, 0x11, 0xda, 0x21, 0xb4, 0x43, 0x68, 0x87, 0xd0, 0x0e, 0xa1, 0x1d, 0x42, 0x3b, 0x84, 0x76, - 0xc6, 0x85, 0x76, 0xe0, 0x9b, 0xe1, 0x94, 0xc0, 0x29, 0x81, 0x53, 0x02, 0xa7, 0x04, 0x4e, 0x09, - 0x9c, 0x12, 0x38, 0x25, 0x46, 0x38, 0x25, 0xe0, 0x9b, 0x09, 0x9c, 0xa7, 0x55, 0x17, 0xdd, 0xfc, - 0xc7, 0xf8, 0xde, 0x0c, 0x60, 0x9b, 0x23, 0x19, 0xff, 0xb4, 0xe7, 0x23, 0x68, 0xb8, 0xc6, 0x25, - 0x6c, 0x16, 0x0b, 0x1e, 0xba, 0x36, 0x7f, 0x14, 0x3c, 0x34, 0x1d, 0xf4, 0x94, 0x79, 0xe8, 0x54, - 0x0b, 0x96, 0xf7, 0x3e, 0x53, 0x7b, 0xcd, 0xb5, 0x92, 0x11, 0x12, 0xa2, 0x9b, 0x1d, 0x83, 0x4a, - 0xa2, 0x9b, 0xdd, 0x6e, 0x77, 0xd8, 0x4c, 0xf1, 0x43, 0x7a, 0x22, 0x48, 0x64, 0x5f, 0x8a, 0xc8, - 0xf6, 0xa5, 0x42, 0x23, 0xad, 0x62, 0x54, 0x5a, 0x95, 0x0a, 0x44, 0x02, 0x22, 0x01, 0x91, 0xda, - 0x8c, 0x48, 0x8a, 0x2b, 0x40, 0xea, 0x5d, 0xb9, 0x48, 0x42, 0x2d, 0xb4, 0x9f, 0x24, 0xee, 0xfb, - 0xd9, 0x92, 0xf6, 0xa8, 0xfb, 0x9d, 0x49, 0x11, 0x57, 0x95, 0xf1, 0x49, 0x06, 0xb6, 0x98, 0x3d, - 0x2d, 0x03, 0x7d, 0xc4, 0xad, 0x96, 0x39, 0xd5, 0xec, 0xed, 0x37, 0x44, 0xa7, 0x10, 0xc8, 0x35, - 0x96, 0x8e, 0xa6, 0x99, 0x30, 0x52, 0x67, 0x53, 0x53, 0x69, 0x9e, 0x69, 0x0b, 0x5b, 0xa6, 0x28, - 0x03, 0x5d, 0x6c, 0x77, 0x92, 0x6a, 0xe3, 0xe4, 0x78, 0x34, 0xf3, 0x6e, 0xb7, 0x32, 0xfe, 0x79, - 0x36, 0xbb, 0x53, 0xf3, 0x5a, 0xda, 0x8e, 0x17, 0x57, 0xd8, 0xe1, 0xf7, 0xbf, 0x85, 0x9b, 0xc8, - 0x67, 0x61, 0xf7, 0x47, 0x81, 0xab, 0xf4, 0xe2, 0xe7, 0x9e, 0xf8, 0x3a, 0x89, 0x98, 0x67, 0x0c, - 0xea, 0xad, 0x53, 0xf3, 0x8c, 0x99, 0x34, 0xc1, 0xda, 0xa5, 0x31, 0xeb, 0x49, 0xe8, 0x8b, 0xc8, - 0xf9, 0xee, 0x0b, 0x5b, 0x3e, 0x0d, 0x1d, 0x97, 0xd0, 0x42, 0x3b, 0x27, 0x09, 0xf8, 0x02, 0x7c, - 0xe9, 0x14, 0xbe, 0x0c, 0x22, 0xc7, 0x13, 0xb1, 0x1d, 0xf6, 0xd5, 0x34, 0x60, 0x09, 0x57, 0x14, - 0xd2, 0xe6, 0xfb, 0x17, 0x29, 0xdd, 0x96, 0xbc, 0xfd, 0xe6, 0xc4, 0x0c, 0x79, 0x85, 0xdf, 0x6f, - 0x4f, 0xce, 0xce, 0xef, 0x1e, 0xaf, 0xbf, 0x3c, 0x5e, 0x7c, 0xbd, 0x39, 0x39, 0xbd, 0x57, 0xdd, - 0x51, 0x69, 0x6d, 0x40, 0x4c, 0x2a, 0x62, 0x61, 0x0a, 0xf5, 0x57, 0x9f, 0xe8, 0xf1, 0xeb, 0xc9, - 0xff, 0x5c, 0xdf, 0xce, 0x1e, 0xaf, 0x89, 0xf8, 0x53, 0xd7, 0x83, 0x5d, 0x5e, 0x5f, 0xfd, 0xbe, - 0x8b, 0xcf, 0xf5, 0xc7, 0xc5, 0xfd, 0xe5, 0xf9, 0xdd, 0xdd, 0x4e, 0x3d, 0xd3, 0xd7, 0x8b, 0x2b, - 0x8e, 0x4d, 0xa8, 0xf4, 0xcd, 0x07, 0xdd, 0x18, 0xbc, 0xc7, 0xfb, 0x97, 0x25, 0x5f, 0x9f, 0x6a, - 0xc0, 0xac, 0x3d, 0x50, 0xae, 0x80, 0xa1, 0xfa, 0x42, 0xe0, 0x72, 0x9b, 0x6c, 0xfb, 0x0b, 0x29, - 0xf1, 0x32, 0xf6, 0x67, 0x54, 0xfd, 0xe2, 0x1a, 0x94, 0x7d, 0x23, 0x0b, 0x9e, 0x65, 0x5e, 0x48, - 0xc9, 0x8d, 0x50, 0xad, 0x5e, 0xa4, 0xb2, 0x33, 0xa9, 0xe2, 0x44, 0xb2, 0x39, 0x8f, 0xaa, 0x4e, - 0x23, 0xd9, 0x59, 0x24, 0x3b, 0x89, 0x9c, 0xce, 0x21, 0x2f, 0x70, 0x54, 0xad, 0xef, 0xd8, 0x77, - 0x9e, 0x43, 0xe9, 0xcd, 0x33, 0x52, 0xca, 0xd1, 0xd3, 0x8a, 0x1c, 0xc4, 0x4e, 0x88, 0x9d, 0x3a, - 0x15, 0x3b, 0x8d, 0x46, 0xd2, 0xa3, 0xc4, 0x4b, 0xc7, 0x06, 0x70, 0x29, 0x73, 0xf3, 0x64, 0xbf, - 0x08, 0x39, 0xf8, 0x41, 0x20, 0x53, 0xf2, 0xa2, 0x80, 0x08, 0x40, 0x84, 0x6e, 0x21, 0x82, 0xea, - 0x01, 0x1c, 0xc2, 0xc1, 0x1b, 0xe2, 0x81, 0x1b, 0x5a, 0x6d, 0x03, 0x43, 0x2d, 0x0f, 0xcb, 0xa9, - 0x0e, 0xae, 0x03, 0x35, 0x9c, 0x47, 0x36, 0x88, 0x39, 0x7e, 0xe3, 0x96, 0x96, 0xff, 0xa0, 0x0c, - 0xeb, 0x6a, 0xd7, 0x54, 0xb9, 0xf0, 0x60, 0x80, 0xd1, 0x16, 0xaf, 0xae, 0x3f, 0xf2, 0x84, 0xed, - 0xcb, 0xe0, 0xa7, 0xba, 0xbd, 0x5e, 0x92, 0x02, 0x53, 0x0d, 0x53, 0x0d, 0xe7, 0xbd, 0x65, 0xce, - 0xfb, 0x4c, 0x83, 0x83, 0xd0, 0x13, 0x74, 0x1c, 0x48, 0xa5, 0x00, 0x07, 0x80, 0x03, 0xc0, 0x81, - 0x16, 0xe3, 0x80, 0x2d, 0xbc, 0x81, 0xb0, 0x87, 0x61, 0x15, 0xd6, 0x7a, 0x23, 0x24, 0x2c, 0x0a, - 0x04, 0x3a, 0x00, 0x1d, 0x80, 0x0e, 0x2d, 0x45, 0x87, 0x69, 0x8a, 0x90, 0x08, 0x09, 0xa9, 0x14, - 0xe0, 0x00, 0x70, 0x00, 0x38, 0xd0, 0x32, 0x1c, 0x90, 0x01, 0x07, 0x6b, 0xb0, 0x24, 0x05, 0x38, - 0x00, 0x1c, 0x00, 0x0e, 0xb4, 0x14, 0x07, 0x68, 0xac, 0xc1, 0x92, 0x14, 0xe0, 0x00, 0x70, 0x00, - 0x38, 0xd0, 0x62, 0x1c, 0x60, 0x61, 0x0d, 0xd6, 0x09, 0x04, 0x3a, 0x00, 0x1d, 0x80, 0x0e, 0x2d, - 0x45, 0x07, 0x1a, 0x6b, 0xb0, 0x24, 0x05, 0x38, 0x00, 0x1c, 0x00, 0x0e, 0xb4, 0x14, 0x07, 0xe8, - 0xe5, 0xc2, 0x39, 0x49, 0xc0, 0x03, 0xe0, 0x01, 0xf0, 0xa0, 0x65, 0x78, 0xe0, 0x87, 0xae, 0xe3, - 0xdb, 0xd2, 0x53, 0xc7, 0x81, 0x4c, 0x42, 0x57, 0xf4, 0x7f, 0x72, 0x1a, 0x0b, 0x5a, 0x5f, 0xa8, - 0xf5, 0xd3, 0xc5, 0xd9, 0x39, 0x5d, 0x57, 0x6e, 0x7b, 0x66, 0x94, 0xb6, 0x2b, 0xb5, 0x7b, 0xcd, - 0xd6, 0x40, 0xa5, 0xd9, 0x52, 0x6b, 0xbb, 0x25, 0x43, 0xcb, 0x5b, 0xa7, 0xe5, 0xca, 0x9d, 0x91, - 0x31, 0x06, 0x47, 0x43, 0x87, 0x51, 0x65, 0x05, 0xe2, 0x52, 0x24, 0x76, 0x85, 0x62, 0x57, 0x2c, - 0x7e, 0x05, 0x53, 0x53, 0x34, 0x45, 0x85, 0xa3, 0x9b, 0x57, 0x3e, 0x33, 0x4b, 0x34, 0xb7, 0xea, - 0xeb, 0xa6, 0x3c, 0x76, 0x8b, 0xa9, 0xf7, 0xfa, 0x82, 0x2c, 0x20, 0x0f, 0x90, 0x07, 0xc8, 0xd3, - 0x1d, 0xe4, 0xa9, 0xa3, 0xe9, 0xaa, 0x32, 0xbc, 0xa0, 0xcd, 0xaa, 0xd5, 0xfa, 0x36, 0xab, 0x05, - 0x5d, 0x4f, 0xde, 0x2b, 0x5a, 0x1a, 0xb6, 0x5e, 0x32, 0xf7, 0xd3, 0x7b, 0x5a, 0xe8, 0xa7, 0x9a, - 0xaa, 0xb0, 0x01, 0xd1, 0xf5, 0x18, 0xe2, 0x45, 0x14, 0x09, 0xcf, 0x4e, 0x22, 0x27, 0x88, 0x87, - 0x61, 0x94, 0xd8, 0xbe, 0xf3, 0x26, 0x22, 0xf5, 0x90, 0x7b, 0xbd, 0x48, 0xb0, 0xed, 0x88, 0xc8, - 0x3b, 0xc5, 0xb6, 0xa7, 0xdb, 0xde, 0x1e, 0x46, 0x61, 0x12, 0xba, 0xa1, 0xaf, 0xea, 0xf1, 0x9a, - 0xdd, 0x35, 0x95, 0xb5, 0x91, 0xd0, 0xd4, 0x82, 0x57, 0xe4, 0xe7, 0xd5, 0xec, 0x36, 0xc9, 0x5e, - 0x93, 0xec, 0xb4, 0x9a, 0x7d, 0x6e, 0x57, 0x17, 0x37, 0xf5, 0xee, 0x63, 0x9a, 0x4d, 0x6f, 0x9d, - 0x7d, 0xdc, 0xd2, 0x6c, 0x5b, 0xe5, 0xc6, 0x6d, 0x15, 0x72, 0x74, 0x15, 0x6d, 0x64, 0x03, 0x9d, - 0xda, 0x2a, 0x07, 0xb6, 0xbb, 0xd4, 0x9f, 0xad, 0x6a, 0x60, 0xca, 0x0b, 0xa6, 0x95, 0xed, 0x97, - 0x6a, 0x96, 0xb8, 0x62, 0x18, 0x59, 0x42, 0xb7, 0xf6, 0x08, 0xcf, 0x3f, 0x33, 0x22, 0x25, 0x1e, - 0xa2, 0x9a, 0xe1, 0x50, 0x32, 0x18, 0x4a, 0x86, 0xa2, 0x9a, 0x81, 0xd8, 0xb6, 0x1e, 0x15, 0x0d, - 0x02, 0xaf, 0x21, 0x28, 0xb1, 0x8d, 0xb8, 0xc0, 0x7e, 0xb3, 0x9e, 0xad, 0xdf, 0x53, 0xc5, 0xbf, - 0x59, 0xb3, 0xaa, 0x65, 0x57, 0x93, 0xb2, 0x8a, 0x1b, 0xd6, 0x4c, 0x75, 0xad, 0x8a, 0xd7, 0x26, - 0xff, 0xe4, 0x05, 0x4f, 0xbd, 0x3f, 0x7d, 0x93, 0xb6, 0x0c, 0x12, 0x11, 0xf5, 0x1d, 0x77, 0x5b, - 0x95, 0xf6, 0x9c, 0x9f, 0x5a, 0xf3, 0xc5, 0x35, 0x2b, 0xbb, 0x39, 0xef, 0xba, 0xd5, 0x76, 0x95, - 0xb1, 0x55, 0x15, 0x6d, 0x53, 0x59, 0x5b, 0x54, 0xd9, 0xf6, 0x54, 0xb6, 0x35, 0xd5, 0x6d, 0x4b, - 0xb5, 0x5d, 0xbd, 0x2d, 0x0f, 0xb9, 0xef, 0x78, 0x4f, 0x32, 0x90, 0x63, 0x1f, 0x2a, 0x1d, 0x02, - 0x11, 0x27, 0x4e, 0x52, 0x62, 0x5d, 0xb2, 0x3e, 0x9d, 0x45, 0xdf, 0xde, 0x06, 0xe3, 0xa5, 0x5c, - 0x9b, 0xd2, 0x2e, 0x4d, 0x15, 0x57, 0x46, 0xd1, 0x85, 0xa9, 0xea, 0xba, 0x28, 0xbb, 0x2c, 0xca, - 0xae, 0x8a, 0xba, 0x8b, 0x42, 0x33, 0xc9, 0xa5, 0x5d, 0x11, 0xca, 0x8e, 0xa9, 0x1a, 0x2b, 0x97, - 0x8c, 0x8d, 0x37, 0x18, 0x8e, 0x0d, 0xc8, 0xe1, 0x3c, 0x3b, 0xd2, 0x4f, 0xe7, 0x7a, 0xb8, 0xce, - 0xd0, 0x71, 0x65, 0xf2, 0x56, 0x41, 0x5b, 0xf2, 0xdf, 0x2d, 0xa7, 0x2b, 0xbd, 0xb2, 0xba, 0xf2, - 0x01, 0xba, 0x62, 0xac, 0xae, 0x94, 0x2d, 0x09, 0xd9, 0x4f, 0xc2, 0xc4, 0xf1, 0xed, 0x58, 0xfe, - 0x57, 0xa8, 0x34, 0x07, 0xcf, 0xbe, 0xbb, 0x2b, 0x3d, 0xc1, 0x11, 0x69, 0xb6, 0xa7, 0xff, 0xf7, - 0x28, 0x90, 0x84, 0x53, 0x7e, 0xe9, 0xb7, 0x51, 0xba, 0x8b, 0x14, 0xc2, 0xce, 0x96, 0xee, 0xce, - 0xec, 0xbe, 0xad, 0xb0, 0xd5, 0xad, 0x5d, 0x1a, 0xb4, 0xa6, 0x56, 0xe6, 0x48, 0x2a, 0x6f, 0x04, - 0x54, 0x00, 0x2a, 0x5a, 0x04, 0x15, 0x68, 0xf8, 0xad, 0xfa, 0xe0, 0x68, 0xf8, 0xbd, 0x4a, 0x54, - 0xa3, 0xe1, 0xb7, 0x46, 0x68, 0x50, 0xff, 0xd6, 0x43, 0xd7, 0xa7, 0x87, 0xad, 0x21, 0x92, 0xdf, - 0xe7, 0x89, 0x92, 0xf7, 0x95, 0x03, 0xdb, 0x72, 0xac, 0xfa, 0x34, 0xc5, 0x70, 0x31, 0xbb, 0x81, - 0x9b, 0xf1, 0xf5, 0x1f, 0x4f, 0x66, 0xd7, 0x3f, 0x9d, 0x5e, 0xfe, 0xf1, 0x7e, 0x7c, 0xf9, 0xbb, - 0xf1, 0xd5, 0x8d, 0x48, 0x85, 0x69, 0x48, 0xfd, 0x94, 0x7f, 0x17, 0x2c, 0xa9, 0x9f, 0x92, 0x0b, - 0xbf, 0xaf, 0x81, 0xc2, 0xf3, 0x64, 0x24, 0xca, 0x4d, 0x11, 0xcf, 0x8c, 0xf1, 0xfc, 0x2b, 0x20, - 0xb7, 0x41, 0x6e, 0xaf, 0x5d, 0xf9, 0xb4, 0x26, 0xb2, 0xec, 0x5e, 0x31, 0x8a, 0xd6, 0x2e, 0xaa, - 0x68, 0x2b, 0xad, 0x1d, 0xd5, 0xcb, 0xe1, 0x2a, 0xeb, 0x09, 0x88, 0xed, 0x5d, 0xd2, 0x13, 0xb5, - 0xfa, 0x49, 0x73, 0x94, 0x45, 0xf6, 0x85, 0xfb, 0xe6, 0xfa, 0x95, 0xd3, 0xa5, 0xab, 0x5f, 0x84, - 0x92, 0x40, 0x49, 0x98, 0x36, 0x8b, 0x51, 0x0a, 0x52, 0xcd, 0x7c, 0x54, 0xb0, 0x17, 0x3d, 0xf8, - 0x55, 0xed, 0x57, 0x85, 0xd2, 0x89, 0xd0, 0x6a, 0x24, 0xb1, 0x12, 0x39, 0x8c, 0x42, 0x5b, 0x3e, - 0xb2, 0x17, 0x85, 0xb6, 0xea, 0x27, 0x38, 0xf9, 0x4b, 0x6d, 0xdf, 0x95, 0xd4, 0xaf, 0x6a, 0x67, - 0xbf, 0xd5, 0xcf, 0x7a, 0x43, 0xd3, 0xa0, 0x69, 0xbb, 0xa9, 0x69, 0x1c, 0x45, 0xed, 0xa5, 0xd5, - 0x09, 0xa5, 0xed, 0xcc, 0xfc, 0x66, 0xd9, 0xe0, 0x53, 0x91, 0xd1, 0xdc, 0x7e, 0x20, 0x58, 0xcd, - 0xc5, 0x0e, 0x87, 0x22, 0x4a, 0x17, 0xc8, 0xf1, 0xab, 0x46, 0xa1, 0xf9, 0xaf, 0x22, 0x0e, 0x45, - 0x1c, 0xca, 0xb6, 0x5d, 0x8c, 0x8a, 0x44, 0xe3, 0xd1, 0x70, 0x18, 0x46, 0x89, 0xf0, 0xec, 0x15, - 0xce, 0xe9, 0x9f, 0x91, 0xe3, 0xcb, 0xbe, 0x2c, 0x71, 0x20, 0x7e, 0x6e, 0x6a, 0xb6, 0xcb, 0x82, - 0x22, 0x41, 0x91, 0xca, 0xb2, 0x9e, 0x65, 0x77, 0xcd, 0x92, 0x3e, 0x95, 0xc8, 0x92, 0xef, 0x5f, - 0x78, 0x22, 0x48, 0x64, 0xf2, 0xf6, 0x9b, 0x13, 0x2b, 0x38, 0xf6, 0x97, 0x27, 0x7f, 0x9d, 0xdf, - 0x3e, 0xde, 0xdc, 0x5e, 0xdf, 0x5f, 0x9f, 0x5e, 0x5f, 0x3e, 0xfe, 0xef, 0xb7, 0x93, 0xcb, 0x8b, - 0x2f, 0x17, 0xe7, 0xb7, 0x65, 0xdf, 0x63, 0x9a, 0xe2, 0x8f, 0x2b, 0xd5, 0x90, 0x28, 0x16, 0x81, - 0xad, 0xbb, 0xd3, 0xc7, 0x6f, 0x57, 0x77, 0x37, 0xe7, 0xa7, 0xe3, 0xff, 0x3f, 0xe3, 0x76, 0x68, - 0x1f, 0x34, 0xef, 0x2a, 0x8a, 0x77, 0x57, 0xf1, 0x45, 0xf7, 0xca, 0xbe, 0x51, 0x85, 0x28, 0x67, - 0x11, 0x06, 0x9e, 0x64, 0x60, 0x8b, 0xd9, 0x5d, 0x56, 0xf0, 0xd3, 0x29, 0x31, 0xce, 0x12, 0x28, - 0xf4, 0xea, 0x3c, 0x1a, 0x5e, 0x83, 0xef, 0xac, 0x64, 0x08, 0x27, 0xf5, 0x13, 0xc3, 0x30, 0x19, - 0x63, 0x83, 0xe3, 0x2b, 0x9c, 0x5e, 0x59, 0x2b, 0x01, 0x67, 0x58, 0x40, 0xdd, 0x16, 0x6f, 0x37, - 0x9c, 0x61, 0x01, 0xb5, 0x84, 0x33, 0x2c, 0xcc, 0xcc, 0xa8, 0xf2, 0x36, 0xa6, 0x6c, 0x67, 0xa6, - 0x6d, 0x4d, 0xdd, 0xde, 0x6c, 0xdb, 0x9c, 0x6d, 0xbb, 0xf3, 0x6d, 0xfb, 0x6a, 0xdb, 0xbf, 0xa2, - 0x1a, 0xa8, 0x33, 0xad, 0xb9, 0x37, 0x8f, 0x33, 0x2c, 0xd3, 0x7b, 0xc1, 0x19, 0x16, 0x40, 0x05, - 0xa0, 0x62, 0xa3, 0x31, 0xc4, 0x19, 0x16, 0xc5, 0x07, 0xc7, 0x19, 0x96, 0xd5, 0xa8, 0x1a, 0x67, - 0x58, 0x34, 0x42, 0x83, 0xfa, 0xb7, 0x70, 0x86, 0x65, 0x4d, 0x5e, 0x71, 0x1d, 0x5d, 0x52, 0xef, - 0x49, 0x96, 0xf4, 0xdc, 0xca, 0xcd, 0xec, 0x26, 0x70, 0x9c, 0xe5, 0xbd, 0x22, 0x8b, 0xc5, 0xff, - 0x0e, 0x74, 0x24, 0x85, 0x4b, 0xf5, 0xa5, 0xac, 0xd2, 0x0d, 0x10, 0xe7, 0x59, 0x76, 0x88, 0xbc, - 0xab, 0x9e, 0xb1, 0x2a, 0xd9, 0x2f, 0xb2, 0x64, 0x49, 0x0d, 0x57, 0xa7, 0xbe, 0xed, 0x7d, 0x20, - 0xcb, 0xa5, 0x51, 0x2a, 0x15, 0xc7, 0x54, 0x22, 0xf6, 0xcb, 0x11, 0xfa, 0x35, 0x74, 0x22, 0xac, - 0xd6, 0xa9, 0x8f, 0x00, 0x72, 0x94, 0x3e, 0x84, 0x8b, 0x2d, 0x85, 0xd3, 0x9e, 0x86, 0x5b, 0x1b, - 0x10, 0xe6, 0xbe, 0x61, 0x4a, 0xe7, 0xc1, 0x12, 0x03, 0x68, 0x4d, 0xee, 0x3d, 0x98, 0xdd, 0x7e, - 0x5d, 0xdd, 0x07, 0x83, 0x97, 0xec, 0x9a, 0x59, 0x63, 0xd1, 0xf2, 0xe7, 0x06, 0x0a, 0xbe, 0xdc, - 0x96, 0x5c, 0x54, 0x85, 0x49, 0xc5, 0x6d, 0x34, 0x68, 0xdb, 0x37, 0x12, 0x8f, 0x49, 0x2b, 0x9d, - 0x8f, 0x52, 0x2b, 0x72, 0x56, 0x28, 0x6f, 0x46, 0x0e, 0x0a, 0x39, 0x28, 0xe5, 0x6d, 0x0a, 0x6a, - 0x19, 0xd4, 0x32, 0xa8, 0xe5, 0x52, 0x6f, 0x7e, 0x37, 0x86, 0x20, 0x13, 0xa6, 0x2f, 0xd2, 0xa7, - 0x2e, 0x42, 0xe3, 0xa1, 0xf1, 0xd0, 0x78, 0xe3, 0xb8, 0x6a, 0xd5, 0x69, 0x87, 0x98, 0x96, 0x54, - 0x13, 0xe3, 0xbf, 0xca, 0x3e, 0xbc, 0x2f, 0x08, 0x44, 0xab, 0xce, 0x26, 0xdc, 0x4e, 0xbb, 0x2c, - 0x4c, 0x3c, 0x4a, 0xff, 0x7d, 0xf5, 0x32, 0xfb, 0x64, 0x36, 0x13, 0xa9, 0xfc, 0xec, 0x41, 0x9e, - 0x52, 0xd7, 0x2c, 0xc8, 0x53, 0xa8, 0xf0, 0x2b, 0x1d, 0xfd, 0x92, 0x62, 0xab, 0x0f, 0x75, 0xc5, - 0x56, 0x15, 0x1f, 0x68, 0xd7, 0xa2, 0xab, 0xf2, 0xe1, 0xbe, 0x21, 0xf1, 0x55, 0xa6, 0xae, 0x95, - 0x26, 0x79, 0xad, 0xe7, 0x21, 0x2b, 0x0e, 0x56, 0x6a, 0xb7, 0xf7, 0xa5, 0xb0, 0xd9, 0xbb, 0xe4, - 0x7f, 0x55, 0x57, 0x86, 0xb6, 0x78, 0x60, 0xbe, 0x70, 0xfa, 0x91, 0xe8, 0x53, 0x5c, 0xb0, 0x23, - 0x85, 0xef, 0xde, 0x14, 0x18, 0xe3, 0xcf, 0x99, 0x31, 0x5e, 0x5c, 0xf2, 0xcf, 0x39, 0xd3, 0x5c, - 0xfc, 0xeb, 0x95, 0x8f, 0x53, 0xed, 0x6d, 0x93, 0x6f, 0xa8, 0x82, 0x3b, 0x70, 0x0f, 0x4d, 0x72, - 0x0f, 0x55, 0x1c, 0x06, 0x06, 0x17, 0xf1, 0xbe, 0x12, 0x36, 0x61, 0x58, 0x26, 0xa8, 0x77, 0x0c, - 0xcb, 0xd4, 0xc3, 0x32, 0xb4, 0xb0, 0xa4, 0xaa, 0x0c, 0xb0, 0xb1, 0x94, 0x51, 0x6d, 0xc5, 0xb1, - 0x7d, 0x2d, 0x07, 0x24, 0x4b, 0x46, 0xb3, 0x55, 0xa3, 0x58, 0x24, 0x9d, 0xb5, 0x00, 0x4e, 0x0b, - 0x92, 0xce, 0xdf, 0xc3, 0x51, 0xe0, 0x39, 0xd1, 0x9b, 0x1d, 0x84, 0x9e, 0xb0, 0x85, 0x37, 0xd8, - 0x36, 0x61, 0x73, 0xed, 0xeb, 0x5b, 0x2b, 0x09, 0x04, 0x0a, 0x08, 0x94, 0x26, 0x08, 0x94, 0x95, - 0x7d, 0x48, 0xe4, 0x51, 0x0a, 0xa5, 0x81, 0x4e, 0x01, 0x9d, 0x02, 0x3a, 0xa5, 0x85, 0x74, 0xca, - 0x58, 0x9b, 0x57, 0x3e, 0x0a, 0x5f, 0x02, 0xe1, 0xad, 0x1a, 0xaf, 0x3a, 0x59, 0x98, 0x77, 0x15, - 0xa1, 0x8d, 0x01, 0xcf, 0x00, 0x62, 0x00, 0x31, 0x80, 0xd8, 0x0e, 0x81, 0x98, 0x29, 0x00, 0x85, - 0xe4, 0x15, 0x80, 0x0a, 0x40, 0x05, 0xa0, 0xda, 0x85, 0xe4, 0x95, 0x95, 0xb9, 0x4a, 0x16, 0x21, - 0x08, 0x44, 0x6e, 0x8b, 0x40, 0xfd, 0x92, 0x28, 0xe0, 0x6c, 0x53, 0x12, 0x19, 0x2a, 0x35, 0x62, - 0x78, 0xf6, 0xef, 0xc7, 0xdf, 0xa6, 0x57, 0xbf, 0x0a, 0x3d, 0x71, 0xee, 0x0d, 0x36, 0x9d, 0x49, - 0x53, 0x20, 0xe2, 0x4b, 0xd0, 0xa5, 0x2a, 0xf3, 0xb3, 0xf2, 0x10, 0xa5, 0x34, 0x16, 0xc9, 0xa2, - 0xa4, 0xc0, 0x40, 0xf0, 0x75, 0x83, 0xe0, 0x53, 0x4f, 0x83, 0xa9, 0x6f, 0x4a, 0x4b, 0xb1, 0xd9, - 0x53, 0xc5, 0x26, 0x4f, 0xbf, 0x6a, 0xb4, 0x11, 0x8a, 0xae, 0x76, 0xaf, 0xea, 0x06, 0x24, 0x78, - 0x9a, 0x0c, 0xad, 0x57, 0x59, 0xfd, 0x4c, 0x95, 0x56, 0xac, 0x7a, 0xe3, 0xa7, 0x06, 0x2c, 0x37, - 0x8f, 0x8d, 0x91, 0xc1, 0x4f, 0x05, 0xa3, 0x32, 0xfe, 0x16, 0xd2, 0x44, 0xb0, 0x22, 0x0c, 0x10, - 0x5a, 0x39, 0x4d, 0xe4, 0x78, 0x4f, 0x32, 0x90, 0x71, 0x12, 0x39, 0x89, 0x7c, 0x2e, 0x3b, 0x2e, - 0x71, 0xed, 0x16, 0x28, 0x94, 0x86, 0x33, 0x4f, 0xa0, 0x2d, 0x76, 0xf6, 0xcc, 0x13, 0xc3, 0x8e, - 0xb7, 0x76, 0xa9, 0xe5, 0x66, 0xc1, 0x30, 0x72, 0x75, 0x34, 0x51, 0x19, 0x6c, 0x4e, 0x30, 0x97, - 0xca, 0x66, 0x13, 0x58, 0x02, 0x2c, 0xa9, 0x6c, 0x7a, 0xb3, 0x2f, 0x2a, 0x74, 0x62, 0x5f, 0xbf, - 0x79, 0x54, 0x5a, 0xd7, 0x31, 0xa8, 0x0c, 0xd9, 0x0c, 0x73, 0xa8, 0x10, 0xb3, 0x2a, 0x71, 0xa9, - 0x14, 0xbb, 0x6a, 0xb1, 0xab, 0x18, 0xbf, 0xaa, 0xa9, 0xa9, 0x9c, 0xa2, 0xea, 0x91, 0x55, 0x30, - 0x13, 0xa0, 0xd4, 0x59, 0x7e, 0xed, 0xf6, 0x53, 0x6c, 0xbf, 0xcd, 0xe0, 0x0d, 0xb3, 0xab, 0x25, - 0xa7, 0x7a, 0x6a, 0x52, 0x53, 0x6e, 0x75, 0xd5, 0xa6, 0xb6, 0xda, 0xd4, 0x57, 0x9f, 0x1a, 0xd3, - 0xd4, 0x99, 0xa8, 0xd6, 0x74, 0x6f, 0x7d, 0xed, 0xce, 0xa3, 0x76, 0xca, 0xe7, 0x74, 0xe3, 0x99, - 0xdc, 0x7a, 0xbe, 0x57, 0x46, 0x69, 0x07, 0xad, 0xd6, 0x1e, 0x69, 0xed, 0x7b, 0x52, 0x69, 0x97, - 0x04, 0x28, 0x05, 0x94, 0x02, 0x4a, 0x6b, 0x83, 0x52, 0xe5, 0x49, 0x02, 0xeb, 0xf4, 0xf4, 0x98, - 0x41, 0x14, 0x6d, 0xd2, 0xc0, 0xea, 0x0f, 0x8f, 0x12, 0x58, 0x5c, 0x93, 0x08, 0x34, 0x01, 0x5c, - 0x4e, 0x2c, 0xd3, 0xa4, 0x82, 0x9c, 0x5c, 0xc6, 0x5e, 0xfa, 0xcc, 0xea, 0xb1, 0xfc, 0xaa, 0x9c, - 0xd7, 0xd6, 0xbd, 0x2a, 0xfe, 0xc9, 0x07, 0xb5, 0xbe, 0xbd, 0x3d, 0x33, 0xa4, 0x3c, 0x34, 0xe5, - 0x78, 0xd5, 0x1a, 0x34, 0x2b, 0x16, 0x23, 0xe5, 0xe4, 0x90, 0x8a, 0x93, 0x7c, 0x19, 0xfc, 0x7c, - 0x9f, 0xe7, 0x7b, 0xdf, 0x93, 0xf9, 0x2c, 0x8b, 0x56, 0xb6, 0x74, 0x29, 0x83, 0x9f, 0x8f, 0x27, - 0xb3, 0xfb, 0x52, 0x9d, 0xce, 0x40, 0x7f, 0xc1, 0x7a, 0xa9, 0x4b, 0xe2, 0x16, 0xd0, 0xf2, 0xea, - 0x55, 0xb8, 0x6f, 0xee, 0xf7, 0x6c, 0x42, 0x2d, 0x84, 0x1b, 0xc6, 0x89, 0xed, 0xfe, 0x70, 0xc6, - 0x70, 0x2b, 0x22, 0x19, 0x27, 0xd2, 0x55, 0xcf, 0xa8, 0x14, 0x09, 0xeb, 0x4a, 0x4a, 0x05, 0x75, - 0xe5, 0x1b, 0xe3, 0x1a, 0x53, 0xeb, 0xca, 0x95, 0xd3, 0x2a, 0xe9, 0x5e, 0x77, 0xfc, 0x41, 0x18, - 0xc9, 0xe4, 0xc7, 0x13, 0x3d, 0xb5, 0xb2, 0x22, 0x8f, 0x96, 0x5e, 0x39, 0xd8, 0x99, 0xf4, 0x0a, - 0x41, 0xad, 0xb8, 0x69, 0x86, 0x36, 0x26, 0x58, 0xd4, 0xd5, 0xae, 0x19, 0x6f, 0x91, 0x4c, 0x1c, - 0xd0, 0xbb, 0xc5, 0xe6, 0x4c, 0xd1, 0x71, 0x5d, 0x4e, 0xd8, 0x3b, 0x45, 0x14, 0x52, 0x6a, 0x1f, - 0x5d, 0x0c, 0x40, 0x0a, 0x5d, 0xa4, 0x81, 0x3d, 0xc0, 0x1e, 0x60, 0x4f, 0x57, 0xb1, 0x87, 0x96, - 0x89, 0x59, 0x06, 0x1f, 0x4a, 0x1a, 0x06, 0xe8, 0x03, 0xf4, 0x01, 0xfa, 0xb4, 0x15, 0x7d, 0xb4, - 0x86, 0x78, 0xd3, 0x63, 0xa7, 0xaa, 0xfe, 0x8d, 0xda, 0xb9, 0xa1, 0xec, 0xdb, 0x94, 0xf3, 0x43, - 0xb9, 0x57, 0xdb, 0x53, 0x45, 0x47, 0x06, 0x20, 0x60, 0x3c, 0x57, 0xa4, 0x05, 0x06, 0x28, 0xe7, - 0x8c, 0xea, 0x35, 0x9c, 0x94, 0xf3, 0x47, 0x99, 0x10, 0xa5, 0x73, 0x48, 0xed, 0x65, 0x70, 0xe9, - 0xd4, 0x22, 0x07, 0x85, 0x7b, 0x1a, 0xc6, 0xc9, 0xe9, 0xf2, 0x4d, 0x18, 0xc0, 0xe1, 0x7a, 0xc2, - 0x97, 0xcf, 0x22, 0x7a, 0xb3, 0xc3, 0xf1, 0x9e, 0x60, 0x63, 0x73, 0x37, 0x8b, 0xad, 0xf9, 0xd8, - 0x0d, 0x78, 0x5d, 0xf0, 0xba, 0xb5, 0xb8, 0x53, 0x3b, 0x36, 0x60, 0xcc, 0x93, 0x91, 0x70, 0x95, - 0x80, 0x7b, 0x8e, 0x03, 0x99, 0x08, 0xe8, 0x3c, 0x74, 0x7e, 0xa7, 0x75, 0xbe, 0x1f, 0x46, 0x2f, - 0x4e, 0xe4, 0xc9, 0x60, 0x60, 0xab, 0xee, 0x7a, 0x6b, 0x97, 0x8e, 0xdb, 0x89, 0x28, 0x0a, 0xf9, - 0x1c, 0x8a, 0x42, 0x69, 0xc0, 0x14, 0x60, 0x0a, 0xfc, 0x08, 0xe3, 0xfd, 0x08, 0xdf, 0x49, 0x44, - 0xe0, 0xbe, 0xb1, 0x61, 0xc1, 0x1a, 0x79, 0xa8, 0x16, 0x01, 0x1a, 0xec, 0x62, 0xb5, 0x48, 0x5f, - 0xbe, 0x0a, 0xcf, 0x66, 0x52, 0xa2, 0xbc, 0xdb, 0xb2, 0x49, 0x7a, 0xc3, 0xf9, 0x94, 0x0f, 0xc8, - 0xa7, 0xe8, 0x53, 0x41, 0x2d, 0x44, 0xaa, 0x85, 0x7c, 0x8a, 0xd5, 0xbd, 0x6c, 0xee, 0xdf, 0x32, - 0x49, 0xe8, 0xe4, 0x61, 0x6e, 0xf1, 0x8a, 0xc5, 0x02, 0x93, 0x80, 0x49, 0xc0, 0x24, 0x60, 0xd2, - 0x96, 0x7b, 0xfc, 0x67, 0x24, 0x64, 0x30, 0xd0, 0xe6, 0x36, 0x6d, 0x16, 0x8f, 0x3a, 0x14, 0x60, - 0x14, 0x30, 0x0a, 0x18, 0xb5, 0xe5, 0x1e, 0x93, 0xc8, 0xe9, 0xf7, 0xa5, 0x6b, 0x0f, 0xa3, 0x70, - 0x28, 0xa2, 0xe4, 0x8d, 0xa9, 0x1a, 0xb7, 0x58, 0x2c, 0x30, 0x09, 0x98, 0x04, 0x4c, 0x02, 0x26, - 0x6d, 0xb9, 0xc7, 0x17, 0x27, 0xf0, 0x34, 0xc4, 0x72, 0xc5, 0x62, 0x11, 0xcb, 0x01, 0x93, 0x80, - 0x49, 0xdd, 0xc2, 0xa4, 0x3a, 0xea, 0x75, 0x39, 0x3c, 0x20, 0xd4, 0xee, 0xe6, 0x01, 0x01, 0xb5, - 0xbb, 0x14, 0xd3, 0x8a, 0xda, 0xdd, 0xea, 0xb5, 0xbb, 0x6c, 0x04, 0x0b, 0xb5, 0x7c, 0xf7, 0x72, - 0x72, 0x23, 0xe6, 0x55, 0xf0, 0x52, 0xa6, 0x07, 0xe5, 0x80, 0x86, 0x36, 0xb0, 0xc5, 0x42, 0x95, - 0x0d, 0xf2, 0xea, 0x75, 0x9b, 0x7c, 0x86, 0xe9, 0x7e, 0xe4, 0x4d, 0x6f, 0x35, 0x54, 0xb8, 0x07, - 0x8f, 0x06, 0x1e, 0x4d, 0xc7, 0x3d, 0x1a, 0x3d, 0x36, 0x55, 0xf6, 0x85, 0xfb, 0xe6, 0xfa, 0xe4, - 0xa9, 0x33, 0xab, 0x82, 0xba, 0x62, 0x4b, 0x31, 0x24, 0x62, 0x83, 0x25, 0xdd, 0xd5, 0x81, 0x33, - 0xb4, 0xcd, 0x6e, 0xed, 0x52, 0xf1, 0xbb, 0x1f, 0xc6, 0x31, 0x5f, 0xbd, 0x6b, 0x81, 0x30, 0x38, - 0xe5, 0x80, 0x12, 0x94, 0xbe, 0x33, 0x32, 0x9a, 0x7a, 0x70, 0x80, 0x16, 0x8d, 0x13, 0xc2, 0xef, - 0x1e, 0x66, 0xd4, 0xc1, 0x65, 0x30, 0xb6, 0xa4, 0x9d, 0xa9, 0xf3, 0x0f, 0x9a, 0xfe, 0x60, 0x9a, - 0x94, 0xd5, 0xac, 0x82, 0xa9, 0xc7, 0xdb, 0x16, 0x12, 0x88, 0xb5, 0xf1, 0x14, 0x29, 0x50, 0x30, - 0x55, 0x57, 0x2d, 0xc8, 0x02, 0xf2, 0x00, 0x79, 0x80, 0x3c, 0xdd, 0x41, 0x9e, 0x3a, 0x4a, 0x17, - 0x94, 0xe1, 0x85, 0x95, 0xdd, 0x57, 0xa4, 0x72, 0x91, 0xe1, 0xae, 0x9e, 0xe1, 0x56, 0x4d, 0x37, - 0x11, 0xf3, 0xd9, 0xa9, 0x1a, 0x9a, 0x10, 0x21, 0x87, 0x9e, 0xb0, 0x85, 0x37, 0x10, 0xf6, 0x30, - 0x94, 0x41, 0x42, 0x08, 0x96, 0x57, 0x04, 0xe1, 0x38, 0x38, 0x22, 0xe7, 0x5d, 0x3c, 0x0e, 0xbe, - 0xb2, 0xcf, 0xed, 0xd1, 0x48, 0x7a, 0x74, 0xaf, 0xb6, 0x50, 0x2a, 0xfc, 0x5b, 0x94, 0xe7, 0x36, - 0xaa, 0x82, 0x6d, 0xf7, 0x71, 0x7d, 0xe1, 0xf4, 0x23, 0xd1, 0xe7, 0x70, 0x72, 0x8f, 0x08, 0x32, - 0x6e, 0x0a, 0xdc, 0x93, 0xcf, 0x99, 0x37, 0xb2, 0xf8, 0x8a, 0x3e, 0xe7, 0x9d, 0x95, 0xc2, 0x5f, - 0xaf, 0x7c, 0x3c, 0x46, 0x8f, 0x95, 0x8f, 0xc2, 0x97, 0x40, 0x78, 0xf6, 0x0a, 0xac, 0xac, 0xfc, - 0x4d, 0x0a, 0x32, 0x06, 0xd3, 0x06, 0xe9, 0xdd, 0x33, 0xe2, 0x2b, 0x40, 0x15, 0xa0, 0x0a, 0x50, - 0x05, 0xa8, 0x2a, 0x83, 0xaa, 0xe9, 0x80, 0x99, 0x3d, 0x28, 0x0f, 0x68, 0x2e, 0x8b, 0x03, 0x70, - 0x02, 0x38, 0x01, 0x9c, 0x00, 0xce, 0xad, 0xc0, 0x59, 0x2b, 0x4a, 0xd6, 0x72, 0x9c, 0x6d, 0x11, - 0x07, 0xad, 0xcc, 0x95, 0xb4, 0x18, 0x82, 0x76, 0x93, 0x6a, 0xc2, 0x3f, 0xa0, 0x26, 0xbc, 0x1c, - 0x8e, 0x7d, 0x40, 0x4d, 0x38, 0xa7, 0x96, 0x19, 0x90, 0x03, 0x20, 0x71, 0xd7, 0x16, 0x47, 0x3a, - 0x20, 0xf4, 0xc4, 0xb9, 0x37, 0x10, 0x37, 0xe9, 0xf5, 0x0d, 0xc8, 0x0b, 0x84, 0x43, 0x11, 0xa5, - 0xef, 0xc4, 0xf1, 0xa9, 0x45, 0xf8, 0x79, 0x51, 0x28, 0xc3, 0xd7, 0x0c, 0xa9, 0xa8, 0xa9, 0x53, - 0x05, 0x23, 0x7a, 0xe5, 0x2c, 0x75, 0xbb, 0x5b, 0xbb, 0x54, 0x88, 0x1f, 0x89, 0xa1, 0x70, 0x12, - 0x3b, 0x9b, 0x47, 0xc3, 0x55, 0x93, 0xbf, 0x45, 0x2e, 0xca, 0xf3, 0x01, 0x31, 0x28, 0xcf, 0xdf, - 0x88, 0x2c, 0xc7, 0x46, 0xa0, 0x43, 0x2c, 0x7d, 0x29, 0x02, 0x57, 0xd8, 0x89, 0xca, 0x92, 0x2c, - 0xc0, 0xc1, 0xb2, 0xa0, 0xae, 0x14, 0xed, 0x43, 0xff, 0x5b, 0xa9, 0xff, 0xca, 0xc5, 0x07, 0xc3, - 0x28, 0x4c, 0x26, 0xa3, 0x6d, 0xd4, 0x14, 0x26, 0xb7, 0x8b, 0x56, 0x05, 0x82, 0xe4, 0x05, 0xc9, - 0x0b, 0x92, 0xb7, 0x71, 0x85, 0xa2, 0xc6, 0x00, 0xc4, 0x58, 0xa0, 0x5e, 0xc6, 0x2a, 0x12, 0x71, - 0x12, 0x4e, 0x42, 0x26, 0x7b, 0x18, 0xfa, 0xd2, 0x7d, 0xa3, 0xe3, 0x5a, 0x81, 0x4c, 0x40, 0x1b, - 0xa0, 0x0d, 0xd0, 0x66, 0x82, 0x4e, 0xb5, 0x17, 0xdd, 0x76, 0x9c, 0x07, 0xa7, 0x85, 0x51, 0x16, - 0x03, 0x0f, 0x7e, 0x9b, 0xdd, 0x41, 0xba, 0x6f, 0x4d, 0x88, 0x51, 0x65, 0xfc, 0x93, 0x8f, 0xb6, - 0x2a, 0x10, 0x86, 0x42, 0x79, 0xc4, 0xaa, 0xbb, 0x18, 0xab, 0x16, 0xec, 0x75, 0xa6, 0x23, 0xa0, - 0x6b, 0x25, 0xc3, 0xc5, 0x83, 0x8b, 0x07, 0x17, 0x8f, 0xb0, 0x7b, 0xba, 0x71, 0x1c, 0x3d, 0xc5, - 0x0f, 0xe9, 0x89, 0x20, 0x91, 0x7d, 0x29, 0x22, 0xdb, 0x97, 0x71, 0xc2, 0x84, 0x4a, 0xab, 0x52, - 0x81, 0x48, 0x40, 0x24, 0x20, 0x52, 0x9b, 0x11, 0x49, 0x71, 0x05, 0x48, 0x75, 0x7d, 0x99, 0x14, - 0x8e, 0xfa, 0xbe, 0xdc, 0x92, 0xf6, 0xa8, 0xfb, 0x9d, 0x49, 0x11, 0x2d, 0x3d, 0x75, 0x7f, 0xda, - 0xd4, 0xd2, 0x62, 0xea, 0x0d, 0x4b, 0x53, 0x49, 0xc2, 0xa6, 0xb4, 0xb8, 0xea, 0x03, 0x33, 0x61, - 0xa4, 0x3a, 0x41, 0x53, 0x79, 0x98, 0x69, 0xd5, 0x2f, 0x53, 0x94, 0x81, 0xae, 0xcf, 0xda, 0x34, - 0x1d, 0x5d, 0x9f, 0x51, 0xe1, 0x5b, 0x96, 0xd9, 0x24, 0x13, 0x6f, 0x2c, 0xec, 0xa6, 0x8c, 0x7f, - 0x9a, 0x37, 0xc1, 0x22, 0x16, 0xd1, 0xb3, 0x88, 0x6c, 0x19, 0x24, 0x62, 0x10, 0xc9, 0xe4, 0xcd, - 0x1e, 0x46, 0xa1, 0x2b, 0x18, 0x1b, 0xe8, 0x96, 0xbd, 0x00, 0xaa, 0xf6, 0xc0, 0x84, 0xa2, 0x6a, - 0x8f, 0x31, 0x88, 0xd1, 0x83, 0x17, 0x49, 0x98, 0x38, 0xbe, 0x3d, 0x0c, 0x13, 0x11, 0x24, 0xd2, - 0xf1, 0x6d, 0xd7, 0x19, 0x3a, 0xae, 0x4c, 0xde, 0xd4, 0x01, 0x62, 0xad, 0xc4, 0xae, 0xe4, 0x46, - 0x70, 0x50, 0x60, 0x03, 0x1e, 0xec, 0x58, 0xf3, 0xdd, 0xc9, 0x66, 0x8f, 0xe5, 0x7f, 0x39, 0x46, - 0x0d, 0xcf, 0x65, 0xd1, 0x98, 0xc6, 0x1e, 0x9a, 0x61, 0x82, 0x67, 0x6c, 0x5b, 0x33, 0x4c, 0x55, - 0x15, 0xcc, 0x04, 0x8c, 0x02, 0x99, 0xf0, 0xf1, 0x6a, 0xa9, 0x34, 0xe2, 0x1b, 0xa1, 0x11, 0xff, - 0x6c, 0x6a, 0xc9, 0xa9, 0x9e, 0x9a, 0xd4, 0x54, 0x07, 0x1b, 0xa9, 0x45, 0x6d, 0xb5, 0xf2, 0x91, - 0x7a, 0xd4, 0x98, 0xce, 0x50, 0x12, 0x59, 0x4a, 0x8b, 0x25, 0x89, 0x90, 0xdb, 0x79, 0x33, 0xbf, - 0xd2, 0x66, 0x50, 0x55, 0x8b, 0xa9, 0x88, 0x2d, 0x93, 0x45, 0x2b, 0x66, 0x6b, 0x96, 0x54, 0xa6, - 0x0d, 0x14, 0xc8, 0xbd, 0x27, 0xca, 0x60, 0x01, 0x40, 0x29, 0xa0, 0x14, 0x50, 0xaa, 0x1d, 0x4a, - 0x47, 0x32, 0x48, 0x3e, 0x1d, 0x32, 0x62, 0xe8, 0x31, 0x83, 0xa8, 0x5b, 0x27, 0x18, 0x8c, 0xef, - 0xee, 0x3f, 0x2c, 0x9b, 0x81, 0x47, 0x09, 0xac, 0x69, 0x16, 0x87, 0x4d, 0xab, 0x98, 0x01, 0x2e, - 0x27, 0xf6, 0xcf, 0x29, 0x96, 0x73, 0xcb, 0xfd, 0x12, 0x39, 0xe9, 0xb9, 0x98, 0x33, 0x39, 0x90, - 0x69, 0xe6, 0xe2, 0x80, 0x4d, 0xfe, 0xaf, 0x77, 0x8c, 0xaf, 0xca, 0x79, 0x6d, 0xdd, 0xab, 0xea, - 0x1d, 0x1f, 0x1e, 0x7e, 0x3a, 0x3a, 0x3c, 0x3c, 0x38, 0xfa, 0xd7, 0xd1, 0xc1, 0xbf, 0x3f, 0x7e, - 0xec, 0x7d, 0xea, 0x7d, 0x6c, 0xd1, 0xdb, 0xdb, 0x33, 0x43, 0xca, 0x43, 0x53, 0x8e, 0x57, 0xad, - 0x41, 0x33, 0x31, 0x17, 0x97, 0xc9, 0xa1, 0xe7, 0xe4, 0xd6, 0xb1, 0xbe, 0xef, 0xc9, 0xac, 0x96, - 0xc5, 0x90, 0xab, 0xbb, 0x1f, 0xdf, 0xc4, 0xcd, 0xec, 0xe6, 0x4e, 0xa7, 0xf7, 0x36, 0xf9, 0xf8, - 0x6e, 0x7c, 0x6b, 0x38, 0x73, 0xa2, 0x75, 0x17, 0x34, 0x90, 0x9e, 0x2d, 0x7e, 0xe5, 0x26, 0xa4, - 0x68, 0x93, 0xc8, 0x09, 0x62, 0x39, 0x7e, 0x4d, 0xc2, 0xb3, 0x8b, 0xe6, 0xa5, 0xab, 0xa7, 0x5e, - 0xb6, 0x49, 0xae, 0x39, 0x29, 0x8b, 0x56, 0x0a, 0x48, 0xca, 0xd6, 0x12, 0xd9, 0x34, 0x97, 0x94, - 0x45, 0x87, 0x48, 0xaa, 0x92, 0xa0, 0x43, 0x24, 0xc1, 0x0b, 0x34, 0xa1, 0x7e, 0x4c, 0x8b, 0x91, - 0x1c, 0x05, 0xce, 0xb3, 0x23, 0x7d, 0xe7, 0xbb, 0x2f, 0xec, 0x44, 0x3e, 0x09, 0xb6, 0xfa, 0xa5, - 0x6d, 0x82, 0x51, 0xb7, 0x04, 0x13, 0x09, 0x13, 0xc9, 0x69, 0x22, 0xf5, 0xe0, 0x83, 0x4a, 0x53, - 0xfc, 0x39, 0x08, 0x28, 0x34, 0x77, 0x6e, 0xad, 0x33, 0x8c, 0x7a, 0xa4, 0x0d, 0x7a, 0xbe, 0xab, - 0x8d, 0x4b, 0x15, 0xa7, 0x3c, 0x18, 0xa5, 0xe3, 0xcf, 0x8e, 0x2f, 0xbd, 0x49, 0x8b, 0x92, 0x27, - 0xe1, 0xfe, 0x70, 0x02, 0x19, 0x3f, 0xa9, 0xeb, 0x7c, 0xa1, 0x34, 0xf4, 0x6b, 0x00, 0x0a, 0xec, - 0x62, 0xbf, 0x86, 0x15, 0xf2, 0xc7, 0xf1, 0xfe, 0x76, 0x5c, 0x11, 0xb8, 0x6f, 0xf6, 0x54, 0x0b, - 0x04, 0xc3, 0x44, 0x99, 0x12, 0xd7, 0xc0, 0x89, 0x69, 0x9c, 0x98, 0x6e, 0x54, 0x3d, 0xd5, 0x83, - 0x71, 0x0b, 0x27, 0xa6, 0x6b, 0x23, 0x31, 0x58, 0x0c, 0xbd, 0x0e, 0x83, 0x0f, 0x44, 0x02, 0x22, - 0x01, 0x91, 0xba, 0x8d, 0x48, 0x51, 0xf8, 0x7d, 0x14, 0x27, 0x81, 0x88, 0x63, 0x56, 0x48, 0x5a, - 0x10, 0x0b, 0x4c, 0x02, 0x26, 0x01, 0x93, 0xba, 0x85, 0x49, 0x75, 0x34, 0xbd, 0xe0, 0x60, 0x3c, - 0xd0, 0xf0, 0x22, 0x87, 0x07, 0x68, 0x78, 0x41, 0xb1, 0xac, 0x68, 0x78, 0x51, 0xbd, 0xac, 0x8a, - 0x29, 0x92, 0xa1, 0x96, 0x54, 0xfd, 0x99, 0xdd, 0xc6, 0xd7, 0xec, 0x2e, 0x74, 0xd1, 0xc4, 0x7b, - 0x8c, 0x6f, 0x72, 0x86, 0x87, 0x15, 0x38, 0x71, 0x35, 0xdc, 0x5b, 0xc1, 0xbb, 0x6a, 0x9b, 0x9b, - 0xa4, 0x19, 0x6a, 0x1a, 0x51, 0x76, 0xfd, 0x14, 0x35, 0x80, 0xbe, 0xf3, 0xf7, 0xab, 0x74, 0x3e, - 0x21, 0x6d, 0xee, 0x72, 0x1b, 0x79, 0xfb, 0xb6, 0x2c, 0xb1, 0xa4, 0xfb, 0x95, 0x8a, 0xfc, 0x32, - 0xf3, 0x57, 0xa1, 0x80, 0xaf, 0x62, 0x9e, 0xa2, 0x72, 0x28, 0xa0, 0xe2, 0xfa, 0x13, 0x73, 0x92, - 0xaa, 0x46, 0x9c, 0xec, 0xc8, 0x93, 0xcd, 0x34, 0x3d, 0xe7, 0xc8, 0x0b, 0x86, 0x55, 0x73, 0x0a, - 0x8a, 0xe7, 0x01, 0x49, 0xe7, 0xff, 0x90, 0x6c, 0x6f, 0x2e, 0x62, 0x45, 0xb2, 0xbd, 0xbe, 0xf8, - 0xd3, 0xb4, 0x74, 0xfb, 0x48, 0x10, 0x2b, 0xd0, 0x17, 0x64, 0x40, 0xe3, 0xa1, 0xf1, 0xd0, 0xf8, - 0xfa, 0x35, 0x5e, 0x47, 0xe4, 0x54, 0x59, 0xad, 0x11, 0x3f, 0x35, 0x1e, 0x3f, 0x55, 0x04, 0x61, - 0x42, 0xfc, 0x94, 0x2a, 0x45, 0x9d, 0xf1, 0x53, 0xe8, 0xa9, 0xc4, 0x4f, 0xe3, 0x6f, 0x69, 0x8e, - 0x9f, 0x3e, 0xd4, 0x15, 0x3f, 0x29, 0xa4, 0x4a, 0x76, 0x29, 0x82, 0xaa, 0x9e, 0xea, 0x68, 0x38, - 0x86, 0x72, 0xbc, 0x27, 0x19, 0xc8, 0x38, 0x89, 0x9c, 0x44, 0x3e, 0x8b, 0xe9, 0x28, 0x79, 0x65, - 0x2f, 0xab, 0x50, 0x1a, 0xfc, 0x2d, 0xf8, 0x5b, 0x3b, 0xeb, 0x6f, 0x31, 0xec, 0x78, 0x8b, 0xd8, - 0xe3, 0x49, 0xb1, 0xa7, 0x93, 0x9e, 0x58, 0xcd, 0x19, 0x0c, 0x22, 0x31, 0x70, 0x12, 0xe1, 0xd9, - 0x63, 0xbb, 0x66, 0x0b, 0x6f, 0x20, 0xec, 0x61, 0x28, 0x83, 0x84, 0x80, 0x2a, 0xeb, 0x65, 0xa2, - 0x4c, 0x1a, 0xe8, 0xb2, 0x8b, 0x65, 0xd2, 0x2b, 0xfb, 0xdc, 0x56, 0x3a, 0x55, 0x54, 0xe8, 0x69, - 0xe6, 0xa4, 0xa2, 0xc8, 0x07, 0x45, 0x3e, 0x8d, 0xaa, 0xa0, 0x9a, 0x2a, 0x2a, 0xaa, 0x24, 0xdd, - 0xf4, 0xe7, 0x76, 0x8f, 0x2f, 0x9c, 0x7e, 0x24, 0xfa, 0x1c, 0x55, 0x3e, 0x47, 0x04, 0x19, 0x37, - 0x05, 0xd1, 0xf8, 0xe7, 0x2c, 0xf8, 0x5e, 0x7c, 0x45, 0x9f, 0xf3, 0xb1, 0x79, 0xe1, 0xaf, 0x57, - 0x3e, 0x1e, 0xa3, 0xc7, 0xca, 0x47, 0xe1, 0x4b, 0x90, 0x37, 0xca, 0x2b, 0x7f, 0x93, 0x82, 0x8c, - 0xc1, 0x75, 0x1f, 0xe9, 0xdd, 0x33, 0xe2, 0x2b, 0x40, 0x15, 0xa0, 0x0a, 0x50, 0x05, 0xa8, 0x2a, - 0x83, 0xaa, 0xe9, 0x80, 0x99, 0x3d, 0x28, 0x0f, 0x68, 0x2e, 0x8b, 0x03, 0x70, 0x02, 0x38, 0x01, - 0x9c, 0x00, 0xce, 0xad, 0xc0, 0x59, 0x2b, 0x4a, 0xd6, 0x51, 0x14, 0xbf, 0x84, 0x83, 0x56, 0xe6, - 0x4a, 0x5a, 0x0c, 0x41, 0x3b, 0x6b, 0xb1, 0xbc, 0x62, 0x65, 0x34, 0xca, 0xab, 0xab, 0x25, 0x49, - 0xc7, 0x7e, 0x01, 0x1b, 0xf1, 0x69, 0x11, 0xf3, 0xa8, 0xa1, 0x27, 0x1e, 0x4f, 0xb2, 0x9b, 0x19, - 0xff, 0xf3, 0xdc, 0x1b, 0x88, 0x9b, 0xf4, 0x4e, 0x4c, 0x20, 0x9d, 0xb3, 0xc6, 0x59, 0xf4, 0x29, - 0x61, 0x05, 0xb2, 0x30, 0x1f, 0x0c, 0x14, 0x33, 0xe6, 0x83, 0x6d, 0xf2, 0xe0, 0x31, 0x1f, 0x0c, - 0xf3, 0xc1, 0xf8, 0x9c, 0x77, 0xcc, 0x07, 0x23, 0x6c, 0x3f, 0xcc, 0x07, 0xab, 0x53, 0x4d, 0xb9, - 0xd5, 0x55, 0x9b, 0xda, 0x6a, 0x53, 0x5f, 0x7d, 0x6a, 0x4c, 0x53, 0x67, 0xa2, 0x5a, 0xf3, 0x45, - 0xe6, 0xb9, 0x9d, 0x87, 0xf9, 0x60, 0x7a, 0x5e, 0x17, 0xe6, 0x83, 0x01, 0x4a, 0x01, 0xa5, 0x9d, - 0x82, 0x52, 0xcc, 0x07, 0xab, 0xc8, 0xe3, 0x61, 0x3e, 0x18, 0xe6, 0x83, 0x61, 0x3e, 0x18, 0x3f, - 0x34, 0xf2, 0x49, 0xc1, 0x7c, 0xb0, 0x2a, 0x72, 0x18, 0x38, 0xf6, 0x1c, 0xdf, 0xdb, 0xf8, 0x64, - 0xb0, 0x09, 0xdd, 0x3e, 0xbb, 0x2f, 0x0c, 0x05, 0xab, 0xef, 0xd5, 0x37, 0x91, 0x56, 0x59, 0x7d, - 0xcf, 0x26, 0x24, 0x54, 0xdc, 0x30, 0x4e, 0xd8, 0x06, 0x9b, 0x14, 0x09, 0x43, 0xdd, 0xbe, 0xf6, - 0x38, 0x08, 0x75, 0xfb, 0xea, 0xd8, 0xa4, 0x9c, 0x56, 0x49, 0xf7, 0xba, 0xe3, 0x0f, 0xc2, 0x48, - 0x26, 0x3f, 0x18, 0x5a, 0x05, 0xaf, 0xc8, 0x43, 0x75, 0x14, 0xaa, 0xa3, 0x1a, 0x55, 0xbb, 0x66, - 0xbc, 0x45, 0x34, 0x09, 0x56, 0x40, 0x21, 0xa5, 0x7e, 0x29, 0xc5, 0x00, 0xa4, 0xd0, 0x36, 0x05, - 0xd8, 0x03, 0xec, 0x01, 0xf6, 0x74, 0x15, 0x7b, 0x68, 0x99, 0x98, 0x65, 0xf0, 0xa1, 0xa4, 0x61, - 0x80, 0x3e, 0x40, 0x1f, 0xa0, 0x0f, 0x5a, 0x91, 0x17, 0x6f, 0x5e, 0x8a, 0x7f, 0x83, 0xfe, 0xe3, - 0x79, 0x10, 0x40, 0xff, 0x71, 0x8a, 0xe1, 0x44, 0x81, 0x7c, 0x75, 0x06, 0x97, 0x4e, 0x2d, 0x72, - 0x50, 0xb8, 0xa7, 0x61, 0x9c, 0x9c, 0x2e, 0xdf, 0x84, 0x01, 0x1c, 0xae, 0x27, 0x7c, 0xf9, 0x2c, - 0xa2, 0x37, 0x3b, 0x1c, 0xef, 0x09, 0x36, 0x36, 0x77, 0xb3, 0x58, 0x0c, 0xa9, 0x06, 0xaf, 0x8b, - 0x21, 0xd5, 0x8c, 0xee, 0x93, 0x1e, 0x6c, 0x10, 0x81, 0xeb, 0x0c, 0xe7, 0x6f, 0x49, 0x19, 0x0c, - 0x56, 0xe4, 0x20, 0xab, 0x03, 0xed, 0xdf, 0xc5, 0xac, 0x0e, 0x4e, 0xbc, 0x83, 0xd9, 0x00, 0xb3, - 0x61, 0x2a, 0xb3, 0x81, 0x13, 0xef, 0x6d, 0xe3, 0x5e, 0x9a, 0x0f, 0x1c, 0x49, 0x8e, 0x0b, 0x47, - 0xcc, 0x78, 0x3e, 0xbe, 0x81, 0x7b, 0x25, 0x9d, 0xd5, 0xe4, 0x12, 0x46, 0x51, 0xc8, 0x17, 0x25, - 0x16, 0x4a, 0x43, 0x70, 0x08, 0xf7, 0x10, 0xc1, 0xa1, 0xf1, 0xc1, 0xa1, 0xef, 0x24, 0x22, 0x70, - 0xdf, 0xd8, 0xb0, 0x60, 0x8d, 0x3c, 0x04, 0x8b, 0x40, 0x83, 0x5d, 0x0c, 0x16, 0xfb, 0xf2, 0x55, - 0x78, 0x36, 0x93, 0x12, 0xe5, 0xb6, 0xd4, 0x46, 0xe9, 0x0d, 0x87, 0x92, 0x1f, 0x10, 0x4a, 0x22, - 0x94, 0x6c, 0x75, 0x28, 0xd9, 0x8d, 0x12, 0x9d, 0xbf, 0x65, 0x92, 0xd0, 0x33, 0x42, 0xb9, 0xc5, - 0x2b, 0x16, 0x0b, 0x4c, 0x02, 0x26, 0x01, 0x93, 0x80, 0x49, 0x5b, 0xee, 0xf1, 0x9f, 0x91, 0x90, - 0xc1, 0x40, 0x9b, 0xdb, 0xb4, 0x59, 0x3c, 0x28, 0x78, 0x60, 0x14, 0x30, 0x0a, 0x18, 0xb5, 0xe5, - 0x1e, 0x93, 0xc8, 0xe9, 0xf7, 0xa5, 0x6b, 0x0f, 0xa3, 0x70, 0x28, 0xa2, 0xe4, 0x8d, 0xe9, 0x88, - 0x45, 0xb1, 0x58, 0x60, 0x12, 0x30, 0x09, 0x98, 0x04, 0x4c, 0xda, 0x72, 0x8f, 0x2f, 0x4e, 0xe0, - 0x69, 0x88, 0xe5, 0x8a, 0xc5, 0x22, 0x96, 0x03, 0x26, 0x01, 0x93, 0xba, 0x85, 0x49, 0xb5, 0xb4, - 0xbe, 0x67, 0xf0, 0x80, 0x70, 0x20, 0x23, 0x0f, 0x08, 0x38, 0x90, 0x41, 0x31, 0xad, 0x38, 0x90, - 0x51, 0xbd, 0xae, 0x86, 0x8d, 0x60, 0xa1, 0xd6, 0xd7, 0x5c, 0x4e, 0x6e, 0xc4, 0xbc, 0x63, 0x19, - 0xbe, 0xf3, 0x26, 0xa2, 0x31, 0xd2, 0x25, 0xa1, 0x1b, 0xfa, 0x6a, 0x21, 0xe4, 0x42, 0x6a, 0x3d, - 0x2f, 0x0c, 0x55, 0x36, 0xda, 0x71, 0x16, 0x79, 0x75, 0x75, 0x8c, 0xa2, 0x57, 0xd9, 0xd0, 0x37, - 0xbd, 0xd5, 0xd0, 0xc4, 0x6d, 0x78, 0x34, 0xf0, 0x68, 0x3a, 0xee, 0xd1, 0xe8, 0xb1, 0xa9, 0xb2, - 0x2f, 0xdc, 0x37, 0xd7, 0x9f, 0xcd, 0xdf, 0x57, 0xb7, 0xa7, 0x2b, 0x82, 0xba, 0x62, 0x4b, 0x31, - 0xf9, 0x67, 0x83, 0x25, 0x35, 0x73, 0xf2, 0x0f, 0x83, 0x1d, 0x25, 0x6d, 0xf6, 0xa6, 0x6c, 0xa8, - 0x1e, 0x00, 0x09, 0xe3, 0x98, 0xaf, 0xde, 0xb5, 0x40, 0x18, 0x9c, 0x72, 0x40, 0x09, 0x4a, 0xdf, - 0x19, 0x19, 0x4d, 0x3d, 0x38, 0x40, 0x8b, 0xc6, 0x09, 0xe1, 0xb7, 0x72, 0x59, 0xfb, 0x01, 0x5c, - 0x06, 0xb8, 0x0c, 0x25, 0x6f, 0x53, 0xb9, 0xa4, 0x9d, 0xa9, 0x9d, 0x1b, 0x3a, 0xb9, 0x61, 0x44, - 0xa0, 0xd5, 0xac, 0x82, 0xa9, 0xc7, 0xdb, 0x16, 0x12, 0x88, 0xb5, 0xf1, 0x14, 0x29, 0x50, 0x30, - 0x55, 0x57, 0x2d, 0xc8, 0x02, 0xf2, 0x00, 0x79, 0x80, 0x3c, 0xdd, 0x41, 0x9e, 0x3a, 0x4a, 0x17, - 0x94, 0xe1, 0x05, 0x33, 0xf9, 0xad, 0x56, 0x66, 0xb8, 0x55, 0xd3, 0x4d, 0xc4, 0x7c, 0x76, 0xaa, - 0x86, 0x26, 0x44, 0xc8, 0xa1, 0x27, 0xec, 0x68, 0xe4, 0x0b, 0x7b, 0x10, 0x85, 0xa3, 0x21, 0x21, - 0x58, 0x5e, 0x11, 0xd4, 0x95, 0xb8, 0x19, 0x0c, 0x59, 0x2b, 0x19, 0x32, 0xe5, 0xd8, 0xb9, 0x60, - 0xc8, 0x14, 0xd9, 0xa7, 0x65, 0x19, 0x5c, 0x65, 0x71, 0x0e, 0xde, 0xff, 0x00, 0xdf, 0x16, 0xbe, - 0x6d, 0xdb, 0x06, 0xef, 0x2f, 0xcc, 0xf9, 0x63, 0x1b, 0x1a, 0xcd, 0x32, 0x3b, 0x90, 0x41, 0x35, - 0xd9, 0xc2, 0x4f, 0x4e, 0x55, 0xd5, 0xa4, 0xb2, 0xdc, 0xaa, 0xab, 0x4d, 0x85, 0xb5, 0xa9, 0xb2, - 0x3e, 0x95, 0xa6, 0xa9, 0x36, 0x51, 0xc5, 0xd9, 0x54, 0x3d, 0x13, 0x94, 0x8e, 0xdc, 0x67, 0xdb, - 0x1f, 0xd9, 0x18, 0x6a, 0x9e, 0x41, 0xfe, 0x16, 0xff, 0x90, 0x5e, 0x36, 0xf5, 0xd7, 0x01, 0x03, - 0x9a, 0xe1, 0x40, 0x17, 0x2c, 0x68, 0x87, 0x07, 0xed, 0x30, 0xa1, 0x1f, 0x2e, 0x78, 0x60, 0x83, - 0x09, 0x3e, 0xf8, 0xd8, 0xb0, 0xb5, 0x3b, 0x77, 0xe6, 0x87, 0xdb, 0x8c, 0x50, 0x60, 0x11, 0x2b, - 0x6c, 0xd6, 0xca, 0x54, 0xab, 0xbc, 0xd1, 0xf7, 0x8a, 0x19, 0x5e, 0x2f, 0x31, 0x45, 0xb9, 0xf6, - 0xbd, 0x52, 0x52, 0x96, 0x80, 0x76, 0x40, 0x3b, 0xa0, 0xbd, 0xf5, 0xd0, 0x3e, 0x92, 0x41, 0xf2, - 0xe9, 0x50, 0x03, 0xa6, 0x1f, 0x33, 0x8a, 0xbc, 0x75, 0x82, 0xc1, 0xf8, 0x6e, 0xff, 0xc3, 0xba, - 0x89, 0x78, 0x95, 0xca, 0x9a, 0xe6, 0x2d, 0xd8, 0xb5, 0x55, 0x13, 0xc0, 0xe6, 0xc4, 0xff, 0x39, - 0xb5, 0x31, 0xba, 0xe4, 0x7f, 0x89, 0x1c, 0x37, 0x91, 0x61, 0x70, 0x26, 0x07, 0x32, 0xcd, 0xc8, - 0x1c, 0xb0, 0x5f, 0xe7, 0xd7, 0x3b, 0x0d, 0xaf, 0xd4, 0x79, 0x6d, 0xfd, 0x2b, 0xed, 0x1d, 0x1f, - 0x1e, 0x7e, 0x3a, 0x3a, 0x3c, 0x3c, 0x38, 0xfa, 0xd7, 0xd1, 0xc1, 0xbf, 0x3f, 0x7e, 0xec, 0x7d, - 0xea, 0x7d, 0x6c, 0xf1, 0x5b, 0xde, 0x33, 0x53, 0xda, 0x83, 0x29, 0x0e, 0x67, 0xa3, 0x64, 0x06, - 0x31, 0x87, 0x99, 0x93, 0xc7, 0x90, 0xd3, 0x5c, 0xce, 0xc5, 0xbd, 0xcf, 0xe7, 0x17, 0xde, 0xb3, - 0xf1, 0x9a, 0x16, 0x47, 0x32, 0x34, 0xf4, 0xc4, 0xed, 0xc8, 0x17, 0xbf, 0x8f, 0xef, 0xf6, 0xf1, - 0x64, 0x76, 0xb7, 0xa7, 0xd3, 0x9b, 0x7d, 0xbc, 0x1f, 0xdf, 0xec, 0xdd, 0xf8, 0x5e, 0xf7, 0x9a, - 0xd9, 0x26, 0xf5, 0x12, 0xe1, 0x4c, 0x1b, 0xaa, 0x96, 0x8d, 0x44, 0xc9, 0xcc, 0xe8, 0xdd, 0x35, - 0xfb, 0x46, 0x0f, 0x55, 0x7e, 0x1a, 0x86, 0xb1, 0xf0, 0x28, 0x99, 0xf7, 0x3c, 0x67, 0x51, 0x20, - 0x14, 0x69, 0x44, 0x74, 0xf8, 0x61, 0x88, 0x35, 0xdb, 0xd6, 0xe1, 0x87, 0x9c, 0x4a, 0x5c, 0x01, - 0x3e, 0xda, 0xa0, 0xb0, 0xdc, 0x96, 0x2c, 0x94, 0xce, 0x93, 0x5e, 0x3c, 0xd8, 0xf9, 0xf4, 0x22, - 0x83, 0x2a, 0xeb, 0xa2, 0x9b, 0x76, 0x21, 0xc1, 0x48, 0x57, 0x75, 0x33, 0xbc, 0x72, 0x36, 0x02, - 0x89, 0x71, 0x2e, 0x59, 0xce, 0xbe, 0x1e, 0x31, 0xc8, 0xd2, 0x3e, 0xa7, 0x2c, 0xf5, 0x04, 0xf3, - 0x1f, 0x2d, 0xfa, 0x85, 0x5c, 0x83, 0xcd, 0x18, 0x3c, 0xf5, 0x77, 0x44, 0xd0, 0xd7, 0x80, 0xf4, - 0x80, 0x77, 0xc0, 0x3b, 0xe0, 0x1d, 0xf0, 0xde, 0x1a, 0x78, 0x6f, 0x2b, 0x80, 0xf3, 0xcc, 0xf5, - 0xcd, 0xe3, 0x12, 0xc3, 0x7c, 0x5f, 0x00, 0x39, 0x80, 0x1c, 0x40, 0x0e, 0x20, 0x37, 0x72, 0x9e, - 0x30, 0x03, 0x6a, 0xd7, 0x4a, 0xef, 0xcc, 0xda, 0x0c, 0x2f, 0xe2, 0xb2, 0x95, 0xb9, 0xda, 0x16, - 0x23, 0xbd, 0x42, 0x3b, 0xd5, 0x97, 0x49, 0xe1, 0x38, 0xdd, 0x37, 0x17, 0xc6, 0x70, 0xca, 0x2f, - 0x13, 0x46, 0x3a, 0xed, 0x47, 0x7d, 0x8f, 0xe6, 0x26, 0x3a, 0xf8, 0xb8, 0x74, 0x8b, 0x3d, 0xd3, - 0x71, 0x3a, 0xbd, 0xb7, 0xec, 0x13, 0xb3, 0x33, 0x1d, 0x71, 0xc2, 0x3e, 0xcd, 0xa0, 0x48, 0x28, - 0x32, 0x1d, 0xc8, 0x74, 0x18, 0xe1, 0x56, 0xb5, 0x2c, 0xd3, 0x91, 0xea, 0x92, 0xe3, 0x0f, 0xc2, - 0x48, 0x26, 0x3f, 0x9e, 0xf8, 0x82, 0xa6, 0x15, 0xb9, 0x88, 0x9a, 0x10, 0x35, 0x21, 0x6a, 0x32, - 0x38, 0x6a, 0x22, 0xf7, 0x03, 0xc9, 0x99, 0xd4, 0xe3, 0x16, 0x32, 0x48, 0x29, 0x6a, 0x91, 0x1a, + 0xe0, 0x3a, 0x48, 0xc3, 0x79, 0x54, 0x83, 0x98, 0xdb, 0x37, 0x6e, 0x68, 0xf9, 0x0f, 0xc8, 0xb0, + 0x8e, 0x76, 0x4d, 0x15, 0x0b, 0x8f, 0x06, 0x6c, 0xda, 0xe2, 0xd5, 0xf5, 0xc7, 0x9e, 0xb0, 0x7d, + 0x19, 0x7c, 0x57, 0xdf, 0xaf, 0x57, 0xac, 0x60, 0xab, 0xc6, 0x56, 0x0d, 0xf2, 0xde, 0x32, 0xf2, + 0x3e, 0xf7, 0xe0, 0x20, 0xf4, 0x04, 0x1d, 0x07, 0x52, 0x2b, 0xc0, 0x01, 0xe0, 0x00, 0x70, 0xa0, + 0xc5, 0x38, 0x60, 0x0b, 0x6f, 0x28, 0xec, 0x51, 0x58, 0x45, 0xad, 0xde, 0x0a, 0x09, 0xcb, 0x06, + 0x81, 0x0e, 0x40, 0x07, 0xa0, 0x43, 0x4b, 0xd1, 0x61, 0x96, 0x1a, 0x24, 0x42, 0x42, 0x6a, 0x05, + 0x38, 0x00, 0x1c, 0x00, 0x0e, 0xb4, 0x0c, 0x07, 0x64, 0xc0, 0xa1, 0x1a, 0xac, 0x58, 0x01, 0x0e, + 0x00, 0x07, 0x80, 0x03, 0x2d, 0xc5, 0x01, 0x9a, 0x6a, 0xb0, 0x62, 0x05, 0x38, 0x00, 0x1c, 0x00, + 0x0e, 0xb4, 0x18, 0x07, 0x58, 0x54, 0x83, 0x4d, 0x06, 0x81, 0x0e, 0x40, 0x07, 0xa0, 0x43, 0x4b, + 0xd1, 0x81, 0xa6, 0x1a, 0xac, 0x58, 0x01, 0x0e, 0x00, 0x07, 0x80, 0x03, 0x2d, 0xc5, 0x01, 0x7a, + 0xb9, 0x70, 0xce, 0x12, 0xf0, 0x00, 0x78, 0x00, 0x3c, 0x68, 0x19, 0x1e, 0xf8, 0xa1, 0xeb, 0xf8, + 0xb6, 0xf4, 0xd4, 0x71, 0x20, 0xb3, 0xd0, 0x17, 0xff, 0x9f, 0x9e, 0xc2, 0x82, 0xd7, 0x6f, 0x38, + 0x41, 0x93, 0x0e, 0x4e, 0xe7, 0x7c, 0x5d, 0xb9, 0xdd, 0x99, 0x51, 0xde, 0xae, 0xd4, 0xe6, 0x35, + 0x1b, 0x03, 0x95, 0x26, 0x4b, 0xad, 0xed, 0x92, 0x0c, 0x2f, 0x6f, 0x9d, 0x97, 0x2b, 0x77, 0x44, + 0xc6, 0xf5, 0x37, 0x1a, 0x3a, 0x8b, 0x2a, 0x3b, 0x10, 0x97, 0x23, 0xb1, 0x3b, 0x14, 0xbb, 0x63, + 0xf1, 0x3b, 0x98, 0x9a, 0xa3, 0x29, 0x3a, 0x1c, 0x7d, 0x7b, 0xe5, 0xdb, 0x66, 0x89, 0xdb, 0xad, + 0xfa, 0xb8, 0x29, 0x5f, 0xb7, 0xc5, 0xd4, 0x73, 0x7d, 0xc9, 0x16, 0x90, 0x07, 0xc8, 0x03, 0xe4, + 0xe9, 0x0f, 0xf2, 0xd4, 0xd1, 0x6c, 0x55, 0x19, 0x5e, 0xd0, 0x5e, 0xd5, 0x6a, 0x7b, 0x7b, 0xd5, + 0x82, 0x66, 0x27, 0xfb, 0x8a, 0x1b, 0x0d, 0x5f, 0x0f, 0x99, 0x87, 0xd9, 0x43, 0x2d, 0xf5, 0x51, + 0x4d, 0x5d, 0xd8, 0x80, 0xe8, 0x7a, 0x02, 0xf1, 0x22, 0x8a, 0x84, 0x67, 0x27, 0x91, 0x13, 0xc4, + 0xa3, 0x30, 0x4a, 0x6c, 0xdf, 0x79, 0x13, 0x91, 0x7a, 0xc8, 0xbd, 0xd9, 0x24, 0xd4, 0x76, 0x44, + 0xe4, 0xbd, 0x52, 0xdb, 0xd3, 0x65, 0x6f, 0x8f, 0xa2, 0x30, 0x09, 0xdd, 0xd0, 0x57, 0x65, 0xbc, + 0x66, 0x77, 0x4b, 0x65, 0x6d, 0x24, 0x34, 0xdb, 0xc1, 0x2b, 0xea, 0xf3, 0x6a, 0xfb, 0x36, 0x69, + 0xbf, 0x26, 0xed, 0xd3, 0x6a, 0xfb, 0x73, 0xab, 0xba, 0xb7, 0xa9, 0x37, 0x1d, 0xd3, 0xbd, 0xf5, + 0xd6, 0xd9, 0xbf, 0x2d, 0xcd, 0xb6, 0x55, 0x6e, 0xd8, 0x56, 0x21, 0x47, 0x57, 0x71, 0x8f, 0x6c, + 0xa4, 0x43, 0x5b, 0xc5, 0xc0, 0xb6, 0x5b, 0xbd, 0xd9, 0xaa, 0x05, 0xa6, 0xbc, 0x60, 0x5a, 0x79, + 0xff, 0x52, 0xcd, 0x12, 0x57, 0x0c, 0x23, 0x4b, 0xf8, 0xd6, 0x3b, 0xc2, 0xfb, 0xcf, 0x37, 0x91, + 0x12, 0x2f, 0x51, 0x6d, 0xe3, 0x50, 0xda, 0x30, 0x94, 0x36, 0x8a, 0x6a, 0x1b, 0xc4, 0xae, 0xf1, + 0xa8, 0xb8, 0x21, 0xb0, 0x6e, 0x04, 0x25, 0x56, 0x11, 0x1b, 0xd8, 0x6f, 0xf7, 0xb3, 0xcd, 0x6b, + 0xaa, 0xf8, 0x37, 0x1b, 0x46, 0xb5, 0xec, 0x68, 0xaa, 0x8e, 0xe2, 0x96, 0x01, 0x53, 0x1a, 0xa8, + 0xe2, 0x41, 0xc9, 0xbf, 0x72, 0xc1, 0xeb, 0x6e, 0x4f, 0xbd, 0x96, 0x49, 0xb1, 0xee, 0x48, 0xa5, + 0xee, 0xdc, 0x8e, 0xca, 0x6c, 0x3f, 0x15, 0xb7, 0x9b, 0xb2, 0xdb, 0x4b, 0xe5, 0xed, 0xa4, 0xf2, + 0xf6, 0x51, 0x7d, 0xbb, 0xa8, 0xb6, 0x50, 0x77, 0xa5, 0x16, 0x4b, 0xa6, 0x10, 0x2b, 0xa5, 0x0a, + 0x4b, 0xf2, 0x91, 0xd2, 0x3c, 0xa4, 0x0a, 0xff, 0x50, 0xe4, 0x1d, 0x55, 0xf9, 0x86, 0x32, 0xcf, + 0x50, 0xe6, 0x17, 0xea, 0xbc, 0x82, 0xb6, 0x8f, 0x96, 0xe6, 0x0f, 0xd5, 0x05, 0xe9, 0x92, 0x8c, + 0x61, 0x0b, 0x66, 0xbf, 0xdf, 0xb1, 0xae, 0xcb, 0xa5, 0xaa, 0xaa, 0xa7, 0xa4, 0xb0, 0xc2, 0xb1, + 0xc2, 0xeb, 0x59, 0xe1, 0x95, 0xc0, 0xbe, 0x6c, 0xea, 0xa3, 0x1c, 0xe3, 0xad, 0xc4, 0x74, 0x2b, + 0x31, 0xdc, 0x72, 0xcc, 0xb6, 0x06, 0xee, 0xb5, 0xc3, 0xd5, 0x77, 0x73, 0xad, 0xcd, 0x0a, 0x7e, + 0x39, 0x72, 0xb5, 0xae, 0x7e, 0x66, 0x04, 0x70, 0x27, 0xe1, 0xda, 0xf8, 0x49, 0x53, 0x48, 0x58, + 0x05, 0xfd, 0xdb, 0x64, 0x3a, 0x56, 0x5e, 0x9f, 0x66, 0x26, 0x66, 0xa5, 0x0e, 0x3c, 0xad, 0x2c, + 0x87, 0x92, 0x9b, 0xd6, 0x61, 0xd9, 0x4d, 0xeb, 0x48, 0xd7, 0xa6, 0xa5, 0x90, 0x1a, 0x69, 0xe3, + 0xf6, 0x55, 0x3d, 0xb5, 0x41, 0xdb, 0xc8, 0xca, 0x96, 0x11, 0xee, 0x79, 0x32, 0x12, 0xd5, 0x6e, + 0x44, 0xcc, 0xe6, 0x6f, 0xf1, 0x51, 0xcd, 0xda, 0xe4, 0x51, 0x5d, 0xda, 0x24, 0x21, 0x4f, 0xd7, + 0x25, 0x95, 0x52, 0x3d, 0x0f, 0x67, 0x8a, 0x5e, 0x39, 0x08, 0xa3, 0x9f, 0x4e, 0xe4, 0xc9, 0x60, + 0x68, 0x57, 0x5d, 0xa5, 0xaa, 0x09, 0xb6, 0x8a, 0x89, 0x35, 0x9e, 0x7c, 0x42, 0x51, 0x3e, 0xb1, + 0xb2, 0x1f, 0xab, 0x27, 0x25, 0xe1, 0xd1, 0xf0, 0xe8, 0x9a, 0x3c, 0x9a, 0x96, 0x39, 0x6f, 0x8f, + 0x43, 0x57, 0x69, 0x84, 0xb5, 0x18, 0x9c, 0xf2, 0x8d, 0xaf, 0x94, 0xaf, 0x70, 0x82, 0xcb, 0xf6, + 0xd3, 0x65, 0x2b, 0x5f, 0xe5, 0x34, 0x59, 0x8c, 0x76, 0xa5, 0x44, 0x77, 0xe1, 0x7a, 0xb6, 0x15, + 0x4e, 0xa6, 0xb6, 0xb7, 0x42, 0x4c, 0xf1, 0x00, 0xba, 0xd5, 0x93, 0xca, 0xb0, 0x6c, 0x78, 0xba, + 0x57, 0x11, 0x26, 0x9c, 0x41, 0x24, 0x06, 0x94, 0x2a, 0xb0, 0x4f, 0x0a, 0x9f, 0xbd, 0x2d, 0x90, + 0xc2, 0x3e, 0xcf, 0xa5, 0xb0, 0x95, 0x21, 0xff, 0xbc, 0x5c, 0xb9, 0xb3, 0xe5, 0xd7, 0x6b, 0x3f, + 0x9e, 0xb8, 0xf0, 0xda, 0x8f, 0x52, 0x87, 0x36, 0xe2, 0x8e, 0xee, 0xd9, 0x0b, 0xd1, 0x40, 0x6a, + 0xd5, 0x0c, 0x80, 0x0a, 0x40, 0x05, 0xa0, 0x6a, 0x21, 0x50, 0x69, 0x45, 0x25, 0x1d, 0xb5, 0xb0, + 0x2b, 0xb8, 0x63, 0x55, 0xa5, 0x4a, 0x2c, 0xa5, 0xb1, 0x8a, 0x88, 0x79, 0x58, 0x15, 0x25, 0x09, + 0x80, 0xb1, 0x0c, 0x16, 0x2f, 0x32, 0xb0, 0xc5, 0xfc, 0xe9, 0x15, 0xd6, 0x20, 0x07, 0x5c, 0xac, + 0x40, 0xc5, 0xa1, 0x09, 0xdb, 0x60, 0x2f, 0x0b, 0x96, 0x37, 0xa5, 0xca, 0xd2, 0x5f, 0xec, 0x57, + 0x6c, 0x20, 0xbd, 0x3b, 0x27, 0x38, 0x41, 0xaf, 0xb3, 0xc5, 0xb7, 0x2d, 0xff, 0xf8, 0xe9, 0x72, + 0xf2, 0x65, 0x35, 0x4a, 0x0b, 0x6a, 0xe2, 0xa0, 0x82, 0x1a, 0x78, 0x88, 0xda, 0x63, 0xd4, 0x1e, + 0x93, 0x65, 0x04, 0xb5, 0x7e, 0x16, 0xa4, 0x3e, 0x16, 0x68, 0xe7, 0xd4, 0x49, 0x4e, 0x8e, 0x76, + 0x4e, 0x9b, 0x80, 0xda, 0x84, 0x76, 0x4e, 0x84, 0x3e, 0x12, 0xf4, 0xfe, 0x11, 0xf0, 0x78, 0x78, + 0x3c, 0x3c, 0xde, 0xd4, 0x48, 0xb7, 0xb2, 0x5b, 0xe3, 0xdc, 0xa7, 0x11, 0x61, 0x54, 0xd5, 0xe4, + 0x2c, 0x29, 0x8c, 0x2a, 0xdf, 0x38, 0x81, 0x27, 0x8c, 0x8a, 0xc2, 0x71, 0x22, 0x83, 0xe1, 0xf2, + 0x39, 0xd6, 0xca, 0x41, 0x55, 0x81, 0x0d, 0x64, 0x6f, 0x91, 0xbd, 0x35, 0x21, 0xec, 0x72, 0xc3, + 0x38, 0xb1, 0xdd, 0x67, 0x27, 0x72, 0xdc, 0x44, 0x44, 0x32, 0x4e, 0xa4, 0xab, 0xce, 0xcb, 0x8a, + 0x8c, 0xf5, 0xa5, 0xf7, 0x26, 0x7a, 0x7e, 0x68, 0x76, 0x94, 0x7a, 0x48, 0x9b, 0x72, 0x3f, 0xce, + 0x74, 0xed, 0x3b, 0xfe, 0x30, 0x8c, 0x64, 0xf2, 0xfc, 0x42, 0xef, 0x91, 0xb7, 0x66, 0x0f, 0x7d, + 0xf2, 0xc8, 0xf9, 0x48, 0x2e, 0x37, 0x63, 0x77, 0x37, 0x76, 0xb7, 0xdb, 0xec, 0x7e, 0xea, 0xf9, + 0x4a, 0x35, 0xf7, 0x53, 0x74, 0x43, 0x7a, 0x0c, 0xc5, 0x17, 0x4b, 0x11, 0x63, 0x2a, 0xf5, 0x71, + 0x53, 0xe9, 0xd2, 0x99, 0xa2, 0x06, 0x4f, 0x93, 0xce, 0x85, 0x29, 0x60, 0x0f, 0xb0, 0x07, 0xd8, + 0x03, 0xec, 0x29, 0x83, 0x3d, 0x4c, 0x6d, 0xc9, 0x97, 0x6c, 0x01, 0x7d, 0x80, 0x3e, 0x40, 0x9f, + 0x7e, 0xa1, 0x4f, 0x1d, 0x5d, 0x82, 0x55, 0xf9, 0x0d, 0x9a, 0x04, 0x5b, 0x66, 0x36, 0x09, 0xde, + 0x2e, 0x52, 0xe7, 0x35, 0xd8, 0x7d, 0xba, 0x5c, 0x65, 0x91, 0xe5, 0xec, 0xbb, 0xe9, 0x63, 0x2d, + 0x75, 0x06, 0x3e, 0x0b, 0xe3, 0xe4, 0x6c, 0xf5, 0xa1, 0x0c, 0x48, 0xdb, 0x7a, 0xf2, 0x87, 0x88, + 0x62, 0x99, 0xbc, 0xd9, 0xa3, 0xd0, 0x97, 0x2e, 0xe1, 0x0e, 0xbe, 0x9c, 0x25, 0x74, 0x05, 0x86, + 0x42, 0xd8, 0xab, 0xae, 0xc0, 0x44, 0x0f, 0xb0, 0x8c, 0x6f, 0x09, 0x5c, 0xe5, 0x6e, 0xcf, 0xd8, + 0x16, 0xaf, 0xae, 0x3f, 0x8e, 0xe5, 0x0f, 0x42, 0x41, 0xc8, 0x8a, 0x95, 0xaa, 0x8a, 0xaf, 0x18, + 0x38, 0x63, 0x7f, 0xba, 0xfe, 0xa2, 0x1e, 0xd5, 0x90, 0x01, 0x8e, 0x00, 0x47, 0xe9, 0x6a, 0xf8, + 0x16, 0x86, 0xbe, 0x70, 0x02, 0x0a, 0x0a, 0x1d, 0x9a, 0x70, 0x2b, 0xa8, 0x93, 0x88, 0xc0, 0x7d, + 0x63, 0x4b, 0x66, 0x6e, 0xb0, 0x87, 0x7c, 0x26, 0xe0, 0xa1, 0x0f, 0xf9, 0xcc, 0x81, 0x7c, 0x15, + 0x9e, 0xcd, 0xe4, 0x54, 0xb9, 0x25, 0xb6, 0xd5, 0x7a, 0xc3, 0x8a, 0xdf, 0x11, 0x14, 0x3f, 0x28, + 0x7e, 0x50, 0xfc, 0x8c, 0xcf, 0x37, 0xfc, 0x25, 0x93, 0x44, 0x44, 0xec, 0xd0, 0x54, 0x6c, 0x16, + 0x98, 0x04, 0x4c, 0x02, 0x26, 0x01, 0x93, 0x76, 0x3c, 0xe3, 0xdf, 0x63, 0x21, 0x83, 0xa1, 0x36, + 0xda, 0xb4, 0xdd, 0x3c, 0x32, 0xa5, 0xc0, 0x28, 0x60, 0x14, 0x30, 0x6a, 0xc7, 0x33, 0x26, 0x91, + 0x33, 0x18, 0x48, 0xd7, 0x1e, 0x45, 0xe1, 0x48, 0x44, 0xc9, 0x1b, 0x53, 0xbd, 0x58, 0xb1, 0x59, + 0x60, 0x12, 0x30, 0x09, 0x98, 0x04, 0x4c, 0xda, 0xf1, 0x8c, 0x3f, 0x9d, 0xc0, 0xd3, 0x10, 0xcb, + 0x15, 0x9b, 0x45, 0x2c, 0x07, 0x4c, 0x02, 0x26, 0xf5, 0x0b, 0x93, 0xea, 0xa8, 0x28, 0xe3, 0x60, + 0x40, 0xa8, 0x2e, 0xb3, 0x3a, 0x52, 0x5d, 0xc6, 0x16, 0xa4, 0x73, 0x17, 0x98, 0x5d, 0x4e, 0x1f, + 0xcc, 0xbc, 0x1a, 0xb3, 0x17, 0xe7, 0xd5, 0x76, 0x7c, 0x3f, 0xfc, 0x29, 0x3c, 0xdb, 0x0d, 0xe3, + 0x44, 0x3d, 0x77, 0x9b, 0xb3, 0x84, 0xac, 0x6d, 0x6d, 0x5b, 0x3a, 0xb2, 0xb6, 0x74, 0x3c, 0x53, + 0xce, 0xda, 0x8e, 0x22, 0x19, 0x46, 0x32, 0x79, 0xa3, 0x53, 0xe7, 0xcc, 0x12, 0x22, 0x78, 0x36, + 0xd7, 0x02, 0x6b, 0xe6, 0x70, 0xbd, 0xb6, 0xb3, 0xe7, 0xb1, 0x0c, 0x92, 0x8f, 0xc7, 0x0c, 0xec, + 0xf9, 0x84, 0x60, 0xe2, 0xce, 0x09, 0x86, 0x93, 0xa7, 0xf9, 0x0f, 0x69, 0x7a, 0x69, 0xcb, 0x77, + 0xce, 0x58, 0xc9, 0x7e, 0xc0, 0x04, 0x3a, 0x39, 0x73, 0xff, 0x9a, 0x1d, 0x66, 0xe3, 0xb2, 0xf7, + 0x75, 0x42, 0xb8, 0x64, 0x18, 0x7c, 0x91, 0x43, 0x99, 0x72, 0xeb, 0x03, 0xb2, 0xdd, 0x5f, 0xef, + 0x19, 0xa6, 0xc0, 0x79, 0x35, 0x7e, 0x0a, 0x0e, 0x4f, 0x8e, 0x8f, 0x3f, 0x7e, 0x3a, 0x3e, 0x3e, + 0xf8, 0xf4, 0xdb, 0xa7, 0x83, 0x7f, 0x7c, 0xf8, 0x70, 0xf8, 0xf1, 0xf0, 0x83, 0xc1, 0xb3, 0xf2, + 0xae, 0x99, 0x4f, 0x3f, 0x1a, 0x2c, 0xf1, 0x31, 0x9d, 0x0c, 0xc5, 0xa1, 0x50, 0x90, 0x12, 0x90, + 0x12, 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, 0x90, 0x92, 0xba, 0x24, 0x19, 0x13, 0x25, + 0x66, 0xa2, 0xcc, 0x69, 0x69, 0x10, 0x97, 0xaf, 0x9c, 0xd7, 0xd3, 0xe9, 0x13, 0x9d, 0x4d, 0x1e, + 0xc8, 0x30, 0x55, 0xd9, 0x13, 0xbe, 0xf3, 0xc6, 0x23, 0x2b, 0x4f, 0x4d, 0x41, 0x57, 0xae, 0x8d, + 0x5f, 0x42, 0x57, 0xa6, 0x83, 0x18, 0x74, 0x65, 0x84, 0x70, 0x08, 0xe1, 0x10, 0xc2, 0x21, 0x84, + 0x43, 0x08, 0x87, 0x10, 0x0e, 0x21, 0x9c, 0x71, 0x21, 0x1c, 0x74, 0x65, 0x90, 0x12, 0x90, 0x12, + 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, 0x23, 0x48, 0x49, 0xaf, 0x75, 0x65, + 0x15, 0x9d, 0xd3, 0xd2, 0x2a, 0x2c, 0x7f, 0x49, 0x9f, 0xc8, 0x30, 0x65, 0xf9, 0x39, 0x1c, 0xc5, + 0x3c, 0xc2, 0x72, 0x6a, 0x09, 0xba, 0x72, 0x6d, 0xfc, 0x12, 0xba, 0x32, 0x1d, 0xc4, 0xa0, 0x2b, + 0x23, 0x84, 0x43, 0x08, 0x87, 0x10, 0x0e, 0x21, 0x1c, 0x42, 0x38, 0x84, 0x70, 0x08, 0xe1, 0x8c, + 0x0b, 0xe1, 0xa0, 0x2b, 0x83, 0x94, 0x80, 0x94, 0x80, 0x94, 0x80, 0x94, 0x80, 0x94, 0x80, 0x94, + 0x80, 0x94, 0x18, 0x41, 0x4a, 0x7a, 0xad, 0x2b, 0x2b, 0xc8, 0x9c, 0x96, 0x56, 0x59, 0xf9, 0x8f, + 0xc9, 0x03, 0x19, 0xa0, 0x2a, 0x47, 0x32, 0xfe, 0x6e, 0x2f, 0xae, 0x88, 0xe1, 0xba, 0xce, 0x60, + 0xbb, 0x59, 0xe8, 0xcd, 0xb5, 0xf1, 0x4e, 0xe8, 0xcd, 0x74, 0x70, 0x53, 0xd6, 0x9b, 0x53, 0x2f, + 0x58, 0x5d, 0xfb, 0x4c, 0xed, 0x2f, 0x37, 0x5a, 0x46, 0xe8, 0x87, 0x6e, 0x73, 0x0c, 0x2e, 0x89, + 0x6e, 0x73, 0xdd, 0xee, 0x80, 0x99, 0xe2, 0x87, 0xf4, 0x44, 0x90, 0xc8, 0x81, 0x14, 0x91, 0xed, + 0x4b, 0x85, 0x06, 0x58, 0xc5, 0xa8, 0xb4, 0x6e, 0x15, 0x88, 0x04, 0x44, 0x02, 0x22, 0xb5, 0x19, + 0x91, 0x14, 0x47, 0x80, 0xd4, 0x5b, 0x72, 0x59, 0x6c, 0x5a, 0x6a, 0x0f, 0x49, 0x5c, 0xf7, 0xf3, + 0x21, 0x3d, 0xa4, 0xae, 0x77, 0x26, 0x47, 0x5c, 0x77, 0xc6, 0x17, 0x19, 0xd8, 0x62, 0xfe, 0xb6, + 0x0c, 0x32, 0x11, 0xb7, 0x5b, 0xe6, 0x5c, 0xf3, 0x70, 0xaf, 0x21, 0xd9, 0x84, 0x20, 0xa2, 0xb1, + 0x74, 0x1c, 0xcd, 0x8c, 0x91, 0x3a, 0x8f, 0x9a, 0x2a, 0xe7, 0xcc, 0x5a, 0xcc, 0x32, 0x45, 0x19, + 0xe8, 0x32, 0xdb, 0x15, 0x49, 0x8d, 0x53, 0xd6, 0xd1, 0xa1, 0xaf, 0xdd, 0xc9, 0xf8, 0xfb, 0x97, + 0xf9, 0xe3, 0x99, 0xd7, 0x72, 0x76, 0x32, 0xa2, 0xc2, 0x0e, 0xbf, 0xfd, 0x25, 0xdc, 0x44, 0xfe, + 0x10, 0xf6, 0x60, 0x1c, 0xb8, 0x4a, 0x13, 0xbc, 0x60, 0xdc, 0x9b, 0x2c, 0xe2, 0x5e, 0x61, 0x48, + 0x6c, 0xbd, 0xba, 0x57, 0x98, 0xc9, 0x13, 0xac, 0x2e, 0x5d, 0x77, 0x9e, 0x84, 0xbe, 0x88, 0x9c, + 0x6f, 0xbe, 0xb0, 0xe5, 0xcb, 0xc8, 0x71, 0x09, 0x2d, 0xae, 0x73, 0x96, 0x80, 0x2f, 0xc0, 0x97, + 0x5e, 0xe1, 0xcb, 0x30, 0x72, 0x3c, 0x11, 0xdb, 0xe1, 0x40, 0xcd, 0x03, 0x56, 0x70, 0x45, 0x21, + 0x0d, 0xbe, 0x77, 0x91, 0xca, 0x6a, 0xc9, 0xdb, 0xef, 0x4e, 0xcc, 0x90, 0x3f, 0xf8, 0xe7, 0xdd, + 0xe9, 0x97, 0xf3, 0xfb, 0xa7, 0x9b, 0xaf, 0x4f, 0x17, 0x57, 0xb7, 0xa7, 0x67, 0x0f, 0xaa, 0x2b, + 0x2a, 0xcd, 0xf5, 0xc7, 0xa4, 0xa2, 0x14, 0xa6, 0x90, 0x7e, 0xfd, 0x8d, 0x9e, 0xae, 0x2e, 0xae, + 0x6f, 0xee, 0xe6, 0xaf, 0xd7, 0x44, 0x9c, 0xa9, 0xeb, 0xc5, 0xfe, 0xb8, 0x78, 0xb8, 0x3c, 0xbf, + 0xbf, 0xef, 0xd4, 0x3b, 0x5d, 0x9d, 0xfe, 0x4f, 0x37, 0x27, 0xeb, 0xf2, 0xe6, 0xfa, 0x9f, 0xf4, + 0xf7, 0x52, 0xfa, 0xe4, 0xa3, 0x6e, 0x0c, 0x7e, 0xc7, 0xfb, 0x97, 0x25, 0x67, 0x4f, 0x35, 0x30, + 0xd6, 0x11, 0x10, 0x57, 0x80, 0x4d, 0xe6, 0x50, 0xb7, 0xdc, 0x62, 0xda, 0x3d, 0xf0, 0x25, 0x06, + 0x7d, 0x6f, 0x3c, 0x96, 0x5e, 0xe9, 0xa1, 0x5e, 0xd4, 0x4c, 0x4e, 0x3e, 0x55, 0x72, 0x4a, 0xab, + 0xd1, 0xc3, 0xca, 0xb4, 0x50, 0x85, 0x0e, 0xae, 0xd2, 0xc0, 0xe9, 0x3a, 0xa9, 0x32, 0xdd, 0x8a, + 0xa4, 0x8f, 0x4c, 0xf6, 0xc8, 0x24, 0x2f, 0x4f, 0xee, 0x66, 0x2f, 0xdf, 0x90, 0xbb, 0x57, 0xa6, + 0x6e, 0x2a, 0x2b, 0xd0, 0xaa, 0x9e, 0x26, 0x29, 0xe1, 0x5b, 0xef, 0x08, 0xef, 0x3f, 0xd7, 0x60, + 0x4b, 0xbc, 0x44, 0x35, 0x7d, 0x55, 0x49, 0x4f, 0x55, 0xd2, 0x4f, 0xab, 0xe9, 0xa5, 0xbb, 0xc6, + 0xa3, 0x22, 0xec, 0x93, 0xe1, 0xbe, 0xc4, 0xca, 0x21, 0x61, 0xfa, 0x76, 0x7f, 0xda, 0xbc, 0x76, + 0xb6, 0x8c, 0xd3, 0x5e, 0xf6, 0x42, 0x76, 0x2c, 0xa2, 0x1f, 0xb2, 0x04, 0xfe, 0x2c, 0x4e, 0xb4, + 0xe6, 0x3e, 0xba, 0x6b, 0x7d, 0x96, 0xaa, 0xca, 0x2b, 0x8d, 0xd5, 0x55, 0x30, 0x9a, 0x1c, 0xa2, + 0x57, 0x45, 0x67, 0x65, 0x54, 0x56, 0x46, 0x63, 0x8e, 0x10, 0x9b, 0x86, 0x3f, 0x65, 0xab, 0xde, + 0xf6, 0x3c, 0x19, 0x89, 0x6a, 0x32, 0x76, 0x36, 0x7f, 0x8b, 0x8f, 0x76, 0x85, 0x28, 0x10, 0xf4, + 0xa2, 0x2e, 0x51, 0x06, 0x75, 0x3d, 0xc8, 0x14, 0xf2, 0x30, 0x08, 0xa3, 0x9f, 0x4e, 0xe4, 0x4d, + 0xf8, 0x7e, 0xd5, 0x55, 0xaa, 0xaa, 0x21, 0x57, 0xd4, 0x8e, 0x79, 0xc8, 0xbd, 0x08, 0x3c, 0x7b, + 0x14, 0xca, 0x20, 0xa9, 0xee, 0xbd, 0x8b, 0x8f, 0x56, 0xf3, 0xde, 0x43, 0x78, 0x2f, 0xbc, 0xb7, + 0xcc, 0x83, 0x55, 0x2d, 0xbc, 0xde, 0x73, 0x9d, 0x91, 0xe3, 0xaa, 0x34, 0xf8, 0xc8, 0x96, 0x41, + 0x66, 0x01, 0x67, 0x14, 0x2c, 0xdd, 0x4b, 0x9f, 0xcd, 0x05, 0xd8, 0x5c, 0x41, 0x87, 0x4b, 0x28, + 0x8a, 0x6b, 0x75, 0x9d, 0x51, 0x48, 0xc2, 0xc4, 0xf1, 0xed, 0x58, 0xfe, 0x97, 0x21, 0xab, 0xb0, + 0x64, 0x8b, 0x56, 0xf5, 0x7b, 0xd8, 0x99, 0xaa, 0xdf, 0xca, 0xc2, 0x11, 0xb7, 0x73, 0xb1, 0x3b, + 0x19, 0xbb, 0xb3, 0xf1, 0x09, 0x4f, 0x3c, 0xba, 0xb9, 0x6a, 0xbd, 0xab, 0xaa, 0x0b, 0x2e, 0x74, + 0xd6, 0x40, 0x26, 0x7c, 0x35, 0xae, 0xa9, 0x35, 0xe2, 0x8c, 0xf0, 0x9c, 0x0c, 0x26, 0xbb, 0x25, + 0xa7, 0x7b, 0x6a, 0x72, 0x53, 0x6e, 0x77, 0xd5, 0xe6, 0xb6, 0xda, 0xdc, 0x57, 0x9f, 0x1b, 0xd3, + 0xdc, 0x99, 0xe8, 0xd6, 0xea, 0xa1, 0x64, 0x69, 0xae, 0x69, 0x33, 0xb8, 0xaa, 0x45, 0xac, 0x5b, + 0x22, 0xc6, 0xa2, 0xfc, 0x53, 0x46, 0x29, 0xf0, 0xa6, 0x35, 0xd3, 0xc9, 0xcd, 0x13, 0xa5, 0xa9, + 0x0e, 0xa0, 0x14, 0x50, 0x0a, 0x28, 0xd5, 0x0e, 0xa5, 0xe4, 0x06, 0x3d, 0xeb, 0x7e, 0x7a, 0xc2, + 0x60, 0x8a, 0xa7, 0x61, 0xcf, 0xfc, 0x1f, 0x8f, 0x13, 0x58, 0xdc, 0x0d, 0x7c, 0x98, 0x01, 0x2e, + 0x67, 0x96, 0xb9, 0xa1, 0x4f, 0x66, 0x57, 0x43, 0x0b, 0x19, 0x26, 0xf7, 0x58, 0x9d, 0x2a, 0xc6, + 0x46, 0x3f, 0x75, 0x4d, 0x95, 0xbe, 0xc6, 0x3f, 0xb5, 0xcc, 0xde, 0x3b, 0x33, 0xac, 0x3c, 0x36, + 0x45, 0xbc, 0x6a, 0x0d, 0x9a, 0x89, 0xa7, 0x9c, 0x32, 0x3b, 0xd4, 0x6c, 0xff, 0x4a, 0xea, 0x7b, + 0x3f, 0xcb, 0x6c, 0xec, 0xcf, 0x39, 0xfa, 0x3e, 0x59, 0xdb, 0xb2, 0xa8, 0x05, 0x03, 0x93, 0x1f, + 0xdf, 0x4f, 0x1f, 0xf0, 0xe9, 0x3c, 0xf0, 0x6e, 0x27, 0xcf, 0xf7, 0x74, 0x36, 0x7b, 0xbe, 0xa7, + 0x87, 0xc9, 0xf3, 0xdd, 0x4f, 0x1e, 0x0f, 0x0d, 0xa5, 0x6a, 0x58, 0x0f, 0x75, 0x1f, 0x76, 0xdb, + 0x3a, 0xf9, 0x26, 0x9c, 0x6d, 0xab, 0x5e, 0x05, 0x90, 0x23, 0x71, 0x2a, 0x79, 0x56, 0x0b, 0xa7, + 0x4b, 0x90, 0x7c, 0x69, 0x1a, 0xac, 0xe8, 0xa7, 0x4b, 0x46, 0x61, 0x94, 0xd8, 0xaa, 0xeb, 0xdf, + 0xea, 0xd2, 0x99, 0x35, 0xdf, 0x79, 0x13, 0x91, 0x3d, 0x8a, 0xc2, 0x24, 0x74, 0x43, 0x5f, 0xad, + 0x5d, 0x56, 0x36, 0xac, 0x45, 0xc6, 0x80, 0x2d, 0xc0, 0x96, 0x5e, 0x61, 0x0b, 0xdd, 0x09, 0xba, + 0x0c, 0x30, 0x7f, 0x8f, 0x1d, 0x3f, 0xed, 0x56, 0xc5, 0x86, 0x32, 0x0b, 0x8b, 0x80, 0x1a, 0x40, + 0x4d, 0x9f, 0xa1, 0x46, 0xd5, 0x13, 0x2c, 0xb3, 0x0e, 0xcb, 0x5e, 0x9e, 0xfe, 0xfb, 0xfc, 0xee, + 0xe9, 0xf6, 0xee, 0xe6, 0xe1, 0xe6, 0xec, 0xe6, 0xf2, 0xe9, 0xff, 0xfe, 0x3c, 0xbd, 0xbc, 0xf8, + 0x7a, 0x71, 0x7e, 0xd7, 0xfe, 0x43, 0xb3, 0xb7, 0x7f, 0xdc, 0x3c, 0xdc, 0x5c, 0x5f, 0x9c, 0x3d, + 0x4d, 0x5f, 0x91, 0xfa, 0x66, 0x9c, 0x6f, 0xc8, 0x2b, 0x7b, 0xef, 0x7c, 0xe3, 0xa7, 0xab, 0xb3, + 0x3d, 0x13, 0x3a, 0xbb, 0xd7, 0xf5, 0xba, 0x37, 0x0f, 0xf7, 0xb2, 0x6f, 0xaf, 0x7c, 0xf6, 0x47, + 0xaf, 0xde, 0xf7, 0xea, 0xec, 0xb4, 0x5f, 0xf3, 0x7b, 0x75, 0x7f, 0xda, 0x3b, 0x1f, 0xee, 0xdd, + 0x14, 0xf7, 0x6e, 0x86, 0xfb, 0xf6, 0xc2, 0xbd, 0xf3, 0xe1, 0x1e, 0xf2, 0x8e, 0xd3, 0xa6, 0x2b, + 0x58, 0x1e, 0x5b, 0xdc, 0x63, 0x44, 0x0b, 0x85, 0x35, 0xf8, 0xb5, 0xa8, 0x54, 0xd5, 0xe4, 0x57, + 0xa3, 0x50, 0x52, 0xa3, 0x57, 0xe2, 0x69, 0x37, 0xe7, 0x8b, 0x44, 0x31, 0x0d, 0xf7, 0xb1, 0xce, + 0x4e, 0x59, 0x67, 0x67, 0xac, 0xab, 0x2f, 0xd6, 0x59, 0x1f, 0xeb, 0xf0, 0xfe, 0xdc, 0xea, 0x39, + 0xdb, 0xa4, 0xf0, 0x3e, 0xfd, 0x79, 0x7d, 0x7f, 0x7b, 0x7e, 0x36, 0xf9, 0xff, 0x5f, 0x7a, 0xdc, + 0xbe, 0xad, 0x4a, 0x76, 0x2d, 0x74, 0x1d, 0xdf, 0xae, 0xd0, 0x2f, 0x2c, 0x37, 0x17, 0x99, 0x85, + 0xbe, 0x64, 0xcf, 0x94, 0x0f, 0x4c, 0xf4, 0x21, 0x67, 0xa6, 0x7a, 0xe0, 0xc1, 0xf4, 0x4c, 0x99, + 0xf2, 0xa5, 0x2e, 0x8a, 0x97, 0xb9, 0xe8, 0xf1, 0x76, 0x5a, 0x75, 0x0e, 0xa1, 0x1c, 0xe7, 0x10, + 0x5e, 0x0e, 0x2f, 0x37, 0xb6, 0xa7, 0x02, 0x2e, 0xf3, 0x47, 0x27, 0x85, 0x26, 0x1c, 0x8b, 0xdf, + 0xc1, 0x68, 0x14, 0x16, 0x77, 0xa7, 0xd5, 0x73, 0x9b, 0x63, 0x0a, 0x14, 0x4c, 0x37, 0xcb, 0x2e, + 0xd9, 0x02, 0xf2, 0x00, 0x79, 0x80, 0x3c, 0xfd, 0x41, 0x9e, 0x3a, 0xae, 0x94, 0x53, 0x86, 0x17, + 0x5c, 0x22, 0x67, 0x75, 0xe8, 0x18, 0x9d, 0x6a, 0x11, 0x3a, 0xfb, 0x11, 0xba, 0xd4, 0x5d, 0x8d, + 0xb8, 0x1a, 0xce, 0x17, 0x94, 0x6b, 0xe0, 0x7c, 0x1c, 0x6c, 0x41, 0x4c, 0xdd, 0xc7, 0x43, 0x73, + 0x0a, 0x4b, 0xdf, 0xea, 0xd2, 0x71, 0x96, 0x19, 0xb6, 0xda, 0x32, 0x48, 0x44, 0x34, 0x70, 0x5c, + 0x51, 0xb1, 0x9b, 0x6f, 0x9e, 0xb8, 0x6c, 0x30, 0x88, 0x86, 0xa8, 0x80, 0x97, 0x3e, 0x34, 0x44, + 0xdd, 0xb0, 0xfe, 0xed, 0x4a, 0xb7, 0xe0, 0x54, 0xf5, 0x2e, 0xbb, 0xe2, 0x5d, 0x25, 0x08, 0xb8, + 0x11, 0x70, 0x23, 0xe0, 0x5e, 0x59, 0x39, 0xbe, 0x70, 0x06, 0x91, 0x18, 0x70, 0x44, 0xdc, 0x9f, + 0x08, 0x36, 0x6e, 0x0b, 0x62, 0xa5, 0xcf, 0xf3, 0x90, 0x68, 0xf9, 0x67, 0x1b, 0x90, 0x60, 0xe5, + 0x6f, 0x52, 0x54, 0x40, 0x3f, 0x17, 0x8d, 0x81, 0x28, 0x0f, 0xdb, 0xd1, 0x13, 0x9b, 0xce, 0x7e, + 0x70, 0x31, 0x7f, 0xb4, 0xf4, 0xa7, 0x7b, 0xad, 0xb8, 0xa3, 0x6f, 0xa6, 0xf6, 0x54, 0xac, 0xe5, + 0x50, 0xd3, 0x78, 0xd6, 0xb4, 0x1d, 0x45, 0xda, 0x7b, 0x54, 0x95, 0xe0, 0x12, 0xb6, 0x98, 0xe5, + 0x6d, 0xe5, 0x45, 0x06, 0xb6, 0x98, 0x3f, 0xbd, 0xc2, 0xaa, 0xe3, 0xd8, 0x50, 0x56, 0x36, 0x91, + 0x23, 0x13, 0xe4, 0x90, 0x55, 0xa5, 0xad, 0x6d, 0x53, 0xea, 0xbc, 0x62, 0x4a, 0x79, 0x74, 0x4f, + 0xd3, 0xef, 0x04, 0xdd, 0xb0, 0xad, 0xd4, 0x75, 0x2f, 0x68, 0xd1, 0xb6, 0x51, 0xe7, 0xcd, 0xa0, + 0x94, 0x66, 0x3d, 0x0c, 0xfd, 0x49, 0x70, 0x1d, 0x98, 0x8e, 0x98, 0x05, 0xd7, 0x81, 0xb1, 0x2e, + 0x52, 0xab, 0x4d, 0xb7, 0x81, 0xa9, 0x79, 0xb0, 0x82, 0xcb, 0x1e, 0xe2, 0xaa, 0x5f, 0x5c, 0xf5, + 0x4b, 0xd5, 0xec, 0x14, 0x0b, 0xed, 0x48, 0x05, 0x76, 0xa8, 0x33, 0xef, 0xa4, 0x9c, 0x8d, 0x3a, + 0xf3, 0x4d, 0x40, 0x6d, 0x42, 0x9d, 0x39, 0xa1, 0xc0, 0x8d, 0x5e, 0xd8, 0x06, 0x8f, 0x87, 0xc7, + 0xc3, 0xe3, 0x4d, 0x95, 0x18, 0x2b, 0xbb, 0x35, 0x8b, 0xc8, 0x58, 0xad, 0xf6, 0x8b, 0x54, 0x38, + 0xd6, 0x07, 0xe1, 0xa4, 0x6a, 0x38, 0xc5, 0xa5, 0x99, 0x94, 0xaf, 0xfe, 0xe2, 0x09, 0xaf, 0xc2, + 0x6f, 0x7f, 0x09, 0x37, 0x91, 0x3f, 0x84, 0x3d, 0x18, 0x07, 0x8a, 0x77, 0xa6, 0x17, 0xd8, 0xc0, + 0xf5, 0xcb, 0x50, 0x4b, 0x4c, 0x08, 0xc7, 0xbe, 0x39, 0x81, 0xf7, 0x53, 0x7a, 0xc9, 0xb3, 0x1d, + 0x8e, 0x12, 0xf9, 0x22, 0xff, 0xeb, 0xd0, 0x2e, 0x04, 0xd8, 0x60, 0xaf, 0x66, 0xfa, 0x76, 0x84, + 0x4a, 0x24, 0x54, 0x22, 0x35, 0x4a, 0xe9, 0x66, 0x17, 0x03, 0xfc, 0x10, 0xb6, 0xea, 0x91, 0xc0, + 0xce, 0x94, 0x3b, 0xba, 0x61, 0xe0, 0x8e, 0xa3, 0x48, 0x04, 0x49, 0x3a, 0xef, 0x84, 0xec, 0x60, + 0xce, 0x12, 0x60, 0x05, 0xb0, 0x02, 0x58, 0xe9, 0x2b, 0xac, 0xc4, 0x09, 0x13, 0x69, 0xc9, 0x9b, + 0x02, 0xb0, 0x00, 0x58, 0x00, 0x2c, 0xfd, 0x04, 0x16, 0x5f, 0x06, 0xdf, 0xed, 0x71, 0x22, 0x7d, + 0x32, 0xae, 0xe4, 0x2c, 0x01, 0x56, 0x00, 0x2b, 0x80, 0x95, 0x9e, 0xc2, 0x0a, 0xda, 0xac, 0x55, + 0x85, 0x11, 0x24, 0xc3, 0xb6, 0x80, 0x07, 0x92, 0x61, 0x9b, 0x90, 0x02, 0x6d, 0xd6, 0xe0, 0xe5, + 0xf0, 0x72, 0x9d, 0x5e, 0x8e, 0x36, 0x6b, 0x38, 0x7b, 0xa9, 0xd3, 0xa1, 0xd8, 0x1d, 0x8b, 0xdf, + 0xc1, 0xd4, 0x1c, 0x4d, 0xd1, 0xe1, 0xe8, 0xdb, 0x2b, 0xdf, 0x36, 0x4b, 0xdc, 0x6e, 0xd5, 0xc7, + 0x0d, 0x6d, 0xd6, 0x80, 0x3c, 0x40, 0x1e, 0x20, 0x0f, 0xda, 0xac, 0xad, 0x19, 0x40, 0x9b, 0xb5, + 0xd6, 0x9f, 0x6e, 0xcf, 0x57, 0x88, 0x35, 0xde, 0x6f, 0xed, 0x66, 0xfe, 0x48, 0x5f, 0x67, 0x4f, + 0x64, 0x4e, 0xe3, 0x35, 0x11, 0xa7, 0xbb, 0x86, 0x1d, 0x3f, 0x3b, 0x29, 0x94, 0xa8, 0x37, 0x61, + 0x5b, 0xb7, 0x04, 0x81, 0x1e, 0xd1, 0x37, 0x04, 0x7a, 0xb5, 0xdd, 0xd8, 0x48, 0x81, 0xbe, 0x83, + 0x95, 0xd7, 0xca, 0xd5, 0xc4, 0x7a, 0xb7, 0x87, 0x5a, 0x8b, 0xb2, 0x97, 0x6a, 0x35, 0x26, 0x23, + 0x15, 0x27, 0x91, 0x53, 0xa5, 0x83, 0xde, 0xa2, 0x32, 0x7b, 0x83, 0x21, 0x94, 0x67, 0xa3, 0x3c, + 0x5b, 0x03, 0x80, 0x54, 0x2e, 0xcf, 0x46, 0xd2, 0xb0, 0x3e, 0x4d, 0x02, 0xe9, 0x84, 0xf6, 0xd2, + 0x18, 0x24, 0x0d, 0x91, 0x34, 0x84, 0x97, 0x23, 0x69, 0xb8, 0x6d, 0xdd, 0x20, 0x69, 0x08, 0xe9, + 0xde, 0x6a, 0xd6, 0xc1, 0xd4, 0x25, 0x68, 0x0b, 0xd2, 0x3d, 0x92, 0x86, 0x40, 0x1e, 0x20, 0x0f, + 0x90, 0xa7, 0x2d, 0xc8, 0x83, 0xa4, 0xe1, 0x2e, 0x23, 0x48, 0x1a, 0xd2, 0x84, 0xe0, 0x62, 0xf1, + 0xb2, 0xf9, 0xcc, 0xe1, 0xd2, 0x73, 0x9d, 0x65, 0x8f, 0x65, 0x4c, 0xfa, 0x30, 0x89, 0x9c, 0xc1, + 0x40, 0xba, 0xd3, 0xfe, 0xe1, 0xd1, 0x78, 0x44, 0x3b, 0xe3, 0x53, 0x68, 0x0d, 0x69, 0x44, 0xc4, + 0xe3, 0x48, 0x23, 0xaa, 0xed, 0xcf, 0x48, 0x23, 0x36, 0xba, 0x7b, 0x34, 0x92, 0x4b, 0x2c, 0xdc, + 0x30, 0xea, 0x4c, 0x28, 0xce, 0x06, 0xb5, 0x62, 0xf6, 0x30, 0xfd, 0x94, 0xe6, 0x54, 0xe1, 0x11, + 0x52, 0x85, 0x1a, 0x31, 0xbb, 0x43, 0xa9, 0xc2, 0xf4, 0xc1, 0x95, 0x6e, 0xbc, 0x5a, 0x59, 0xcf, + 0x2a, 0xd7, 0x5a, 0xe1, 0x62, 0x4a, 0x10, 0x98, 0x96, 0x13, 0x18, 0xf5, 0xab, 0xa8, 0x28, 0x57, + 0x50, 0x95, 0xb8, 0x7a, 0x6a, 0x7d, 0xe8, 0x3f, 0x6f, 0xdc, 0xe2, 0x37, 0xff, 0xf9, 0x86, 0x5f, + 0x55, 0xbf, 0xaa, 0xaa, 0xe1, 0xc6, 0xa1, 0x55, 0xf1, 0xa9, 0xc9, 0xcb, 0x89, 0x0e, 0x71, 0x39, + 0xd1, 0x14, 0x40, 0x0e, 0xcd, 0xbb, 0x9c, 0x08, 0xdd, 0x5c, 0xd7, 0x83, 0x81, 0x0a, 0x4c, 0x96, + 0x95, 0xf9, 0xa7, 0xf8, 0x57, 0x23, 0xcf, 0x8f, 0xc2, 0x71, 0x22, 0x83, 0x21, 0xa9, 0x66, 0xb0, + 0xc0, 0x06, 0xca, 0x05, 0x11, 0x03, 0x98, 0x10, 0x03, 0xa4, 0x8d, 0xcc, 0xdc, 0x67, 0x27, 0x72, + 0xdc, 0x44, 0x44, 0x32, 0x4e, 0xa4, 0x4b, 0xec, 0x8a, 0xb6, 0x66, 0x0c, 0x37, 0x4a, 0x23, 0x2e, + 0xe8, 0xc3, 0x8d, 0xd2, 0xe9, 0xda, 0x77, 0xfc, 0x61, 0x18, 0xc9, 0xe4, 0xf9, 0x85, 0x5e, 0x06, + 0xb0, 0x66, 0x0f, 0xa5, 0x00, 0xd3, 0xf5, 0x93, 0x84, 0xa3, 0xd0, 0x0f, 0x87, 0x6f, 0x28, 0x06, + 0x50, 0x72, 0xbf, 0x6c, 0xf8, 0x50, 0x0e, 0xa0, 0x1c, 0xb5, 0x9b, 0x5c, 0x88, 0x94, 0xa2, 0x06, + 0x4f, 0x1d, 0xd2, 0xc2, 0x14, 0xb0, 0x07, 0xd8, 0x03, 0xec, 0x01, 0xf6, 0x94, 0xc1, 0x1e, 0xa6, + 0xca, 0xeb, 0x25, 0x5b, 0x40, 0x1f, 0xa0, 0x0f, 0xd0, 0xa7, 0x5f, 0xe8, 0x53, 0x47, 0x21, 0xa4, + 0x2a, 0xbf, 0x41, 0x1d, 0xa4, 0xd5, 0xfa, 0x3a, 0xc8, 0xbc, 0x20, 0xbb, 0x4f, 0xd7, 0xae, 0x2c, + 0x4e, 0x99, 0xfb, 0x6e, 0xfa, 0x84, 0x4b, 0xc5, 0x90, 0x67, 0x61, 0x9c, 0x9c, 0xad, 0x3e, 0x9f, + 0x01, 0x69, 0x12, 0x4f, 0xfe, 0x10, 0x51, 0x2c, 0x93, 0x37, 0x7b, 0x14, 0xfa, 0xd2, 0x7d, 0x53, + 0x17, 0x0f, 0x73, 0x96, 0x50, 0x51, 0x00, 0xe5, 0xb0, 0x67, 0x25, 0x91, 0x24, 0x0f, 0xb0, 0xba, + 0xd4, 0xfb, 0x5c, 0xc6, 0xb6, 0x78, 0x75, 0xfd, 0x71, 0x2c, 0x7f, 0x10, 0x0e, 0x38, 0xaf, 0x58, + 0xa9, 0xaa, 0x04, 0x8b, 0x81, 0x33, 0xf6, 0xa7, 0xeb, 0x2f, 0xea, 0xd1, 0x0d, 0xe2, 0x80, 0x23, + 0xc0, 0xd1, 0xf4, 0x62, 0xc6, 0x30, 0xf4, 0x85, 0x13, 0x50, 0x50, 0xe8, 0xd0, 0x84, 0x5b, 0x14, + 0x9c, 0x44, 0x04, 0xee, 0x1b, 0x5b, 0x92, 0x73, 0x83, 0x3d, 0xe4, 0x39, 0x01, 0x0f, 0x7d, 0xc8, + 0x73, 0x0e, 0xe4, 0xab, 0xf0, 0x6c, 0x26, 0xa7, 0xca, 0x2d, 0xb1, 0xad, 0xd6, 0x1b, 0x56, 0x02, + 0x8f, 0xa0, 0x04, 0x42, 0x09, 0x84, 0x12, 0x68, 0x7c, 0x1e, 0xe2, 0x2f, 0x99, 0x24, 0x22, 0x62, + 0x87, 0xa6, 0x62, 0xb3, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x09, 0x98, 0xb4, 0xe3, 0x19, 0xff, 0x1e, + 0x0b, 0x19, 0x0c, 0xb5, 0xd1, 0xa6, 0xed, 0xe6, 0x91, 0x41, 0x05, 0x46, 0x01, 0xa3, 0x80, 0x51, + 0x3b, 0x9e, 0x71, 0xde, 0x97, 0x62, 0x14, 0x85, 0x23, 0x11, 0x25, 0x6f, 0x4c, 0x75, 0x64, 0xc5, + 0x66, 0x81, 0x49, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x69, 0xc7, 0x33, 0xfe, 0x74, 0x02, 0x4f, 0x43, + 0x2c, 0x57, 0x6c, 0x16, 0xb1, 0x1c, 0x30, 0x09, 0x98, 0xd4, 0x2f, 0x4c, 0xaa, 0xa3, 0xd2, 0x8c, + 0x83, 0x01, 0xa1, 0xea, 0xcc, 0xea, 0x62, 0xd5, 0x19, 0x5b, 0xc4, 0xae, 0xb1, 0xf0, 0xec, 0x72, + 0xfa, 0x8c, 0xe6, 0xd5, 0x9e, 0xbd, 0x38, 0xaf, 0xb6, 0xe3, 0xfb, 0xe1, 0x4f, 0xe1, 0xd9, 0x6e, + 0x18, 0x27, 0xea, 0x39, 0xdd, 0x9c, 0x25, 0x64, 0x73, 0x6b, 0xdb, 0xea, 0x91, 0xcd, 0xa5, 0xe3, + 0x9c, 0x72, 0x36, 0x77, 0x14, 0xc9, 0x30, 0x92, 0xc9, 0x1b, 0x9d, 0x52, 0x67, 0x96, 0x10, 0xd9, + 0xb3, 0xb9, 0x16, 0xd8, 0x34, 0x87, 0xeb, 0xb5, 0x9d, 0x55, 0x8f, 0x65, 0x90, 0x7c, 0x3c, 0x66, + 0x60, 0xd5, 0x27, 0x04, 0x13, 0x77, 0x4e, 0x30, 0x9c, 0x3c, 0xcd, 0x7f, 0x48, 0xd3, 0x4b, 0x5b, + 0xbe, 0x73, 0x26, 0x4b, 0xf6, 0x03, 0x26, 0xd0, 0xc9, 0x99, 0xfb, 0xd7, 0xec, 0xf0, 0x1b, 0x97, + 0xbd, 0xaf, 0x13, 0xc2, 0x25, 0xc3, 0xe0, 0x8b, 0x1c, 0xca, 0x94, 0x73, 0x1f, 0x90, 0xed, 0xfe, + 0x7a, 0xcf, 0x30, 0x05, 0xce, 0xab, 0xf1, 0x53, 0x70, 0x78, 0x72, 0x7c, 0xfc, 0xf1, 0xd3, 0xf1, + 0xf1, 0xc1, 0xa7, 0xdf, 0x3e, 0x1d, 0xfc, 0xe3, 0xc3, 0x87, 0xc3, 0x8f, 0x87, 0x1f, 0x0c, 0x9e, + 0x95, 0x77, 0xcd, 0x7c, 0xfa, 0xd1, 0xf4, 0x3b, 0x35, 0x70, 0x87, 0x0f, 0x48, 0x09, 0x48, 0x09, + 0x48, 0x09, 0x48, 0x09, 0x48, 0x09, 0x48, 0x09, 0x48, 0x09, 0x2b, 0x29, 0xe9, 0xb7, 0xf4, 0x4c, + 0xd4, 0x3c, 0x2d, 0xbd, 0xa2, 0xf3, 0x95, 0xf3, 0x7a, 0x3a, 0x7d, 0xb8, 0xb3, 0xc9, 0xb3, 0x19, + 0xa6, 0x36, 0x7b, 0xc2, 0x77, 0xde, 0x78, 0xe4, 0xe6, 0xa9, 0x29, 0xe8, 0xcd, 0xb5, 0xf1, 0x4e, + 0xe8, 0xcd, 0x74, 0x70, 0x83, 0xde, 0x8c, 0xd0, 0x0e, 0xa1, 0x1d, 0x42, 0x3b, 0x84, 0x76, 0x08, + 0xed, 0x10, 0xda, 0x21, 0xb4, 0x33, 0x2e, 0xb4, 0x83, 0xde, 0x0c, 0x52, 0x02, 0x52, 0x02, 0x52, + 0x02, 0x52, 0x02, 0x52, 0x02, 0x52, 0x02, 0x52, 0x62, 0x04, 0x29, 0x81, 0xde, 0x4c, 0x11, 0x3d, + 0xad, 0xba, 0x04, 0xe7, 0x2f, 0xe9, 0xc3, 0x19, 0xa6, 0x38, 0x3f, 0x87, 0xa3, 0x98, 0x47, 0x70, + 0x4e, 0x2d, 0x41, 0x6f, 0xae, 0x8d, 0x77, 0x42, 0x6f, 0xa6, 0x83, 0x1b, 0xf4, 0x66, 0x84, 0x76, + 0x08, 0xed, 0x10, 0xda, 0x21, 0xb4, 0x43, 0x68, 0x87, 0xd0, 0x0e, 0xa1, 0x9d, 0x71, 0xa1, 0x1d, + 0xf4, 0x66, 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, 0x90, 0x12, + 0x23, 0x48, 0x09, 0xf4, 0x66, 0x82, 0xe6, 0x69, 0xd5, 0x25, 0x37, 0xff, 0x31, 0x79, 0x36, 0x03, + 0xd4, 0xe6, 0x48, 0xc6, 0xdf, 0xed, 0xc5, 0x15, 0x34, 0x5c, 0xd7, 0x25, 0x6c, 0x37, 0x0b, 0x1d, + 0xba, 0x36, 0x3e, 0x0a, 0x1d, 0x9a, 0x0e, 0x7a, 0xca, 0x3a, 0x74, 0xea, 0x05, 0xab, 0x6b, 0x9f, + 0xa9, 0xbd, 0xe6, 0x46, 0xcb, 0x08, 0x09, 0xd1, 0xcd, 0x8e, 0xc1, 0x25, 0xd1, 0xcd, 0xae, 0xdb, + 0x1d, 0x36, 0x53, 0xfc, 0x90, 0x9e, 0x08, 0x12, 0x39, 0x90, 0x22, 0xb2, 0x7d, 0xa9, 0xd0, 0x48, + 0xab, 0x18, 0x95, 0xd6, 0xad, 0x02, 0x91, 0x80, 0x48, 0x40, 0xa4, 0x36, 0x23, 0x92, 0xe2, 0x08, + 0x90, 0x7a, 0x57, 0x2e, 0x8b, 0x50, 0x4b, 0xed, 0x27, 0x89, 0xeb, 0x7e, 0x3e, 0xa4, 0x87, 0xd4, + 0xf5, 0xce, 0xe4, 0x88, 0xeb, 0xce, 0xf8, 0x22, 0x03, 0x5b, 0xcc, 0xdf, 0x96, 0x41, 0x3e, 0xe2, + 0x76, 0xcb, 0x9c, 0x6b, 0x1e, 0xee, 0x35, 0x24, 0xa7, 0x10, 0xc4, 0x35, 0x96, 0x8e, 0xa6, 0x99, + 0x31, 0x52, 0x67, 0x53, 0x53, 0x65, 0x9e, 0x59, 0x0b, 0x5b, 0xa6, 0x28, 0x03, 0x5d, 0x6c, 0x3b, + 0x29, 0xb5, 0x71, 0x6a, 0x3c, 0x9a, 0x75, 0xb7, 0x3b, 0x19, 0x7f, 0xff, 0x32, 0x7f, 0x52, 0xf3, + 0x5a, 0xda, 0x4e, 0x06, 0x57, 0xd8, 0xe1, 0xb7, 0xbf, 0x84, 0x9b, 0xc8, 0x1f, 0xc2, 0x1e, 0x8c, + 0x03, 0x57, 0x69, 0xe2, 0x17, 0x4c, 0x7c, 0x93, 0x45, 0xdc, 0x67, 0x0c, 0xe9, 0xad, 0x57, 0xf7, + 0x19, 0x33, 0x79, 0x82, 0xd5, 0xa5, 0x6b, 0xd6, 0x93, 0xd0, 0x17, 0x91, 0xf3, 0xcd, 0x17, 0xb6, + 0x7c, 0x19, 0x39, 0x2e, 0xa1, 0x85, 0x76, 0xce, 0x12, 0xf0, 0x05, 0xf8, 0xd2, 0x2b, 0x7c, 0x19, + 0x46, 0x8e, 0x27, 0x62, 0x3b, 0x1c, 0xa8, 0x79, 0xc0, 0x0a, 0xae, 0x28, 0xa4, 0xcd, 0xf7, 0x2e, + 0x52, 0xb9, 0x2d, 0x79, 0xfb, 0xdd, 0x89, 0x19, 0xf2, 0x0a, 0xff, 0xbc, 0x3b, 0xfd, 0x72, 0x7e, + 0xff, 0x74, 0xf3, 0xf5, 0xe9, 0xe2, 0xea, 0xf6, 0xf4, 0xec, 0x41, 0x75, 0x45, 0xa5, 0xb5, 0x01, + 0x31, 0xa9, 0x88, 0x85, 0x29, 0xd4, 0x5f, 0x7f, 0xa3, 0xa7, 0xab, 0x8b, 0xeb, 0x9b, 0xbb, 0xf9, + 0xeb, 0x35, 0x11, 0x7f, 0xea, 0x7a, 0xb1, 0x3f, 0x2e, 0x1e, 0x2e, 0xcf, 0xef, 0xef, 0x3b, 0xf5, + 0x4e, 0x57, 0xa7, 0xff, 0xd3, 0xcd, 0xc9, 0xba, 0xbc, 0xb9, 0xfe, 0x27, 0xfd, 0xbd, 0x94, 0x3e, + 0xf9, 0xa8, 0x1b, 0x83, 0xdf, 0xf1, 0xfe, 0x65, 0xc9, 0xd9, 0x53, 0x0d, 0x98, 0xb5, 0x07, 0xca, + 0x15, 0x30, 0x54, 0x5f, 0x08, 0x5c, 0x6e, 0x91, 0xed, 0x9e, 0x90, 0x12, 0x93, 0xb1, 0x37, 0x97, + 0xea, 0x97, 0xc7, 0xa0, 0xec, 0x8c, 0x2c, 0x31, 0xcb, 0xbc, 0x91, 0x92, 0x0b, 0xa1, 0x5a, 0xbd, + 0x48, 0x65, 0x32, 0xa9, 0x42, 0x22, 0xd9, 0xc8, 0xa3, 0x2a, 0x69, 0x24, 0x93, 0x45, 0x32, 0x49, + 0xe4, 0x24, 0x87, 0xbc, 0xc0, 0x51, 0xb5, 0xbe, 0x63, 0xcf, 0xf9, 0x11, 0x4a, 0x6f, 0x91, 0x91, + 0x52, 0x8e, 0x9e, 0xd6, 0xec, 0x20, 0x76, 0x42, 0xec, 0xd4, 0xab, 0xd8, 0x69, 0x3c, 0x96, 0x1e, + 0x25, 0x5e, 0x3a, 0x31, 0x40, 0x4b, 0x59, 0x6c, 0x4f, 0xf6, 0x4f, 0x21, 0x87, 0xcf, 0x04, 0x31, + 0x25, 0x6f, 0x0a, 0x88, 0x00, 0x44, 0xe8, 0x17, 0x22, 0xa8, 0x1e, 0xc0, 0x21, 0x1c, 0xbc, 0x21, + 0x1e, 0xb8, 0xa1, 0xd5, 0x36, 0x30, 0xd4, 0xf2, 0xb0, 0x9c, 0xea, 0xe0, 0x3a, 0x50, 0xc3, 0x79, + 0x64, 0x83, 0x98, 0xe3, 0x37, 0x6e, 0x68, 0xf9, 0x0f, 0xca, 0xb0, 0x8e, 0x76, 0x4d, 0x95, 0x0b, + 0x8f, 0x06, 0x6c, 0xda, 0xe2, 0xd5, 0xf5, 0xc7, 0x9e, 0xb0, 0x7d, 0x19, 0x7c, 0x57, 0xdf, 0xaf, + 0x57, 0xac, 0x60, 0xab, 0xc6, 0x56, 0x0d, 0xf2, 0xde, 0x32, 0xf2, 0x3e, 0xf7, 0xe0, 0x20, 0xf4, + 0x04, 0x1d, 0x07, 0x52, 0x2b, 0xc0, 0x01, 0xe0, 0x00, 0x70, 0xa0, 0xc5, 0x38, 0x60, 0x0b, 0x6f, + 0x28, 0xec, 0x51, 0x58, 0x45, 0xb5, 0xde, 0x0a, 0x09, 0xcb, 0x06, 0x81, 0x0e, 0x40, 0x07, 0xa0, + 0x43, 0x4b, 0xd1, 0x61, 0x96, 0x22, 0x24, 0x42, 0x42, 0x6a, 0x05, 0x38, 0x00, 0x1c, 0x00, 0x0e, + 0xb4, 0x0c, 0x07, 0x64, 0xc0, 0xa1, 0x1a, 0xac, 0x58, 0x01, 0x0e, 0x00, 0x07, 0x80, 0x03, 0x2d, + 0xc5, 0x01, 0x9a, 0x6a, 0xb0, 0x62, 0x05, 0x38, 0x00, 0x1c, 0x00, 0x0e, 0xb4, 0x18, 0x07, 0x58, + 0x54, 0x83, 0x4d, 0x06, 0x81, 0x0e, 0x40, 0x07, 0xa0, 0x43, 0x4b, 0xd1, 0x81, 0xa6, 0x1a, 0xac, + 0x58, 0x01, 0x0e, 0x00, 0x07, 0x80, 0x03, 0x2d, 0xc5, 0x01, 0x7a, 0xb9, 0x70, 0xce, 0x12, 0xf0, + 0x00, 0x78, 0x00, 0x3c, 0x68, 0x19, 0x1e, 0xf8, 0xa1, 0xeb, 0xf8, 0xb6, 0xf4, 0xd4, 0x71, 0x20, + 0xb3, 0xd0, 0x17, 0xff, 0x9f, 0x9e, 0xc6, 0x82, 0xd7, 0x17, 0x7a, 0xfd, 0x6c, 0x70, 0x3a, 0xe7, + 0xeb, 0xca, 0x6d, 0xcf, 0x8c, 0xf2, 0x76, 0xa5, 0x76, 0xaf, 0xd9, 0x18, 0xa8, 0x34, 0x5b, 0x6a, + 0x6d, 0xb7, 0x64, 0x78, 0x79, 0xeb, 0xbc, 0x5c, 0xb9, 0x33, 0x32, 0xae, 0xc1, 0xd1, 0xd0, 0x61, + 0x54, 0xd9, 0x81, 0xb8, 0x1c, 0x89, 0xdd, 0xa1, 0xd8, 0x1d, 0x8b, 0xdf, 0xc1, 0xd4, 0x1c, 0x4d, + 0xd1, 0xe1, 0xe8, 0xdb, 0x2b, 0xdf, 0x36, 0x4b, 0xdc, 0x6e, 0xd5, 0xc7, 0x4d, 0xf9, 0xda, 0x2d, + 0xa6, 0xde, 0xeb, 0x4b, 0xb6, 0x80, 0x3c, 0x40, 0x1e, 0x20, 0x4f, 0x7f, 0x90, 0xa7, 0x8e, 0xa6, + 0xab, 0xca, 0xf0, 0x82, 0x36, 0xab, 0x56, 0xeb, 0xdb, 0xac, 0x16, 0x74, 0x3d, 0xd9, 0x57, 0xdc, + 0x69, 0xd8, 0x7a, 0xc9, 0x3c, 0xcc, 0x9e, 0x69, 0xa9, 0x9f, 0x6a, 0xea, 0xc2, 0x06, 0x44, 0xd7, + 0x13, 0x88, 0x17, 0x51, 0x24, 0x3c, 0x3b, 0x89, 0x9c, 0x20, 0x1e, 0x85, 0x51, 0x62, 0xfb, 0xce, + 0x9b, 0x88, 0xd4, 0x43, 0xee, 0xcd, 0x26, 0xa1, 0xb6, 0x23, 0x22, 0xef, 0x95, 0xda, 0x9e, 0x2e, + 0x7b, 0x7b, 0x14, 0x85, 0x49, 0xe8, 0x86, 0xbe, 0x2a, 0xe3, 0x35, 0xbb, 0x6b, 0x2a, 0x6b, 0x23, + 0xa1, 0xd9, 0x0e, 0x5e, 0x51, 0x9f, 0x57, 0xdb, 0xb7, 0x49, 0xfb, 0x35, 0x69, 0x9f, 0x56, 0xdb, + 0x9f, 0xdb, 0xd5, 0xc5, 0x4d, 0xbd, 0xfb, 0x98, 0xe6, 0xad, 0xb7, 0xce, 0x3e, 0x6e, 0x69, 0xb6, + 0xad, 0x72, 0xe3, 0xb6, 0x0a, 0x39, 0xba, 0x8a, 0x7b, 0x64, 0x03, 0x9d, 0xda, 0x2a, 0x07, 0xb6, + 0x5d, 0xea, 0xcf, 0x56, 0x35, 0x30, 0xe5, 0x05, 0xd3, 0xca, 0xfb, 0x97, 0x6a, 0x96, 0xb8, 0x62, + 0x18, 0x59, 0xc2, 0xb7, 0xde, 0x11, 0xde, 0x7f, 0xbe, 0x89, 0x94, 0x78, 0x89, 0x6a, 0x1b, 0x87, + 0xd2, 0x86, 0xa1, 0xb4, 0x51, 0x54, 0xdb, 0x20, 0x76, 0x8d, 0x47, 0xc5, 0x0d, 0x81, 0x77, 0x23, + 0x28, 0xb1, 0x8c, 0xb8, 0xc0, 0x7e, 0xbb, 0x9f, 0x6d, 0x5e, 0x53, 0xc5, 0xbf, 0xd9, 0x30, 0xaa, + 0x65, 0x47, 0x93, 0x32, 0x8a, 0x5b, 0xc6, 0x4c, 0x75, 0xac, 0x8a, 0xc7, 0x26, 0xff, 0xe6, 0x05, + 0x6f, 0xbd, 0x37, 0x9b, 0x49, 0x5b, 0x06, 0x89, 0x88, 0x06, 0x8e, 0xbb, 0xab, 0x4a, 0x7b, 0xa1, + 0x4f, 0x6d, 0xf8, 0xe0, 0x86, 0x91, 0xdd, 0x9e, 0x77, 0xdd, 0xb9, 0x77, 0x95, 0xd9, 0xab, 0x2a, + 0xee, 0x4d, 0x65, 0xf7, 0xa2, 0xca, 0x7b, 0x4f, 0xe5, 0xbd, 0xa6, 0xfa, 0xde, 0x52, 0x6d, 0x55, + 0xef, 0xca, 0x43, 0xee, 0x39, 0xde, 0x8b, 0x0c, 0xe4, 0x84, 0x43, 0xa5, 0x97, 0x40, 0xc4, 0x89, + 0x93, 0x94, 0x18, 0x97, 0xac, 0x4f, 0x67, 0xd1, 0xa7, 0x77, 0xc1, 0x78, 0x29, 0x6a, 0x53, 0x9a, + 0xd2, 0x54, 0xa1, 0x32, 0x8a, 0x14, 0xa6, 0x2a, 0x75, 0x51, 0xa6, 0x2c, 0xca, 0x54, 0x45, 0x9d, + 0xa2, 0xd0, 0xb6, 0xe4, 0xd2, 0x54, 0x84, 0xb2, 0x62, 0xaa, 0xc6, 0xca, 0x25, 0x63, 0xe3, 0x2d, + 0x1b, 0xc7, 0x16, 0xe4, 0x70, 0x7e, 0x38, 0xd2, 0x4f, 0xef, 0xf5, 0x70, 0x9d, 0x91, 0xe3, 0xca, + 0xe4, 0xad, 0x82, 0xb7, 0xe4, 0x3f, 0x5b, 0xce, 0x57, 0x0e, 0xcb, 0xfa, 0xca, 0x11, 0x7c, 0xc5, + 0x58, 0x5f, 0x29, 0x5b, 0x12, 0xb2, 0x97, 0x84, 0x89, 0xe3, 0xdb, 0xb1, 0xfc, 0xaf, 0x50, 0x69, + 0x0e, 0x9e, 0x7d, 0xb6, 0x2b, 0x3d, 0xc1, 0x11, 0x69, 0xb6, 0xa7, 0xff, 0xf7, 0x38, 0x90, 0x84, + 0x53, 0x7e, 0xe9, 0xa7, 0x51, 0xba, 0x8b, 0x14, 0x42, 0x67, 0x4b, 0x77, 0xe7, 0xfb, 0xbe, 0xad, + 0xb0, 0xd4, 0xad, 0x2e, 0x5d, 0xb4, 0xa6, 0x56, 0xe6, 0x48, 0x2a, 0x6f, 0x04, 0x54, 0x00, 0x2a, + 0x5a, 0x04, 0x15, 0x68, 0xf8, 0xad, 0xfa, 0xe2, 0x68, 0xf8, 0xbd, 0x2e, 0x54, 0xa3, 0xe1, 0xb7, + 0x46, 0x68, 0x50, 0xff, 0xd4, 0x63, 0xdf, 0x6f, 0x0f, 0xdb, 0x20, 0x24, 0xef, 0xe7, 0x85, 0x92, + 0xfd, 0xca, 0x81, 0x6d, 0x39, 0x55, 0x7d, 0x96, 0x62, 0xb8, 0x98, 0x3f, 0xc0, 0xed, 0xe4, 0xfb, + 0x9f, 0x4e, 0xe7, 0xdf, 0x7f, 0x36, 0xfb, 0xfa, 0xa7, 0x87, 0xc9, 0xd7, 0xdf, 0x4f, 0xbe, 0xdd, + 0x88, 0x54, 0x98, 0x86, 0xd4, 0x4f, 0xf9, 0xb9, 0x60, 0x49, 0xfd, 0x94, 0x1c, 0xf8, 0x3d, 0x0d, + 0x12, 0x9e, 0x27, 0x23, 0x51, 0xee, 0x16, 0xf1, 0x6c, 0x33, 0x5e, 0x7c, 0x04, 0xe2, 0x36, 0xc4, + 0xed, 0x8d, 0x23, 0x9f, 0xd6, 0x44, 0x96, 0x5d, 0x2b, 0x46, 0xc9, 0xda, 0x45, 0x15, 0x6d, 0xa5, + 0xbd, 0xa3, 0x7a, 0x39, 0x5c, 0x65, 0x3f, 0x81, 0xb0, 0xdd, 0x25, 0x3f, 0x51, 0xab, 0x9f, 0x34, + 0xc7, 0x59, 0xe4, 0x40, 0xb8, 0x6f, 0xae, 0x5f, 0x39, 0x5d, 0xba, 0xfe, 0x41, 0x38, 0x09, 0x9c, + 0x84, 0x69, 0xb1, 0x18, 0xe5, 0x20, 0x2f, 0xc2, 0x93, 0x8e, 0xed, 0x3e, 0x3b, 0x41, 0x20, 0x7c, + 0x7b, 0x03, 0xb3, 0xb4, 0xe3, 0x91, 0x70, 0xcb, 0xfb, 0x4e, 0x05, 0x9b, 0xcc, 0x49, 0x55, 0x6d, + 0x1c, 0x6d, 0xf4, 0x1c, 0x26, 0x61, 0x20, 0x5d, 0x3b, 0x7d, 0xb7, 0x8e, 0xba, 0xd7, 0xda, 0x4b, + 0x9a, 0x92, 0x64, 0x7d, 0x71, 0xed, 0x51, 0x18, 0xfa, 0xd5, 0x33, 0xac, 0xf3, 0x0f, 0x6a, 0x4e, + 0xaf, 0x1e, 0xd5, 0x76, 0xe5, 0x72, 0xd5, 0x45, 0x48, 0x15, 0x97, 0x8d, 0xbc, 0x70, 0xb9, 0xe2, + 0x22, 0xd5, 0xa3, 0xb4, 0x28, 0x5c, 0xb7, 0x3c, 0x8f, 0xcd, 0x27, 0xb8, 0x97, 0x44, 0x53, 0x44, + 0x57, 0xbd, 0x72, 0x39, 0x67, 0xab, 0xe6, 0xfe, 0x2a, 0x47, 0x8d, 0x9d, 0xeb, 0x52, 0x75, 0x01, + 0xaa, 0x2b, 0xb0, 0xb9, 0x04, 0x9b, 0x6b, 0xf0, 0xbb, 0x88, 0x9a, 0x3c, 0x5a, 0x5b, 0xbf, 0x95, + 0x41, 0x24, 0xfe, 0x1e, 0x8b, 0xc0, 0x55, 0xba, 0x93, 0x7f, 0xe3, 0xb2, 0x2a, 0xb4, 0x4a, 0xeb, + 0x89, 0x70, 0xd8, 0x99, 0x9e, 0x08, 0x64, 0x77, 0xe3, 0x72, 0x3b, 0x76, 0xf7, 0x63, 0x77, 0x43, + 0x7d, 0xee, 0x48, 0xcc, 0x75, 0x28, 0xae, 0x25, 0x55, 0x37, 0x5d, 0xec, 0x78, 0xde, 0x5f, 0xe3, + 0x38, 0x99, 0x8c, 0x84, 0x3d, 0x8c, 0x9c, 0x60, 0xec, 0x3b, 0x51, 0x99, 0x12, 0xcc, 0xf2, 0xbb, + 0x60, 0xb1, 0xfd, 0xf7, 0x46, 0x64, 0xcf, 0xa8, 0xae, 0xcc, 0xe9, 0xd2, 0x9a, 0x5d, 0x9b, 0xdb, + 0xc5, 0xb5, 0xb9, 0xba, 0x36, 0x97, 0xd7, 0xef, 0xfa, 0x34, 0x08, 0x20, 0x42, 0x41, 0x75, 0x61, + 0xa4, 0x59, 0x1f, 0xb6, 0x88, 0xd5, 0x57, 0x8a, 0xfa, 0x8b, 0xbe, 0xb9, 0xa3, 0x94, 0x14, 0x0c, + 0x23, 0xe9, 0xd9, 0x09, 0xc7, 0xc4, 0x65, 0x93, 0xb6, 0x30, 0x09, 0xac, 0x05, 0xd6, 0x02, 0x6b, + 0x5b, 0x82, 0xb5, 0x5c, 0x6e, 0xdb, 0x3d, 0x78, 0xad, 0x95, 0x57, 0x13, 0x7b, 0x35, 0x65, 0x76, + 0x08, 0x75, 0x22, 0xe5, 0xf5, 0xf9, 0xfd, 0x99, 0x84, 0xba, 0x9f, 0x97, 0x9c, 0xf6, 0x19, 0x03, + 0x67, 0x8b, 0x50, 0x87, 0x72, 0x35, 0x79, 0x99, 0xb3, 0xe9, 0xbb, 0x14, 0xfe, 0xc5, 0xfd, 0x48, + 0xb8, 0x4f, 0x57, 0xee, 0x6d, 0x18, 0xfa, 0x8b, 0xa2, 0x95, 0xfb, 0xd9, 0x5b, 0x3c, 0x7d, 0x9d, + 0xbf, 0x45, 0xd5, 0xf6, 0x14, 0xf4, 0x55, 0xa4, 0xd2, 0x03, 0xd2, 0x0f, 0x7f, 0x8a, 0xc8, 0xce, + 0x86, 0x9e, 0x2e, 0x7f, 0xac, 0x1b, 0x44, 0x37, 0x48, 0x28, 0x1f, 0x3d, 0x57, 0x3e, 0xf8, 0xba, + 0x43, 0x2a, 0x17, 0x86, 0xaf, 0xfb, 0xd5, 0x09, 0xc1, 0x04, 0xad, 0x50, 0x7c, 0xfe, 0x8f, 0x81, + 0x88, 0x70, 0x14, 0x8e, 0x33, 0xc7, 0x0e, 0x99, 0x39, 0xa6, 0x42, 0xf2, 0xcc, 0x1e, 0x63, 0x89, + 0x33, 0x13, 0xa3, 0xb4, 0xb8, 0x0a, 0xcc, 0x75, 0x4f, 0x01, 0x7f, 0xc1, 0xb9, 0xd6, 0x59, 0x69, + 0x88, 0xb4, 0x3e, 0x1a, 0x4c, 0x52, 0xc6, 0xa3, 0x11, 0x2f, 0x49, 0x59, 0x37, 0x08, 0x92, 0x02, + 0x92, 0x02, 0x92, 0x02, 0x92, 0x02, 0x92, 0x02, 0x92, 0x02, 0x92, 0x02, 0x92, 0x52, 0x4b, 0x4f, + 0xfb, 0x35, 0x12, 0x62, 0xd1, 0x94, 0x13, 0x34, 0xba, 0xb7, 0xcc, 0x6c, 0x74, 0xaf, 0x55, 0x34, + 0xd5, 0xd2, 0x02, 0x5f, 0x87, 0x2e, 0x6a, 0x42, 0x63, 0xfc, 0xd0, 0x75, 0xc7, 0x23, 0x29, 0x3c, + 0x86, 0x8a, 0xc9, 0xbc, 0x29, 0x14, 0x4c, 0xd6, 0x14, 0x1a, 0xa0, 0x60, 0x92, 0x0a, 0x7a, 0x28, + 0x98, 0x44, 0x44, 0x8e, 0x88, 0xdc, 0xf8, 0x88, 0x1c, 0x05, 0x93, 0x14, 0x33, 0x28, 0xe2, 0x61, + 0x88, 0x75, 0x51, 0xc4, 0xc3, 0x1c, 0xf9, 0xa2, 0x60, 0x52, 0xc9, 0x16, 0x0a, 0x26, 0x2d, 0x14, + 0x4c, 0x02, 0x6b, 0x81, 0xb5, 0xad, 0xc6, 0x5a, 0x14, 0x4c, 0x1a, 0xc1, 0xab, 0xdb, 0x59, 0x30, + 0x99, 0x53, 0x9c, 0x5a, 0x59, 0x2f, 0x79, 0x33, 0x7b, 0x0b, 0x94, 0x4b, 0xa2, 0x5c, 0x12, 0xba, + 0x07, 0x74, 0x0f, 0x2d, 0x1b, 0x2f, 0x2a, 0x11, 0x0a, 0x1f, 0x04, 0x95, 0x08, 0x56, 0x83, 0x7c, + 0xd2, 0x42, 0x25, 0x02, 0x2a, 0x11, 0x50, 0x2e, 0x09, 0x92, 0x02, 0x92, 0x02, 0x92, 0x02, 0x92, + 0x02, 0x92, 0x02, 0x92, 0x02, 0x92, 0xd2, 0x15, 0x92, 0x82, 0x72, 0x49, 0x94, 0x4b, 0xb6, 0x40, + 0x32, 0x35, 0xb5, 0x5a, 0x72, 0x5d, 0x15, 0x35, 0xa1, 0x58, 0x32, 0x1e, 0x8f, 0x46, 0x61, 0x94, + 0x30, 0x75, 0x98, 0x2c, 0xb4, 0x86, 0x92, 0xc9, 0x9a, 0xc2, 0x03, 0x94, 0x4c, 0x52, 0x81, 0x0f, + 0x25, 0x93, 0x88, 0xca, 0x11, 0x95, 0x1b, 0x1f, 0x95, 0xa3, 0x64, 0x92, 0x62, 0x06, 0x65, 0x3c, + 0x0c, 0xf1, 0x2e, 0xca, 0x78, 0x98, 0xa3, 0x5f, 0x94, 0x4c, 0x2a, 0xd9, 0x42, 0xc9, 0xa4, 0x85, + 0x92, 0x49, 0x60, 0x2d, 0xb0, 0xb6, 0xd5, 0x58, 0x8b, 0x92, 0x49, 0x23, 0x78, 0x75, 0x3b, 0x4b, + 0x26, 0x8b, 0x44, 0xa7, 0x56, 0x56, 0x4d, 0xde, 0x2f, 0x5e, 0x04, 0x85, 0x93, 0x28, 0x9c, 0x84, + 0xfa, 0x01, 0xf5, 0x43, 0xcb, 0xf6, 0x8b, 0x9a, 0x84, 0xc2, 0x07, 0x41, 0x4d, 0x82, 0xd5, 0x20, + 0xab, 0xb4, 0x50, 0x93, 0x80, 0x9a, 0x04, 0x14, 0x4e, 0x82, 0xa4, 0x80, 0xa4, 0x80, 0xa4, 0x80, + 0xa4, 0x80, 0xa4, 0x80, 0xa4, 0x80, 0xa4, 0x74, 0x85, 0xa4, 0xa0, 0x70, 0x12, 0x85, 0x93, 0xed, + 0x10, 0x4e, 0x4d, 0xad, 0x9d, 0x2c, 0xd0, 0x46, 0xb5, 0x95, 0x4f, 0xb2, 0xde, 0xf8, 0xad, 0xb8, + 0x24, 0xea, 0x5d, 0x0a, 0x55, 0xee, 0x84, 0xaf, 0x61, 0xb6, 0xcb, 0xcd, 0xec, 0xee, 0x79, 0x2a, + 0x31, 0x47, 0x7b, 0xa3, 0x14, 0x26, 0x5f, 0x9c, 0xc0, 0x19, 0xa6, 0x50, 0x63, 0xbb, 0xce, 0xc8, + 0xf9, 0x26, 0xfd, 0x2a, 0xf5, 0x40, 0x19, 0x57, 0xdd, 0x66, 0xac, 0xe4, 0x7a, 0xa9, 0x56, 0xa7, + 0x57, 0x39, 0xe8, 0x53, 0x09, 0xf2, 0x98, 0x82, 0x3a, 0xd5, 0x20, 0x8e, 0x1c, 0xb4, 0x91, 0x83, + 0x34, 0xbe, 0xa0, 0x8c, 0x17, 0x5b, 0xaa, 0xd6, 0xc1, 0xad, 0xd4, 0x67, 0xbf, 0x38, 0xaf, 0xf2, + 0x65, 0xfc, 0x62, 0x87, 0xe3, 0x64, 0x34, 0x4e, 0xec, 0x74, 0xe9, 0xf2, 0x54, 0x7e, 0x17, 0x5a, + 0xae, 0xb9, 0x0a, 0xfc, 0x00, 0x55, 0xe0, 0xa8, 0x02, 0x57, 0x64, 0x71, 0xca, 0x55, 0xe0, 0x53, + 0xf8, 0x9f, 0x52, 0x29, 0xc7, 0xb7, 0x3d, 0x11, 0xc4, 0x94, 0xb2, 0xd2, 0xb5, 0x6d, 0x25, 0x67, + 0x17, 0x32, 0x23, 0x64, 0x46, 0xc8, 0x8c, 0x4c, 0x32, 0xa3, 0x27, 0x5c, 0xf9, 0xe2, 0xf8, 0x2c, + 0x4a, 0xe3, 0xe1, 0x11, 0xc1, 0x46, 0x4e, 0x5f, 0xf9, 0x04, 0xdd, 0xb2, 0x78, 0x98, 0x8f, 0xa0, + 0x5b, 0x36, 0xad, 0x5b, 0xfe, 0xd6, 0xa3, 0x29, 0x40, 0x26, 0x35, 0x37, 0xcc, 0x49, 0x98, 0x38, + 0xbe, 0x62, 0xe8, 0x90, 0xdf, 0xcb, 0x97, 0x8c, 0x81, 0xda, 0x80, 0xda, 0x80, 0xda, 0x80, 0xda, + 0x80, 0xda, 0x80, 0xda, 0x80, 0xda, 0x80, 0xda, 0x10, 0xa9, 0x0d, 0x92, 0x7e, 0xfb, 0x5b, 0x52, + 0x13, 0xfb, 0xcc, 0xe2, 0xad, 0xa5, 0x3d, 0x4d, 0x74, 0x3b, 0x79, 0xaa, 0xab, 0xec, 0x5d, 0xce, + 0xb2, 0x57, 0x59, 0xce, 0x13, 0x5e, 0x4d, 0xdf, 0xe4, 0x26, 0x7d, 0x91, 0xf4, 0x13, 0xa6, 0x35, + 0x5c, 0x79, 0x91, 0x81, 0x2e, 0x09, 0xbe, 0xc8, 0x32, 0x24, 0xf8, 0x9a, 0xc8, 0x32, 0x24, 0x78, + 0x2a, 0xa6, 0x42, 0x82, 0x47, 0x9c, 0x8a, 0x38, 0x15, 0x71, 0x2a, 0xe2, 0x54, 0xc4, 0xa9, 0x88, + 0x53, 0x11, 0xa7, 0xf6, 0x24, 0x4e, 0x85, 0x04, 0x0f, 0x6a, 0x03, 0x6a, 0x03, 0x6a, 0x03, 0x6a, + 0x03, 0x6a, 0x03, 0x6a, 0x03, 0x6a, 0xd3, 0x21, 0x6a, 0x03, 0x09, 0xbe, 0xbc, 0x04, 0x4f, 0x17, + 0x6f, 0x2d, 0x43, 0x24, 0xf8, 0xe9, 0x9b, 0x18, 0x26, 0xc1, 0x27, 0xa1, 0x2f, 0xa2, 0x95, 0x64, + 0x87, 0x0c, 0x18, 0xf4, 0xf7, 0xed, 0x66, 0x21, 0xbe, 0xd7, 0x44, 0x93, 0x21, 0xbe, 0x53, 0xd1, + 0x14, 0xe2, 0x3b, 0x22, 0x54, 0x44, 0xa8, 0x88, 0x50, 0x11, 0xa1, 0x22, 0x42, 0x45, 0x84, 0x8a, + 0x08, 0xb5, 0x27, 0x11, 0x2a, 0xc4, 0x77, 0x50, 0x1b, 0x50, 0x1b, 0x50, 0x1b, 0x50, 0x1b, 0x50, + 0x1b, 0x50, 0x1b, 0x50, 0x9b, 0x0e, 0x51, 0x1b, 0x88, 0xef, 0x5b, 0xc5, 0x77, 0x4e, 0xe5, 0xd6, + 0x6a, 0x50, 0x79, 0x7f, 0x98, 0xbf, 0xc7, 0xac, 0xf4, 0xfd, 0x22, 0x30, 0x54, 0x76, 0x9f, 0x25, + 0x38, 0xb8, 0x65, 0xf7, 0x02, 0xb3, 0x90, 0xdd, 0x6b, 0x22, 0xc8, 0x90, 0xdd, 0xa9, 0x38, 0x0a, + 0xd9, 0x1d, 0xb1, 0x29, 0x62, 0x53, 0xc4, 0xa6, 0x88, 0x4d, 0x11, 0x9b, 0x22, 0x36, 0x45, 0x6c, + 0xda, 0x93, 0xd8, 0x14, 0xb2, 0x3b, 0xa8, 0x0d, 0xa8, 0x0d, 0xa8, 0x0d, 0xa8, 0x0d, 0xa8, 0x0d, + 0xa8, 0x0d, 0xa8, 0x4d, 0x87, 0xa8, 0x0d, 0x64, 0xf7, 0xb2, 0xb2, 0x3b, 0x59, 0xb9, 0xb5, 0x8c, + 0x90, 0xdd, 0xa7, 0xaf, 0x51, 0x83, 0xec, 0xde, 0xa3, 0x2b, 0x2a, 0xe8, 0x77, 0x2a, 0x34, 0xb8, + 0x36, 0xd8, 0x6e, 0xb2, 0x78, 0x47, 0x98, 0xe8, 0xaa, 0x13, 0x5c, 0xcf, 0xc4, 0x96, 0x98, 0x3c, + 0xad, 0x93, 0xb6, 0x7d, 0x6a, 0x36, 0x0f, 0xf8, 0x96, 0xc1, 0xde, 0x9b, 0x3d, 0xe9, 0xf6, 0x21, + 0xce, 0x08, 0x72, 0xfa, 0xd7, 0x3b, 0xa6, 0xae, 0x5c, 0x42, 0xaa, 0x74, 0x08, 0x59, 0x25, 0x54, + 0x5c, 0x0d, 0x09, 0xa7, 0xf3, 0x5f, 0x66, 0xd2, 0x2a, 0x86, 0x7c, 0xca, 0xa1, 0x9d, 0x72, 0x08, + 0x97, 0x0f, 0xd5, 0x66, 0x2f, 0xa7, 0xd9, 0x0d, 0xcb, 0x26, 0x78, 0xf6, 0x7e, 0xcc, 0xb8, 0x5b, + 0xc5, 0xdb, 0x67, 0xa6, 0x1f, 0xab, 0x76, 0xcf, 0xcc, 0x81, 0xb1, 0xf7, 0xcc, 0x94, 0x5e, 0x70, + 0x54, 0xad, 0xc1, 0xc4, 0xfb, 0x65, 0xca, 0x2e, 0x48, 0x3d, 0x84, 0xa0, 0xb2, 0x06, 0xb0, 0xe8, + 0x41, 0x97, 0x44, 0x32, 0x18, 0x56, 0x99, 0xb4, 0x39, 0xc0, 0x9d, 0xd4, 0x78, 0xe7, 0x53, 0xea, + 0x28, 0x76, 0x29, 0xb0, 0x2e, 0x76, 0x32, 0xbb, 0x04, 0x74, 0xc3, 0xd3, 0xe0, 0x69, 0xdd, 0xf6, + 0x34, 0xd2, 0x66, 0x38, 0xbb, 0xb5, 0xb2, 0xb4, 0x3b, 0x55, 0xbb, 0x90, 0x52, 0xe9, 0x02, 0x4a, + 0xa5, 0x0b, 0x27, 0xab, 0x5d, 0x30, 0x69, 0x10, 0x53, 0x2f, 0x09, 0x61, 0xaa, 0x1c, 0x3c, 0x5d, + 0xa7, 0x1a, 0x28, 0x76, 0x38, 0x12, 0x51, 0x3a, 0x40, 0x8e, 0x6f, 0xc7, 0x89, 0x93, 0x54, 0xe0, + 0xdb, 0xf9, 0x8f, 0x96, 0x23, 0xdf, 0x07, 0x65, 0xc9, 0xf7, 0x11, 0xc8, 0xb7, 0xb1, 0xe4, 0xbb, + 0x34, 0xd2, 0x2a, 0x2f, 0x97, 0x15, 0x90, 0x3d, 0x2e, 0xf1, 0xb7, 0xe7, 0xc1, 0xf8, 0x65, 0xf2, + 0x48, 0xbf, 0x74, 0xb8, 0x49, 0x12, 0xcb, 0xed, 0xe1, 0x77, 0x79, 0xb7, 0xd9, 0x69, 0xaa, 0x2d, + 0x31, 0x6c, 0xe5, 0xb4, 0x66, 0x1b, 0xdd, 0xa9, 0x6a, 0xda, 0xb1, 0xa6, 0x98, 0x36, 0x5d, 0x45, + 0x94, 0xbb, 0x55, 0xd7, 0x0d, 0x68, 0xbe, 0x4f, 0xf5, 0x08, 0xf7, 0xa9, 0xd6, 0xc8, 0xc2, 0x3b, + 0x70, 0x9f, 0xaa, 0x33, 0x1a, 0xf9, 0xd2, 0x4d, 0x37, 0x0c, 0x5b, 0x7a, 0x22, 0x48, 0xe4, 0x40, + 0x72, 0xb5, 0x73, 0xdf, 0x60, 0xbb, 0xe6, 0xe2, 0xf6, 0x23, 0x14, 0xb7, 0xa3, 0xb8, 0xbd, 0x9a, + 0x4b, 0x29, 0xbb, 0x56, 0xf6, 0xc1, 0xe5, 0xa5, 0xef, 0x86, 0x9e, 0xa0, 0x17, 0x7c, 0xe5, 0x2c, + 0xa2, 0xea, 0x0b, 0x55, 0x5f, 0xaa, 0x06, 0x51, 0xf5, 0x45, 0xd5, 0xa5, 0x88, 0x3a, 0x15, 0x7d, + 0xdc, 0x54, 0x2a, 0x50, 0x8b, 0x37, 0x64, 0x3b, 0xa1, 0x0c, 0x63, 0x21, 0x40, 0xad, 0x1b, 0x07, + 0x56, 0x01, 0xab, 0x80, 0x55, 0x4c, 0x58, 0xc5, 0xef, 0x68, 0x55, 0x35, 0x20, 0xa2, 0x36, 0xc4, + 0x08, 0x82, 0x5a, 0xd9, 0xdf, 0x4c, 0xec, 0x27, 0x32, 0xaf, 0x6a, 0x29, 0x00, 0x96, 0x94, 0x00, + 0x4b, 0x8a, 0x80, 0x96, 0x32, 0xa0, 0x8e, 0x7d, 0x83, 0x75, 0x82, 0x3b, 0x95, 0xc3, 0xfd, 0x35, + 0x51, 0x67, 0x9f, 0x3d, 0xe8, 0xb5, 0x08, 0x29, 0x8c, 0x9b, 0x24, 0x96, 0x9b, 0x6b, 0xbe, 0x26, + 0xbf, 0x2d, 0xee, 0x7a, 0x7b, 0xba, 0x78, 0xf0, 0x8b, 0xc5, 0x73, 0x1b, 0x76, 0xf7, 0x9c, 0x2b, + 0x82, 0xf4, 0x54, 0xef, 0x20, 0x12, 0x7f, 0x8f, 0x45, 0xe0, 0xbe, 0xcd, 0x0e, 0xfa, 0x8e, 0x5f, + 0xec, 0x6f, 0x4e, 0x8a, 0x5f, 0x0c, 0xba, 0xc5, 0xae, 0x2f, 0x81, 0x80, 0x01, 0x01, 0xa3, 0xeb, + 0x02, 0xc6, 0x62, 0xed, 0xbb, 0x61, 0x10, 0x27, 0x91, 0x23, 0xd3, 0x77, 0x26, 0xc6, 0x08, 0x85, + 0x56, 0x69, 0xc1, 0xc1, 0x21, 0x82, 0x03, 0x04, 0x07, 0x6d, 0x0f, 0x0e, 0x54, 0xdd, 0x74, 0x11, + 0xd9, 0x7b, 0x7f, 0x8d, 0xe3, 0x24, 0x2d, 0x34, 0x1f, 0x46, 0x4e, 0x30, 0xf6, 0x9d, 0x88, 0xd2, + 0x4c, 0x23, 0x1f, 0x73, 0x14, 0xdb, 0x27, 0xce, 0x1e, 0x2d, 0xbe, 0x67, 0x73, 0x65, 0x4e, 0x97, + 0xd6, 0xec, 0xda, 0xdc, 0x2e, 0xae, 0xcd, 0xd5, 0xb5, 0xb9, 0xbc, 0x7e, 0xd7, 0xa7, 0x41, 0x00, + 0x11, 0x0a, 0xf8, 0xf4, 0x82, 0x7a, 0x7c, 0x98, 0x4b, 0x3a, 0x60, 0x92, 0x10, 0xe8, 0x73, 0x47, + 0x98, 0xb7, 0xbd, 0x61, 0x24, 0x3d, 0x9a, 0x9a, 0x9a, 0x9b, 0xb4, 0x85, 0x49, 0x60, 0x2d, 0xb0, + 0x16, 0x58, 0xdb, 0x12, 0xac, 0xe5, 0x72, 0xdb, 0xee, 0xc1, 0x6b, 0xad, 0xbc, 0x9a, 0xa8, 0x22, + 0x36, 0xaf, 0x26, 0xee, 0x90, 0xa2, 0xf6, 0x19, 0x03, 0xea, 0x26, 0x34, 0xc7, 0xb3, 0xe9, 0xeb, + 0x7d, 0x9d, 0xbf, 0xc5, 0xfd, 0xec, 0xe5, 0x7e, 0x77, 0x02, 0xef, 0x29, 0xfb, 0xe9, 0xd9, 0xe2, + 0xd5, 0x0c, 0x4e, 0xae, 0xfa, 0xe9, 0x89, 0xdf, 0xdc, 0x84, 0xd1, 0x45, 0x93, 0x4d, 0x86, 0x91, + 0x54, 0x85, 0x6e, 0xd2, 0x73, 0xdd, 0x84, 0x2f, 0xa9, 0x3a, 0x96, 0x41, 0xc2, 0xd2, 0xf3, 0xe7, + 0x04, 0x5d, 0x7a, 0xb4, 0x44, 0x1e, 0x99, 0x39, 0x74, 0xe9, 0x31, 0x66, 0x0a, 0x0e, 0x4f, 0x8e, + 0x8f, 0x3f, 0x7e, 0x3a, 0x3e, 0x3e, 0xf8, 0xf4, 0xdb, 0xa7, 0x83, 0x7f, 0x7c, 0xf8, 0x70, 0xf8, + 0xf1, 0xf0, 0x03, 0x1a, 0xf7, 0xac, 0xff, 0x33, 0xb9, 0x27, 0xe1, 0x78, 0x34, 0xd2, 0x43, 0x5a, + 0x36, 0x19, 0x06, 0x69, 0x01, 0x69, 0x01, 0x69, 0x01, 0x69, 0x01, 0x69, 0x01, 0x69, 0x01, 0x69, + 0x01, 0x69, 0xa9, 0xa5, 0x82, 0x73, 0x83, 0x82, 0x62, 0xf1, 0x90, 0x14, 0x14, 0x78, 0x5a, 0x7d, + 0x2a, 0xf0, 0xe4, 0xad, 0x0e, 0x34, 0x4d, 0x75, 0x35, 0xad, 0xe0, 0xf3, 0x25, 0xf4, 0xc6, 0xbe, + 0xda, 0x32, 0x29, 0xac, 0xed, 0x5c, 0xb2, 0xa7, 0x56, 0xc6, 0x79, 0x80, 0x32, 0xce, 0xc6, 0x42, + 0x8b, 0xde, 0x96, 0x71, 0x2a, 0x87, 0x0c, 0xd9, 0x4a, 0x58, 0xac, 0x7b, 0x3b, 0x11, 0xee, 0x73, + 0x20, 0xff, 0x1e, 0xab, 0xe4, 0x26, 0x29, 0xb9, 0x48, 0xc5, 0xdc, 0xe3, 0x2f, 0xec, 0xc6, 0x0a, + 0xbb, 0xb1, 0xa6, 0xbb, 0xf0, 0xb2, 0x4b, 0x27, 0xec, 0x9f, 0x4e, 0x14, 0xd8, 0xc9, 0x73, 0x24, + 0xe2, 0xe7, 0xd0, 0xf7, 0x28, 0x17, 0xe1, 0x6d, 0xb4, 0x89, 0x3a, 0x7b, 0x00, 0x74, 0xd7, 0xeb, + 0xec, 0x97, 0x97, 0xbf, 0x5f, 0xe0, 0x04, 0xb6, 0x27, 0x06, 0xce, 0xd8, 0x4f, 0x58, 0x6f, 0x8c, + 0xd9, 0xfe, 0x4d, 0x90, 0x68, 0x21, 0xd1, 0x42, 0xa2, 0xc5, 0x75, 0x32, 0x7d, 0xd5, 0x7c, 0x71, + 0x9d, 0x4c, 0xe3, 0x9a, 0x2f, 0xae, 0x93, 0xe9, 0x8e, 0xc0, 0xfb, 0x5e, 0x03, 0x29, 0x7a, 0x21, + 0xac, 0xb9, 0xf2, 0x84, 0x68, 0xf2, 0x2d, 0x20, 0x43, 0x20, 0x43, 0x20, 0x43, 0x20, 0x43, 0x20, + 0x43, 0x20, 0x43, 0x20, 0x43, 0x20, 0x43, 0x26, 0x92, 0x21, 0x82, 0xdb, 0x57, 0x20, 0x43, 0x32, + 0x00, 0x19, 0x02, 0x19, 0x02, 0x19, 0x02, 0x19, 0x02, 0x19, 0x02, 0x19, 0x02, 0x19, 0x02, 0x19, + 0x6a, 0x98, 0x0c, 0x4d, 0xab, 0xf7, 0xea, 0x48, 0x97, 0x6d, 0xfd, 0x26, 0x90, 0x22, 0x90, 0x22, + 0x90, 0x22, 0x90, 0x22, 0x90, 0x22, 0x90, 0x22, 0x90, 0x22, 0x90, 0x22, 0x03, 0x49, 0x11, 0x7b, + 0xba, 0x6c, 0xe3, 0xb7, 0x80, 0x0c, 0x81, 0x0c, 0x81, 0x0c, 0x81, 0x0c, 0x81, 0x0c, 0x81, 0x0c, + 0x81, 0x0c, 0x81, 0x0c, 0x99, 0x48, 0x86, 0xb8, 0xd3, 0x65, 0x1b, 0xbf, 0x05, 0x64, 0x08, 0x64, + 0x08, 0x64, 0x08, 0x64, 0x08, 0x64, 0x08, 0x64, 0x08, 0x64, 0x08, 0x64, 0x88, 0x48, 0x86, 0xd0, + 0x8e, 0x61, 0xde, 0x8e, 0x81, 0xed, 0xcc, 0xa8, 0x55, 0x57, 0xf7, 0x85, 0x87, 0xc9, 0x13, 0xdf, + 0x4e, 0x1e, 0xf8, 0xff, 0x73, 0xa2, 0xe0, 0x21, 0x7b, 0x5c, 0x5d, 0x87, 0x7a, 0x59, 0x2f, 0x18, + 0x57, 0x5c, 0x1b, 0xb5, 0xae, 0x89, 0x2a, 0x37, 0xd0, 0xd7, 0x30, 0xe1, 0xe5, 0x26, 0x76, 0xf7, + 0x34, 0x95, 0x98, 0xa2, 0xbd, 0xa9, 0x1f, 0xbc, 0x38, 0x81, 0x33, 0x4c, 0xcf, 0x9c, 0x2f, 0x8f, + 0x4a, 0xd9, 0xf9, 0xca, 0x68, 0xd6, 0x36, 0x63, 0x25, 0x97, 0x4b, 0xb5, 0x73, 0xd8, 0x95, 0xe3, + 0x15, 0x95, 0xf8, 0x84, 0x29, 0x1e, 0x51, 0x8d, 0x3f, 0xc8, 0xf1, 0x06, 0x39, 0xbe, 0xe0, 0x8b, + 0x27, 0x78, 0xa1, 0xa5, 0xea, 0xb9, 0xe9, 0xd5, 0x5e, 0x2e, 0xce, 0xab, 0x7c, 0x19, 0xbf, 0xd8, + 0xe1, 0x38, 0x19, 0x8d, 0x93, 0xe9, 0x7e, 0xc0, 0xd4, 0x25, 0xa6, 0xc8, 0x72, 0xcd, 0xed, 0x08, + 0x0e, 0xd0, 0x8e, 0x00, 0xed, 0x08, 0x14, 0xd9, 0x9c, 0x72, 0x3b, 0x82, 0x29, 0xfc, 0x4f, 0x1b, + 0x5a, 0x39, 0xbe, 0xed, 0x89, 0x20, 0xa6, 0xdc, 0x23, 0xb6, 0xb6, 0xad, 0xe4, 0xec, 0x42, 0x21, + 0x83, 0x42, 0x06, 0x85, 0x0c, 0x0a, 0x19, 0x14, 0x32, 0x28, 0x64, 0x50, 0xc8, 0xa0, 0x90, 0x11, + 0x15, 0x32, 0x5a, 0xba, 0x90, 0x35, 0x2b, 0x08, 0x6a, 0x03, 0x6a, 0x03, 0x6a, 0x03, 0x6a, 0x03, + 0x6a, 0x03, 0x6a, 0x03, 0x6a, 0x03, 0x6a, 0x43, 0xa5, 0x36, 0xfd, 0x4d, 0xfe, 0x6d, 0xc9, 0x48, + 0xec, 0x33, 0x6b, 0xb6, 0x96, 0xb6, 0xec, 0x50, 0x9a, 0xfa, 0xbb, 0xca, 0xde, 0xa1, 0xb8, 0x2f, + 0xfb, 0xd5, 0xf4, 0x0d, 0x6e, 0xd2, 0x17, 0x48, 0x3f, 0x61, 0x5c, 0x37, 0x76, 0x19, 0xe8, 0x52, + 0xdc, 0x8b, 0x2c, 0x43, 0x71, 0xaf, 0x89, 0x1b, 0x43, 0x71, 0xa7, 0x42, 0x28, 0x14, 0x77, 0x84, + 0xa5, 0x08, 0x4b, 0x11, 0x96, 0x22, 0x2c, 0x45, 0x58, 0x8a, 0xb0, 0x14, 0x61, 0x69, 0x4f, 0xc2, + 0x52, 0x28, 0xee, 0xa0, 0x36, 0xa0, 0x36, 0xa0, 0x36, 0xa0, 0x36, 0xa0, 0x36, 0xa0, 0x36, 0xa0, + 0x36, 0x1d, 0xa2, 0x36, 0x50, 0xdc, 0x77, 0x2a, 0xee, 0x74, 0xcd, 0xd6, 0x6a, 0x58, 0x71, 0x9f, + 0xbe, 0x81, 0x61, 0x8a, 0x7b, 0x12, 0xfa, 0x22, 0x5a, 0xc9, 0x69, 0xc8, 0x80, 0x41, 0x6e, 0xdf, + 0x6e, 0x16, 0x5a, 0x7b, 0x4d, 0xac, 0x18, 0x5a, 0x3b, 0x15, 0x3c, 0xa1, 0xb5, 0x23, 0x20, 0x45, + 0x40, 0x8a, 0x80, 0x14, 0x01, 0x29, 0x02, 0x52, 0x04, 0xa4, 0x08, 0x48, 0x7b, 0x12, 0x90, 0x42, + 0x6b, 0x07, 0xb5, 0x01, 0xb5, 0x01, 0xb5, 0x01, 0xb5, 0x01, 0xb5, 0x01, 0xb5, 0x01, 0xb5, 0xe9, + 0x10, 0xb5, 0x81, 0xd6, 0x5e, 0xa4, 0xb5, 0x73, 0x0a, 0xb6, 0x56, 0x03, 0x42, 0xfb, 0xc3, 0xfc, + 0xf9, 0x67, 0x85, 0xed, 0x17, 0x81, 0xa1, 0x2a, 0xfb, 0x2c, 0x8f, 0xc1, 0xad, 0xb2, 0x17, 0x98, + 0x85, 0xca, 0x5e, 0x13, 0x1f, 0x86, 0xca, 0x4e, 0x85, 0x4d, 0xa8, 0xec, 0x08, 0x45, 0x11, 0x8a, + 0x22, 0x14, 0x45, 0x28, 0x8a, 0x50, 0x14, 0xa1, 0x28, 0x42, 0xd1, 0x9e, 0x84, 0xa2, 0x50, 0xd9, + 0x41, 0x6d, 0x40, 0x6d, 0x40, 0x6d, 0x40, 0x6d, 0x40, 0x6d, 0x40, 0x6d, 0x40, 0x6d, 0x3a, 0x44, + 0x6d, 0xa0, 0xb2, 0xef, 0x50, 0xd9, 0xc9, 0x82, 0xad, 0xd5, 0xa8, 0xca, 0x3e, 0x7d, 0xfc, 0x1a, + 0x54, 0xf6, 0xee, 0xdf, 0x2e, 0x41, 0xbf, 0x06, 0xa1, 0x81, 0xa5, 0xc0, 0x76, 0xe9, 0xc4, 0x3b, + 0xc2, 0xbc, 0x56, 0x9d, 0x4f, 0xad, 0xf3, 0x58, 0x62, 0xae, 0xb4, 0xcc, 0xd1, 0xf6, 0x99, 0xd8, + 0x3c, 0xbe, 0x5b, 0xc6, 0x76, 0xde, 0x2d, 0x49, 0x78, 0xb6, 0xef, 0xbc, 0x89, 0xc8, 0x1e, 0x45, + 0x61, 0x12, 0xba, 0xa1, 0x6f, 0xff, 0x3d, 0x76, 0x7c, 0x39, 0x90, 0x25, 0x82, 0xcf, 0xf5, 0xce, + 0x4b, 0xdb, 0x6c, 0xed, 0x98, 0xe5, 0x72, 0x31, 0xe6, 0x22, 0x96, 0xdc, 0x41, 0xe5, 0xaa, 0xc4, + 0x8c, 0xab, 0xb1, 0xe1, 0x74, 0xa9, 0x94, 0x99, 0xe8, 0x8a, 0xb1, 0x9f, 0x72, 0x8c, 0xa7, 0x1c, + 0xcb, 0xe5, 0x63, 0xb6, 0xd9, 0xcb, 0x69, 0xf6, 0xd8, 0xd2, 0x31, 0x56, 0x36, 0xf2, 0x8a, 0xab, + 0x66, 0x25, 0x84, 0xfa, 0x50, 0xe2, 0x6f, 0x2f, 0x3c, 0x11, 0x24, 0x32, 0x79, 0xfb, 0xdd, 0x89, + 0x45, 0xf5, 0xbb, 0x6c, 0x2e, 0x4f, 0xff, 0x7d, 0x7e, 0xf7, 0x74, 0x7b, 0x77, 0xf3, 0x70, 0x73, + 0x76, 0x73, 0xf9, 0xf4, 0x7f, 0x7f, 0x9e, 0x5e, 0x5e, 0x7c, 0xbd, 0x38, 0xbf, 0x2b, 0x3b, 0x8f, + 0x29, 0x67, 0x8d, 0x2b, 0x05, 0x57, 0x8a, 0x49, 0xe3, 0xdb, 0x3f, 0x6e, 0x1e, 0x6e, 0xae, 0x2f, + 0xce, 0x9e, 0xa6, 0x8f, 0x5c, 0xf5, 0x49, 0x29, 0x4f, 0x4c, 0x0b, 0x01, 0x77, 0xbe, 0xc1, 0xd3, + 0xd5, 0xd9, 0x5e, 0x1d, 0x22, 0x9c, 0xae, 0xc7, 0xbf, 0x79, 0xb8, 0x97, 0x6d, 0x7f, 0x85, 0xb3, + 0x3f, 0x5a, 0xfd, 0xfc, 0x57, 0x67, 0xa7, 0xed, 0x1e, 0xff, 0xab, 0xfb, 0xd3, 0xd6, 0xfb, 0x40, + 0xeb, 0xa7, 0xa0, 0xf5, 0x33, 0xd0, 0xf6, 0x17, 0x68, 0xbd, 0x0f, 0x74, 0x60, 0x1f, 0x3b, 0xd5, + 0x5d, 0x64, 0xf4, 0xa8, 0xa3, 0x54, 0x8f, 0x99, 0x54, 0x55, 0xa2, 0x24, 0x0d, 0x3e, 0x66, 0x55, + 0xea, 0xd1, 0xe4, 0xa3, 0x56, 0xa1, 0x18, 0x8d, 0xce, 0xfc, 0x69, 0x3b, 0xc6, 0xb3, 0x12, 0x65, + 0x68, 0x78, 0x8d, 0xb6, 0x66, 0x48, 0x5b, 0x33, 0xa2, 0x6d, 0x79, 0xd0, 0xd6, 0xac, 0xd1, 0x16, + 0xe1, 0xbd, 0x51, 0x63, 0xba, 0x49, 0x41, 0x79, 0xfa, 0xf3, 0xfa, 0xfe, 0xf6, 0xfc, 0x6c, 0xf2, + 0xff, 0xbf, 0x70, 0x5f, 0x1d, 0xfb, 0xa8, 0x59, 0xed, 0xba, 0x94, 0x71, 0x72, 0x9a, 0x24, 0xe5, + 0x4a, 0x75, 0xf6, 0xae, 0x64, 0x70, 0xee, 0xa7, 0x3a, 0x7b, 0x5c, 0x5d, 0x80, 0x3a, 0x2c, 0xab, + 0x34, 0x29, 0x94, 0xa5, 0x2c, 0xcb, 0x93, 0x2f, 0x32, 0xb0, 0xc5, 0xfc, 0x29, 0x2b, 0xa4, 0x27, + 0x28, 0x45, 0x27, 0x2b, 0x62, 0xe5, 0x61, 0x9d, 0xf7, 0x5d, 0x5f, 0x39, 0xaf, 0x4b, 0x53, 0x12, + 0x8c, 0x7d, 0xbf, 0xc4, 0x87, 0x6e, 0x22, 0x4f, 0x44, 0xc2, 0xfb, 0xfd, 0x6d, 0xf6, 0x11, 0x0d, + 0x02, 0xfd, 0xbc, 0x72, 0x2b, 0x11, 0x41, 0x22, 0x1d, 0x3f, 0x4d, 0x19, 0xb9, 0x65, 0x2a, 0xdf, + 0x73, 0xb5, 0x5f, 0x39, 0x0b, 0xe5, 0xc4, 0xf8, 0x43, 0x88, 0xf1, 0x7c, 0x6b, 0xbc, 0x29, 0x31, + 0xbe, 0xec, 0xb1, 0x8b, 0xd9, 0x62, 0x89, 0xe5, 0x7f, 0x15, 0x94, 0xf1, 0xa5, 0xcf, 0x76, 0xe5, + 0x52, 0xf7, 0xd2, 0x4b, 0x8f, 0x02, 0xba, 0x96, 0xa1, 0x97, 0xb9, 0x97, 0x5d, 0x9a, 0xd5, 0x76, + 0x62, 0x6d, 0x97, 0xb8, 0x8f, 0x03, 0x99, 0xa8, 0x9f, 0xb0, 0x4b, 0x3f, 0xad, 0x76, 0x90, 0xee, + 0xa0, 0x75, 0x07, 0xe9, 0x2a, 0x2f, 0x6b, 0xea, 0xf2, 0x66, 0x5b, 0xe6, 0x6c, 0xcb, 0x9d, 0x6f, + 0xd9, 0xab, 0x69, 0x5a, 0x55, 0x2b, 0xa1, 0x94, 0x4b, 0x56, 0xb3, 0x99, 0x9f, 0xef, 0xfb, 0xb6, + 0xc2, 0x52, 0x5f, 0x41, 0xeb, 0x63, 0x85, 0xcf, 0x9e, 0x07, 0xe3, 0x97, 0xc9, 0xe3, 0xff, 0x32, + 0xe0, 0x8c, 0xee, 0x8f, 0x59, 0xd5, 0xa0, 0x22, 0x52, 0x4c, 0x3f, 0x0e, 0xa8, 0x00, 0x54, 0x74, + 0x16, 0x2a, 0xc6, 0x32, 0x48, 0x94, 0x4a, 0xda, 0xe7, 0xeb, 0xfc, 0x44, 0xe1, 0xa3, 0xb4, 0xa2, + 0x73, 0x42, 0x2d, 0x3f, 0x47, 0x91, 0x39, 0xf1, 0x78, 0x4c, 0x66, 0x86, 0xa9, 0xa2, 0x99, 0xb3, + 0x92, 0x99, 0x50, 0x44, 0xce, 0x52, 0x3c, 0xce, 0x3d, 0xb4, 0x87, 0x27, 0xc7, 0xc7, 0x1f, 0x3f, + 0x1d, 0x1f, 0x1f, 0x7c, 0xfa, 0xed, 0xd3, 0xc1, 0x3f, 0x3e, 0x7c, 0x38, 0xfc, 0x58, 0xa6, 0x6a, + 0xa8, 0xb6, 0xd1, 0xae, 0xa9, 0x6e, 0xfb, 0x11, 0x65, 0xbc, 0xc5, 0xe5, 0x9f, 0x9b, 0xe4, 0x92, + 0xfd, 0xca, 0xe1, 0xad, 0x45, 0x28, 0x04, 0x7d, 0x98, 0x7c, 0xd9, 0xed, 0xfc, 0x21, 0xce, 0x66, + 0xcf, 0x30, 0xfd, 0xf1, 0xfd, 0xe4, 0x11, 0xfa, 0x56, 0x95, 0xab, 0xa8, 0x62, 0xf1, 0xcf, 0x81, + 0x8e, 0x2a, 0xdc, 0xf1, 0x58, 0x7a, 0xe5, 0x05, 0xbd, 0xf4, 0xaf, 0x99, 0x2b, 0x69, 0x0f, 0x20, + 0xde, 0x19, 0x2b, 0xde, 0x55, 0xaf, 0xa4, 0x2d, 0xb1, 0x42, 0x56, 0x22, 0xba, 0x13, 0xd5, 0x35, + 0xfd, 0xae, 0xc2, 0xfb, 0x4c, 0x26, 0x6c, 0xc7, 0xc3, 0x95, 0x4b, 0xa3, 0xac, 0xa5, 0x4f, 0xb6, + 0x6b, 0xf5, 0x95, 0x84, 0xfd, 0x72, 0x82, 0xfe, 0xa6, 0xf7, 0x3b, 0x1d, 0x0f, 0x27, 0x5f, 0x23, + 0xbc, 0xad, 0x24, 0xb6, 0xa4, 0x93, 0x2f, 0x83, 0xe3, 0xe7, 0x39, 0x38, 0x2e, 0xff, 0x6c, 0x03, + 0x50, 0xee, 0x02, 0x86, 0x2f, 0x22, 0x76, 0x23, 0x39, 0x9a, 0x61, 0xf6, 0x5e, 0x10, 0x06, 0x82, + 0x3b, 0x11, 0xa0, 0x0d, 0x4b, 0x2a, 0x9f, 0xd8, 0x6e, 0x23, 0xa6, 0x54, 0x3d, 0x51, 0x5d, 0x53, + 0x62, 0x60, 0xf7, 0xa9, 0x98, 0xca, 0xf9, 0x02, 0x8e, 0x83, 0x36, 0x8a, 0x6b, 0xba, 0x3d, 0x19, + 0x08, 0xe5, 0x2e, 0x05, 0x5d, 0xca, 0x44, 0xa8, 0x76, 0x19, 0xf8, 0x55, 0x0f, 0x4b, 0x56, 0xe1, + 0x7c, 0xd8, 0x06, 0xb0, 0x0d, 0xb4, 0x70, 0x1b, 0x48, 0x9f, 0xc6, 0x76, 0x9f, 0x9d, 0x20, 0x10, + 0x3e, 0xf3, 0x7e, 0x50, 0xc1, 0x36, 0x36, 0x06, 0x6c, 0x0c, 0xad, 0xde, 0x18, 0x0a, 0x7f, 0xf3, + 0xb8, 0x29, 0xb0, 0x28, 0x27, 0xb3, 0x10, 0xe4, 0x95, 0xbd, 0x6d, 0x47, 0x84, 0x95, 0xd4, 0x93, + 0xe2, 0xb9, 0xc8, 0xbf, 0x77, 0x01, 0x32, 0xed, 0x25, 0xe1, 0x28, 0xf4, 0xc3, 0xe1, 0x9b, 0x3d, + 0x7b, 0xea, 0x8d, 0x6f, 0xbd, 0x54, 0x7a, 0xb2, 0xf6, 0x89, 0x4d, 0x21, 0xe8, 0x56, 0xaf, 0xde, + 0xe9, 0xc5, 0x65, 0xbc, 0x76, 0xd5, 0x4b, 0xe7, 0x0f, 0xb6, 0x6d, 0x80, 0x4b, 0xfa, 0x63, 0x65, + 0xff, 0xab, 0xec, 0x6f, 0x79, 0xff, 0xca, 0x1e, 0x9f, 0x49, 0x02, 0xd8, 0xb5, 0xcf, 0xec, 0x05, + 0x3f, 0xb3, 0xef, 0x9c, 0xef, 0x00, 0xe5, 0x85, 0xb1, 0xa2, 0x0f, 0xb7, 0xa5, 0xc8, 0xad, 0xc4, + 0x42, 0x69, 0x33, 0x9d, 0xd9, 0xbd, 0x90, 0x6a, 0x26, 0x32, 0x33, 0x3c, 0xab, 0x48, 0x51, 0xd2, + 0x4f, 0xa1, 0xb8, 0x0d, 0xc5, 0x6d, 0xc4, 0xbc, 0x56, 0xe5, 0xe2, 0x36, 0xd4, 0xac, 0xe8, 0x5c, + 0xd8, 0xd4, 0x05, 0xce, 0xb6, 0xd0, 0xd9, 0x16, 0x3c, 0xdf, 0xc2, 0xaf, 0xe6, 0x00, 0x15, 0x1d, + 0xa1, 0x7a, 0x8e, 0x63, 0xe3, 0xcc, 0xc7, 0x49, 0x24, 0x83, 0x21, 0xa5, 0xae, 0xed, 0xc4, 0x94, + 0xda, 0x34, 0xbb, 0xd2, 0xe6, 0x54, 0xec, 0xec, 0x76, 0x85, 0xad, 0x0a, 0x1e, 0x0f, 0x8f, 0x87, + 0xc7, 0x73, 0x7a, 0x3c, 0x2b, 0x59, 0x98, 0xe5, 0x4d, 0x2b, 0xbb, 0x75, 0xb5, 0x43, 0x69, 0xd9, + 0xa7, 0xaa, 0x64, 0x57, 0xf3, 0x1f, 0x56, 0x38, 0x46, 0x95, 0x7d, 0xb8, 0xd2, 0x71, 0xaa, 0xaa, + 0xa3, 0xa8, 0xb1, 0x94, 0x68, 0x5d, 0x7d, 0xd8, 0x2f, 0x08, 0x44, 0xf7, 0x2b, 0xe2, 0xf1, 0x6e, + 0xd9, 0xe5, 0x61, 0xf6, 0x0d, 0xf3, 0xff, 0xbe, 0xfe, 0x39, 0xff, 0xc9, 0x4c, 0x90, 0x79, 0x4a, + 0x1d, 0xa5, 0xc6, 0x33, 0x74, 0x59, 0x90, 0xa7, 0x70, 0x74, 0xa8, 0x74, 0xf4, 0x4b, 0x8a, 0xad, + 0x8e, 0xea, 0x8a, 0xad, 0x2a, 0xbe, 0x50, 0xd7, 0xa2, 0xab, 0xf2, 0xe1, 0xbe, 0x21, 0xf1, 0x55, + 0xe6, 0xae, 0xa5, 0x4a, 0xb1, 0x76, 0xeb, 0x90, 0x25, 0x2b, 0x70, 0xba, 0xc1, 0xbe, 0x14, 0x16, + 0x7b, 0x9f, 0xf8, 0x57, 0x75, 0x67, 0x68, 0x0b, 0x03, 0xf3, 0x85, 0x33, 0x88, 0xc4, 0x80, 0x42, + 0xc1, 0x14, 0xda, 0xd4, 0xef, 0xdd, 0x16, 0x6c, 0xc6, 0xab, 0xc9, 0xf1, 0xf9, 0x90, 0x7f, 0xce, + 0x6d, 0xcd, 0xc5, 0xbf, 0x5e, 0xfb, 0x71, 0xea, 0xbd, 0x6d, 0xe2, 0x86, 0x2a, 0xb8, 0x03, 0x7a, + 0x68, 0x12, 0x3d, 0x54, 0x21, 0x0c, 0x0c, 0x14, 0xf1, 0xa1, 0x12, 0x36, 0xf1, 0xd0, 0xc4, 0x4a, + 0x5b, 0x6c, 0xd5, 0x9a, 0x56, 0x85, 0x9d, 0x14, 0xd2, 0x7b, 0x9f, 0xa4, 0xf7, 0xca, 0xbb, 0x9e, + 0xca, 0x0a, 0x54, 0x50, 0x19, 0x5a, 0x78, 0x56, 0xa3, 0x0c, 0xb0, 0xb1, 0x9c, 0xcf, 0xd8, 0x89, + 0x63, 0x7b, 0x5a, 0x3a, 0xaf, 0x94, 0x8c, 0x66, 0xab, 0x46, 0xb1, 0x48, 0x3a, 0x6b, 0x01, 0x9c, + 0x16, 0x24, 0x9d, 0xbf, 0x85, 0xe3, 0xc0, 0x73, 0xa2, 0x37, 0x3b, 0x08, 0x3d, 0x61, 0x0b, 0x6f, + 0x38, 0x2f, 0xbf, 0xa9, 0xbc, 0x1b, 0x6e, 0xb4, 0x04, 0x01, 0x05, 0x02, 0x4a, 0x13, 0x02, 0xca, + 0xda, 0x3a, 0x24, 0xea, 0x28, 0x85, 0xd6, 0x20, 0xa7, 0x40, 0x4e, 0x81, 0x9c, 0xd2, 0x42, 0x39, + 0x65, 0xe2, 0xcd, 0x6b, 0x3f, 0x0a, 0x7f, 0x06, 0xc2, 0x5b, 0xdf, 0xbc, 0xea, 0x54, 0x61, 0xde, + 0x57, 0x84, 0x36, 0x06, 0x3c, 0x03, 0x88, 0x01, 0xc4, 0x00, 0x62, 0x1d, 0x02, 0x31, 0x53, 0x00, + 0x0a, 0xc9, 0x2b, 0x00, 0x15, 0x80, 0x0a, 0x40, 0xd5, 0x85, 0xe4, 0x95, 0x95, 0x51, 0x25, 0x8b, + 0x10, 0x04, 0x22, 0xb7, 0x45, 0x90, 0x7e, 0x49, 0x12, 0x70, 0xb6, 0x28, 0x89, 0x0a, 0x95, 0x9a, + 0x30, 0x3c, 0xff, 0xef, 0xa7, 0xdf, 0x67, 0xdf, 0x7e, 0x1d, 0x7a, 0xe2, 0xdc, 0x1b, 0x6e, 0x3b, + 0x93, 0xa6, 0x20, 0xc4, 0x97, 0x90, 0x4b, 0xd7, 0x2e, 0x33, 0x54, 0x3b, 0x6e, 0x52, 0x64, 0x44, + 0x73, 0x0a, 0x0c, 0x02, 0x5f, 0x3f, 0x04, 0x3e, 0xf5, 0x34, 0x98, 0xfa, 0xa2, 0xb4, 0x14, 0xbb, + 0xc8, 0x56, 0xec, 0x1e, 0xfb, 0xab, 0xc6, 0x3d, 0x42, 0x91, 0x6a, 0x1f, 0x56, 0x5d, 0x80, 0x04, + 0xa6, 0xc9, 0x70, 0xa7, 0x03, 0x2b, 0xcf, 0x54, 0xb9, 0xe3, 0x41, 0x6f, 0xfc, 0xd4, 0xc0, 0xce, + 0xcd, 0xb3, 0xc7, 0xc8, 0xe0, 0xbb, 0xc2, 0xa6, 0x32, 0xf9, 0x14, 0xd2, 0x44, 0xd8, 0x45, 0x18, + 0x20, 0xb4, 0x72, 0x9a, 0xc8, 0xf1, 0x5e, 0x64, 0x20, 0xe3, 0x24, 0x72, 0x12, 0xf9, 0x43, 0xd8, + 0x71, 0xe2, 0x24, 0x84, 0x93, 0x4e, 0x85, 0xd6, 0x70, 0xe6, 0x09, 0xb2, 0x45, 0x67, 0xcf, 0x3c, + 0x31, 0xac, 0x78, 0xab, 0x4b, 0xbd, 0xfc, 0x9d, 0x1f, 0x8e, 0xf4, 0x9d, 0x6f, 0xbe, 0x28, 0x7f, + 0x31, 0xd2, 0xe6, 0xb1, 0xcd, 0xdb, 0x52, 0xc3, 0x92, 0x43, 0x55, 0x2c, 0x39, 0x02, 0x96, 0x00, + 0x4b, 0x4a, 0x3e, 0x66, 0xd5, 0xad, 0x37, 0xfb, 0xa0, 0xc2, 0x15, 0x4f, 0x9b, 0x17, 0x8f, 0x4a, + 0x4f, 0x6c, 0x06, 0x97, 0x21, 0x6f, 0xc3, 0x1c, 0x2e, 0xc4, 0xec, 0x4a, 0x5c, 0x2e, 0xc5, 0xee, + 0x5a, 0xec, 0x2e, 0xc6, 0xef, 0x6a, 0x6a, 0x2e, 0xa7, 0xe8, 0x7a, 0x64, 0x17, 0xcc, 0x0c, 0x28, + 0x5d, 0x59, 0xb5, 0x71, 0xf9, 0x29, 0xde, 0xeb, 0xc3, 0xc0, 0x86, 0xd9, 0xdd, 0x92, 0xd3, 0x3d, + 0x35, 0xb9, 0x29, 0xb7, 0xbb, 0x6a, 0x73, 0x5b, 0x6d, 0xee, 0xab, 0xcf, 0x8d, 0x69, 0xee, 0x4c, + 0x74, 0x6b, 0x3a, 0x5b, 0xdf, 0xb8, 0xf2, 0xa8, 0x57, 0x70, 0x71, 0xd2, 0x78, 0x26, 0x5a, 0xcf, + 0x37, 0x65, 0x94, 0x7b, 0x66, 0xd4, 0xda, 0x23, 0x6d, 0x9c, 0x27, 0x95, 0x76, 0x49, 0x80, 0x52, + 0x40, 0x29, 0xa0, 0xb4, 0x36, 0x28, 0x55, 0xbe, 0xa2, 0x6c, 0x93, 0x9f, 0x9e, 0x30, 0x98, 0xa2, + 0x5d, 0x61, 0xb6, 0xfe, 0x8f, 0xc7, 0x09, 0x2c, 0xae, 0x2b, 0xce, 0x34, 0x01, 0x5c, 0xce, 0x2c, + 0xd3, 0x15, 0x68, 0x39, 0xbb, 0x8c, 0x97, 0x74, 0x31, 0xbb, 0xc7, 0xea, 0x54, 0x39, 0xaf, 0xad, + 0x9b, 0x2a, 0xfe, 0x2b, 0xd5, 0x6a, 0x9d, 0xbd, 0x77, 0x66, 0x58, 0x79, 0x6c, 0x8a, 0x78, 0xd5, + 0x1a, 0x34, 0x2b, 0x16, 0x23, 0xe5, 0xec, 0x90, 0x8a, 0x93, 0x7c, 0x19, 0x7c, 0xdf, 0xcf, 0xeb, + 0xbd, 0xfb, 0x64, 0x3d, 0xcb, 0xa2, 0x95, 0x2d, 0x5d, 0xca, 0xe0, 0xfb, 0xd3, 0xe9, 0xfc, 0xb9, + 0x54, 0xaf, 0x7d, 0xa3, 0x4f, 0xb0, 0x5e, 0xe9, 0x92, 0xb8, 0x04, 0xb4, 0x4c, 0xbd, 0x8a, 0xf6, + 0xcd, 0x3d, 0xcf, 0x26, 0xd4, 0x42, 0xb8, 0x61, 0x9c, 0xd8, 0xee, 0xb3, 0x33, 0x81, 0x5b, 0x11, + 0xc9, 0x38, 0x91, 0xae, 0x7a, 0x46, 0xa5, 0xc8, 0x58, 0x5f, 0x52, 0x2a, 0xa8, 0x2b, 0xdf, 0x1a, + 0xd7, 0x98, 0x5a, 0x57, 0xae, 0x9c, 0x56, 0x49, 0xd7, 0xba, 0xe3, 0x0f, 0xc3, 0x48, 0x26, 0xcf, + 0x2f, 0xf4, 0xd4, 0xca, 0x9a, 0x3d, 0x5a, 0x7a, 0xe5, 0xa0, 0x33, 0xe9, 0x15, 0x82, 0x5b, 0x71, + 0xcb, 0x0c, 0x6d, 0x4c, 0xb0, 0xa8, 0xbb, 0x5d, 0x33, 0x6c, 0x91, 0x2c, 0x1c, 0xd0, 0xbb, 0xc5, + 0xe6, 0xb6, 0xa2, 0x93, 0xba, 0x48, 0xd8, 0x7b, 0x45, 0x14, 0x52, 0x6a, 0x1f, 0x5d, 0x0c, 0x40, + 0x0a, 0x5d, 0xa4, 0x81, 0x3d, 0xc0, 0x1e, 0x60, 0x4f, 0x5f, 0xb1, 0x87, 0x96, 0x89, 0x59, 0x05, + 0x1f, 0x4a, 0x1a, 0x06, 0xe8, 0x03, 0xf4, 0x01, 0xfa, 0xb4, 0x15, 0x7d, 0xb4, 0x86, 0x78, 0xb3, + 0x63, 0xa7, 0xaa, 0xfc, 0x46, 0xed, 0xdc, 0x50, 0xf6, 0x69, 0xca, 0xf9, 0xa1, 0xdc, 0xd4, 0x1e, + 0xaa, 0xa2, 0x23, 0x03, 0x10, 0x30, 0x9e, 0x2b, 0xd2, 0x02, 0x03, 0x94, 0x73, 0x46, 0xf5, 0x6e, + 0x9c, 0x94, 0xf3, 0x47, 0x99, 0x11, 0xa5, 0x73, 0x48, 0xed, 0x55, 0x70, 0xe9, 0xd2, 0x22, 0x87, + 0x84, 0x7b, 0x16, 0xc6, 0xc9, 0xd9, 0xea, 0x43, 0x18, 0xa0, 0xe1, 0x7a, 0xc2, 0x97, 0x3f, 0x44, + 0xf4, 0x66, 0x87, 0x93, 0x35, 0xc1, 0xa6, 0xe6, 0x6e, 0x37, 0x5b, 0xf3, 0xb1, 0x1b, 0xe8, 0xba, + 0xd0, 0x75, 0x6b, 0xa1, 0x53, 0x1d, 0xbb, 0x60, 0xcc, 0x93, 0x91, 0x70, 0x95, 0x80, 0x7b, 0x81, + 0x03, 0x99, 0x09, 0xf8, 0x3c, 0x7c, 0xbe, 0xd3, 0x3e, 0x3f, 0x08, 0xa3, 0x9f, 0x4e, 0xe4, 0xc9, + 0x60, 0x68, 0xab, 0xae, 0x7a, 0xab, 0x4b, 0xc7, 0xed, 0x44, 0x14, 0x85, 0x7c, 0x84, 0xa2, 0xd0, + 0x1a, 0x30, 0x05, 0x98, 0x02, 0x1e, 0x61, 0x3c, 0x8f, 0xf0, 0x9d, 0x44, 0x04, 0xee, 0x1b, 0x1b, + 0x16, 0x6c, 0xb0, 0x87, 0x6a, 0x11, 0xa0, 0x41, 0x17, 0xab, 0x45, 0x06, 0xf2, 0x55, 0x78, 0x36, + 0x93, 0x13, 0xe5, 0x69, 0xcb, 0x36, 0xeb, 0x0d, 0xe7, 0x53, 0x8e, 0x90, 0x4f, 0xd1, 0xe7, 0x82, + 0x5a, 0x84, 0x54, 0x0b, 0xf9, 0x14, 0xab, 0x7f, 0xd9, 0xdc, 0xbf, 0x64, 0x92, 0xd0, 0xc5, 0xc3, + 0xdc, 0xe0, 0x15, 0x9b, 0x05, 0x26, 0x01, 0x93, 0x80, 0x49, 0xc0, 0xa4, 0x1d, 0xcf, 0xf8, 0xf7, + 0x58, 0xc8, 0x60, 0xa8, 0x8d, 0x36, 0x6d, 0x37, 0x8f, 0x3a, 0x14, 0x60, 0x14, 0x30, 0x0a, 0x18, + 0xb5, 0xe3, 0x19, 0x93, 0xc8, 0x19, 0x0c, 0xa4, 0x6b, 0x8f, 0xa2, 0x70, 0x24, 0xa2, 0xe4, 0x8d, + 0xa9, 0x1a, 0xb7, 0xd8, 0x2c, 0x30, 0x09, 0x98, 0x04, 0x4c, 0x02, 0x26, 0xed, 0x78, 0xc6, 0x9f, + 0x4e, 0xe0, 0x69, 0x88, 0xe5, 0x8a, 0xcd, 0x22, 0x96, 0x03, 0x26, 0x01, 0x93, 0xfa, 0x85, 0x49, + 0x75, 0xd4, 0xeb, 0x72, 0x30, 0x20, 0xd4, 0xee, 0xe6, 0x01, 0x01, 0xb5, 0xbb, 0x94, 0xad, 0x15, + 0xb5, 0xbb, 0xd5, 0x6b, 0x77, 0xd9, 0x04, 0x16, 0x6a, 0xf9, 0xee, 0xe5, 0xf4, 0x41, 0xcc, 0xab, + 0xe0, 0xa5, 0xdc, 0x1e, 0x94, 0x03, 0x1a, 0xda, 0x85, 0x2d, 0x16, 0xaa, 0x6c, 0x90, 0x57, 0xaf, + 0x7b, 0xcb, 0x67, 0xb8, 0xdd, 0x8f, 0xbc, 0xe8, 0xad, 0x86, 0x0a, 0xf7, 0xc0, 0x68, 0xc0, 0x68, + 0x7a, 0xce, 0x68, 0xf4, 0xec, 0xa9, 0x72, 0x20, 0xdc, 0x37, 0xd7, 0x27, 0xdf, 0x3a, 0xb3, 0x6e, + 0xa8, 0x2f, 0x7b, 0x29, 0x2e, 0x89, 0xd8, 0xb2, 0x93, 0x76, 0xf5, 0xc2, 0x19, 0xda, 0x62, 0xb7, + 0xba, 0x54, 0xfc, 0xee, 0x87, 0x71, 0xcc, 0x57, 0xef, 0x5a, 0x60, 0x0c, 0xa4, 0x1c, 0x50, 0x82, + 0xd2, 0x77, 0x46, 0x45, 0x53, 0x0f, 0x0e, 0xd0, 0xa2, 0x71, 0x42, 0xf8, 0x7d, 0x88, 0x3b, 0xea, + 0x40, 0x19, 0x8c, 0x2d, 0x69, 0x67, 0xea, 0xfc, 0x83, 0xa6, 0x3f, 0xb8, 0x4d, 0xca, 0x6a, 0xd6, + 0xc1, 0xd4, 0xe3, 0x6d, 0x0b, 0x09, 0xc4, 0xda, 0x74, 0x8a, 0x14, 0x28, 0x98, 0xaa, 0xab, 0x96, + 0x6c, 0x01, 0x79, 0x80, 0x3c, 0x40, 0x9e, 0xfe, 0x20, 0x4f, 0x1d, 0xa5, 0x0b, 0xca, 0xf0, 0xc2, + 0xaa, 0xee, 0x2b, 0x4a, 0xb9, 0xc8, 0x70, 0x57, 0xcf, 0x70, 0xab, 0xa6, 0x9b, 0x88, 0xf9, 0xec, + 0xd4, 0x0d, 0x4d, 0x88, 0x90, 0x43, 0x4f, 0xd8, 0xc2, 0x1b, 0x0a, 0x7b, 0x14, 0xca, 0x20, 0x21, + 0x04, 0xcb, 0x6b, 0x86, 0x70, 0x1c, 0x1c, 0x91, 0x73, 0x17, 0x8f, 0x83, 0xaf, 0xad, 0x73, 0x7b, + 0x3c, 0x96, 0x1e, 0x9d, 0xd5, 0x16, 0x5a, 0x05, 0xbf, 0x45, 0x79, 0x6e, 0xa3, 0x2e, 0xd8, 0x76, + 0x8e, 0xeb, 0x0b, 0x67, 0x10, 0x89, 0x01, 0x07, 0xc9, 0xfd, 0x44, 0xb0, 0x71, 0x5b, 0x40, 0x4f, + 0x3e, 0x67, 0x6c, 0x64, 0x79, 0x8a, 0x3e, 0xe7, 0xc9, 0x4a, 0xe1, 0xaf, 0xd7, 0x7e, 0x3c, 0x41, + 0x8f, 0xb5, 0x1f, 0x85, 0x3f, 0x03, 0xe1, 0xd9, 0x6b, 0xb0, 0xb2, 0xf6, 0x37, 0x29, 0xc8, 0x18, + 0x2c, 0x1b, 0xa4, 0x4f, 0xcf, 0x88, 0xaf, 0x00, 0x55, 0x80, 0x2a, 0x40, 0x15, 0xa0, 0xaa, 0x0c, + 0xaa, 0xa6, 0x03, 0x66, 0xf6, 0xa2, 0x3c, 0xa0, 0xb9, 0x6a, 0x0e, 0xc0, 0x09, 0xe0, 0x04, 0x70, + 0x02, 0x38, 0x77, 0x02, 0x67, 0xad, 0x28, 0x59, 0xcb, 0x71, 0xb6, 0x65, 0x1c, 0xb4, 0x32, 0x2a, + 0x69, 0x31, 0x04, 0xed, 0x26, 0xd5, 0x84, 0x1f, 0xa1, 0x26, 0xbc, 0x1c, 0x8e, 0x1d, 0xa1, 0x26, + 0x9c, 0xd3, 0xcb, 0x0c, 0xc8, 0x01, 0x90, 0xb4, 0x6b, 0x8b, 0x23, 0x1d, 0x10, 0x7a, 0xe2, 0xdc, + 0x1b, 0x8a, 0xdb, 0xf4, 0xfb, 0x0d, 0xc8, 0x0b, 0x84, 0x23, 0x11, 0xa5, 0x73, 0xe2, 0xf8, 0xd4, + 0x22, 0xfc, 0xbc, 0x29, 0x94, 0xe1, 0x6b, 0x86, 0x54, 0xd4, 0xd4, 0xa9, 0x82, 0x11, 0xbd, 0x72, + 0x96, 0xba, 0xdc, 0xad, 0x2e, 0x15, 0xe2, 0x47, 0x62, 0x24, 0x9c, 0xc4, 0xce, 0xee, 0xa3, 0xe1, + 0xaa, 0xc9, 0xdf, 0x61, 0x17, 0xe5, 0xf9, 0x80, 0x18, 0x94, 0xe7, 0x6f, 0x45, 0x96, 0x13, 0x23, + 0xd0, 0x21, 0x96, 0xbe, 0x14, 0x81, 0x2b, 0xec, 0x44, 0x65, 0x48, 0x96, 0xe0, 0x60, 0xd5, 0x50, + 0x5f, 0x8a, 0xf6, 0xe1, 0xff, 0xad, 0xf4, 0x7f, 0xe5, 0xe2, 0x83, 0x51, 0x14, 0x26, 0xd3, 0xab, + 0x6d, 0xd4, 0x1c, 0x26, 0xb7, 0x8a, 0xd6, 0x0d, 0x42, 0xe4, 0x85, 0xc8, 0x0b, 0x91, 0xb7, 0x71, + 0x87, 0xa2, 0xc6, 0x00, 0xc4, 0x58, 0xa0, 0x5e, 0xc5, 0x2a, 0x12, 0x71, 0x12, 0x4e, 0x43, 0x26, + 0x7b, 0x14, 0xfa, 0xd2, 0x7d, 0xa3, 0xe3, 0x5a, 0x81, 0x4d, 0x40, 0x1b, 0xa0, 0x0d, 0xd0, 0x66, + 0x82, 0x4f, 0xb5, 0x17, 0xdd, 0x3a, 0xae, 0x83, 0xd3, 0xc2, 0x28, 0x8b, 0x41, 0x07, 0xbf, 0xcb, + 0x9e, 0x20, 0x5d, 0xb7, 0x26, 0xc4, 0xa8, 0x32, 0xfe, 0xce, 0x27, 0x5b, 0x15, 0x18, 0x43, 0xa1, + 0x3c, 0x62, 0xd5, 0x2e, 0xc6, 0xaa, 0x05, 0x6b, 0x9d, 0xe9, 0x08, 0xe8, 0x46, 0xcb, 0xa0, 0x78, + 0xa0, 0x78, 0xa0, 0x78, 0x84, 0xd5, 0xd3, 0x8f, 0xe3, 0xe8, 0x29, 0x7e, 0x48, 0x4f, 0x04, 0x89, + 0x1c, 0x48, 0x11, 0xd9, 0xbe, 0x8c, 0x13, 0x26, 0x54, 0x5a, 0xb7, 0x0a, 0x44, 0x02, 0x22, 0x01, + 0x91, 0xda, 0x8c, 0x48, 0x8a, 0x23, 0x40, 0xaa, 0xeb, 0xcb, 0xac, 0x70, 0xd4, 0xf7, 0xe5, 0x86, + 0xf4, 0x90, 0xba, 0xde, 0x99, 0x1c, 0xd1, 0xd2, 0x53, 0xf7, 0xa7, 0xcd, 0x2d, 0x2d, 0xa6, 0xde, + 0xb0, 0x34, 0x97, 0x24, 0x2c, 0x4a, 0x8b, 0xab, 0x3e, 0x30, 0x33, 0x46, 0xaa, 0x13, 0x34, 0x55, + 0x87, 0x99, 0x55, 0xfd, 0x32, 0x45, 0x19, 0xe8, 0xfa, 0xac, 0xcd, 0xd3, 0xd1, 0xf5, 0x19, 0x15, + 0xbe, 0x65, 0x95, 0x4d, 0xb2, 0xf0, 0xc6, 0xa2, 0x6e, 0xca, 0xf8, 0xbb, 0x79, 0x37, 0x58, 0xc4, + 0x22, 0xfa, 0x21, 0x22, 0x5b, 0x06, 0x89, 0x18, 0x46, 0x32, 0x79, 0xb3, 0x47, 0x51, 0xe8, 0x0a, + 0xc6, 0x06, 0xba, 0x65, 0xbf, 0x00, 0x55, 0x7b, 0x50, 0x42, 0x51, 0xb5, 0xc7, 0x18, 0xc4, 0xe8, + 0xc1, 0x8b, 0x24, 0x4c, 0x1c, 0xdf, 0x1e, 0x85, 0x89, 0x08, 0x12, 0xe9, 0xf8, 0xb6, 0xeb, 0x8c, + 0x1c, 0x57, 0x26, 0x6f, 0xea, 0x00, 0xb1, 0xd1, 0x62, 0x5f, 0x72, 0x23, 0x38, 0x28, 0xb0, 0x05, + 0x0f, 0x3a, 0xd6, 0x7c, 0x77, 0xba, 0xd8, 0x63, 0xf9, 0x5f, 0x8e, 0xab, 0x86, 0x17, 0xb6, 0x68, + 0x4a, 0xe3, 0x21, 0x9a, 0x61, 0x42, 0x67, 0x6c, 0x5b, 0x33, 0x4c, 0x55, 0x17, 0xcc, 0x0c, 0x8c, + 0x03, 0x99, 0xf0, 0xe9, 0x6a, 0xa9, 0x35, 0xe2, 0x8c, 0xd0, 0x84, 0x7f, 0x36, 0xb7, 0xe4, 0x74, + 0x4f, 0x4d, 0x6e, 0xaa, 0x43, 0x8d, 0xd4, 0xe2, 0xb6, 0x5a, 0xf5, 0x48, 0x3d, 0x6e, 0x4c, 0x57, + 0x28, 0x89, 0x2a, 0xa5, 0xc5, 0x92, 0x44, 0xc8, 0xad, 0xbc, 0x39, 0xaf, 0xb4, 0x19, 0x5c, 0xd5, + 0x62, 0x2a, 0x62, 0xcb, 0x6c, 0xd1, 0x8a, 0xd9, 0x9a, 0x15, 0x95, 0x69, 0x17, 0x0a, 0xe4, 0xe6, + 0x89, 0x72, 0xb1, 0x00, 0xa0, 0x14, 0x50, 0x0a, 0x28, 0xd5, 0x0e, 0xa5, 0x63, 0x19, 0x24, 0x1f, + 0x8f, 0x19, 0x31, 0xf4, 0x84, 0xc1, 0xd4, 0x9d, 0x13, 0x0c, 0x27, 0x4f, 0xf7, 0x1f, 0x96, 0xc5, + 0xc0, 0xe3, 0x04, 0xd6, 0x2c, 0x8b, 0xc3, 0xe6, 0x55, 0xcc, 0x00, 0x97, 0x33, 0xfb, 0xaf, 0x19, + 0x96, 0x73, 0xdb, 0xfd, 0x1a, 0x39, 0xe9, 0xb9, 0x98, 0x2f, 0x72, 0x28, 0xd3, 0xcc, 0xc5, 0x01, + 0x9b, 0xfd, 0x5f, 0xef, 0x19, 0xa7, 0xca, 0x79, 0x6d, 0xdd, 0x54, 0x1d, 0x9e, 0x1c, 0x1f, 0x7f, + 0xfc, 0x74, 0x7c, 0x7c, 0xf0, 0xe9, 0xb7, 0x4f, 0x07, 0xff, 0xf8, 0xf0, 0xe1, 0xf0, 0xe3, 0xe1, + 0x87, 0x16, 0xcd, 0xde, 0x3b, 0x33, 0xac, 0x3c, 0x36, 0x45, 0xbc, 0x6a, 0x0d, 0x9a, 0x89, 0xb9, + 0xb8, 0xcc, 0x0e, 0x3d, 0x27, 0xb7, 0x49, 0xf5, 0xdd, 0x27, 0xab, 0x5a, 0x16, 0x43, 0xae, 0xee, + 0x61, 0xf2, 0x10, 0xb7, 0xf3, 0x87, 0x3b, 0x9b, 0x3d, 0xdb, 0xf4, 0xc7, 0xf7, 0x93, 0x47, 0xc3, + 0x99, 0x13, 0xad, 0xab, 0xa0, 0x81, 0xf4, 0x6c, 0xf1, 0x94, 0x9b, 0x90, 0xa2, 0x4d, 0x22, 0x27, + 0x88, 0xe5, 0x64, 0x9a, 0x84, 0x67, 0x17, 0xdd, 0x97, 0xae, 0x9e, 0x7a, 0xd9, 0x65, 0xb9, 0xe6, + 0xa4, 0x2c, 0x5a, 0x29, 0x20, 0x29, 0x5b, 0x4b, 0x64, 0xd3, 0x5c, 0x52, 0x16, 0x1d, 0x22, 0xa9, + 0x4e, 0x82, 0x0e, 0x91, 0x04, 0x16, 0x68, 0x42, 0xfd, 0x98, 0x96, 0x4d, 0x72, 0x1c, 0x38, 0x3f, + 0x1c, 0xe9, 0x3b, 0xdf, 0x7c, 0x61, 0x27, 0xf2, 0x45, 0xb0, 0xd5, 0x2f, 0xed, 0x32, 0x8c, 0xba, + 0x25, 0x6c, 0x91, 0xd8, 0x22, 0x39, 0xb7, 0x48, 0x3d, 0xf8, 0xa0, 0xd2, 0x14, 0x7f, 0x01, 0x02, + 0x0a, 0xcd, 0x9d, 0x5b, 0x4b, 0x86, 0x51, 0x8f, 0xb4, 0xc5, 0xcf, 0xbb, 0xda, 0xb8, 0x54, 0xf1, + 0x96, 0x07, 0xa3, 0x7c, 0xfc, 0x87, 0xe3, 0x4b, 0x6f, 0xda, 0xa2, 0xe4, 0x45, 0xb8, 0xcf, 0x4e, + 0x20, 0xe3, 0x17, 0x75, 0x9f, 0x2f, 0xb4, 0x86, 0x7e, 0x0d, 0x40, 0x81, 0x2e, 0xf6, 0x6b, 0x58, + 0x13, 0x7f, 0x1c, 0xef, 0x2f, 0xc7, 0x15, 0x81, 0xfb, 0x66, 0xcf, 0xbc, 0x40, 0x30, 0xdc, 0x28, + 0x53, 0xe2, 0x3b, 0x70, 0x62, 0x1a, 0x27, 0xa6, 0x1b, 0x75, 0x4f, 0xf5, 0x60, 0xdc, 0xc2, 0x89, + 0xe9, 0xda, 0x44, 0x0c, 0x96, 0x8d, 0x5e, 0xc7, 0x86, 0x0f, 0x44, 0x02, 0x22, 0x01, 0x91, 0xfa, + 0x8d, 0x48, 0x51, 0xf8, 0x6d, 0x1c, 0x27, 0x81, 0x88, 0x63, 0x56, 0x48, 0x5a, 0x32, 0x0b, 0x4c, + 0x02, 0x26, 0x01, 0x93, 0xfa, 0x85, 0x49, 0x75, 0x34, 0xbd, 0xe0, 0x50, 0x3c, 0xd0, 0xf0, 0x22, + 0x87, 0x07, 0x68, 0x78, 0x41, 0xd9, 0x59, 0xd1, 0xf0, 0xa2, 0x7a, 0x59, 0x15, 0x53, 0x24, 0x43, + 0x2d, 0xa9, 0xfa, 0x57, 0xf6, 0x18, 0x57, 0xd9, 0x53, 0xe8, 0x92, 0x89, 0xdf, 0x31, 0xce, 0xe4, + 0x1c, 0x0f, 0x2b, 0x68, 0xe2, 0x6a, 0xb8, 0xb7, 0x86, 0x77, 0xd5, 0x16, 0x37, 0xc9, 0x33, 0xd4, + 0x3c, 0xa2, 0xec, 0xf8, 0x29, 0x7a, 0x00, 0x7d, 0xe5, 0xef, 0x55, 0xe9, 0x7c, 0x42, 0x5a, 0xdc, + 0xe5, 0x16, 0xf2, 0xee, 0x65, 0x59, 0x62, 0x48, 0xf7, 0x2a, 0x15, 0xf9, 0x65, 0xdb, 0x5f, 0x85, + 0x02, 0xbe, 0x8a, 0x79, 0x8a, 0xca, 0xa1, 0x80, 0x0a, 0xf5, 0x27, 0xe6, 0x24, 0x55, 0x37, 0x71, + 0x32, 0x91, 0x27, 0x6f, 0xd3, 0xf4, 0x9c, 0x23, 0x2f, 0x18, 0x56, 0xcd, 0x29, 0x28, 0x9e, 0x07, + 0x24, 0x9d, 0xff, 0x43, 0xb2, 0xbd, 0xb9, 0x88, 0x15, 0xc9, 0xf6, 0xfa, 0xe2, 0x4f, 0xd3, 0xd2, + 0xed, 0x63, 0x41, 0xac, 0x40, 0x5f, 0xb2, 0x01, 0x8f, 0x87, 0xc7, 0xc3, 0xe3, 0xeb, 0xf7, 0x78, + 0x1d, 0x91, 0x53, 0x65, 0xb7, 0x46, 0xfc, 0xd4, 0x78, 0xfc, 0x54, 0x11, 0x84, 0x09, 0xf1, 0x53, + 0xea, 0x14, 0x75, 0xc6, 0x4f, 0xa1, 0xa7, 0x12, 0x3f, 0x4d, 0x3e, 0xa5, 0x39, 0x7e, 0x3a, 0xaa, + 0x2b, 0x7e, 0x52, 0x48, 0x95, 0x74, 0x29, 0x82, 0xaa, 0x9e, 0xea, 0x68, 0x38, 0x86, 0x72, 0xbc, + 0x17, 0x19, 0xc8, 0x38, 0x89, 0x9c, 0x44, 0xfe, 0x10, 0xb3, 0xab, 0xe4, 0x95, 0x59, 0x56, 0xa1, + 0x35, 0xf0, 0x2d, 0xf0, 0xad, 0xce, 0xf2, 0x2d, 0x86, 0x15, 0x6f, 0x11, 0x7b, 0x3c, 0x29, 0xf6, + 0x74, 0xd2, 0x13, 0xab, 0x39, 0xc3, 0x61, 0x24, 0x86, 0x4e, 0x22, 0x3c, 0x7b, 0xb2, 0xaf, 0xd9, + 0xc2, 0x1b, 0x0a, 0x7b, 0x14, 0xca, 0x20, 0x21, 0xa0, 0xca, 0x66, 0x9b, 0x28, 0x93, 0x06, 0xba, + 0x74, 0xb1, 0x4c, 0x7a, 0x6d, 0x9d, 0xdb, 0x4a, 0xa7, 0x8a, 0x0a, 0x99, 0x66, 0xce, 0x2a, 0x8a, + 0x7c, 0x50, 0xe4, 0xd3, 0xa8, 0x0b, 0xaa, 0xb9, 0xa2, 0xa2, 0x4b, 0xd2, 0xb7, 0xfe, 0xdc, 0xea, + 0xf1, 0x85, 0x33, 0x88, 0xc4, 0x80, 0xa3, 0xca, 0xe7, 0x13, 0xc1, 0xc6, 0x6d, 0x41, 0x34, 0xfe, + 0x39, 0x0b, 0xbe, 0x97, 0xa7, 0xe8, 0x73, 0x3e, 0x36, 0x2f, 0xfc, 0xf5, 0xda, 0x8f, 0x27, 0xe8, + 0xb1, 0xf6, 0xa3, 0xf0, 0x67, 0x90, 0xdf, 0x94, 0xd7, 0xfe, 0x26, 0x05, 0x19, 0x83, 0xeb, 0x3e, + 0xd2, 0xa7, 0x67, 0xc4, 0x57, 0x80, 0x2a, 0x40, 0x15, 0xa0, 0x0a, 0x50, 0x55, 0x06, 0x55, 0xd3, + 0x01, 0x33, 0x7b, 0x51, 0x1e, 0xd0, 0x5c, 0x35, 0x07, 0xe0, 0x04, 0x70, 0x02, 0x38, 0x01, 0x9c, + 0x3b, 0x81, 0xb3, 0x56, 0x94, 0xac, 0xa3, 0x28, 0x7e, 0x05, 0x07, 0xad, 0x8c, 0x4a, 0x5a, 0x0c, + 0x41, 0x3b, 0x6b, 0xb1, 0xbc, 0x62, 0x65, 0x34, 0xca, 0xab, 0xab, 0x25, 0x49, 0x27, 0xbc, 0x80, + 0x4d, 0xf8, 0xb4, 0x88, 0x79, 0xd4, 0xd0, 0x13, 0x4f, 0xa7, 0xd9, 0xc3, 0x4c, 0xfe, 0xf3, 0xdc, + 0x1b, 0x8a, 0xdb, 0xf4, 0x49, 0x4c, 0x10, 0x9d, 0xb3, 0xc6, 0x59, 0xf4, 0x5b, 0xc2, 0x0a, 0x6c, + 0xe1, 0x7e, 0x30, 0x48, 0xcc, 0xb8, 0x1f, 0x6c, 0x1b, 0x83, 0xc7, 0xfd, 0x60, 0xb8, 0x1f, 0x8c, + 0x8f, 0xbc, 0xe3, 0x7e, 0x30, 0xc2, 0xf2, 0xc3, 0xfd, 0x60, 0x75, 0xba, 0x29, 0xb7, 0xbb, 0x6a, + 0x73, 0x5b, 0x6d, 0xee, 0xab, 0xcf, 0x8d, 0x69, 0xee, 0x4c, 0x74, 0x6b, 0xbe, 0xc8, 0x3c, 0xb7, + 0xf2, 0x70, 0x3f, 0x98, 0x9e, 0xe9, 0xc2, 0xfd, 0x60, 0x80, 0x52, 0x40, 0x69, 0xaf, 0xa0, 0x14, + 0xf7, 0x83, 0x55, 0xd4, 0xf1, 0x70, 0x3f, 0x18, 0xee, 0x07, 0xc3, 0xfd, 0x60, 0xfc, 0xd0, 0xc8, + 0x67, 0x05, 0xf7, 0x83, 0x55, 0xb1, 0xc3, 0xa0, 0xb1, 0xe7, 0xf4, 0xde, 0xc6, 0x6f, 0x06, 0x9b, + 0xca, 0xed, 0xf3, 0xe7, 0xc2, 0xa5, 0x60, 0xf5, 0x4d, 0x7d, 0x13, 0x69, 0x95, 0xf5, 0x79, 0x36, + 0x21, 0xa1, 0xe2, 0x86, 0x71, 0xc2, 0x76, 0xb1, 0x49, 0x91, 0x31, 0xd4, 0xed, 0x6b, 0x8f, 0x83, + 0x50, 0xb7, 0xaf, 0x8e, 0x4d, 0xca, 0x69, 0x95, 0x74, 0xad, 0x3b, 0xfe, 0x30, 0x8c, 0x64, 0xf2, + 0xcc, 0xd0, 0x2a, 0x78, 0xcd, 0x1e, 0xaa, 0xa3, 0x50, 0x1d, 0xd5, 0xa8, 0xdb, 0x35, 0xc3, 0x16, + 0xd1, 0x24, 0x58, 0x01, 0x85, 0x94, 0xfa, 0xa5, 0x14, 0x03, 0x90, 0x42, 0xdb, 0x14, 0x60, 0x0f, + 0xb0, 0x07, 0xd8, 0xd3, 0x57, 0xec, 0xa1, 0x65, 0x62, 0x56, 0xc1, 0x87, 0x92, 0x86, 0x01, 0xfa, + 0x00, 0x7d, 0x80, 0x3e, 0x68, 0x45, 0x5e, 0xbc, 0x78, 0x29, 0xfc, 0x06, 0xfd, 0xc7, 0xf3, 0x20, + 0x80, 0xfe, 0xe3, 0x94, 0x8d, 0x13, 0x05, 0xf2, 0xd5, 0x15, 0x5c, 0xba, 0xb4, 0xc8, 0x21, 0xe1, + 0x9e, 0x85, 0x71, 0x72, 0xb6, 0xfa, 0x10, 0x06, 0x68, 0xb8, 0x9e, 0xf0, 0xe5, 0x0f, 0x11, 0xbd, + 0xd9, 0xe1, 0x64, 0x4d, 0xb0, 0xa9, 0xb9, 0xdb, 0xcd, 0xe2, 0x92, 0x6a, 0xe8, 0xba, 0xb8, 0xa4, + 0x9a, 0x91, 0x3e, 0xe9, 0xc1, 0x06, 0x11, 0xb8, 0xce, 0x68, 0x31, 0x4b, 0xca, 0x60, 0xb0, 0x66, + 0x07, 0x59, 0x1d, 0x78, 0x7f, 0x17, 0xb3, 0x3a, 0x38, 0xf1, 0x0e, 0x65, 0x03, 0xca, 0x86, 0xa9, + 0xca, 0x06, 0x4e, 0xbc, 0xb7, 0x4d, 0x7b, 0x69, 0x3e, 0x70, 0x24, 0x11, 0x17, 0x8e, 0x98, 0xf1, + 0x7c, 0xf2, 0x00, 0x0f, 0x4a, 0x3e, 0xab, 0x89, 0x12, 0x46, 0x51, 0xc8, 0x17, 0x25, 0x16, 0x5a, + 0x43, 0x70, 0x08, 0x7a, 0x88, 0xe0, 0xd0, 0xf8, 0xe0, 0xd0, 0x77, 0x12, 0x11, 0xb8, 0x6f, 0x6c, + 0x58, 0xb0, 0xc1, 0x1e, 0x82, 0x45, 0xa0, 0x41, 0x17, 0x83, 0xc5, 0x81, 0x7c, 0x15, 0x9e, 0xcd, + 0xe4, 0x44, 0xb9, 0x25, 0xb5, 0xd5, 0x7a, 0xc3, 0xa1, 0xe4, 0x11, 0x42, 0x49, 0x84, 0x92, 0xad, + 0x0e, 0x25, 0xfb, 0x51, 0xa2, 0xf3, 0x97, 0x4c, 0x12, 0x7a, 0x46, 0x28, 0x37, 0x78, 0xc5, 0x66, + 0x81, 0x49, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x69, 0xc7, 0x33, 0xfe, 0x3d, 0x16, 0x32, 0x18, 0x6a, + 0xa3, 0x4d, 0xdb, 0xcd, 0x43, 0x82, 0x07, 0x46, 0x01, 0xa3, 0x80, 0x51, 0x3b, 0x9e, 0x31, 0x89, + 0x9c, 0xc1, 0x40, 0xba, 0xf6, 0x28, 0x0a, 0x47, 0x22, 0x4a, 0xde, 0x98, 0x8e, 0x58, 0x14, 0x9b, + 0x05, 0x26, 0x01, 0x93, 0x80, 0x49, 0xc0, 0xa4, 0x1d, 0xcf, 0xf8, 0xd3, 0x09, 0x3c, 0x0d, 0xb1, + 0x5c, 0xb1, 0x59, 0xc4, 0x72, 0xc0, 0x24, 0x60, 0x52, 0xbf, 0x30, 0xa9, 0x96, 0xd6, 0xf7, 0x0c, + 0x0c, 0x08, 0x07, 0x32, 0xf2, 0x80, 0x80, 0x03, 0x19, 0x94, 0xad, 0x15, 0x07, 0x32, 0xaa, 0xd7, + 0xd5, 0xb0, 0x09, 0x2c, 0xd4, 0xfa, 0x9a, 0xcb, 0xe9, 0x83, 0x98, 0x77, 0x2c, 0xc3, 0x77, 0xde, + 0x44, 0x34, 0x41, 0xba, 0x24, 0x74, 0x43, 0x5f, 0x2d, 0x84, 0x5c, 0x4a, 0xad, 0xe7, 0x8d, 0xa1, + 0xca, 0x46, 0x3b, 0xce, 0x22, 0xaf, 0xae, 0x8e, 0x51, 0xf4, 0x2a, 0x1b, 0xfa, 0xa2, 0xb7, 0x1a, + 0xba, 0x71, 0x1b, 0x8c, 0x06, 0x8c, 0xa6, 0xe7, 0x8c, 0x46, 0xcf, 0x9e, 0x2a, 0x07, 0xc2, 0x7d, + 0x73, 0xfd, 0xf9, 0xfd, 0xfb, 0xea, 0xfb, 0xe9, 0x9a, 0xa1, 0xbe, 0xec, 0xa5, 0xb8, 0xf9, 0x67, + 0xcb, 0x4e, 0x6a, 0xe6, 0xcd, 0x3f, 0x0c, 0xfb, 0x28, 0x69, 0xb1, 0x37, 0xb5, 0x87, 0xea, 0x01, + 0x90, 0x30, 0x8e, 0xf9, 0xea, 0x5d, 0x0b, 0x8c, 0x81, 0x94, 0x03, 0x4a, 0x50, 0xfa, 0xce, 0xa8, + 0x68, 0xea, 0xc1, 0x01, 0x5a, 0x34, 0x4e, 0x08, 0xbf, 0x95, 0xcb, 0xda, 0x0f, 0x40, 0x19, 0x40, + 0x19, 0x4a, 0x3e, 0xa6, 0x72, 0x49, 0x3b, 0x53, 0x3b, 0x37, 0x74, 0x72, 0xc3, 0x15, 0x81, 0x56, + 0xb3, 0x0e, 0xa6, 0x1e, 0x6f, 0x5b, 0x48, 0x20, 0xd6, 0xa6, 0x53, 0xa4, 0x40, 0xc1, 0x54, 0x5d, + 0xb5, 0x64, 0x0b, 0xc8, 0x03, 0xe4, 0x01, 0xf2, 0xf4, 0x07, 0x79, 0xea, 0x28, 0x5d, 0x50, 0x86, + 0x17, 0xdc, 0xc9, 0x6f, 0xb5, 0x32, 0xc3, 0xad, 0x9a, 0x6e, 0x22, 0xe6, 0xb3, 0x53, 0x37, 0x34, + 0x21, 0x42, 0x0e, 0x3d, 0x61, 0x47, 0x63, 0x5f, 0xd8, 0xc3, 0x28, 0x1c, 0x8f, 0x08, 0xc1, 0xf2, + 0x9a, 0xa1, 0xbe, 0xc4, 0xcd, 0x50, 0xc8, 0x5a, 0xa9, 0x90, 0x29, 0xc7, 0xce, 0x05, 0x97, 0x4c, + 0x91, 0x39, 0x2d, 0xcb, 0xc5, 0x55, 0x16, 0xe7, 0xc5, 0xfb, 0x47, 0xe0, 0xb6, 0xe0, 0xb6, 0x6d, + 0xbb, 0x78, 0x7f, 0xe9, 0x9e, 0x3f, 0xb6, 0x4b, 0xa3, 0x59, 0xee, 0x0e, 0x64, 0x70, 0x4d, 0xb6, + 0xf0, 0x93, 0xd3, 0x55, 0x35, 0xb9, 0x2c, 0xb7, 0xeb, 0x6a, 0x73, 0x61, 0x6d, 0xae, 0xac, 0xcf, + 0xa5, 0x69, 0xae, 0x4d, 0x74, 0x71, 0x36, 0x57, 0xcf, 0x0c, 0xa5, 0x57, 0xee, 0xb3, 0xad, 0x8f, + 0xec, 0x1a, 0x6a, 0x9e, 0x8b, 0xfc, 0x2d, 0xfe, 0x4b, 0x7a, 0xd9, 0xdc, 0x5f, 0x07, 0x0c, 0x68, + 0x86, 0x03, 0x5d, 0xb0, 0xa0, 0x1d, 0x1e, 0xb4, 0xc3, 0x84, 0x7e, 0xb8, 0xe0, 0x81, 0x0d, 0x26, + 0xf8, 0xe0, 0x53, 0xc3, 0x36, 0xae, 0xdc, 0x39, 0x0f, 0xb7, 0x19, 0xa1, 0xc0, 0x22, 0x56, 0xd8, + 0x6c, 0xb4, 0xa9, 0x56, 0x79, 0xa3, 0x6f, 0x8a, 0x19, 0xa6, 0x97, 0x98, 0xa2, 0xdc, 0x38, 0xaf, + 0x94, 0x94, 0x25, 0xa0, 0x1d, 0xd0, 0x0e, 0x68, 0x6f, 0x3d, 0xb4, 0x8f, 0x65, 0x90, 0x7c, 0x3c, + 0xd6, 0x80, 0xe9, 0x27, 0x8c, 0x26, 0xef, 0x9c, 0x60, 0x38, 0x79, 0xda, 0xff, 0xb0, 0x2e, 0x22, + 0x5e, 0xa7, 0xb2, 0x66, 0x79, 0x0b, 0x76, 0x6f, 0xd5, 0x04, 0xb0, 0x39, 0xf3, 0xff, 0x9a, 0xed, + 0x31, 0xba, 0xec, 0x7f, 0x8d, 0x1c, 0x37, 0x91, 0x61, 0xf0, 0x45, 0x0e, 0x65, 0x9a, 0x91, 0x39, + 0x60, 0xff, 0x9e, 0x5f, 0xef, 0x35, 0x4c, 0xa9, 0xf3, 0xda, 0xfa, 0x29, 0x3d, 0x3c, 0x39, 0x3e, + 0xfe, 0xf8, 0xe9, 0xf8, 0xf8, 0xe0, 0xd3, 0x6f, 0x9f, 0x0e, 0xfe, 0xf1, 0xe1, 0xc3, 0xe1, 0xc7, + 0xc3, 0x0f, 0x2d, 0x9e, 0xe5, 0x77, 0x66, 0x5a, 0x7b, 0x34, 0x85, 0x70, 0x36, 0x2a, 0x66, 0x10, + 0x73, 0x98, 0x39, 0x7b, 0x0c, 0x39, 0xcd, 0xd5, 0x5c, 0xdc, 0x7e, 0x3e, 0xbf, 0xb0, 0xcf, 0xa6, + 0x6b, 0x5a, 0x1c, 0xc9, 0xd0, 0xd0, 0x13, 0x77, 0x63, 0x5f, 0xfc, 0x73, 0xf2, 0xb4, 0x4f, 0xa7, + 0xf3, 0xa7, 0x3d, 0x9b, 0x3d, 0xec, 0xd3, 0xc3, 0xe4, 0x61, 0xef, 0x27, 0xcf, 0xfa, 0xae, 0x99, + 0x65, 0x52, 0xaf, 0x10, 0xce, 0xb4, 0xa0, 0x6a, 0x59, 0x48, 0x94, 0xcc, 0x8c, 0xde, 0x55, 0xb3, + 0x67, 0xf4, 0xa5, 0xca, 0x2f, 0xa3, 0x30, 0x16, 0x1e, 0x25, 0xf3, 0x9e, 0xd7, 0x2c, 0x0a, 0x8c, + 0x22, 0x8d, 0x88, 0x0e, 0x3f, 0x0c, 0xb1, 0x66, 0xdb, 0x3a, 0xfc, 0x90, 0x53, 0x89, 0x6b, 0xc0, + 0x47, 0xbb, 0x28, 0x2c, 0xb7, 0x24, 0x0b, 0xad, 0xf3, 0xa4, 0x17, 0x0f, 0x3a, 0x9f, 0x5e, 0x64, + 0x70, 0x65, 0x5d, 0x72, 0x53, 0x17, 0x12, 0x8c, 0x74, 0x57, 0x37, 0x83, 0x95, 0xb3, 0x09, 0x48, + 0x8c, 0xf7, 0x92, 0xe5, 0xf6, 0xd7, 0x4f, 0x0c, 0xb6, 0xb4, 0xdf, 0x53, 0x96, 0x32, 0xc1, 0xfc, + 0x8f, 0x96, 0x79, 0x21, 0xd7, 0xc5, 0x66, 0x0c, 0x4c, 0xfd, 0x3d, 0x11, 0xf4, 0x35, 0x20, 0x3d, + 0xe0, 0x1d, 0xf0, 0x0e, 0x78, 0x07, 0xbc, 0xb7, 0x06, 0xde, 0xdb, 0x0a, 0xe0, 0x3c, 0xf7, 0xfa, + 0xe6, 0x71, 0x89, 0xe1, 0x7e, 0x5f, 0x00, 0x39, 0x80, 0x1c, 0x40, 0x0e, 0x20, 0x37, 0xf2, 0x3e, + 0x61, 0x06, 0xd4, 0xae, 0x55, 0xde, 0x99, 0xb7, 0x19, 0x5e, 0xc6, 0x65, 0x2b, 0xa3, 0xda, 0x16, + 0xa3, 0xbc, 0x42, 0x3b, 0xd5, 0x97, 0x59, 0xe1, 0x38, 0xdd, 0xb7, 0x30, 0xc6, 0x70, 0xca, 0x2f, + 0x33, 0x46, 0x3a, 0xed, 0x47, 0x9d, 0x47, 0x73, 0x13, 0x1d, 0x7c, 0x5a, 0xba, 0xc5, 0x9e, 0xe9, + 0x38, 0x9b, 0x3d, 0x5b, 0xf6, 0x13, 0xb3, 0x33, 0x1d, 0x71, 0xc2, 0x7e, 0x9b, 0x41, 0x91, 0x51, + 0x64, 0x3a, 0x90, 0xe9, 0x30, 0x82, 0x56, 0xb5, 0x2c, 0xd3, 0x91, 0xfa, 0x92, 0xe3, 0x0f, 0xc3, + 0x48, 0x26, 0xcf, 0x2f, 0x7c, 0x41, 0xd3, 0x9a, 0x5d, 0x44, 0x4d, 0x88, 0x9a, 0x10, 0x35, 0x19, + 0x1c, 0x35, 0x91, 0xfb, 0x81, 0xe4, 0xb6, 0xd4, 0x93, 0x16, 0x2a, 0x48, 0x29, 0x6a, 0x91, 0x1a, 0x15, 0x15, 0x03, 0x21, 0xa1, 0x5f, 0x11, 0x30, 0x10, 0x18, 0x08, 0x0c, 0x04, 0x06, 0xd6, 0x8b, - 0x81, 0x3c, 0xe7, 0xaf, 0x96, 0x41, 0x90, 0xe3, 0xf0, 0x15, 0x50, 0x10, 0x28, 0x08, 0x14, 0x04, - 0x0a, 0x1a, 0x18, 0x8a, 0x4f, 0x59, 0x69, 0xaa, 0xbf, 0xa7, 0x85, 0x72, 0x66, 0x82, 0xf1, 0x1e, - 0x15, 0xbd, 0x19, 0x81, 0x48, 0xc3, 0x18, 0x19, 0xad, 0x30, 0xc4, 0x31, 0x56, 0xa6, 0x59, 0xc7, - 0x00, 0x89, 0x87, 0x55, 0x39, 0x3a, 0x12, 0x0f, 0x5c, 0xd4, 0xb6, 0xa5, 0x21, 0xf1, 0x10, 0x27, - 0x94, 0x01, 0x7c, 0xea, 0xbb, 0x57, 0x25, 0xf3, 0x20, 0x83, 0x44, 0x44, 0xac, 0x07, 0x2c, 0x72, - 0x12, 0x91, 0x73, 0x40, 0xce, 0xc1, 0x08, 0x57, 0xb4, 0x65, 0x39, 0x07, 0x27, 0x8e, 0x43, 0x57, - 0x3a, 0x89, 0xf0, 0x6c, 0x6a, 0xff, 0xd1, 0xb5, 0x1b, 0x73, 0xc3, 0x35, 0x0c, 0x6b, 0xe4, 0xf6, - 0x01, 0x11, 0x28, 0x22, 0xd0, 0x16, 0x47, 0xa0, 0x6c, 0xcd, 0xdc, 0xb4, 0x1c, 0xba, 0xca, 0x6d, - 0x6d, 0x0d, 0x87, 0xaf, 0x98, 0xc9, 0x29, 0x76, 0x92, 0x4a, 0x07, 0x54, 0x68, 0x87, 0x0c, 0x5d, - 0xd0, 0xa1, 0x1d, 0x42, 0xb4, 0x43, 0x49, 0x1d, 0x90, 0xc2, 0x03, 0x2d, 0x4c, 0x10, 0xc3, 0x4f, - 0x76, 0xe5, 0x76, 0x2f, 0x5f, 0xd1, 0x68, 0xce, 0x4f, 0x38, 0x62, 0x94, 0xb9, 0x8b, 0x87, 0xbd, - 0xf8, 0xb6, 0x1a, 0x47, 0xe3, 0x39, 0xbe, 0x43, 0x60, 0xc5, 0x96, 0x07, 0xe6, 0x06, 0xe6, 0x06, - 0xe6, 0x06, 0xe6, 0x06, 0xe6, 0x46, 0xdb, 0xe1, 0x33, 0xb3, 0x0c, 0x0a, 0xef, 0xa1, 0xb4, 0x3c, - 0x0e, 0x32, 0x1e, 0x4e, 0x83, 0x61, 0x81, 0x61, 0x81, 0x61, 0x81, 0x61, 0xd9, 0x01, 0xc3, 0x62, - 0x94, 0x15, 0x69, 0x94, 0x9e, 0xab, 0xef, 0xb0, 0x5c, 0x76, 0x49, 0x96, 0x0a, 0x86, 0x4c, 0x1a, - 0x67, 0x25, 0x43, 0x4e, 0x5f, 0x3e, 0x70, 0x99, 0x4c, 0x0d, 0xe8, 0xae, 0xb1, 0xc2, 0xa1, 0x16, - 0x6c, 0x5f, 0xc2, 0xf5, 0x0f, 0xbb, 0xe4, 0xd3, 0x71, 0x56, 0x42, 0x64, 0x42, 0x59, 0x2a, 0x22, - 0xb8, 0x50, 0xc3, 0xfc, 0xa6, 0xa6, 0xab, 0xd9, 0xf8, 0xf7, 0xda, 0x32, 0x7e, 0x16, 0x7b, 0x25, - 0xc5, 0xc5, 0xf8, 0xde, 0x17, 0x7a, 0x57, 0x66, 0x77, 0xbe, 0xf4, 0x67, 0x6d, 0xac, 0x11, 0x62, - 0x1c, 0x8f, 0x97, 0xc3, 0x6a, 0xd6, 0xee, 0xa3, 0x56, 0xa7, 0x52, 0xb9, 0x98, 0xc9, 0x85, 0x99, - 0x5c, 0x5b, 0x1e, 0x8b, 0x2d, 0x8d, 0xcb, 0x38, 0x86, 0xaf, 0x80, 0xed, 0x60, 0x6c, 0x5b, 0xcd, - 0x08, 0x01, 0x2d, 0xa6, 0x3a, 0x30, 0xc4, 0xa5, 0x41, 0xa2, 0x63, 0xb7, 0x87, 0xb8, 0x70, 0x41, - 0x4a, 0x26, 0x90, 0x75, 0xdc, 0x5f, 0x4e, 0x1d, 0x98, 0x67, 0x7d, 0x59, 0xfa, 0xe6, 0x5d, 0xb0, - 0xc3, 0x8c, 0x4e, 0xb8, 0xa9, 0x09, 0x76, 0x74, 0xc3, 0x4f, 0x6d, 0x30, 0x54, 0x1b, 0x1c, 0xd5, - 0x07, 0x4b, 0xbc, 0xf0, 0xc4, 0x0c, 0x53, 0xd9, 0x32, 0xb0, 0xb3, 0xb2, 0xb9, 0x9d, 0xaf, 0x6b, - 0xac, 0x60, 0xce, 0x9b, 0x39, 0xd4, 0x20, 0x9b, 0x77, 0xcc, 0x20, 0xff, 0x96, 0x60, 0xdc, 0x0e, - 0xcc, 0xe3, 0x07, 0x73, 0xfb, 0x80, 0x73, 0x0c, 0x21, 0x4c, 0x0d, 0x4c, 0x0d, 0x4c, 0x0d, 0x4c, - 0xcd, 0xaa, 0x33, 0xcb, 0x3d, 0xe6, 0x70, 0x15, 0x67, 0x8e, 0x35, 0x88, 0xd6, 0x33, 0xf6, 0x70, - 0xf6, 0xa3, 0x47, 0x49, 0x2d, 0xdd, 0x63, 0x10, 0x35, 0x03, 0x7c, 0xee, 0x32, 0x9a, 0xc7, 0x22, - 0x66, 0xd7, 0xa9, 0x61, 0x70, 0x9e, 0x26, 0xf5, 0x5d, 0x7e, 0xf5, 0x1a, 0xc7, 0x25, 0x36, 0xf5, - 0xea, 0xeb, 0x1b, 0x9f, 0xd8, 0xc8, 0x6e, 0xd8, 0x6b, 0x87, 0xd4, 0x07, 0x53, 0x1d, 0x6d, 0xa3, - 0x48, 0x26, 0xe6, 0x4c, 0x65, 0x26, 0xb7, 0x8e, 0x8c, 0xa5, 0xe6, 0xb9, 0x8c, 0xf3, 0x67, 0xd1, - 0x99, 0xbc, 0xd4, 0x35, 0xae, 0x91, 0x6f, 0xbb, 0x61, 0x3e, 0x28, 0x79, 0x63, 0x1a, 0x9f, 0x42, - 0xe7, 0x19, 0xff, 0x48, 0xdf, 0x31, 0xe4, 0xce, 0x5b, 0x4c, 0xcd, 0x92, 0xf3, 0xdc, 0x13, 0x6b, - 0x67, 0x09, 0x0b, 0x27, 0xa1, 0xcd, 0xe0, 0x0c, 0x70, 0x12, 0xda, 0x1c, 0xa4, 0x67, 0x4b, 0xa1, - 0x33, 0x37, 0x65, 0x2e, 0xc6, 0x02, 0xae, 0xe6, 0xcc, 0x9a, 0x82, 0x14, 0x9c, 0x1a, 0xb0, 0x90, - 0x4c, 0x6f, 0x08, 0x46, 0xcc, 0x8c, 0x74, 0xf4, 0x9d, 0x1a, 0x60, 0x6b, 0xf9, 0x97, 0x73, 0x0d, - 0x8e, 0x77, 0xa8, 0xea, 0x97, 0xaf, 0x39, 0x74, 0x31, 0x20, 0x33, 0x34, 0x89, 0x06, 0x16, 0x03, - 0x8b, 0x81, 0xc5, 0xc0, 0xe2, 0x6e, 0x60, 0x31, 0x6f, 0x96, 0x9e, 0xbf, 0x59, 0x35, 0xd0, 0x18, - 0x68, 0x0c, 0x34, 0x06, 0x1a, 0x9b, 0x8d, 0xc6, 0x26, 0x9c, 0x4e, 0x65, 0x1b, 0x92, 0xd2, 0xa2, - 0xa3, 0xa7, 0x3d, 0x1c, 0x3d, 0xad, 0xe7, 0xe8, 0x69, 0x0f, 0x47, 0x4f, 0xb7, 0x08, 0xc5, 0xd1, - 0x53, 0x5a, 0xbe, 0x8c, 0x3f, 0xb7, 0x62, 0xe9, 0x4e, 0x98, 0x71, 0x35, 0xf3, 0xa6, 0x6b, 0x07, - 0x25, 0x63, 0xe6, 0x3b, 0x89, 0x08, 0xdc, 0x37, 0x6d, 0x49, 0xb3, 0x35, 0xf2, 0x91, 0x37, 0xab, - 0xdd, 0xed, 0x47, 0xde, 0x0c, 0x79, 0xb3, 0xad, 0x82, 0xfa, 0xf2, 0x55, 0x78, 0xb6, 0x26, 0x50, - 0xc8, 0x6d, 0xf1, 0x8d, 0x57, 0x33, 0x9c, 0x39, 0xf8, 0x00, 0xe6, 0x00, 0xcc, 0x01, 0x98, 0x03, - 0x30, 0x07, 0x0d, 0x87, 0x33, 0x7f, 0xcb, 0x64, 0xec, 0x4b, 0xeb, 0x86, 0xea, 0xe2, 0xcb, 0x00, - 0xa3, 0x81, 0xd1, 0xc0, 0x68, 0x60, 0x34, 0x30, 0x7a, 0xe3, 0x33, 0xfd, 0x33, 0x12, 0x32, 0x18, - 0xd4, 0xe6, 0x56, 0x6f, 0xbe, 0x1c, 0x32, 0x72, 0xc0, 0x6c, 0x60, 0x36, 0x30, 0x1b, 0x98, 0xbd, - 0xf1, 0x99, 0x92, 0xc8, 0xe9, 0xf7, 0xa5, 0x6b, 0x0f, 0xa3, 0x70, 0x28, 0xa2, 0xe4, 0x4d, 0x53, - 0xdd, 0x5a, 0xf1, 0x65, 0x80, 0xd1, 0xc0, 0x68, 0x60, 0x34, 0x30, 0x1a, 0x18, 0xbd, 0xf1, 0x99, - 0x5e, 0x9c, 0xc0, 0xab, 0x81, 0xfb, 0x28, 0xbe, 0x0c, 0xb8, 0x0f, 0x60, 0x34, 0x30, 0x1a, 0x18, - 0x8d, 0xca, 0x36, 0x3d, 0x6f, 0x30, 0x9b, 0xbb, 0xa0, 0xc1, 0x43, 0x46, 0x95, 0x1b, 0x3f, 0x20, - 0xa2, 0xca, 0xcd, 0x24, 0xd7, 0x08, 0x55, 0x6e, 0x55, 0xe5, 0xd5, 0x50, 0xe5, 0xa6, 0x8d, 0x91, - 0xd5, 0x5a, 0xe8, 0x76, 0x39, 0xb9, 0xeb, 0xf6, 0xd7, 0xba, 0xb1, 0x30, 0x38, 0xf3, 0x61, 0xa4, - 0x0c, 0x66, 0x88, 0xbb, 0x8e, 0xed, 0x00, 0xe3, 0x13, 0x4c, 0x71, 0xe9, 0x31, 0x3e, 0xa1, 0xe2, - 0x63, 0xb1, 0xd5, 0xb0, 0x69, 0x3a, 0xd4, 0x86, 0xf3, 0x6c, 0x46, 0x02, 0x02, 0x62, 0xfe, 0xe6, - 0x00, 0x03, 0x11, 0xff, 0xce, 0x45, 0xfc, 0xef, 0x98, 0xf0, 0x57, 0x53, 0xba, 0x6c, 0x41, 0x36, - 0x90, 0x18, 0x48, 0x0c, 0x24, 0x06, 0x12, 0xef, 0x2a, 0x12, 0x9b, 0xc0, 0xbd, 0xb2, 0xc1, 0xad, - 0x56, 0xc2, 0x95, 0x89, 0xdd, 0x02, 0x65, 0x66, 0x20, 0x65, 0xc6, 0x64, 0xea, 0xb5, 0x12, 0x64, - 0x29, 0x28, 0xb5, 0x90, 0x0f, 0x8b, 0x64, 0xfc, 0x53, 0xdb, 0xc1, 0xcf, 0x22, 0xe1, 0x38, 0xf5, - 0x59, 0xce, 0x25, 0xc3, 0xa9, 0x4f, 0x9c, 0xfa, 0xac, 0x93, 0x31, 0x2b, 0xd0, 0x55, 0x4d, 0xf1, - 0xdb, 0xda, 0x2b, 0x21, 0x9a, 0x33, 0x0e, 0x3a, 0x10, 0xcf, 0x35, 0x09, 0x2d, 0x88, 0xe8, 0xc0, - 0xad, 0xad, 0x41, 0x6a, 0xe9, 0x89, 0x20, 0x91, 0x7d, 0x29, 0x22, 0xdb, 0x97, 0x71, 0xa2, 0x09, - 0xa5, 0x57, 0xaf, 0x02, 0x84, 0x06, 0x42, 0x03, 0xa1, 0x81, 0xd0, 0xe6, 0x22, 0x34, 0xd3, 0x0a, - 0xb2, 0x52, 0x55, 0x6b, 0x28, 0x2b, 0x4d, 0x63, 0x51, 0x7b, 0xdc, 0xfa, 0xa9, 0x71, 0x3e, 0x67, - 0x0d, 0xb5, 0x83, 0xb5, 0xc1, 0x8c, 0xa5, 0xa9, 0x96, 0x90, 0x17, 0x62, 0x2c, 0xe6, 0x19, 0xbf, - 0x3a, 0x08, 0xd3, 0x4c, 0x38, 0x2b, 0x71, 0xca, 0xe8, 0xc4, 0x99, 0x40, 0xcb, 0x6b, 0x8a, 0xa2, - 0x51, 0x15, 0xdd, 0x1a, 0x64, 0x43, 0x55, 0xb4, 0x31, 0x88, 0x85, 0x14, 0x0f, 0x31, 0xc5, 0xc3, - 0x9f, 0x29, 0xb0, 0x74, 0x67, 0x7c, 0x6e, 0x65, 0xfc, 0xb3, 0xfd, 0xf5, 0xd0, 0xe3, 0x77, 0xc0, - 0x98, 0xf0, 0x19, 0x4b, 0x43, 0x86, 0xa7, 0x76, 0x12, 0x00, 0x19, 0x1e, 0x64, 0x78, 0xb6, 0x0a, - 0x72, 0xc5, 0xd0, 0xf6, 0x64, 0x24, 0x5c, 0xd6, 0x31, 0xbf, 0xf3, 0x81, 0x1f, 0x4b, 0xe2, 0x71, - 0x32, 0x1a, 0x4c, 0x21, 0x98, 0xc2, 0x0e, 0x33, 0x85, 0xc3, 0x30, 0x4a, 0xd8, 0xf1, 0x60, 0xc9, - 0x41, 0x38, 0x64, 0x94, 0x79, 0x1e, 0x8c, 0xd2, 0x09, 0xa1, 0xbf, 0x3a, 0xc7, 0x42, 0x32, 0x53, - 0x36, 0x9d, 0xe4, 0x83, 0xde, 0xf1, 0x18, 0xe7, 0x54, 0x65, 0xa2, 0xd0, 0x17, 0x7a, 0x8c, 0xf3, - 0x5c, 0x3c, 0xaf, 0x71, 0xee, 0xc1, 0x38, 0xc3, 0x38, 0xc3, 0x38, 0xf3, 0xc3, 0x3f, 0x97, 0xe7, - 0x9f, 0x09, 0xe4, 0x07, 0x98, 0x62, 0xb3, 0xcf, 0x08, 0x32, 0x9a, 0x22, 0x01, 0x6d, 0xa0, 0xa3, - 0x13, 0x7c, 0x6a, 0x03, 0x21, 0xdd, 0x60, 0x54, 0x1b, 0x28, 0xd5, 0x06, 0x4e, 0x75, 0x82, 0x14, - 0x2f, 0x58, 0x31, 0x83, 0x96, 0xbe, 0xc8, 0xa2, 0x36, 0xa8, 0xb1, 0xf8, 0xcb, 0x12, 0x74, 0x2d, - 0xb2, 0x96, 0x00, 0xa1, 0x96, 0x40, 0xa1, 0x96, 0x80, 0x41, 0x6f, 0xe0, 0xc0, 0xaf, 0x87, 0x9c, - 0x89, 0xf9, 0x4c, 0x3b, 0x6c, 0x16, 0x8a, 0x7f, 0xbb, 0x16, 0xda, 0x0c, 0xe4, 0x3f, 0xac, 0x3e, - 0xac, 0x3e, 0xac, 0x3e, 0xac, 0x7e, 0x69, 0xbc, 0xb1, 0xc3, 0x21, 0x33, 0xbd, 0x98, 0xf3, 0x00, - 0x3e, 0x6a, 0x90, 0x7d, 0x91, 0xd6, 0x55, 0x27, 0x6f, 0xbf, 0x39, 0xb1, 0x46, 0x3d, 0x9b, 0x2d, - 0xd9, 0xcd, 0xf5, 0xed, 0xfd, 0xe3, 0xed, 0xf5, 0xe5, 0xf9, 0xe3, 0xed, 0xb7, 0xcb, 0xf3, 0xc7, - 0xeb, 0x9b, 0xfb, 0x8b, 0xeb, 0x2b, 0x5d, 0x3a, 0xf7, 0xa7, 0xe3, 0x8f, 0xc4, 0xd8, 0x94, 0xff, - 0x47, 0x8b, 0xfc, 0xf1, 0xcf, 0xff, 0x69, 0x93, 0xbc, 0x7d, 0xd9, 0x1e, 0xcf, 0x2e, 0xbe, 0x7c, - 0x39, 0xbf, 0x3d, 0xbf, 0x9a, 0xfc, 0x6a, 0x5f, 0xdb, 0xad, 0xfc, 0x7a, 0xb7, 0x9b, 0xeb, 0x77, - 0x77, 0xf2, 0xf5, 0x1c, 0x4b, 0xa7, 0xb4, 0x74, 0x57, 0xd7, 0xd8, 0x74, 0x6a, 0x2b, 0x77, 0x72, - 0xf5, 0x97, 0xee, 0x95, 0xd3, 0x22, 0xf9, 0xa1, 0x63, 0xee, 0x03, 0xe2, 0xd9, 0xdd, 0x8a, 0x67, - 0x91, 0x4d, 0x35, 0x77, 0x33, 0x69, 0xca, 0xa6, 0x72, 0x95, 0x73, 0xf1, 0xd6, 0xb0, 0x66, 0x72, - 0xeb, 0xa8, 0x65, 0x1d, 0xf9, 0xe2, 0xbd, 0x8e, 0x84, 0xab, 0xa5, 0xbd, 0xa4, 0x75, 0xe4, 0x8b, - 0xc7, 0x53, 0x31, 0xbc, 0x09, 0xa3, 0xe4, 0x76, 0x7c, 0xdf, 0xbb, 0x94, 0x60, 0x0f, 0x9f, 0x86, - 0xbe, 0x78, 0xe5, 0x65, 0xc3, 0xe6, 0xf9, 0xf5, 0x45, 0xe9, 0xa8, 0x7d, 0x33, 0x96, 0xe3, 0x42, - 0x7a, 0xbd, 0x49, 0x0e, 0x0b, 0xa7, 0x64, 0xa9, 0x64, 0xd4, 0x31, 0x3c, 0xaa, 0xce, 0x79, 0x54, - 0x86, 0x98, 0xcf, 0x20, 0x98, 0x94, 0x72, 0xda, 0xf1, 0x50, 0xb8, 0x76, 0x24, 0xfa, 0x22, 0x12, - 0x81, 0xab, 0xc5, 0x96, 0xae, 0xbb, 0x14, 0xea, 0xd6, 0x60, 0x58, 0x61, 0x58, 0x8d, 0x37, 0xac, - 0xec, 0x75, 0x6b, 0x2b, 0x88, 0xa0, 0x2f, 0x99, 0xbd, 0x7a, 0xa1, 0x96, 0x65, 0xb3, 0x0f, 0x90, - 0xcd, 0xae, 0x0d, 0x98, 0x6a, 0x03, 0xa8, 0xda, 0x80, 0xaa, 0x4e, 0xc0, 0xe2, 0xe7, 0x1a, 0xad, - 0x56, 0x66, 0xb3, 0x47, 0x23, 0xe9, 0xb5, 0xa8, 0x7c, 0xcd, 0xc8, 0x4a, 0xa7, 0x55, 0x7f, 0x91, - 0xb5, 0x6b, 0xe5, 0x56, 0xef, 0x94, 0xb1, 0x73, 0x65, 0x6d, 0x76, 0x02, 0x55, 0x4f, 0xb0, 0x13, - 0xb0, 0x13, 0x6d, 0xb2, 0x13, 0xec, 0x8c, 0x52, 0x7b, 0x2c, 0x05, 0x18, 0xaf, 0xce, 0x31, 0x5e, - 0xc8, 0x21, 0x4e, 0x72, 0x88, 0x9a, 0x89, 0x30, 0xab, 0x9e, 0x7c, 0x62, 0xf6, 0x14, 0x77, 0x43, - 0xe1, 0xde, 0x66, 0xcf, 0xb0, 0x43, 0xe4, 0x68, 0x3f, 0x8c, 0x5e, 0x9c, 0xc8, 0x93, 0xc1, 0x40, - 0x53, 0x7a, 0x71, 0xf5, 0x02, 0xc8, 0x30, 0x1a, 0xeb, 0x4f, 0x82, 0x08, 0x6d, 0xd2, 0x5f, 0xec, - 0x4a, 0x86, 0x51, 0x0f, 0x20, 0x58, 0x2d, 0x69, 0xaf, 0x61, 0x04, 0xe8, 0xfb, 0xce, 0x9b, 0x88, - 0xec, 0x61, 0x14, 0x26, 0xa1, 0x1b, 0xfa, 0xf6, 0x3f, 0x23, 0xc7, 0x4f, 0x3b, 0xa5, 0xf3, 0xa3, - 0xff, 0xda, 0x2b, 0xc1, 0x0c, 0xc0, 0x0c, 0xc0, 0x0c, 0x74, 0xd8, 0x0c, 0x68, 0x46, 0x06, 0x4b, - 0xd3, 0x39, 0x28, 0xbd, 0xe7, 0x9f, 0xb2, 0xd5, 0xb9, 0x3c, 0xf9, 0xeb, 0xfc, 0xf6, 0xf1, 0xe6, - 0xf6, 0xfa, 0xfe, 0xfa, 0xf4, 0xfa, 0xf2, 0xf1, 0x7f, 0xbf, 0x9d, 0x5c, 0x5e, 0x7c, 0xb9, 0x38, - 0xbf, 0xe5, 0xd6, 0x18, 0x8d, 0x47, 0x9e, 0x34, 0x9f, 0x0c, 0x5b, 0xb7, 0x42, 0x8f, 0xdf, 0xae, - 0xee, 0x6e, 0xce, 0x4f, 0xc7, 0xff, 0x7f, 0x66, 0x3a, 0x99, 0xf7, 0x00, 0xaa, 0x09, 0x54, 0x53, - 0xcb, 0x5d, 0xc9, 0xd0, 0x75, 0x7c, 0x5b, 0x7a, 0x1a, 0x5c, 0xc7, 0x99, 0x64, 0x4c, 0xee, 0xe1, - 0x71, 0x15, 0x31, 0x29, 0xbb, 0x41, 0x47, 0x11, 0x93, 0xb2, 0xd5, 0x76, 0x2e, 0xe6, 0xaa, 0x95, - 0x79, 0x26, 0x3d, 0xd3, 0x2e, 0x35, 0x4c, 0xb6, 0xec, 0x01, 0x7d, 0x81, 0xbe, 0x40, 0x5f, 0x5e, - 0xf4, 0x65, 0x2f, 0x5a, 0x4d, 0xe7, 0xe6, 0xeb, 0x0b, 0x6e, 0x27, 0xe2, 0x51, 0xa0, 0x5a, 0x4f, - 0xe1, 0x11, 0x3b, 0xf0, 0xe8, 0x06, 0xa0, 0xda, 0x80, 0xa8, 0x36, 0x40, 0xaa, 0x0f, 0x98, 0xf4, - 0xf0, 0x14, 0x28, 0x3a, 0xd2, 0xe5, 0x3e, 0xf2, 0xbf, 0x2f, 0xce, 0xf2, 0xd4, 0x14, 0xa8, 0x35, - 0x17, 0xa5, 0x2e, 0x5c, 0x03, 0x16, 0x01, 0x16, 0x01, 0x16, 0x01, 0x16, 0x01, 0x16, 0x61, 0x87, - 0xcb, 0x50, 0xa7, 0x33, 0x40, 0xd9, 0x61, 0x1f, 0x49, 0x87, 0x15, 0xe1, 0xa8, 0x6f, 0xd5, 0x58, - 0xdf, 0xca, 0xec, 0xaf, 0xe8, 0x2f, 0x65, 0x4d, 0x61, 0x70, 0x87, 0x18, 0xcf, 0xf0, 0x59, 0x44, - 0x91, 0xf4, 0x84, 0x3d, 0x8c, 0x64, 0x18, 0xc9, 0xe4, 0x8d, 0x9f, 0xfe, 0xcc, 0x5f, 0x02, 0x45, - 0x4b, 0x3c, 0x0e, 0x28, 0x8a, 0x96, 0x6a, 0x74, 0x35, 0x51, 0xb4, 0xc4, 0xb7, 0x7b, 0x47, 0x32, - 0x48, 0x3e, 0x1d, 0x6a, 0xc8, 0x46, 0x1d, 0x33, 0x8a, 0xbc, 0x75, 0x82, 0x81, 0x60, 0x2f, 0xe9, - 0xd1, 0xd3, 0xd4, 0x52, 0x63, 0xa8, 0xa8, 0x25, 0xfa, 0xcf, 0xc4, 0xff, 0x39, 0xa5, 0xc8, 0x75, - 0xc9, 0xff, 0x12, 0x39, 0xe9, 0xc1, 0x93, 0x33, 0x39, 0x90, 0xa9, 0x77, 0x78, 0xc0, 0x1f, 0x11, - 0xea, 0x69, 0x21, 0xda, 0xfa, 0x57, 0xda, 0x3b, 0x3e, 0x3c, 0xfc, 0x74, 0x74, 0x78, 0x78, 0x70, - 0xf4, 0xaf, 0xa3, 0x83, 0x7f, 0x7f, 0xfc, 0xd8, 0xfb, 0xa4, 0xa3, 0x91, 0x7a, 0x6d, 0x6f, 0xd9, - 0xd0, 0xa8, 0xf4, 0x61, 0x87, 0x9c, 0xd1, 0x34, 0x3a, 0x48, 0x38, 0xad, 0xce, 0xd2, 0x58, 0xf2, - 0x89, 0x68, 0x38, 0x9f, 0x70, 0x3e, 0xe1, 0x7c, 0x76, 0xd8, 0xf9, 0xe4, 0x86, 0x02, 0x0b, 0x47, - 0xa6, 0x2a, 0x10, 0x34, 0x72, 0x10, 0x38, 0xbe, 0x3d, 0x8c, 0xc2, 0xa1, 0x88, 0x74, 0xb0, 0x0d, - 0xab, 0x17, 0x40, 0xc3, 0x40, 0xc0, 0x3d, 0xe0, 0xde, 0x78, 0xb8, 0x67, 0xaf, 0xbd, 0x72, 0x86, - 0x43, 0x5f, 0xba, 0xce, 0x77, 0x5f, 0xd8, 0x53, 0x48, 0xd0, 0x5c, 0x8d, 0xb5, 0xee, 0x82, 0x68, - 0x0c, 0x85, 0xc6, 0x50, 0x4d, 0x03, 0x56, 0x6d, 0xc0, 0x55, 0x27, 0x80, 0x69, 0x8a, 0xcc, 0x91, - 0x91, 0xcf, 0x39, 0x3d, 0x98, 0x80, 0x8b, 0x89, 0x41, 0xb5, 0x29, 0x21, 0x67, 0xe1, 0x5d, 0x30, - 0x7a, 0xfa, 0x2e, 0x22, 0x3b, 0xec, 0x2f, 0x99, 0xe4, 0x58, 0x9f, 0x13, 0xb0, 0xee, 0x82, 0x70, - 0x02, 0xe0, 0x04, 0xc0, 0x09, 0x80, 0x13, 0xa0, 0x6d, 0xf7, 0xb3, 0x67, 0x54, 0x57, 0xb1, 0xe6, - 0x58, 0x83, 0x68, 0x3d, 0x19, 0xd6, 0xd9, 0x8f, 0xbe, 0x71, 0x93, 0x5a, 0x33, 0xae, 0x9a, 0x41, - 0x3e, 0x77, 0x19, 0xcd, 0x19, 0xd8, 0xec, 0x3a, 0x35, 0xe4, 0xe8, 0x34, 0xa9, 0xef, 0xaa, 0xab, - 0xb6, 0x73, 0xaf, 0xbe, 0xbe, 0x4c, 0x6d, 0x23, 0xbb, 0x61, 0xaf, 0x1d, 0x52, 0x1f, 0x3a, 0xe0, - 0x90, 0xaf, 0xb0, 0xf3, 0x9a, 0xcf, 0xc4, 0x14, 0x5e, 0x0d, 0xae, 0x38, 0x5c, 0x71, 0xb8, 0xe2, - 0x70, 0xc5, 0xb5, 0xed, 0x7e, 0x9c, 0x99, 0xd4, 0x61, 0x29, 0x26, 0x07, 0x5d, 0x58, 0x7b, 0x2b, - 0x6f, 0xb5, 0x17, 0x0b, 0xd7, 0x84, 0xd5, 0x80, 0xd5, 0x80, 0xd5, 0x80, 0xd5, 0xd0, 0x67, 0x35, - 0xea, 0xc2, 0x1e, 0x4b, 0x53, 0x47, 0xcf, 0x4c, 0xb6, 0xd6, 0xce, 0x9e, 0xb9, 0x75, 0xbb, 0xbb, - 0xf8, 0xfd, 0xea, 0xe4, 0xf2, 0xf1, 0xe6, 0xf6, 0xfa, 0xe6, 0xfc, 0xf6, 0xfe, 0xaf, 0xc7, 0x3f, - 0x4f, 0x2e, 0xbf, 0x9d, 0x3f, 0xde, 0x7e, 0xbb, 0x3c, 0xdf, 0xd7, 0x59, 0xdf, 0x1c, 0x6b, 0xa3, - 0xad, 0xf4, 0x52, 0x57, 0x25, 0xd7, 0xee, 0xf1, 0xe4, 0x6a, 0xfa, 0xcf, 0xfd, 0x36, 0xb2, 0x34, - 0xcd, 0xaf, 0xdf, 0xd9, 0xc5, 0x97, 0x2f, 0xe7, 0xb7, 0xe7, 0x57, 0xf7, 0x58, 0x45, 0xc2, 0x2a, - 0x5e, 0x5d, 0x63, 0xfd, 0x28, 0xeb, 0x77, 0x77, 0xf2, 0xf5, 0x5c, 0xfb, 0x02, 0x6a, 0x91, 0xfc, - 0xd0, 0x99, 0x03, 0x1c, 0xbf, 0x70, 0xa0, 0x9c, 0xf1, 0x40, 0xb9, 0x9e, 0xf2, 0x5f, 0xab, 0x96, - 0xb3, 0xe5, 0x77, 0xe9, 0xbd, 0xdf, 0xcc, 0x6e, 0xdd, 0x94, 0xaa, 0xef, 0xbd, 0x06, 0xf7, 0xe5, - 0xac, 0xcd, 0x05, 0x53, 0x13, 0x63, 0xde, 0x5a, 0xa1, 0x95, 0xda, 0x20, 0xe6, 0x42, 0xf6, 0x1e, - 0x57, 0xe9, 0xba, 0x86, 0xb0, 0x77, 0x31, 0xd4, 0x7d, 0x92, 0x81, 0x2d, 0x66, 0xab, 0xc0, 0xa8, - 0x6e, 0x3a, 0x83, 0xdc, 0xa5, 0xc0, 0xb6, 0xb7, 0x4b, 0xfd, 0x1c, 0x74, 0x54, 0x92, 0xf1, 0x56, - 0x8e, 0x51, 0x11, 0x81, 0xd9, 0x42, 0xd5, 0x65, 0x99, 0xf6, 0x39, 0x0e, 0xcf, 0x68, 0xb6, 0x40, - 0x34, 0x45, 0x50, 0x57, 0x00, 0xc2, 0x96, 0xd8, 0x4f, 0xc2, 0x64, 0x6c, 0xef, 0xc3, 0x44, 0x04, - 0x89, 0x74, 0x7c, 0xdb, 0x75, 0x86, 0x8e, 0xcb, 0xd1, 0xc7, 0x64, 0xce, 0x4b, 0xae, 0xbb, 0x02, - 0xd5, 0xb4, 0xb1, 0x1c, 0x29, 0x62, 0xe3, 0x7c, 0x39, 0x39, 0x5e, 0x4d, 0x7d, 0xf2, 0xb8, 0x4d, - 0x99, 0x36, 0xc6, 0x56, 0x9b, 0xf1, 0xd2, 0xd7, 0xe7, 0xae, 0x59, 0x37, 0x8f, 0xeb, 0xf8, 0xcf, - 0x54, 0x59, 0x63, 0xf9, 0x5f, 0x0d, 0x67, 0xc8, 0x17, 0x64, 0xa3, 0x9b, 0xbb, 0x61, 0xd0, 0xa0, - 0xd3, 0xdb, 0xb5, 0xd0, 0xcd, 0xbd, 0x85, 0x4c, 0x06, 0xfb, 0x89, 0xc2, 0x51, 0x20, 0x13, 0x7d, - 0xb9, 0xe7, 0x54, 0x3a, 0x3a, 0xf7, 0xa2, 0x73, 0x6f, 0xb3, 0x30, 0x54, 0x1b, 0x1c, 0xd5, 0x07, - 0x4b, 0xbc, 0xf0, 0xc4, 0x0c, 0x53, 0xd9, 0x32, 0xe8, 0xcf, 0x30, 0xcf, 0xe2, 0x16, 0x5b, 0x03, - 0xd4, 0x58, 0x9a, 0x7a, 0x60, 0x64, 0xb2, 0x79, 0x7b, 0x61, 0xf0, 0x6f, 0x09, 0xf6, 0x76, 0xf1, - 0x18, 0x1b, 0x02, 0x53, 0x03, 0x53, 0x03, 0x53, 0x83, 0xd3, 0x68, 0x45, 0x38, 0x83, 0xd3, 0x68, - 0x0b, 0x37, 0x8e, 0xd3, 0x68, 0xd5, 0xaf, 0x83, 0xd3, 0x68, 0xc6, 0xbe, 0x7a, 0x9c, 0x46, 0x33, - 0x41, 0xea, 0x03, 0xca, 0x65, 0xca, 0x78, 0x14, 0xed, 0x2d, 0x97, 0x59, 0x97, 0xd6, 0x7a, 0xcf, - 0x4e, 0x73, 0x5b, 0xba, 0x73, 0x97, 0xf7, 0xe3, 0x3b, 0xbe, 0x99, 0x3d, 0xc9, 0xe9, 0xf4, 0x41, - 0x26, 0x1f, 0xdf, 0x8d, 0x9f, 0x03, 0xa5, 0x34, 0xed, 0x4c, 0x9c, 0x6b, 0x4a, 0xbd, 0x36, 0xb4, - 0x21, 0xdb, 0x98, 0x5e, 0x1f, 0x8d, 0x18, 0x66, 0xd2, 0xcf, 0xe3, 0x82, 0x11, 0xbd, 0x84, 0x8b, - 0xc7, 0x1b, 0x61, 0x63, 0x16, 0x90, 0x36, 0x47, 0xda, 0xbc, 0x31, 0x48, 0x67, 0x8b, 0xe4, 0x39, - 0x35, 0xd4, 0xe2, 0x3b, 0xaa, 0x4a, 0xc0, 0xbc, 0xbd, 0x1a, 0xdf, 0xc7, 0xac, 0x4a, 0x95, 0xb0, - 0x78, 0x3c, 0x95, 0xa9, 0xac, 0xdd, 0xea, 0x58, 0x6b, 0x09, 0x79, 0x6a, 0x08, 0x55, 0xdf, 0x0f, - 0x93, 0xeb, 0x53, 0x83, 0xcb, 0x43, 0xd0, 0x3d, 0x9d, 0x1e, 0x8d, 0x1a, 0x50, 0x56, 0x57, 0x42, - 0x85, 0x17, 0xbc, 0xef, 0x3b, 0x89, 0x08, 0xdc, 0x37, 0xdb, 0xfd, 0xe1, 0x8c, 0xc3, 0x78, 0x11, - 0xc9, 0x38, 0x91, 0xae, 0xf2, 0x8b, 0xce, 0xa0, 0x70, 0x8d, 0x5c, 0x55, 0x88, 0x20, 0x95, 0xfa, - 0x90, 0xab, 0xfc, 0x38, 0xdc, 0x14, 0xf6, 0x93, 0xda, 0x5c, 0x8e, 0x09, 0xbb, 0x43, 0xc2, 0xee, - 0x88, 0xe8, 0x38, 0x49, 0x5d, 0xaf, 0x89, 0xa3, 0x96, 0xd3, 0xec, 0xf7, 0xe5, 0xab, 0xf0, 0x6c, - 0x66, 0x65, 0xcd, 0x6d, 0xcd, 0x8d, 0x57, 0x31, 0x2c, 0xf2, 0x30, 0xb6, 0x60, 0x97, 0xb1, 0x09, - 0x03, 0x62, 0x0f, 0x9d, 0x4d, 0x14, 0x76, 0x2d, 0xfa, 0x60, 0x6b, 0x9d, 0xd3, 0x7c, 0xfc, 0x41, - 0xb0, 0x8a, 0x7f, 0xcb, 0x64, 0xec, 0x14, 0xea, 0x82, 0xc8, 0x62, 0xf1, 0xc0, 0x46, 0x60, 0x23, - 0xb0, 0x11, 0xd8, 0x68, 0x38, 0x36, 0xfe, 0x33, 0x12, 0x32, 0x18, 0x68, 0x77, 0x23, 0x37, 0x5f, - 0x06, 0x0c, 0x36, 0xb0, 0x12, 0x58, 0x09, 0xac, 0x34, 0x1c, 0x2b, 0x93, 0xc8, 0xe9, 0xf7, 0xa5, - 0xcb, 0xdc, 0x6d, 0x77, 0xae, 0xe2, 0x85, 0xe2, 0x81, 0x8d, 0xc0, 0x46, 0x60, 0x23, 0xb0, 0xd1, - 0x70, 0x6c, 0x7c, 0x71, 0x02, 0x4f, 0x63, 0x8c, 0x5d, 0x2c, 0x1e, 0x31, 0x36, 0xb0, 0x11, 0xd8, - 0x08, 0x6c, 0xac, 0x03, 0x1b, 0x9b, 0xa8, 0x7f, 0xe0, 0xf4, 0x08, 0xb5, 0x14, 0x44, 0x30, 0xa1, - 0x3b, 0xb5, 0x35, 0x17, 0x27, 0x28, 0x69, 0x6c, 0xc5, 0xa5, 0x05, 0x92, 0x38, 0x5b, 0x6f, 0x35, - 0xe3, 0x3a, 0xa0, 0x2c, 0x66, 0x55, 0x0e, 0x7f, 0x59, 0x0c, 0x3b, 0xf1, 0xc6, 0x5b, 0x1c, 0x73, - 0x39, 0xb9, 0xbd, 0xd3, 0xe5, 0xbb, 0x33, 0xb8, 0x46, 0x86, 0x14, 0xf9, 0xcf, 0xa7, 0x5b, 0x12, - 0xe0, 0x9c, 0xab, 0xfe, 0xe5, 0xc0, 0x94, 0xfa, 0x17, 0x72, 0x79, 0x6e, 0x97, 0xab, 0x5f, 0xa8, - 0xe5, 0xb7, 0x2d, 0xab, 0x7d, 0xe1, 0x39, 0xd1, 0xcf, 0x7a, 0x82, 0x1f, 0x75, 0xf4, 0x88, 0x25, - 0x0d, 0x50, 0x64, 0x44, 0x92, 0xbb, 0xcc, 0xb2, 0x4d, 0x86, 0x98, 0xf0, 0xa6, 0x1d, 0x16, 0x64, - 0x02, 0x01, 0x81, 0x80, 0x40, 0x40, 0x20, 0xe0, 0x2e, 0x72, 0x69, 0x64, 0x98, 0xc3, 0x89, 0xa2, - 0x6e, 0x52, 0x27, 0x44, 0xcb, 0xc8, 0x4b, 0x94, 0xa4, 0x60, 0x60, 0x32, 0x2f, 0x32, 0x5e, 0x3c, - 0xe1, 0x0d, 0x84, 0x3d, 0x0c, 0x65, 0x90, 0x30, 0x50, 0x24, 0x2b, 0x02, 0x71, 0x5a, 0x08, 0xa7, - 0x85, 0x18, 0x9c, 0x8c, 0xce, 0x9d, 0x16, 0x5a, 0xd1, 0x23, 0x9b, 0xb7, 0x0f, 0x41, 0xa1, 0x74, - 0x44, 0x13, 0xb5, 0xa9, 0x32, 0xe2, 0x09, 0x9d, 0xaa, 0xbe, 0xab, 0x11, 0x85, 0x2f, 0x9c, 0x7e, - 0x24, 0xfa, 0x9c, 0x21, 0xc5, 0x11, 0x83, 0xac, 0x9b, 0x02, 0xe7, 0xed, 0x73, 0xe6, 0xab, 0x2d, - 0xbe, 0xd2, 0xcf, 0x79, 0x57, 0xae, 0xf0, 0xd7, 0x2b, 0x1f, 0xa7, 0x6e, 0xde, 0xf2, 0x47, 0xe1, - 0x4b, 0x20, 0x3c, 0x7b, 0x05, 0xc6, 0x56, 0xfe, 0x26, 0x05, 0xb5, 0x16, 0x92, 0x46, 0xe9, 0x53, - 0x69, 0xc0, 0x7b, 0x80, 0x3c, 0x40, 0x1e, 0x20, 0x0f, 0x90, 0x6f, 0x0d, 0xc8, 0xb7, 0x15, 0xc0, - 0xb3, 0x05, 0xe0, 0x05, 0xf1, 0x65, 0xb1, 0x00, 0x72, 0x00, 0x39, 0x80, 0x1c, 0x40, 0x6e, 0x1c, - 0x90, 0x37, 0x8a, 0xda, 0x8d, 0x54, 0xfd, 0x2e, 0xe2, 0xb2, 0x95, 0xb9, 0xda, 0x16, 0x23, 0xc9, - 0x82, 0x62, 0xe0, 0xea, 0x88, 0x8a, 0x62, 0xe0, 0x3a, 0x7c, 0x1d, 0x64, 0xb4, 0x56, 0xe5, 0x68, - 0xc8, 0x68, 0xb1, 0xe4, 0x54, 0x2c, 0xfe, 0xe4, 0x56, 0xe8, 0x89, 0x73, 0x6f, 0x20, 0x6e, 0xd2, - 0xbb, 0x32, 0x38, 0xcb, 0x15, 0xc9, 0xf8, 0x27, 0x7b, 0x7b, 0xbc, 0x22, 0xa1, 0xc8, 0x76, 0x21, - 0xdb, 0x65, 0x84, 0x53, 0xdd, 0xb2, 0x6c, 0x57, 0x81, 0x2e, 0x31, 0x57, 0xcd, 0xad, 0xbd, 0x02, - 0xe2, 0x68, 0xc4, 0xd1, 0x88, 0xa3, 0x0d, 0x8e, 0xa3, 0x51, 0x49, 0x9c, 0x21, 0xa4, 0xf4, 0x44, - 0x90, 0xc8, 0xbe, 0x14, 0x91, 0xed, 0xcb, 0x38, 0x61, 0x46, 0xc7, 0x55, 0xe9, 0x40, 0x46, 0x20, - 0x23, 0x90, 0x11, 0xc8, 0x58, 0xdb, 0x0a, 0xb1, 0x90, 0x5c, 0x5a, 0xc8, 0x2e, 0x76, 0xd2, 0x4b, - 0x97, 0xc2, 0x6b, 0x26, 0xc1, 0xb4, 0xab, 0x3f, 0x37, 0x29, 0xc6, 0xa3, 0xfa, 0x16, 0xcf, 0xc4, - 0x34, 0x56, 0xb2, 0x8c, 0x97, 0x34, 0x63, 0x70, 0x6e, 0x9a, 0xa0, 0xde, 0x99, 0xa3, 0x3a, 0xd0, - 0xec, 0x8d, 0x23, 0x0c, 0x68, 0x76, 0xed, 0xc8, 0x01, 0x9a, 0xbd, 0x98, 0x66, 0xe7, 0x23, 0x74, - 0x2d, 0x76, 0xaa, 0xfd, 0x56, 0xc6, 0x3f, 0xdb, 0xd3, 0x6d, 0x63, 0xbc, 0xa8, 0x0c, 0x04, 0xfb, - 0x58, 0x0a, 0x18, 0x75, 0x30, 0xea, 0x46, 0x04, 0x91, 0x2d, 0x63, 0xd4, 0x5d, 0x31, 0xb4, 0x3d, - 0x19, 0x09, 0x97, 0x65, 0xde, 0x69, 0xb6, 0x17, 0x97, 0xc5, 0xa2, 0x9f, 0x23, 0x18, 0x22, 0x30, - 0x44, 0x06, 0x33, 0x44, 0xc3, 0x30, 0x4a, 0xd8, 0xf4, 0x75, 0xc9, 0xb0, 0x1e, 0x32, 0xc8, 0x3a, - 0x0f, 0x46, 0x4f, 0xe3, 0xe7, 0xfd, 0xb5, 0xb3, 0xac, 0x13, 0x53, 0x88, 0xbf, 0xd3, 0xbc, 0xc1, - 0x3b, 0x9a, 0x91, 0x4b, 0xb7, 0x78, 0x14, 0xfa, 0x82, 0xd7, 0xc8, 0xcd, 0xc5, 0xf2, 0x18, 0xb9, - 0x1e, 0x8c, 0x1c, 0x8c, 0x1c, 0x8c, 0x1c, 0xdd, 0xb3, 0xcd, 0x04, 0xf1, 0x29, 0x7e, 0xb1, 0xd9, - 0x64, 0x50, 0x7e, 0x66, 0x4f, 0x97, 0x1d, 0x0c, 0x74, 0x80, 0x82, 0x76, 0x70, 0xd0, 0x05, 0x12, - 0xda, 0xc1, 0x42, 0x3b, 0x68, 0xd4, 0x01, 0x1e, 0x3c, 0x20, 0xc2, 0x04, 0x26, 0xfc, 0x9e, 0xb3, - 0x76, 0x28, 0xb0, 0xf8, 0xd2, 0xad, 0xdc, 0x8b, 0xc8, 0xea, 0x08, 0x6b, 0x75, 0x88, 0xb5, 0x3a, - 0xc6, 0x7a, 0x1c, 0x64, 0x3e, 0xbd, 0xe1, 0x48, 0x44, 0x66, 0xbb, 0xda, 0x26, 0x51, 0xb5, 0xdb, - 0xb5, 0xc6, 0x26, 0x90, 0xb8, 0xb0, 0xa2, 0xb0, 0xa2, 0xb0, 0xa2, 0xbb, 0x65, 0x45, 0x27, 0xf9, - 0xb6, 0x70, 0xc8, 0x44, 0x47, 0xe5, 0x2c, 0xea, 0x47, 0x46, 0x99, 0x17, 0x69, 0x3d, 0x64, 0xf2, - 0xf6, 0x9b, 0x13, 0x6b, 0xd0, 0x8f, 0xd9, 0xd2, 0xdc, 0x5c, 0xdf, 0xde, 0x3f, 0xde, 0x5e, 0x5f, - 0x9e, 0x3f, 0xde, 0x7e, 0xbb, 0x3c, 0x7f, 0xbc, 0xbe, 0xb9, 0xbf, 0xb8, 0xbe, 0xe2, 0xd6, 0x95, - 0x3f, 0x1d, 0x7f, 0x24, 0xc6, 0x26, 0xf2, 0x3f, 0xac, 0x72, 0xc7, 0x3f, 0xff, 0xc7, 0x2e, 0x71, - 0xfb, 0xf2, 0x3c, 0x9e, 0x5d, 0x7c, 0xf9, 0x72, 0x7e, 0x7b, 0x7e, 0x35, 0xf9, 0xd5, 0x3e, 0xfb, - 0x2d, 0xfc, 0x7a, 0xb7, 0x1b, 0xeb, 0x74, 0x77, 0xf2, 0xf5, 0x1c, 0x4b, 0xb4, 0x71, 0x89, 0xae, - 0xae, 0xb1, 0x89, 0x36, 0xaf, 0xd0, 0xc9, 0xd5, 0x5f, 0xba, 0x56, 0x88, 0x55, 0xe2, 0xc3, 0x8e, - 0x9a, 0x65, 0xc4, 0x65, 0xed, 0x88, 0xcb, 0x90, 0xc5, 0xaa, 0x7f, 0x53, 0x30, 0x67, 0xb1, 0xa8, - 0x65, 0x27, 0x3c, 0xb5, 0x6d, 0x99, 0x3c, 0x0d, 0x35, 0x6e, 0x23, 0x5f, 0xbc, 0xe7, 0xcc, 0x6f, - 0x59, 0xfc, 0xa5, 0x6e, 0x23, 0x5f, 0x3c, 0x9e, 0x8a, 0xe1, 0x4d, 0x18, 0x25, 0xb7, 0xe3, 0x1b, - 0x6c, 0x63, 0x62, 0x32, 0x7c, 0x1a, 0xfa, 0xe2, 0x95, 0x87, 0x5d, 0x99, 0xe7, 0x25, 0x17, 0xa5, - 0xa2, 0xf6, 0xa6, 0x76, 0xce, 0x04, 0x69, 0x49, 0xd4, 0xde, 0x94, 0xdf, 0x7d, 0x38, 0x9d, 0x05, - 0x0f, 0xc3, 0x18, 0x73, 0x14, 0x04, 0x93, 0x12, 0x30, 0x3b, 0x1e, 0x0a, 0xd7, 0x8e, 0x44, 0x5f, - 0x44, 0x22, 0x70, 0x59, 0x6d, 0xd3, 0xba, 0x4b, 0xa0, 0x7e, 0x06, 0x86, 0x0a, 0x86, 0x8a, 0x0d, - 0x86, 0xd9, 0xea, 0x67, 0x56, 0x34, 0x96, 0x3f, 0x09, 0xb8, 0x7a, 0x01, 0xc3, 0xb3, 0x80, 0x07, - 0xc8, 0x02, 0x22, 0x0b, 0x58, 0x2b, 0x90, 0x98, 0x49, 0x37, 0xea, 0xcb, 0x02, 0x32, 0xf4, 0x2d, - 0xd6, 0xe0, 0x17, 0x33, 0x32, 0x80, 0xef, 0xd8, 0x51, 0x99, 0xa7, 0x0b, 0xd6, 0x56, 0x6f, 0x8d, - 0xa1, 0x13, 0x96, 0x76, 0x7c, 0x46, 0x95, 0x06, 0xf0, 0x19, 0xf8, 0xac, 0x13, 0x9f, 0xd9, 0x18, - 0x0b, 0x73, 0x11, 0x1a, 0x0c, 0x4a, 0xeb, 0x19, 0x94, 0x8e, 0xe4, 0x68, 0x34, 0xf1, 0x29, 0x96, - 0xa6, 0x7c, 0x4d, 0x76, 0xbb, 0x77, 0x43, 0xe1, 0xde, 0x66, 0x37, 0xdb, 0x42, 0xb2, 0xac, 0x1f, - 0x46, 0x2f, 0x4e, 0xe4, 0xc9, 0x60, 0xc0, 0x9c, 0xbe, 0x59, 0x15, 0x8c, 0x0c, 0x0e, 0x88, 0x31, - 0x10, 0x63, 0x6c, 0xc0, 0xce, 0x9f, 0xc1, 0xe1, 0x55, 0x58, 0xcb, 0xd0, 0xe3, 0xd3, 0x8d, 0x80, - 0xac, 0xef, 0xbc, 0x89, 0xc8, 0x1e, 0x46, 0x61, 0x12, 0xba, 0xa1, 0x6f, 0xff, 0x33, 0x72, 0xfc, - 0xb4, 0xf3, 0x28, 0x1f, 0xda, 0xae, 0xbd, 0x02, 0x60, 0x17, 0xb0, 0x0b, 0xd8, 0x35, 0x18, 0x76, - 0x35, 0x69, 0xae, 0xc5, 0x7c, 0x4e, 0x40, 0xcf, 0xf9, 0x80, 0x6c, 0x15, 0x2e, 0x4f, 0xfe, 0x3a, - 0xbf, 0x7d, 0xbc, 0xb9, 0xbd, 0xbe, 0xbf, 0x3e, 0xbd, 0xbe, 0x7c, 0xfc, 0xdf, 0x6f, 0x27, 0x97, - 0x17, 0x5f, 0x2e, 0xce, 0x6f, 0xb9, 0x76, 0xba, 0x86, 0x23, 0x01, 0x9a, 0x4e, 0x48, 0xac, 0x5b, - 0x89, 0xc7, 0x6f, 0x57, 0x77, 0x37, 0xe7, 0xa7, 0xe3, 0xff, 0x3f, 0x33, 0x8d, 0xec, 0x79, 0x00, - 0x55, 0x01, 0xaa, 0xa2, 0x21, 0xd7, 0x2a, 0x74, 0x1d, 0xdf, 0xe6, 0x1c, 0x3c, 0x99, 0x49, 0x44, - 0x47, 0xf8, 0x72, 0xae, 0xd3, 0x84, 0xff, 0x81, 0xe3, 0xa4, 0xc5, 0x71, 0x9a, 0x2e, 0x2e, 0xdc, - 0xa6, 0x95, 0x9d, 0x87, 0x39, 0x19, 0xe9, 0xf0, 0x74, 0xd6, 0xa9, 0x41, 0x8c, 0x13, 0x82, 0x7a, - 0x40, 0x3d, 0xa0, 0x5e, 0xd7, 0x51, 0x8f, 0xad, 0x78, 0xed, 0x79, 0x1c, 0xbd, 0xf0, 0x07, 0x5d, - 0x13, 0xb1, 0x28, 0x54, 0x33, 0x0c, 0x10, 0x74, 0x01, 0x83, 0x76, 0x80, 0xd0, 0x0e, 0x14, 0xfa, - 0x01, 0x83, 0x37, 0x2e, 0x46, 0x11, 0x44, 0xf3, 0xef, 0x81, 0xa3, 0x4c, 0x2d, 0x05, 0x4a, 0x4d, - 0xc5, 0x69, 0x0b, 0xb2, 0x81, 0xc4, 0x40, 0x62, 0x20, 0x31, 0x90, 0x78, 0x57, 0x91, 0xb8, 0x51, - 0x67, 0x7c, 0x3a, 0x43, 0x89, 0x0d, 0x6e, 0x41, 0x1a, 0xa3, 0xbe, 0xad, 0x74, 0x7d, 0x1b, 0x93, - 0x79, 0xd7, 0x50, 0xca, 0x96, 0xc2, 0x4f, 0x0b, 0x99, 0xaf, 0xf0, 0x59, 0x44, 0x91, 0xf4, 0x84, - 0x3d, 0x8c, 0x64, 0x18, 0xc9, 0xe4, 0x8d, 0x8f, 0x06, 0xcb, 0x8b, 0x46, 0x11, 0x45, 0x39, 0xc7, - 0x0b, 0x45, 0x14, 0x28, 0xa2, 0xa8, 0xd3, 0x89, 0x9a, 0x9f, 0xb5, 0x92, 0x41, 0xf2, 0xe9, 0x90, - 0x31, 0x1b, 0x70, 0xcc, 0x20, 0xea, 0xd6, 0x09, 0x06, 0x82, 0xad, 0xe4, 0x80, 0xb7, 0x19, 0x96, - 0x86, 0x50, 0x86, 0x35, 0xea, 0xcc, 0xc4, 0xfe, 0x39, 0xa5, 0x3e, 0xb9, 0xe5, 0x7e, 0x89, 0x9c, - 0xb4, 0x80, 0xfb, 0x4c, 0x0e, 0x64, 0xea, 0x1d, 0x1d, 0xf0, 0x45, 0x2c, 0xbc, 0xad, 0xc5, 0x5a, - 0xf7, 0xaa, 0x7a, 0xc7, 0x87, 0x87, 0x9f, 0x8e, 0x0e, 0x0f, 0x0f, 0x8e, 0xfe, 0x75, 0x74, 0xf0, - 0xef, 0x8f, 0x1f, 0x7b, 0x9f, 0x38, 0x1b, 0x95, 0x6a, 0x7f, 0x7b, 0x86, 0x44, 0x4b, 0x0f, 0x6d, - 0x1c, 0xdb, 0x3f, 0x76, 0x7b, 0x13, 0x0e, 0x74, 0x5f, 0x1a, 0x8b, 0x38, 0x11, 0x09, 0x27, 0x0c, - 0x4e, 0x18, 0x9c, 0x30, 0x83, 0x9d, 0x30, 0x2e, 0x55, 0xb5, 0x70, 0x74, 0x60, 0x21, 0xe2, 0x97, - 0x83, 0xc0, 0xf1, 0xed, 0x61, 0x14, 0x0e, 0x45, 0xc4, 0x19, 0xe5, 0xae, 0x0a, 0x46, 0xe3, 0x22, - 0xc0, 0x2b, 0xe0, 0x95, 0x0d, 0x5e, 0xd9, 0x6a, 0x3f, 0x9c, 0xe1, 0xd0, 0x97, 0xae, 0xf3, 0xdd, - 0x17, 0xf6, 0x54, 0x65, 0x35, 0x55, 0x83, 0xac, 0xbb, 0x10, 0x1a, 0x65, 0x18, 0x07, 0x1c, 0xba, - 0x00, 0x44, 0x3b, 0x90, 0x68, 0x07, 0x94, 0x3a, 0x80, 0x85, 0x39, 0x52, 0x44, 0x66, 0xd2, 0x90, - 0x15, 0x44, 0xe7, 0xf9, 0x65, 0xe1, 0x3b, 0x3c, 0x11, 0x2c, 0x18, 0x3d, 0x7d, 0x17, 0x91, 0x1d, - 0xf6, 0x97, 0x4c, 0x5d, 0xcc, 0x6f, 0x54, 0xd7, 0x5d, 0x08, 0x46, 0x15, 0x46, 0x15, 0x46, 0xb5, - 0xc3, 0x46, 0x95, 0x2d, 0x63, 0xb5, 0x8a, 0x05, 0xc7, 0x8c, 0x22, 0x79, 0x33, 0x58, 0xb3, 0x1f, - 0xfe, 0xb1, 0x3e, 0x5a, 0x32, 0x5a, 0x9a, 0x40, 0x36, 0x27, 0x5e, 0x53, 0x86, 0x2b, 0x93, 0xaf, - 0x31, 0x57, 0xc2, 0xac, 0x6e, 0xab, 0xae, 0x4d, 0xeb, 0x5f, 0xa9, 0xfe, 0x4c, 0x58, 0xad, 0x6f, - 0x79, 0xcf, 0x4c, 0x69, 0x0f, 0x3b, 0xe4, 0x98, 0xae, 0xb0, 0xb2, 0x9a, 0x6a, 0xce, 0x0b, 0xaf, - 0x02, 0x97, 0x14, 0x2e, 0x29, 0x5c, 0x52, 0xf0, 0x3c, 0x38, 0x0b, 0x54, 0x09, 0xa1, 0x27, 0x05, - 0xe5, 0x7a, 0x06, 0x8b, 0x6f, 0xb8, 0x16, 0xd0, 0x1a, 0x68, 0x0d, 0xb4, 0xee, 0x32, 0x5a, 0xeb, - 0xc6, 0x06, 0xab, 0xdd, 0x93, 0xc6, 0xef, 0x2e, 0x7e, 0xbf, 0x3a, 0xb9, 0x7c, 0xbc, 0xb9, 0xbd, - 0xbe, 0x39, 0xbf, 0xbd, 0xff, 0xeb, 0xf1, 0xcf, 0x93, 0xcb, 0x6f, 0x93, 0x49, 0xbf, 0x18, 0x37, - 0xbe, 0x7d, 0x8d, 0xd2, 0x31, 0xc8, 0xe9, 0x3f, 0x31, 0x29, 0x7a, 0xe3, 0x3a, 0xcd, 0x67, 0xb3, - 0x63, 0xb5, 0xb6, 0xaf, 0xd6, 0xd5, 0x35, 0xd6, 0xa9, 0xcc, 0x3a, 0xa5, 0x93, 0xec, 0x75, 0x2d, - 0xd4, 0x6e, 0x8f, 0x21, 0x6f, 0x79, 0xdd, 0x50, 0x4b, 0x0e, 0x34, 0xf2, 0x56, 0x0f, 0x5a, 0x7a, - 0xce, 0x36, 0xde, 0xa5, 0x37, 0x79, 0x33, 0xbb, 0xc7, 0xa6, 0xaa, 0x3f, 0xf7, 0x6a, 0xdc, 0x47, - 0xb3, 0x63, 0xce, 0xc4, 0x26, 0x86, 0x3c, 0xb5, 0x10, 0x2b, 0xb5, 0x0f, 0x4c, 0x85, 0xab, 0x3d, - 0x6a, 0xa9, 0x2a, 0x63, 0x78, 0xb6, 0x18, 0x92, 0x3d, 0xc9, 0xc0, 0x16, 0xb3, 0xa7, 0x65, 0xd0, - 0x07, 0x1d, 0xc1, 0xd8, 0x52, 0x00, 0xd6, 0x6b, 0xe3, 0xb9, 0x5f, 0xce, 0x8a, 0x17, 0x9e, 0x0a, - 0x17, 0x55, 0x4d, 0x65, 0x42, 0x7a, 0x4d, 0x08, 0xbf, 0x4f, 0xa9, 0x59, 0xe7, 0x46, 0x72, 0xb5, - 0x8d, 0x5a, 0x7d, 0x83, 0x2a, 0xbc, 0xca, 0xfd, 0x24, 0x4c, 0xc6, 0x86, 0x30, 0x4c, 0xc6, 0x41, - 0xad, 0xe3, 0xdb, 0xae, 0x33, 0x74, 0x5c, 0xca, 0x79, 0xf4, 0x39, 0x3f, 0xb5, 0x4e, 0xb2, 0xaa, - 0x69, 0x20, 0x95, 0xe8, 0x93, 0xb9, 0x3d, 0x0e, 0x2e, 0x8f, 0xb9, 0xcf, 0x0f, 0x97, 0x29, 0x60, - 0x67, 0xe6, 0xd8, 0xc1, 0x9f, 0xbf, 0x4f, 0x4f, 0xbd, 0x6e, 0x0d, 0xb5, 0x9c, 0x7e, 0xaa, 0x4c, - 0xb1, 0xfc, 0x2f, 0xe3, 0xd9, 0xc4, 0x05, 0x99, 0xe8, 0x9a, 0x5a, 0x93, 0xca, 0xea, 0xf0, 0xe2, - 0x2c, 0x74, 0x4d, 0x35, 0x28, 0x02, 0x66, 0x3b, 0x39, 0x33, 0x0a, 0x64, 0xc2, 0x9f, 0x93, 0x4b, - 0xa5, 0xa2, 0x53, 0x9f, 0x61, 0x70, 0xa0, 0x0b, 0x16, 0xb4, 0xc3, 0x83, 0x76, 0x98, 0xd0, 0x0f, - 0x17, 0xcc, 0x04, 0x9e, 0xf1, 0x99, 0xb7, 0x99, 0x1f, 0x6e, 0x33, 0x42, 0x81, 0xc5, 0x7c, 0xe6, - 0x39, 0x93, 0xc9, 0x73, 0xf6, 0x99, 0x91, 0x5d, 0x7d, 0x87, 0x76, 0xd8, 0x80, 0x76, 0x40, 0x3b, - 0xa0, 0xdd, 0x44, 0x68, 0xc7, 0xa9, 0x0c, 0xce, 0x6d, 0x89, 0x53, 0x19, 0xeb, 0xe5, 0xe3, 0x54, - 0x46, 0x63, 0xaf, 0x14, 0xa7, 0x32, 0xea, 0x90, 0xf6, 0x80, 0x74, 0x7e, 0x2b, 0xd2, 0xf9, 0xeb, - 0xb2, 0x0c, 0xef, 0xd9, 0xd8, 0x4d, 0x8b, 0x3d, 0x27, 0x74, 0x3f, 0xbe, 0xb5, 0x9b, 0xd9, 0x2d, - 0x9f, 0x4e, 0xef, 0x78, 0xf2, 0xf1, 0xdd, 0xf8, 0x86, 0x3b, 0x91, 0xea, 0x37, 0x37, 0x81, 0xc8, - 0x9c, 0xb9, 0xaa, 0x6b, 0x03, 0x99, 0x9c, 0x66, 0x1c, 0x8d, 0x08, 0x33, 0x2e, 0xe7, 0xfe, 0xed, - 0x48, 0xbd, 0x24, 0x84, 0x66, 0x9d, 0xc9, 0x11, 0x2c, 0xd2, 0x87, 0x0d, 0x46, 0x9c, 0x6d, 0x4f, - 0x1f, 0x92, 0x23, 0x46, 0x0e, 0x0d, 0xb2, 0xe8, 0x47, 0xa2, 0x14, 0xb0, 0x66, 0x4f, 0xe3, 0xfa, - 0xce, 0xaa, 0xcd, 0x14, 0x16, 0x85, 0x56, 0x61, 0xc6, 0xd2, 0x55, 0x87, 0xa5, 0x96, 0x88, 0x56, - 0x43, 0x54, 0x75, 0xbd, 0x89, 0x26, 0x9f, 0xdf, 0xd4, 0x2b, 0xa8, 0x02, 0xab, 0x25, 0xaf, 0x06, - 0x40, 0xe5, 0x95, 0xa1, 0xc2, 0x8b, 0xd9, 0x0f, 0x87, 0x22, 0x4a, 0xdf, 0xc9, 0xd8, 0x5d, 0x4e, - 0x9c, 0xa4, 0x3a, 0xd2, 0xcc, 0x47, 0x4f, 0xe4, 0x44, 0x55, 0x55, 0x48, 0x25, 0x23, 0xad, 0x5c, - 0xdb, 0x43, 0x31, 0xca, 0x4c, 0xc6, 0x98, 0x6a, 0x84, 0xd9, 0x8c, 0x2f, 0x9b, 0xd1, 0xe5, 0x33, - 0xb6, 0x7a, 0xc1, 0x5f, 0xd9, 0xa8, 0xb2, 0x6d, 0x77, 0x8b, 0x98, 0x35, 0x53, 0xcc, 0x8e, 0x69, - 0x82, 0x91, 0x97, 0x40, 0x78, 0x76, 0x8a, 0xaf, 0xc2, 0x1b, 0x08, 0x7b, 0x18, 0xca, 0x20, 0x21, - 0x40, 0x49, 0xa1, 0x38, 0x35, 0x38, 0xe9, 0xb5, 0x0e, 0x4e, 0x08, 0xc7, 0x7a, 0xbb, 0x00, 0x28, - 0xea, 0xc7, 0x6e, 0xf5, 0x42, 0x8a, 0x6a, 0xed, 0xcf, 0xbe, 0xe3, 0x3d, 0xc9, 0x40, 0xc6, 0xc9, - 0x18, 0x4e, 0x9e, 0x85, 0xa2, 0x19, 0xce, 0x6d, 0xa5, 0x42, 0xa9, 0x08, 0x9f, 0x11, 0x3e, 0x23, - 0x7c, 0x6e, 0x5e, 0xa3, 0x2c, 0xa6, 0x92, 0x19, 0x62, 0x89, 0x4c, 0x3d, 0xf4, 0x9f, 0x33, 0x18, - 0x44, 0x62, 0xe0, 0x24, 0x0c, 0x1e, 0x42, 0xfe, 0x9d, 0xac, 0x97, 0x8d, 0x93, 0x06, 0x6c, 0x5d, - 0x42, 0xba, 0x8c, 0x76, 0xf4, 0x2e, 0x1f, 0x2d, 0x3b, 0x6d, 0xb0, 0xa2, 0x47, 0x36, 0x89, 0xbd, - 0xcf, 0x6d, 0xc9, 0x42, 0xe9, 0x86, 0x8d, 0x47, 0x3a, 0xc0, 0xfc, 0x8e, 0xe6, 0x55, 0x5b, 0x9b, - 0x8a, 0xeb, 0x54, 0x75, 0x9a, 0xca, 0x13, 0x55, 0x9f, 0xcf, 0xe5, 0xc9, 0xed, 0x3e, 0x5f, 0x38, - 0xfd, 0x48, 0xf4, 0x39, 0x87, 0x23, 0x1d, 0x31, 0xc8, 0xba, 0x29, 0x20, 0x83, 0x3f, 0x67, 0xdc, - 0xef, 0xe2, 0x2b, 0xfd, 0x9c, 0xa7, 0x86, 0x0b, 0x7f, 0xbd, 0xf2, 0x71, 0x4a, 0x1b, 0x2f, 0x7f, - 0x54, 0xc8, 0x4d, 0xac, 0xfc, 0x4d, 0x0a, 0x6a, 0x2d, 0x3c, 0xa0, 0x9c, 0x3e, 0x95, 0x06, 0xbc, - 0x07, 0xc8, 0x03, 0xe4, 0x01, 0xf2, 0x00, 0xf9, 0xd6, 0x80, 0x7c, 0x5b, 0x01, 0x3c, 0x5b, 0x00, - 0x5e, 0x10, 0x5f, 0x16, 0x0b, 0x20, 0x07, 0x90, 0x03, 0xc8, 0x01, 0xe4, 0xc6, 0x01, 0x79, 0xa3, - 0xa8, 0xdd, 0x44, 0xa7, 0xac, 0x25, 0x5c, 0xb6, 0x32, 0x57, 0xdb, 0x62, 0x24, 0x59, 0xb4, 0x74, - 0xd3, 0x22, 0xb6, 0x3e, 0x42, 0x1f, 0xa5, 0x55, 0x39, 0xf4, 0xda, 0xa8, 0xe2, 0xb0, 0x96, 0x9d, - 0x5e, 0xb7, 0x18, 0x8a, 0xa8, 0xae, 0xc7, 0xb7, 0x3a, 0xfe, 0xbf, 0x73, 0x6f, 0x20, 0x6e, 0xc6, - 0x37, 0xf3, 0x78, 0x92, 0xdd, 0xe7, 0xd2, 0xe7, 0x26, 0x17, 0x45, 0x3b, 0xcf, 0x8e, 0xf4, 0xd3, - 0x89, 0xa5, 0x7c, 0x5d, 0x97, 0x0a, 0x64, 0x22, 0x0b, 0x82, 0x8c, 0x2f, 0xd9, 0xd5, 0x42, 0xbf, - 0x25, 0x86, 0x10, 0x0a, 0xfd, 0x96, 0xea, 0x56, 0x59, 0x44, 0x4f, 0xfa, 0x54, 0xda, 0x8c, 0xd8, - 0x09, 0xfd, 0x96, 0x9a, 0x56, 0x7f, 0x1d, 0x30, 0xa0, 0x19, 0x0e, 0x74, 0xc1, 0x82, 0x76, 0x78, - 0xd0, 0x0e, 0x13, 0xfa, 0xe1, 0x82, 0x07, 0x36, 0x98, 0xe0, 0x83, 0x9f, 0x82, 0xc9, 0xed, 0x5c, - 0xf4, 0x5b, 0x6a, 0xf6, 0xf5, 0xa2, 0xdf, 0x12, 0xa0, 0x1d, 0xd0, 0x0e, 0x68, 0x47, 0xbf, 0x25, - 0xce, 0x4d, 0x84, 0x7e, 0x4b, 0x4b, 0xe2, 0xd1, 0x6f, 0xa9, 0xf8, 0x95, 0xa2, 0xdf, 0x92, 0x69, - 0x6f, 0x19, 0xfd, 0x96, 0x0c, 0x26, 0x33, 0xcc, 0xeb, 0xb7, 0xb4, 0x26, 0x29, 0x94, 0xcb, 0x32, - 0x98, 0xd5, 0x6f, 0xa9, 0x28, 0x3f, 0x34, 0xbb, 0x65, 0xf4, 0x5b, 0x32, 0x34, 0xd1, 0xc8, 0x95, - 0xb9, 0xaa, 0x6b, 0x03, 0xb5, 0x24, 0xb5, 0x28, 0x86, 0xb6, 0xef, 0xbc, 0x89, 0xc8, 0x1e, 0x46, - 0x61, 0x12, 0xba, 0xa1, 0xcf, 0x9a, 0x64, 0xcc, 0x4b, 0x6f, 0x38, 0xdd, 0x78, 0x80, 0x43, 0x57, - 0xfa, 0x63, 0x56, 0x1c, 0xba, 0xca, 0x3d, 0x00, 0x39, 0xe5, 0xb8, 0xac, 0x46, 0xf6, 0x3f, 0x23, - 0xc7, 0x97, 0x7d, 0x29, 0x22, 0xbe, 0x04, 0xe4, 0xda, 0x2b, 0xa0, 0x9c, 0xb3, 0x36, 0x95, 0xd6, - 0x45, 0x4f, 0xa1, 0x9c, 0xd3, 0x1c, 0x2f, 0x5e, 0x43, 0x39, 0xa7, 0x1e, 0xcd, 0xb5, 0x98, 0x67, - 0xa4, 0xeb, 0x99, 0x8d, 0x9e, 0xad, 0xc2, 0xe5, 0xc9, 0x5f, 0xe7, 0xb7, 0x8f, 0x37, 0xb7, 0xd7, - 0xf7, 0xd7, 0xa7, 0xd7, 0x97, 0x8f, 0xff, 0xfb, 0xed, 0xe4, 0xf2, 0xe2, 0xcb, 0xc5, 0xf9, 0x2d, - 0xd7, 0x4e, 0xd7, 0x30, 0x09, 0x5d, 0xd3, 0x74, 0xf8, 0x75, 0x2b, 0xf1, 0xf8, 0xed, 0xea, 0xee, - 0xe6, 0xfc, 0x74, 0xfc, 0xff, 0x67, 0xa6, 0xd1, 0xb9, 0x0f, 0x4d, 0x6b, 0x75, 0x33, 0xe7, 0xe9, - 0x46, 0x4f, 0xdf, 0x45, 0x64, 0x87, 0xfd, 0xd4, 0x55, 0x96, 0x41, 0x9c, 0x38, 0x81, 0x2b, 0x18, - 0xe7, 0xc9, 0xae, 0xbb, 0x00, 0x6c, 0x3a, 0x6c, 0x3a, 0x6c, 0xba, 0xc1, 0x36, 0x9d, 0x2d, 0x79, - 0xc4, 0x98, 0x34, 0x62, 0x4e, 0x16, 0x31, 0xa6, 0xdc, 0x74, 0x24, 0x87, 0x34, 0x65, 0x10, 0x74, - 0x25, 0x83, 0x74, 0xa6, 0x07, 0x18, 0x93, 0x3f, 0x5a, 0x92, 0x3e, 0xba, 0x5f, 0x95, 0xfe, 0x24, - 0x8f, 0xd6, 0xb7, 0x67, 0x48, 0xf2, 0xe4, 0xa1, 0x4b, 0x27, 0xaf, 0x98, 0x63, 0x32, 0x2d, 0xa7, - 0xac, 0x98, 0x7c, 0xcc, 0x1e, 0xd5, 0x9b, 0x64, 0x74, 0x8c, 0x16, 0x9d, 0xa2, 0x27, 0x19, 0xd8, - 0x62, 0xf6, 0xb4, 0x0c, 0xd6, 0x4f, 0x87, 0x5b, 0xb4, 0xe4, 0x12, 0xf5, 0xda, 0x78, 0xa2, 0x1c, - 0x67, 0xed, 0x56, 0xe5, 0xd4, 0x90, 0x02, 0xe3, 0xca, 0xab, 0x58, 0xba, 0x93, 0x61, 0x62, 0x78, - 0x39, 0xbe, 0xcf, 0x9b, 0xd9, 0x6d, 0x1a, 0x9c, 0x14, 0x4b, 0x17, 0x55, 0xc6, 0x0c, 0x3d, 0x07, - 0x33, 0x49, 0x48, 0x76, 0xcd, 0x2a, 0x08, 0x83, 0x40, 0xb8, 0x89, 0x7c, 0x26, 0xa6, 0x6d, 0x3b, - 0x7d, 0xc2, 0x6e, 0x61, 0x09, 0xbb, 0x92, 0xf4, 0x9a, 0x3d, 0x74, 0x18, 0xd8, 0x22, 0xf0, 0x88, - 0x2d, 0x41, 0xf3, 0x6a, 0x5a, 0x24, 0x1d, 0x67, 0xef, 0x6a, 0x55, 0x69, 0x90, 0x63, 0xba, 0x55, - 0xde, 0x0c, 0x82, 0x8c, 0xed, 0x1c, 0xde, 0x42, 0xc3, 0x01, 0x2d, 0xe8, 0x90, 0xdb, 0xed, 0xdb, - 0x2e, 0xc8, 0x7b, 0xc4, 0xa3, 0xc7, 0x7d, 0xc4, 0xe3, 0x43, 0x7b, 0x8e, 0x78, 0xb0, 0x02, 0x8a, - 0x2e, 0x60, 0xd1, 0x0e, 0x30, 0xda, 0x81, 0xa6, 0x2e, 0xc0, 0x61, 0xa6, 0x9f, 0x98, 0xf6, 0x31, - 0x17, 0x10, 0x6d, 0xf4, 0x51, 0x78, 0xba, 0xab, 0x55, 0x72, 0x5c, 0x38, 0x3a, 0xaf, 0xd5, 0x45, - 0xab, 0x72, 0x9f, 0x3f, 0xd3, 0x09, 0x52, 0xb5, 0x82, 0x95, 0x6e, 0xd0, 0xaa, 0x0d, 0xbc, 0x6a, - 0x03, 0xb1, 0xba, 0xc1, 0x8c, 0x17, 0xd4, 0x98, 0xc1, 0x2d, 0x5b, 0x0c, 0xf6, 0x33, 0x6d, 0x39, - 0x2d, 0xe0, 0xeb, 0x20, 0xb7, 0xd6, 0x13, 0x3a, 0xd2, 0x20, 0xdb, 0xb0, 0x7e, 0xd0, 0x8b, 0x7b, - 0xf4, 0xf3, 0x8c, 0x35, 0x2a, 0xfa, 0x55, 0x01, 0xe0, 0x17, 0xfc, 0x19, 0xbd, 0xbd, 0x9d, 0xbe, - 0x6d, 0xce, 0x99, 0x42, 0xd4, 0x32, 0x80, 0x60, 0xed, 0x56, 0xd7, 0x30, 0x90, 0x00, 0x86, 0xb6, - 0xac, 0xa1, 0x65, 0xac, 0xbf, 0x81, 0x91, 0xe5, 0x37, 0xb2, 0x7c, 0xf5, 0x3b, 0x30, 0xb0, 0x30, - 0xb0, 0x46, 0x0f, 0x5c, 0x68, 0x91, 0x69, 0xac, 0xc1, 0x1e, 0xc2, 0x08, 0xc2, 0x08, 0xc2, 0x08, - 0xc2, 0x08, 0xc2, 0x08, 0x1a, 0x62, 0x04, 0xbb, 0x62, 0xe0, 0x78, 0x07, 0x58, 0xac, 0xc7, 0x5d, - 0xc6, 0x81, 0x16, 0x30, 0x74, 0x30, 0x74, 0x30, 0x74, 0x30, 0x74, 0x30, 0x74, 0x0d, 0x0c, 0xec, - 0xd0, 0x68, 0xd5, 0x8c, 0xca, 0x6b, 0x2a, 0x0c, 0xfc, 0xb0, 0x74, 0xe7, 0x11, 0x79, 0x8a, 0xd6, - 0x73, 0x52, 0x39, 0x47, 0x85, 0xe4, 0x85, 0x33, 0x96, 0x33, 0xe7, 0x84, 0xb3, 0x94, 0x37, 0xeb, - 0xda, 0x41, 0xcc, 0xdd, 0xa5, 0x32, 0xb9, 0xba, 0xca, 0xa1, 0xb3, 0x7c, 0x49, 0x61, 0x76, 0xa4, - 0x9e, 0xb2, 0x1d, 0x4b, 0x4f, 0xfd, 0xf4, 0xa9, 0x18, 0x8e, 0x55, 0x67, 0x2c, 0x60, 0x7a, 0xe7, - 0xe7, 0x81, 0xb7, 0x3a, 0xc8, 0x24, 0xff, 0xcb, 0xfd, 0x1d, 0x6a, 0xcb, 0xeb, 0xfa, 0x52, 0x04, - 0x09, 0xdb, 0x3c, 0xf8, 0xb5, 0x96, 0x77, 0xcd, 0x75, 0x50, 0xd5, 0xc5, 0xe3, 0xd1, 0xa3, 0xaa, - 0xab, 0x66, 0xef, 0x1d, 0x55, 0x5d, 0x2c, 0x02, 0x91, 0x62, 0x06, 0xe9, 0x00, 0xd2, 0x01, 0xa4, - 0x03, 0x48, 0x87, 0xee, 0x91, 0x0e, 0x48, 0x31, 0x6f, 0x37, 0x8d, 0x48, 0x31, 0xc3, 0x08, 0xc2, - 0x08, 0xc2, 0x08, 0xc2, 0x08, 0x76, 0xc7, 0x08, 0x22, 0xc5, 0xcc, 0x8b, 0xbb, 0x48, 0x31, 0xc3, - 0xd0, 0xc1, 0xd0, 0xc1, 0xd0, 0xc1, 0xd0, 0x35, 0x69, 0xe8, 0x90, 0x62, 0xae, 0x00, 0x3f, 0x55, - 0x53, 0xcc, 0x48, 0x24, 0x23, 0x91, 0xcc, 0xf6, 0xd0, 0xcd, 0x24, 0x92, 0xb5, 0x26, 0x08, 0xad, - 0xda, 0xf3, 0xc7, 0xa7, 0xe9, 0xe3, 0x2c, 0xfd, 0xf9, 0x4e, 0xa5, 0x8d, 0xe7, 0xaf, 0x70, 0x18, - 0x46, 0x89, 0xed, 0xc9, 0x68, 0xf2, 0x4f, 0x0d, 0x99, 0xe3, 0xb5, 0x97, 0x32, 0x7c, 0xea, 0x2b, - 0x92, 0xc7, 0x48, 0x1e, 0x97, 0xf5, 0xc7, 0xbb, 0x90, 0x3c, 0xd6, 0x37, 0x01, 0x56, 0x0b, 0x2e, - 0x58, 0x98, 0xee, 0xad, 0x6e, 0x0f, 0xa2, 0xd0, 0x17, 0xfa, 0x4d, 0x41, 0x7a, 0x15, 0x58, 0x01, - 0x58, 0x01, 0x58, 0x01, 0x58, 0x81, 0x7d, 0x6e, 0x48, 0x80, 0x01, 0xa8, 0xf0, 0x4c, 0x2b, 0x7d, - 0xd8, 0xa7, 0x51, 0x16, 0x33, 0xfe, 0x17, 0x5d, 0x04, 0xf0, 0x0f, 0xf8, 0x07, 0xfc, 0x03, 0xfe, - 0x35, 0x82, 0x03, 0x0c, 0x81, 0xba, 0x21, 0xe0, 0x1b, 0xa0, 0xba, 0xed, 0x85, 0x73, 0x8e, 0x63, - 0x84, 0x49, 0x80, 0x49, 0x80, 0x49, 0xd8, 0x35, 0x93, 0xc0, 0x8d, 0x10, 0x16, 0xf3, 0xe0, 0xd6, - 0x4c, 0xa6, 0x96, 0x01, 0xae, 0xb9, 0xd5, 0xd1, 0x3c, 0xc8, 0x35, 0xbb, 0x9e, 0x86, 0x81, 0xae, - 0xb3, 0x1f, 0x4d, 0x05, 0x20, 0xcd, 0x0c, 0x78, 0xe5, 0xd5, 0xce, 0xd9, 0xcf, 0xc3, 0xce, 0xcd, - 0x37, 0x63, 0xf1, 0x52, 0x64, 0x5f, 0xb8, 0x6f, 0xae, 0x2f, 0xec, 0x38, 0x71, 0x12, 0x1d, 0xa1, - 0xea, 0xca, 0x05, 0xe0, 0x93, 0x70, 0xf9, 0x24, 0x4f, 0x4f, 0xbc, 0x14, 0x3f, 0xbc, 0x91, 0x0a, - 0xde, 0x48, 0xba, 0xf8, 0xf0, 0x43, 0x8c, 0x00, 0x03, 0x84, 0xa5, 0x15, 0x9e, 0x49, 0x0f, 0x21, - 0xa9, 0x81, 0x81, 0x64, 0x3f, 0xc3, 0x7e, 0x00, 0x68, 0x07, 0xb4, 0x77, 0x1c, 0xda, 0xd9, 0xcf, - 0xad, 0x3f, 0x4f, 0x27, 0x16, 0x6b, 0x0a, 0xcd, 0x26, 0xe2, 0x71, 0x56, 0xa1, 0xae, 0x29, 0x23, - 0xcc, 0xc0, 0xa3, 0x1b, 0x80, 0x6a, 0x03, 0xa2, 0xda, 0x00, 0xa9, 0x3e, 0x60, 0xd2, 0x13, 0x65, - 0xb7, 0xef, 0x9c, 0x42, 0x9c, 0x44, 0x32, 0x18, 0xe8, 0x3c, 0xa6, 0x70, 0xdc, 0x81, 0x33, 0x6c, - 0x29, 0x50, 0xf3, 0x66, 0xbb, 0x8b, 0x8d, 0x01, 0x77, 0x3e, 0x0b, 0x16, 0x01, 0x16, 0x01, 0x16, - 0x01, 0x16, 0x01, 0x16, 0xc1, 0xd4, 0xf3, 0x5f, 0xec, 0xb0, 0x8f, 0xd3, 0x5d, 0x2b, 0xc2, 0x71, - 0xba, 0xab, 0xb6, 0xd3, 0x5d, 0xdc, 0xd5, 0x38, 0xb5, 0x9e, 0xe5, 0x4a, 0x01, 0x72, 0x87, 0xb8, - 0xd0, 0x70, 0x28, 0xa2, 0x74, 0x67, 0x39, 0xbe, 0xae, 0xf4, 0x57, 0xfe, 0x12, 0x48, 0x80, 0x19, - 0xea, 0x9a, 0x82, 0x25, 0x6d, 0xce, 0xf5, 0xec, 0x4a, 0x02, 0x4c, 0x17, 0x1c, 0x58, 0x48, 0x81, - 0x95, 0x7f, 0xa6, 0xa1, 0x13, 0xd5, 0xd2, 0xea, 0x79, 0xcd, 0x75, 0xd0, 0xea, 0x99, 0xcb, 0x00, - 0xa0, 0x2a, 0xb3, 0x71, 0x33, 0x80, 0x56, 0xcf, 0x95, 0x05, 0xa2, 0xd5, 0x73, 0x55, 0x48, 0x42, - 0xf3, 0xaf, 0xfa, 0x60, 0xaa, 0x36, 0xb8, 0xaa, 0x0d, 0xb6, 0xd6, 0xc3, 0x17, 0x9a, 0x7f, 0xe9, - 0xda, 0xfd, 0x68, 0xfe, 0x85, 0x56, 0xcf, 0xaa, 0xa6, 0x11, 0xad, 0x9e, 0x61, 0x04, 0x61, 0x04, - 0x61, 0x04, 0x61, 0x04, 0xbb, 0x63, 0x04, 0xd1, 0xea, 0x99, 0x17, 0x77, 0xd1, 0xea, 0x19, 0x86, - 0x0e, 0x86, 0x0e, 0x86, 0x0e, 0x86, 0xae, 0x49, 0x43, 0x87, 0x56, 0xcf, 0xa5, 0x95, 0x75, 0xa7, - 0x8a, 0x3c, 0xb4, 0x26, 0x7e, 0xac, 0xda, 0xcb, 0x3e, 0x6e, 0xd2, 0xc7, 0xd9, 0xd9, 0x16, 0xbe, - 0xc3, 0x28, 0x4c, 0xa6, 0xaf, 0x50, 0x4f, 0xb7, 0xc6, 0xd5, 0x0b, 0x18, 0x5e, 0x01, 0x72, 0x80, - 0x04, 0x20, 0x12, 0x80, 0x25, 0x7d, 0x2a, 0xb4, 0x65, 0x31, 0x0f, 0x18, 0x2c, 0xd4, 0x82, 0x54, - 0x08, 0xc8, 0x45, 0xf4, 0x24, 0x83, 0xd4, 0xf3, 0xd0, 0xd9, 0xbb, 0xbd, 0xf8, 0x32, 0x28, 0x05, - 0xe4, 0x32, 0x04, 0x28, 0x05, 0x6c, 0xd0, 0x04, 0xa0, 0x14, 0xd0, 0x34, 0x48, 0x80, 0x09, 0x50, - 0x34, 0x01, 0x9a, 0xaa, 0xc0, 0xf3, 0x97, 0x00, 0xf4, 0x03, 0xfa, 0x01, 0xfd, 0x80, 0x7e, 0x54, - 0x81, 0x37, 0x05, 0xfb, 0xac, 0x19, 0xb8, 0xec, 0xd5, 0x72, 0x0e, 0xa1, 0x03, 0xc1, 0x03, 0x70, - 0x07, 0xb8, 0xb7, 0x0d, 0xdc, 0x99, 0x53, 0xee, 0xcc, 0x67, 0xc6, 0x19, 0xb0, 0x77, 0xaf, 0xc1, - 0xf7, 0x37, 0x3b, 0x13, 0xce, 0xb0, 0xc8, 0xbc, 0xa7, 0xc0, 0xb5, 0x9c, 0xfe, 0xd6, 0x72, 0xea, - 0x9b, 0xf7, 0xb4, 0x37, 0xf5, 0x7d, 0x32, 0x27, 0xfe, 0x9a, 0x49, 0xf8, 0x31, 0xa8, 0x7b, 0xad, - 0x19, 0x3d, 0x1a, 0xa8, 0xab, 0x03, 0x80, 0xda, 0x37, 0x15, 0xb7, 0x18, 0xd7, 0xd6, 0xd2, 0xbe, - 0xa5, 0x08, 0xbb, 0x47, 0xdf, 0xae, 0x51, 0xdb, 0x22, 0xd5, 0x5f, 0xb0, 0xc2, 0xcb, 0x65, 0x1d, - 0xb1, 0xa4, 0x61, 0x6a, 0x0a, 0xd1, 0x6f, 0x27, 0x93, 0x30, 0x1c, 0x7e, 0x39, 0x7b, 0x61, 0x1b, - 0x97, 0xe7, 0xcd, 0xee, 0x69, 0xb3, 0x7b, 0xd6, 0x3a, 0x0a, 0xcf, 0xea, 0x05, 0x4e, 0xb2, 0x6f, - 0xac, 0x69, 0x14, 0x11, 0x07, 0xb5, 0x41, 0xa4, 0x32, 0x6a, 0x02, 0x38, 0xa6, 0xa6, 0xfc, 0xcc, - 0x7d, 0xb7, 0x77, 0x0f, 0xd8, 0xc8, 0x04, 0x43, 0x97, 0x61, 0x8d, 0x4a, 0x10, 0xb4, 0x16, 0xd4, - 0xd8, 0x9a, 0xd8, 0x77, 0x08, 0xd0, 0x82, 0x9f, 0x5c, 0xf3, 0xf1, 0x17, 0xde, 0x43, 0x5e, 0x28, - 0x80, 0x0d, 0x1e, 0x1b, 0x3c, 0x36, 0xc2, 0xee, 0x61, 0x9b, 0x20, 0xdf, 0x41, 0x6c, 0x23, 0x55, - 0x0f, 0x17, 0xc0, 0x1a, 0xa1, 0x26, 0x10, 0x88, 0x06, 0x44, 0x03, 0xa2, 0xb1, 0x4d, 0x43, 0xef, - 0x0c, 0x98, 0x3d, 0x39, 0xc3, 0xa1, 0xf0, 0xec, 0x58, 0x44, 0xcf, 0xd2, 0x15, 0xb6, 0x0c, 0x12, - 0x11, 0xf5, 0x1d, 0x97, 0xda, 0x22, 0x2d, 0x7b, 0x19, 0x5b, 0xe4, 0xd3, 0xc0, 0xae, 0x07, 0xb0, - 0x03, 0xd8, 0xb5, 0x11, 0xec, 0xa8, 0x2d, 0xc6, 0xf6, 0xd7, 0xe8, 0x13, 0xcf, 0x29, 0xf3, 0x79, - 0x5f, 0xf4, 0x4d, 0x57, 0xa1, 0xe6, 0x75, 0x59, 0x6a, 0x5d, 0xd8, 0x6a, 0x5c, 0x38, 0x6b, 0x5b, - 0x34, 0xd5, 0xb4, 0x70, 0xd7, 0xb2, 0x68, 0xab, 0x61, 0xd1, 0x56, 0xbb, 0xa2, 0xaf, 0x66, 0xa5, - 0xd9, 0x1a, 0x07, 0xb6, 0xda, 0x14, 0x0d, 0x07, 0xb4, 0x39, 0x0f, 0x64, 0x97, 0x38, 0x80, 0x3d, - 0xfd, 0x6c, 0x0d, 0xf2, 0x2c, 0xfd, 0x0d, 0xfd, 0xb0, 0x75, 0x5b, 0x12, 0xdb, 0xd3, 0x1a, 0x18, - 0x0d, 0x70, 0xcc, 0x53, 0x13, 0xc3, 0x5a, 0x0b, 0xc3, 0x5a, 0x03, 0xc3, 0x53, 0xfb, 0xb2, 0xab, - 0x05, 0x09, 0x5a, 0x9c, 0x73, 0x4b, 0x4f, 0x99, 0xc2, 0xd7, 0xf4, 0x5e, 0xef, 0x26, 0xb7, 0x7a, - 0x31, 0xbb, 0x53, 0x42, 0x75, 0x4b, 0x3d, 0xf1, 0x15, 0x4f, 0xad, 0x02, 0x43, 0x71, 0x02, 0x39, - 0x56, 0x3a, 0x40, 0x0e, 0x6f, 0x07, 0x22, 0xa5, 0x76, 0xe5, 0xf0, 0xc8, 0x71, 0x12, 0xcf, 0xb4, - 0x52, 0xd6, 0xe9, 0xa4, 0x88, 0x7c, 0x10, 0xf9, 0x20, 0xf2, 0xd1, 0x16, 0xf9, 0xb0, 0xcd, 0x72, - 0x63, 0xaa, 0xc3, 0x27, 0xc4, 0x18, 0xef, 0x88, 0xb8, 0xc7, 0x33, 0x9d, 0x93, 0x7f, 0x1a, 0x27, - 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x9a, 0xc9, 0xb2, 0x90, 0x61, 0x0e, 0x9c, 0x4a, 0x97, - 0x39, 0x15, 0x6a, 0xc9, 0x33, 0x3f, 0x73, 0xa2, 0x3e, 0xc4, 0xb1, 0x1e, 0x8a, 0x84, 0x6f, 0x28, - 0x23, 0xfb, 0xd4, 0x35, 0x14, 0x40, 0x83, 0x3c, 0x41, 0x01, 0x34, 0xeb, 0x10, 0xc3, 0xce, 0x54, - 0xd6, 0xf0, 0x36, 0x9a, 0xd3, 0xd2, 0x45, 0x0a, 0xf0, 0x06, 0x78, 0x03, 0xbc, 0xb1, 0x37, 0x66, - 0xeb, 0x24, 0xc4, 0x31, 0x79, 0x6e, 0x5c, 0x9d, 0x92, 0x00, 0x6d, 0x80, 0x36, 0x40, 0x1b, 0x6b, - 0xe3, 0xb1, 0xee, 0xc0, 0x5a, 0x98, 0x38, 0xbe, 0x3d, 0x0c, 0x13, 0x11, 0x24, 0xd2, 0xf1, 0x6d, - 0xd7, 0x19, 0x3a, 0xae, 0x4c, 0xde, 0x18, 0xd0, 0x6d, 0x9d, 0x64, 0xd4, 0x41, 0x03, 0xe4, 0x3a, - 0x06, 0x72, 0xe4, 0xdc, 0xfe, 0x44, 0x99, 0x62, 0xf9, 0x5f, 0xc6, 0x1c, 0xd7, 0x82, 0x4c, 0x9e, - 0x1c, 0x57, 0x0f, 0x39, 0xae, 0xba, 0x55, 0x57, 0x9b, 0x0a, 0x6b, 0x53, 0x65, 0x7d, 0x2a, 0x4d, - 0x53, 0x6d, 0xa2, 0x8a, 0xb3, 0xa9, 0x7a, 0x26, 0x68, 0x14, 0xc8, 0x44, 0x43, 0x0b, 0xcf, 0xb1, - 0x54, 0xb4, 0xf0, 0x34, 0x0c, 0x0e, 0x74, 0xc1, 0x82, 0x76, 0x78, 0xd0, 0x0e, 0x13, 0xfa, 0xe1, - 0x82, 0x07, 0x36, 0x98, 0xe0, 0x83, 0x2f, 0x2c, 0x5a, 0xbb, 0x73, 0x67, 0x7e, 0xb8, 0xcd, 0x08, - 0x05, 0x16, 0x7a, 0x33, 0x97, 0x7f, 0x26, 0x9e, 0x3a, 0xcd, 0xdc, 0x7b, 0xe5, 0xa8, 0xd7, 0x04, - 0xb4, 0x03, 0xda, 0x01, 0xed, 0xad, 0x85, 0xf6, 0x91, 0x0c, 0x92, 0x4f, 0x87, 0x1a, 0x30, 0xfd, - 0x98, 0x51, 0xe4, 0xad, 0x13, 0x0c, 0xc6, 0x77, 0xfb, 0x1f, 0xd6, 0x4d, 0xa4, 0x61, 0x00, 0xec, - 0x57, 0x19, 0x68, 0x1c, 0x49, 0xac, 0x65, 0xce, 0x74, 0x26, 0xfe, 0xcf, 0xa9, 0x8d, 0xd1, 0x25, - 0xff, 0x4b, 0xe4, 0xa4, 0x99, 0xa3, 0x33, 0x39, 0x90, 0x69, 0x99, 0xd5, 0x01, 0xff, 0xdc, 0x61, - 0x0d, 0x43, 0x71, 0xbf, 0x3a, 0xaf, 0xad, 0x7f, 0xa5, 0xbd, 0xe3, 0xc3, 0xc3, 0x4f, 0x47, 0x87, - 0x87, 0x07, 0x47, 0xff, 0x3a, 0x3a, 0xf8, 0xf7, 0xc7, 0x8f, 0xbd, 0x4f, 0xbd, 0x8f, 0x2d, 0x7e, - 0xcb, 0x86, 0x4e, 0x10, 0x7e, 0x40, 0x43, 0xfa, 0x16, 0x35, 0x30, 0x5f, 0x97, 0x6b, 0x78, 0xcf, - 0xc6, 0x71, 0x5a, 0x7a, 0xea, 0x15, 0xef, 0xc7, 0xf7, 0x77, 0x33, 0xbb, 0xef, 0xd3, 0xe9, 0x6d, - 0x4f, 0x3e, 0xbe, 0x1b, 0xdf, 0x35, 0x9a, 0x99, 0x1b, 0xbc, 0xbd, 0xcc, 0xaa, 0x7d, 0x2d, 0xde, - 0x4b, 0x26, 0x57, 0xc3, 0x92, 0x3a, 0xb8, 0x70, 0xcc, 0x24, 0x61, 0xab, 0x9c, 0xc0, 0x81, 0x61, - 0xed, 0x71, 0x29, 0x92, 0x8a, 0xdc, 0x71, 0x24, 0xd7, 0x54, 0x1f, 0xe2, 0xd9, 0x19, 0x05, 0xac, - 0xd9, 0xd3, 0xb8, 0xbe, 0x84, 0x29, 0x3c, 0xb4, 0xd3, 0x30, 0x2c, 0xa7, 0x60, 0x58, 0x4e, 0xbf, - 0xd0, 0x4e, 0xbd, 0x54, 0x5d, 0xef, 0x93, 0xd1, 0x60, 0x7c, 0xbb, 0xc2, 0x53, 0x22, 0x05, 0x88, - 0xc6, 0x63, 0x7d, 0x77, 0x9e, 0x99, 0x63, 0xf0, 0x39, 0xef, 0x32, 0x14, 0xfe, 0x7a, 0xe5, 0xe3, - 0xd4, 0x9d, 0x58, 0xfe, 0xa8, 0xd0, 0xb9, 0x50, 0xb5, 0x5c, 0x67, 0x22, 0x76, 0x23, 0x39, 0x9c, - 0x3a, 0x4d, 0xfb, 0x41, 0x18, 0xa0, 0x6b, 0x46, 0xe1, 0xe0, 0x7e, 0x98, 0x42, 0x35, 0x53, 0xb8, - 0xb0, 0x84, 0x5d, 0xa9, 0xb2, 0xc9, 0x86, 0x16, 0xb1, 0xd5, 0xd8, 0x30, 0x8c, 0x41, 0x62, 0xd6, - 0x76, 0x26, 0xad, 0x67, 0xd3, 0x7e, 0x4e, 0x14, 0xd0, 0x8a, 0x06, 0xdc, 0xa8, 0xa0, 0x0d, 0x1d, - 0xb4, 0xa1, 0x84, 0x6e, 0xb4, 0x60, 0xe2, 0xbc, 0xea, 0x46, 0x2b, 0xcd, 0xee, 0xeb, 0x43, 0x55, - 0x77, 0x8a, 0x46, 0xa6, 0xe8, 0x22, 0x51, 0x14, 0x36, 0x35, 0x3f, 0x47, 0x52, 0x6d, 0x6f, 0x96, - 0x7f, 0x4f, 0x15, 0x2c, 0xd6, 0x7e, 0x24, 0x86, 0xc2, 0x49, 0x6c, 0x4f, 0xf8, 0xf2, 0x59, 0x44, - 0x6f, 0xb6, 0xfb, 0xc3, 0x89, 0x1c, 0x37, 0x11, 0x91, 0x8c, 0x13, 0xe9, 0x56, 0x7e, 0x67, 0x19, - 0xd6, 0x6d, 0x91, 0x5b, 0x35, 0x08, 0x52, 0x22, 0x46, 0x94, 0xab, 0xac, 0x29, 0xe8, 0xcf, 0xd6, - 0x5d, 0x9a, 0x8a, 0xec, 0x6c, 0x48, 0xce, 0x86, 0xdc, 0x9c, 0xdd, 0xa3, 0xf5, 0x06, 0xdd, 0xca, - 0x64, 0x06, 0xbd, 0x15, 0x88, 0x22, 0x7d, 0xa1, 0x07, 0x1d, 0x62, 0x11, 0x3d, 0x8b, 0x28, 0x6d, - 0x4f, 0x39, 0x88, 0x64, 0xf2, 0x66, 0x0f, 0xa3, 0xd0, 0x15, 0x71, 0xcc, 0x06, 0x13, 0x65, 0x2f, - 0x00, 0xbc, 0x00, 0x5e, 0x00, 0x2f, 0x8c, 0xc7, 0x0b, 0xb6, 0xf3, 0x5b, 0xdc, 0xe7, 0xb6, 0x14, - 0xe3, 0x4b, 0x03, 0x10, 0x41, 0x39, 0x85, 0xd2, 0x05, 0x3c, 0x50, 0x4d, 0x91, 0xe8, 0x45, 0x03, - 0x55, 0xe6, 0x87, 0xe3, 0x5c, 0x15, 0xdf, 0x79, 0x2a, 0xb4, 0x2f, 0x06, 0x05, 0xdb, 0xdd, 0x23, - 0x8e, 0x2c, 0xe7, 0x9d, 0x38, 0xcf, 0x39, 0xa1, 0x75, 0x27, 0xb8, 0x51, 0x03, 0xd4, 0x98, 0x89, - 0x15, 0x35, 0xae, 0x75, 0x27, 0xf7, 0x39, 0x24, 0xce, 0xf3, 0x47, 0x4c, 0xe7, 0x8e, 0x1a, 0xec, - 0x87, 0x8c, 0x3e, 0xf0, 0x80, 0x52, 0x40, 0x69, 0x47, 0xa0, 0x94, 0xed, 0xdc, 0x0f, 0xe3, 0x79, - 0x1f, 0xe6, 0x73, 0x3e, 0x8c, 0xa7, 0xa5, 0x74, 0x9c, 0xeb, 0xd1, 0x74, 0xf8, 0x43, 0xd7, 0x39, - 0x1e, 0x9d, 0x27, 0x3b, 0x18, 0xcf, 0xed, 0x68, 0x39, 0xaf, 0xa3, 0xfb, 0x55, 0xe9, 0x3f, 0x9f, - 0xa3, 0xf5, 0xed, 0x19, 0x72, 0xee, 0xe5, 0x01, 0x07, 0x1f, 0x2a, 0xc8, 0xa1, 0xe7, 0xec, 0xf5, - 0x9e, 0xa0, 0xa1, 0x66, 0xf2, 0xf5, 0x1c, 0x93, 0x31, 0xad, 0xf0, 0xb8, 0xf9, 0xca, 0x0d, 0xc6, - 0x83, 0x2e, 0x7a, 0x5e, 0xb9, 0x09, 0x05, 0x1c, 0xa3, 0xc0, 0x79, 0x76, 0xa4, 0xef, 0x7c, 0xf7, - 0x85, 0x9d, 0xc8, 0x27, 0xc1, 0x96, 0x9a, 0xdd, 0x26, 0x18, 0x29, 0x59, 0xed, 0x51, 0x13, 0x52, - 0xb2, 0xea, 0xf0, 0x85, 0x94, 0xec, 0x14, 0x1f, 0x54, 0x4e, 0xb5, 0x51, 0xce, 0xe2, 0x90, 0x35, - 0xfd, 0x00, 0xa9, 0x56, 0xa4, 0x5a, 0x6b, 0xd3, 0x72, 0xc5, 0xd3, 0x66, 0xfa, 0x75, 0x7c, 0x8f, - 0x71, 0xbd, 0x14, 0x4e, 0x91, 0xa9, 0x9d, 0x1e, 0x23, 0x9d, 0x1a, 0x23, 0x9d, 0x16, 0x53, 0x3b, - 0x25, 0x56, 0x76, 0xfd, 0x14, 0x9d, 0x61, 0xba, 0x13, 0xbc, 0x5f, 0xa5, 0x5a, 0x8f, 0xe4, 0xe3, - 0x96, 0x53, 0xed, 0xed, 0xdb, 0xb2, 0xc4, 0x92, 0x56, 0x33, 0x4a, 0x2a, 0xaa, 0x5a, 0xd1, 0x08, - 0x55, 0x36, 0x3e, 0x2a, 0x46, 0x87, 0x68, 0x6c, 0x54, 0x8d, 0x0c, 0xd9, 0xb8, 0x90, 0x8d, 0x0a, - 0xdd, 0x98, 0xf0, 0x82, 0x61, 0x65, 0xa3, 0xa1, 0x6a, 0x2c, 0x2a, 0x1a, 0x89, 0x12, 0xba, 0xb5, - 0x47, 0x78, 0xfe, 0x0a, 0x46, 0xa0, 0x1a, 0xf8, 0x2b, 0x81, 0xbe, 0x12, 0xd8, 0x57, 0x03, 0xf9, - 0x6d, 0xeb, 0x51, 0x11, 0xd4, 0x49, 0x60, 0x5e, 0x62, 0xd7, 0xa8, 0xe3, 0xf7, 0x66, 0x45, 0x5a, - 0xbf, 0x69, 0x8a, 0x7f, 0xb3, 0x66, 0xd9, 0xca, 0x2e, 0x97, 0xca, 0x32, 0x6d, 0x58, 0x9d, 0xca, - 0xab, 0x52, 0xbc, 0x18, 0xf9, 0x47, 0x2d, 0x78, 0xcc, 0xcd, 0x76, 0xa9, 0x0c, 0x0a, 0x6c, 0xb1, - 0x3b, 0x5b, 0xed, 0x4c, 0x19, 0xbb, 0x52, 0xd1, 0x8e, 0x94, 0xb5, 0x1b, 0x95, 0xed, 0x44, 0x65, - 0xbb, 0x50, 0xdd, 0x0e, 0x54, 0xdb, 0xa0, 0x5b, 0x71, 0xbd, 0x2c, 0x8e, 0x6f, 0xc1, 0xed, 0x82, - 0xbd, 0xb4, 0xb7, 0xe1, 0xfe, 0xb6, 0xb4, 0x14, 0xd8, 0xb2, 0xd9, 0x8a, 0x5a, 0x02, 0xac, 0xdb, - 0x7c, 0x2b, 0xe7, 0x72, 0xa7, 0xd7, 0x8d, 0xad, 0xe4, 0x87, 0xb0, 0xbe, 0x3b, 0xb1, 0xb0, 0xee, - 0x4f, 0x6e, 0x2e, 0xac, 0xa9, 0x9e, 0x58, 0x2f, 0x32, 0xf9, 0x31, 0xfe, 0x47, 0x76, 0x56, 0xf2, - 0x4e, 0x44, 0xcf, 0xd2, 0x15, 0x96, 0x0c, 0xfa, 0x61, 0xf4, 0xe4, 0x6c, 0x98, 0xc5, 0xb4, 0xa5, - 0x36, 0x54, 0xcb, 0x36, 0x2f, 0x75, 0x6c, 0xd6, 0xec, 0xcd, 0x5e, 0xe6, 0x58, 0x6a, 0xb5, 0x2d, - 0xbf, 0xad, 0xce, 0x71, 0x7f, 0xf1, 0xa2, 0x19, 0xda, 0x6e, 0x5d, 0x9d, 0xac, 0x2a, 0xaa, 0xe8, - 0xdb, 0x5b, 0x9e, 0xbb, 0xb6, 0x4d, 0x58, 0x72, 0x33, 0x56, 0xf6, 0xf1, 0xab, 0xf8, 0xf6, 0xa4, - 0xb3, 0xdd, 0x55, 0x3d, 0x7a, 0x65, 0x4f, 0x5e, 0xd9, 0x83, 0xa7, 0x9e, 0xad, 0xfe, 0xc5, 0xeb, - 0x98, 0x94, 0xb1, 0xe1, 0xcd, 0xc2, 0xe9, 0xcc, 0x17, 0x31, 0x19, 0x4a, 0x4b, 0xb8, 0xa4, 0x26, - 0xc3, 0xe8, 0xf6, 0x84, 0x03, 0x33, 0x84, 0xe6, 0x9c, 0xd5, 0xd2, 0xf0, 0x59, 0xc1, 0xcd, 0xad, - 0x6f, 0xc3, 0x99, 0x07, 0x9b, 0x55, 0x62, 0xa4, 0x16, 0x42, 0x66, 0xf9, 0x0c, 0x59, 0xe7, 0xe0, - 0xf2, 0xc6, 0x49, 0x7e, 0x9c, 0x86, 0x4f, 0xc3, 0xd1, 0x24, 0xae, 0x34, 0x19, 0x35, 0xc7, 0xf1, - 0xec, 0x78, 0x21, 0x66, 0xf7, 0xda, 0x52, 0xf4, 0xcc, 0x3d, 0x46, 0x5d, 0x28, 0xba, 0x7a, 0xe1, - 0xea, 0x68, 0xba, 0x56, 0x02, 0x3f, 0xaa, 0x2a, 0xef, 0x4b, 0xf3, 0xc0, 0xb5, 0xc2, 0xbe, 0x6d, - 0x33, 0xc8, 0x96, 0xdf, 0xd7, 0xb5, 0x81, 0xed, 0xd2, 0x27, 0x0f, 0xab, 0x9c, 0xc0, 0x66, 0x32, - 0xad, 0x04, 0x89, 0x56, 0xb0, 0xc6, 0x5b, 0xb9, 0xb2, 0xe5, 0x55, 0x99, 0xdf, 0xe1, 0xe4, 0xff, - 0xa6, 0xba, 0xbd, 0xee, 0xde, 0xf6, 0x65, 0xfc, 0xc5, 0xf9, 0x29, 0x6e, 0xc3, 0x30, 0xff, 0xb2, - 0x56, 0xef, 0x77, 0x7f, 0xf1, 0x57, 0x4b, 0x37, 0x75, 0x26, 0xc6, 0xaa, 0x34, 0xb9, 0x91, 0x5f, - 0x7b, 0xbf, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x03, 0xcd, - 0x8d, 0x55, 0x4d, 0x7a, 0x10, 0x00, + 0x81, 0x3c, 0xe7, 0xaf, 0x56, 0x41, 0x90, 0xe3, 0xf0, 0x15, 0x50, 0x10, 0x28, 0x08, 0x14, 0x04, + 0x0a, 0x1a, 0x18, 0x8a, 0xcf, 0x54, 0x69, 0x2a, 0xdf, 0xd3, 0x22, 0x39, 0x33, 0xc1, 0xf8, 0x21, + 0x15, 0xbd, 0x19, 0x81, 0x48, 0xc3, 0x35, 0x32, 0x5a, 0x61, 0x88, 0xe3, 0x5a, 0x99, 0x66, 0x89, + 0x01, 0x12, 0x0f, 0xeb, 0x76, 0x74, 0x24, 0x1e, 0xb8, 0xa4, 0x6d, 0x4b, 0x43, 0xe2, 0x21, 0x4e, + 0x28, 0x17, 0xf0, 0xa9, 0xaf, 0x5e, 0x95, 0xcc, 0x83, 0x0c, 0x12, 0x11, 0xb1, 0x1e, 0xb0, 0xc8, + 0x59, 0x44, 0xce, 0x01, 0x39, 0x07, 0x23, 0xa8, 0x68, 0xcb, 0x72, 0x0e, 0x4e, 0x1c, 0x87, 0xae, + 0x74, 0x12, 0xe1, 0xd9, 0xd4, 0xfe, 0xa3, 0x1b, 0x17, 0xe6, 0x96, 0xef, 0x30, 0xac, 0x91, 0xdb, + 0x11, 0x22, 0x50, 0x44, 0xa0, 0x2d, 0x8e, 0x40, 0xd9, 0x9a, 0xb9, 0x69, 0x39, 0x74, 0x95, 0x5b, + 0xda, 0x1a, 0x0e, 0x5f, 0x31, 0x8b, 0x53, 0xec, 0x22, 0x95, 0x0e, 0xa8, 0xd0, 0x0e, 0x19, 0xba, + 0xa0, 0x43, 0x3b, 0x84, 0x68, 0x87, 0x92, 0x3a, 0x20, 0x85, 0x07, 0x5a, 0x98, 0x20, 0x86, 0x5f, + 0xec, 0xca, 0xad, 0x5e, 0xbe, 0xa2, 0xd1, 0x1c, 0x4f, 0xf8, 0xc4, 0x68, 0xb3, 0x8b, 0x87, 0xbd, + 0xf8, 0x96, 0x1a, 0x47, 0xe3, 0x39, 0xbe, 0x43, 0x60, 0xc5, 0x3b, 0x0f, 0xb6, 0x1b, 0x6c, 0x37, + 0xd8, 0x6e, 0xb0, 0xdd, 0x60, 0xbb, 0xd1, 0x76, 0xf8, 0xcc, 0xac, 0x0d, 0x85, 0xf7, 0x50, 0x5a, + 0x1e, 0x07, 0x19, 0x0f, 0xa7, 0x61, 0x63, 0xc1, 0xc6, 0x82, 0x8d, 0x05, 0x1b, 0x4b, 0x07, 0x36, + 0x16, 0xa3, 0x76, 0x91, 0x46, 0xe5, 0xb9, 0xfa, 0x0e, 0xcb, 0x65, 0x5f, 0xc9, 0x52, 0xc1, 0x90, + 0x59, 0xe3, 0xac, 0x64, 0xc8, 0xf9, 0xcb, 0x11, 0xd7, 0x96, 0xa9, 0x01, 0xdd, 0x35, 0x56, 0x38, + 0xd4, 0x82, 0xed, 0x2b, 0xb8, 0x7e, 0xd4, 0x25, 0x4e, 0xc7, 0x59, 0x09, 0x91, 0x19, 0x65, 0xa9, + 0x88, 0xe0, 0x42, 0x0d, 0xf3, 0x9b, 0x9a, 0xae, 0x67, 0xe3, 0xf7, 0xb5, 0x65, 0xfc, 0x2c, 0xf6, + 0x4a, 0x8a, 0x8b, 0xc9, 0xb3, 0x2f, 0xf5, 0xae, 0xcc, 0x9e, 0x7c, 0xe5, 0xcf, 0xda, 0x58, 0x23, + 0xc4, 0x78, 0x3d, 0x5e, 0x0e, 0xab, 0x59, 0xbb, 0x8f, 0x5a, 0xbd, 0x4a, 0xe5, 0xe2, 0x4e, 0x2e, + 0xdc, 0xc9, 0xb5, 0xe3, 0xb5, 0xd8, 0xd2, 0xb8, 0x8c, 0xd7, 0xf0, 0x15, 0xa8, 0x1d, 0x8c, 0x6d, + 0xab, 0x19, 0x21, 0xa0, 0xc5, 0x52, 0x07, 0x2e, 0x71, 0x69, 0x50, 0xe8, 0xe8, 0xf6, 0x25, 0x2e, + 0x5c, 0x90, 0x92, 0x19, 0x64, 0xbd, 0xee, 0x2f, 0xe7, 0x0e, 0xcc, 0x77, 0x7d, 0x59, 0xfa, 0xee, + 0xbb, 0x60, 0x87, 0x19, 0x9d, 0x70, 0x53, 0x13, 0xec, 0xe8, 0x86, 0x9f, 0xda, 0x60, 0xa8, 0x36, + 0x38, 0xaa, 0x0f, 0x96, 0x78, 0xe1, 0x89, 0x19, 0xa6, 0xb2, 0x61, 0x60, 0x57, 0x65, 0x73, 0x2b, + 0x5f, 0xd7, 0xb5, 0x82, 0x39, 0x36, 0x73, 0xac, 0xc1, 0x36, 0xef, 0x35, 0x83, 0xfc, 0x4b, 0x82, + 0x71, 0x39, 0x30, 0x5f, 0x3f, 0x98, 0x5b, 0x07, 0x9c, 0xd7, 0x10, 0x62, 0xab, 0xc1, 0x56, 0x83, + 0xad, 0x06, 0x5b, 0xcd, 0x3a, 0x99, 0xe5, 0xbe, 0xe6, 0x70, 0x1d, 0x67, 0x4e, 0x34, 0x98, 0xd6, + 0x73, 0xed, 0xe1, 0xfc, 0x9f, 0x1e, 0x27, 0xb5, 0x74, 0x5f, 0x83, 0xa8, 0x19, 0xe0, 0x73, 0x5f, + 0xa3, 0xf9, 0x5a, 0xc4, 0xec, 0x7b, 0x6a, 0xb8, 0x38, 0x4f, 0x93, 0xfb, 0xae, 0x4e, 0xbd, 0xc6, + 0xeb, 0x12, 0x9b, 0x9a, 0xfa, 0xfa, 0xae, 0x4f, 0x6c, 0x64, 0x35, 0xbc, 0x6b, 0x87, 0xd5, 0x47, + 0x53, 0x89, 0xb6, 0x51, 0x22, 0x13, 0x73, 0xa6, 0x32, 0xb3, 0x5b, 0x47, 0xc6, 0x52, 0xf3, 0xbd, + 0x8c, 0x8b, 0x77, 0xd1, 0x99, 0xbc, 0xd4, 0x75, 0x5d, 0x23, 0xdf, 0x72, 0xc3, 0xfd, 0xa0, 0xe4, + 0x85, 0x69, 0x7c, 0x0a, 0x9d, 0xe7, 0xfa, 0x47, 0xfa, 0x8a, 0x21, 0x77, 0xde, 0x62, 0x6a, 0x96, + 0x9c, 0xd7, 0x9e, 0x58, 0x3b, 0x4b, 0x58, 0x38, 0x09, 0x6d, 0x86, 0x66, 0x80, 0x93, 0xd0, 0xe6, + 0x20, 0x3d, 0x5b, 0x0a, 0x9d, 0xb9, 0x29, 0x73, 0x31, 0x16, 0x70, 0x35, 0x67, 0xd6, 0x14, 0xa4, + 0xe0, 0xd4, 0x80, 0x85, 0x64, 0x7a, 0x43, 0x30, 0x62, 0x66, 0xa4, 0xa3, 0xef, 0xd4, 0x00, 0x5b, + 0xcb, 0xbf, 0x1c, 0x35, 0x38, 0xe9, 0x50, 0xd5, 0x2f, 0x5f, 0x73, 0xe8, 0x62, 0x40, 0x66, 0x68, + 0x12, 0x0d, 0x2c, 0x06, 0x16, 0x03, 0x8b, 0x81, 0xc5, 0xfd, 0xc0, 0x62, 0xde, 0x2c, 0x3d, 0x7f, + 0xb3, 0x6a, 0xa0, 0x31, 0xd0, 0x18, 0x68, 0x0c, 0x34, 0x36, 0x1b, 0x8d, 0x4d, 0x38, 0x9d, 0xca, + 0x76, 0x49, 0x4a, 0x8b, 0x8e, 0x9e, 0x1e, 0xe2, 0xe8, 0x69, 0x3d, 0x47, 0x4f, 0x0f, 0x71, 0xf4, + 0x74, 0x87, 0x51, 0x1c, 0x3d, 0xa5, 0xe5, 0xcb, 0xf8, 0x73, 0x2b, 0x96, 0xee, 0x84, 0x19, 0x57, + 0x33, 0x6f, 0xba, 0x77, 0x50, 0x32, 0x66, 0xbe, 0x93, 0x88, 0xc0, 0x7d, 0xd3, 0x96, 0x34, 0xdb, + 0x60, 0x1f, 0x79, 0xb3, 0xda, 0x69, 0x3f, 0xf2, 0x66, 0xc8, 0x9b, 0xed, 0x34, 0x34, 0x90, 0xaf, + 0xc2, 0xb3, 0x35, 0x81, 0x42, 0x6e, 0x89, 0x6f, 0xfd, 0x36, 0xc3, 0x95, 0x83, 0x23, 0x28, 0x07, + 0x50, 0x0e, 0xa0, 0x1c, 0x40, 0x39, 0x68, 0x38, 0x9c, 0xf9, 0x4b, 0x26, 0x13, 0x2e, 0xad, 0x1b, + 0xaa, 0x8b, 0xbf, 0x06, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0x03, 0xa3, 0x81, 0xd1, 0x5b, 0xdf, 0xe9, + 0xef, 0xb1, 0x90, 0xc1, 0xb0, 0x36, 0x5a, 0xbd, 0xfd, 0xeb, 0x90, 0x91, 0x03, 0x66, 0x03, 0xb3, + 0x81, 0xd9, 0xc0, 0xec, 0xad, 0xef, 0x94, 0x44, 0xce, 0x60, 0x20, 0x5d, 0x7b, 0x14, 0x85, 0x23, + 0x11, 0x25, 0x6f, 0x9a, 0xea, 0xd6, 0x8a, 0xbf, 0x06, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0x03, 0xa3, + 0x81, 0xd1, 0x5b, 0xdf, 0xe9, 0xa7, 0x13, 0x78, 0x35, 0x68, 0x1f, 0xc5, 0x5f, 0x03, 0xed, 0x03, + 0x18, 0x0d, 0x8c, 0x06, 0x46, 0xa3, 0xb2, 0x4d, 0xcf, 0x0c, 0x66, 0xf7, 0x2e, 0x68, 0x60, 0xc8, + 0xa8, 0x72, 0xe3, 0x07, 0x44, 0x54, 0xb9, 0x99, 0x44, 0x8d, 0x50, 0xe5, 0x56, 0xd5, 0x5e, 0x0d, + 0x55, 0x6e, 0xda, 0x14, 0x59, 0xad, 0x85, 0x6e, 0x97, 0xd3, 0xa7, 0x6e, 0x7f, 0xad, 0x1b, 0x8b, + 0x82, 0xb3, 0xb8, 0x8c, 0x94, 0x61, 0x1b, 0xe2, 0xae, 0x63, 0x3b, 0xc0, 0xf5, 0x09, 0xa6, 0x50, + 0x7a, 0x5c, 0x9f, 0x50, 0xf1, 0xb5, 0xd8, 0x6a, 0xd8, 0x34, 0x1d, 0x6a, 0xc3, 0x79, 0x36, 0x23, + 0x01, 0x01, 0x31, 0x7f, 0x73, 0x80, 0x81, 0x88, 0xbf, 0x73, 0x11, 0xff, 0x7b, 0x26, 0xfc, 0xd5, + 0x94, 0x2e, 0x5b, 0xb2, 0x0d, 0x24, 0x06, 0x12, 0x03, 0x89, 0x81, 0xc4, 0x5d, 0x45, 0x62, 0x13, + 0xb4, 0x57, 0x36, 0xb8, 0xd5, 0x2a, 0xb8, 0x32, 0xa9, 0x5b, 0x90, 0xcc, 0x0c, 0x94, 0xcc, 0x98, + 0xb6, 0x7a, 0xad, 0x02, 0x59, 0x0a, 0x4a, 0x2d, 0xd4, 0xc3, 0x22, 0x19, 0x7f, 0xd7, 0x76, 0xf0, + 0xb3, 0xc8, 0x38, 0x4e, 0x7d, 0x96, 0xa3, 0x64, 0x38, 0xf5, 0x89, 0x53, 0x9f, 0x75, 0x2a, 0x66, + 0x05, 0xbe, 0xaa, 0x29, 0x7e, 0xdb, 0xf8, 0x4d, 0x88, 0xe6, 0x8c, 0x83, 0x0e, 0xc4, 0x73, 0x4d, + 0x42, 0x0b, 0x22, 0x3a, 0x68, 0x6b, 0x1b, 0x90, 0x5a, 0x7a, 0x22, 0x48, 0xe4, 0x40, 0x8a, 0xc8, + 0xf6, 0x65, 0x9c, 0x68, 0x42, 0xe9, 0xf5, 0x6f, 0x01, 0x42, 0x03, 0xa1, 0x81, 0xd0, 0x40, 0x68, + 0x73, 0x11, 0x9a, 0x69, 0x04, 0x59, 0xa5, 0xaa, 0x0d, 0x92, 0x95, 0xa6, 0x6b, 0x51, 0x0f, 0xb9, + 0xfd, 0x53, 0xe3, 0xfd, 0x9c, 0x35, 0xd4, 0x0e, 0xd6, 0x06, 0x33, 0x96, 0xa6, 0x5a, 0x42, 0x5e, + 0x88, 0xb1, 0x98, 0xef, 0xf8, 0xd5, 0x21, 0x98, 0x66, 0xc6, 0x59, 0x85, 0x53, 0x46, 0x12, 0x67, + 0x82, 0x2c, 0xaf, 0x29, 0x8a, 0x46, 0x55, 0x74, 0x6b, 0x90, 0x0d, 0x55, 0xd1, 0xc6, 0x20, 0x16, + 0x52, 0x3c, 0xc4, 0x14, 0x0f, 0x7f, 0xa6, 0xc0, 0xd2, 0x9d, 0xf1, 0xb9, 0x93, 0xf1, 0xf7, 0xf6, + 0xd7, 0x43, 0x4f, 0xe6, 0x80, 0x31, 0xe1, 0x33, 0xb1, 0x86, 0x0c, 0x4f, 0xed, 0x22, 0x00, 0x32, + 0x3c, 0xc8, 0xf0, 0xec, 0x34, 0xe4, 0x8a, 0x91, 0xed, 0xc9, 0x48, 0xb8, 0xac, 0xd7, 0xfc, 0x2e, + 0x2e, 0xfc, 0x58, 0x31, 0x8f, 0x93, 0xd1, 0x50, 0x0a, 0xa1, 0x14, 0xf6, 0x58, 0x29, 0x1c, 0x85, + 0x51, 0xc2, 0x8e, 0x07, 0x2b, 0x04, 0xe1, 0x98, 0xd1, 0xe6, 0x79, 0x30, 0x4e, 0x6f, 0x08, 0xfd, + 0xd5, 0x3b, 0x15, 0x92, 0x59, 0xb2, 0xe9, 0xa5, 0x1e, 0xf4, 0x9e, 0x67, 0x73, 0x4e, 0x5d, 0x26, + 0x0a, 0x7d, 0xa1, 0x67, 0x73, 0x5e, 0x98, 0xe7, 0xdd, 0x9c, 0x0f, 0xb1, 0x39, 0x63, 0x73, 0xc6, + 0xe6, 0xcc, 0x0f, 0xff, 0x5c, 0xcc, 0x3f, 0x33, 0xc8, 0x0f, 0x30, 0xc5, 0xdb, 0x3e, 0x23, 0xc8, + 0x68, 0x8a, 0x04, 0xb4, 0x81, 0x8e, 0x4e, 0xf0, 0xa9, 0x0d, 0x84, 0x74, 0x83, 0x51, 0x6d, 0xa0, + 0x54, 0x1b, 0x38, 0xd5, 0x09, 0x52, 0xbc, 0x60, 0xc5, 0x0c, 0x5a, 0xfa, 0x22, 0x8b, 0xda, 0xa0, + 0xc6, 0xe2, 0x2f, 0x4b, 0xd0, 0x35, 0xc8, 0x5a, 0x02, 0x84, 0x5a, 0x02, 0x85, 0x5a, 0x02, 0x06, + 0xbd, 0x81, 0x03, 0xbf, 0x1f, 0x72, 0x26, 0xe6, 0x33, 0xef, 0xb0, 0x59, 0x24, 0xfe, 0xdd, 0x5e, + 0x68, 0x33, 0x88, 0xff, 0xd8, 0xf5, 0xb1, 0xeb, 0x63, 0xd7, 0xc7, 0xae, 0x5f, 0x1a, 0x6f, 0xec, + 0x70, 0xc4, 0x2c, 0x2f, 0xe6, 0x18, 0xc0, 0x07, 0x0d, 0xb6, 0x2f, 0xd2, 0xba, 0xea, 0xe4, 0xed, + 0x77, 0x27, 0xd6, 0xe8, 0x67, 0xf3, 0x21, 0xbb, 0xbd, 0xb9, 0x7b, 0x78, 0xba, 0xbb, 0xb9, 0x3c, + 0x7f, 0xba, 0xfb, 0xf3, 0xf2, 0xfc, 0xe9, 0xe6, 0xf6, 0xe1, 0xe2, 0xe6, 0x5a, 0x97, 0xcf, 0xfd, + 0xcb, 0xf1, 0xc7, 0x62, 0xb2, 0x95, 0xff, 0x47, 0x8b, 0xfd, 0xc9, 0xbf, 0xff, 0xa7, 0xcd, 0xf2, + 0xee, 0x61, 0x7b, 0xba, 0xbe, 0x99, 0xfe, 0x70, 0x4f, 0xdb, 0x43, 0xfc, 0x7a, 0xdf, 0xcd, 0x91, + 0xbb, 0x3f, 0xbd, 0x3a, 0xc7, 0xd0, 0x29, 0x0d, 0xdd, 0x97, 0x8b, 0xaf, 0x5f, 0xcf, 0xef, 0xce, + 0xaf, 0xb1, 0xf4, 0xd4, 0xc6, 0xef, 0xf4, 0xfa, 0xdf, 0xba, 0x47, 0x4e, 0x8b, 0xe5, 0xc7, 0x9e, + 0xd1, 0x07, 0xc4, 0xb3, 0xdd, 0x8a, 0x67, 0x91, 0x4d, 0x35, 0x77, 0x31, 0x69, 0xca, 0xa6, 0x72, + 0x95, 0x73, 0xf1, 0xd6, 0xb0, 0x66, 0x76, 0xeb, 0xa8, 0x65, 0x1d, 0xfb, 0x62, 0x5f, 0x47, 0xc2, + 0xd5, 0xd2, 0x5e, 0xd2, 0x3a, 0xf6, 0xc5, 0xd3, 0x99, 0x18, 0xdd, 0x86, 0x51, 0x72, 0x37, 0x79, + 0xee, 0x2e, 0x25, 0xd8, 0xc3, 0x97, 0x91, 0x2f, 0x5e, 0x79, 0xd5, 0xb0, 0x45, 0x7e, 0x7d, 0xd9, + 0x3a, 0x6a, 0xdf, 0x8c, 0xd5, 0xb8, 0x90, 0x5e, 0x6f, 0x52, 0xc3, 0xc2, 0x29, 0x59, 0xaa, 0x18, + 0x75, 0x02, 0x46, 0xd5, 0x3b, 0x46, 0x65, 0xc8, 0xf6, 0x19, 0x04, 0xd3, 0x52, 0x4e, 0x3b, 0x1e, + 0x09, 0xd7, 0x8e, 0xc4, 0x40, 0x44, 0x22, 0x70, 0xb5, 0xec, 0xa5, 0x9b, 0xbe, 0x0a, 0x75, 0x6b, + 0xd8, 0x58, 0xb1, 0xb1, 0x1a, 0xbf, 0xb1, 0xb2, 0xd7, 0xad, 0xad, 0x21, 0x82, 0xbe, 0x64, 0xf6, + 0xfa, 0x17, 0xb5, 0x2c, 0x9b, 0x7d, 0x80, 0x6c, 0x76, 0x6d, 0xc0, 0x54, 0x1b, 0x40, 0xd5, 0x06, + 0x54, 0x75, 0x02, 0x16, 0xbf, 0xd6, 0x68, 0xb5, 0x32, 0x9b, 0x3d, 0x1e, 0x4b, 0xaf, 0x45, 0xe5, + 0x6b, 0x46, 0x56, 0x3a, 0xad, 0xf3, 0x45, 0xd6, 0xae, 0x95, 0x3b, 0xd9, 0x29, 0x63, 0xe7, 0xca, + 0xda, 0xf6, 0x09, 0x54, 0x3d, 0x61, 0x9f, 0xc0, 0x3e, 0xd1, 0xa6, 0x7d, 0x82, 0x5d, 0x51, 0x6a, + 0xcf, 0x4e, 0x01, 0xc5, 0xab, 0x77, 0x8a, 0x17, 0x72, 0x88, 0xd3, 0x1c, 0xa2, 0x66, 0x21, 0xcc, + 0xaa, 0x27, 0x9f, 0x98, 0xbd, 0xc5, 0xfd, 0x48, 0xb8, 0x77, 0xd9, 0x3b, 0x74, 0x48, 0x1c, 0x1d, + 0x84, 0xd1, 0x4f, 0x27, 0xf2, 0x64, 0x30, 0xd4, 0x94, 0x5e, 0x5c, 0xff, 0x02, 0x64, 0x18, 0x8d, + 0xe5, 0x93, 0x10, 0x42, 0x9b, 0xe4, 0x8b, 0x7d, 0xc9, 0x30, 0xea, 0x01, 0x04, 0xab, 0x25, 0xed, + 0x35, 0x8c, 0x00, 0x7d, 0xdf, 0x79, 0x13, 0x91, 0x3d, 0x8a, 0xc2, 0x24, 0x74, 0x43, 0xdf, 0xfe, + 0x7b, 0xec, 0xf8, 0x69, 0xa7, 0x74, 0x7e, 0xf4, 0xdf, 0xf8, 0x4d, 0xd8, 0x06, 0xb0, 0x0d, 0x60, + 0x1b, 0xe8, 0xf1, 0x36, 0xa0, 0x19, 0x19, 0x2c, 0x4d, 0xe7, 0xa0, 0xf4, 0x9e, 0x7f, 0xca, 0x46, + 0xe7, 0xf2, 0xf4, 0xdf, 0xe7, 0x77, 0x4f, 0xb7, 0x77, 0x37, 0x0f, 0x37, 0x67, 0x37, 0x97, 0x4f, + 0xff, 0xf7, 0xe7, 0xe9, 0xe5, 0xc5, 0xd7, 0x8b, 0xf3, 0x3b, 0x6e, 0x8f, 0xd1, 0x78, 0xe4, 0x49, + 0xf7, 0xc9, 0xb0, 0x3f, 0x6e, 0x1e, 0x6e, 0xae, 0x2f, 0xce, 0x9e, 0xa6, 0x43, 0xa5, 0x6b, 0x84, + 0xea, 0x18, 0x29, 0xbd, 0x23, 0x56, 0x7a, 0xe4, 0x9e, 0xae, 0xce, 0x70, 0x3c, 0x47, 0x61, 0xd8, + 0x6e, 0x1e, 0xee, 0x25, 0x86, 0x4e, 0x6d, 0xe8, 0xce, 0xfe, 0xc0, 0xb8, 0x29, 0x79, 0xea, 0x29, + 0xc6, 0x4d, 0x65, 0xbd, 0x5d, 0xdd, 0x63, 0xe0, 0x54, 0x31, 0x0e, 0x23, 0xa7, 0xb8, 0xe4, 0x30, + 0x6e, 0x8a, 0x2b, 0x0e, 0x03, 0xa7, 0x36, 0x70, 0xf0, 0x54, 0xc5, 0x81, 0xc3, 0xb8, 0x29, 0xf3, + 0xdf, 0x53, 0x1c, 0x50, 0xd7, 0x30, 0xc7, 0x0d, 0x05, 0xd1, 0x5a, 0x42, 0xc1, 0x0e, 0x0d, 0x8f, + 0xae, 0x90, 0xaf, 0x4b, 0x43, 0xa4, 0x23, 0xb4, 0xeb, 0x94, 0x87, 0x9d, 0x62, 0x7c, 0x6a, 0x0f, + 0xd5, 0x3a, 0x86, 0x41, 0x18, 0xa1, 0xda, 0x43, 0xaf, 0x8e, 0xad, 0x20, 0x0c, 0x50, 0xed, 0xa1, + 0x54, 0xb7, 0x06, 0x08, 0xe3, 0xd3, 0x44, 0x68, 0xd4, 0xbe, 0x31, 0xda, 0x94, 0xd1, 0x7c, 0xfa, + 0xf3, 0xfa, 0xfe, 0xf6, 0xfc, 0x6c, 0xf2, 0xff, 0xbf, 0x98, 0x5e, 0x7c, 0xff, 0x88, 0xd2, 0xf0, + 0x0a, 0x56, 0x51, 0x1a, 0xce, 0x3c, 0xe5, 0x2c, 0xa5, 0x5f, 0xa1, 0xeb, 0xf8, 0xb6, 0xf4, 0x34, + 0x94, 0x7a, 0xcd, 0x2d, 0x1b, 0x5e, 0xda, 0x75, 0xd0, 0x96, 0xd2, 0xae, 0x69, 0x5d, 0x3e, 0x0a, + 0xbb, 0x1a, 0x29, 0xec, 0x9a, 0x0d, 0x3e, 0xca, 0xba, 0x2a, 0xae, 0x5c, 0xe3, 0xfb, 0x07, 0x19, + 0x81, 0xc2, 0xac, 0xe7, 0x7c, 0xb3, 0xb1, 0x67, 0x3c, 0xcf, 0xab, 0xad, 0xd1, 0x0c, 0xd0, 0x17, + 0xe8, 0xdb, 0x77, 0xf4, 0x65, 0x6f, 0x32, 0xf3, 0xc3, 0xf1, 0xc7, 0x1a, 0x8b, 0x51, 0xa7, 0xe6, + 0xd1, 0x50, 0xa6, 0x9e, 0x46, 0x01, 0xec, 0xc0, 0xa3, 0x1b, 0x80, 0x6a, 0x03, 0xa2, 0xda, 0x00, + 0xa9, 0x3e, 0x60, 0xd2, 0xa3, 0x53, 0xa0, 0x49, 0x80, 0x2e, 0xfa, 0xc8, 0x3f, 0x5f, 0x9c, 0xed, + 0x64, 0x52, 0xa0, 0xd6, 0xdc, 0x44, 0x66, 0xe9, 0x3b, 0xb0, 0x23, 0x60, 0x47, 0xc0, 0x8e, 0x80, + 0x1d, 0x01, 0x3b, 0x42, 0x87, 0xdb, 0xc6, 0xfc, 0xaf, 0x78, 0xd3, 0x02, 0xfb, 0x48, 0x3a, 0xac, + 0x19, 0x47, 0x3f, 0x1a, 0x8d, 0xfd, 0x68, 0x98, 0xf9, 0x8a, 0xfe, 0xd6, 0x33, 0x29, 0x0c, 0x76, + 0x48, 0xf1, 0x0c, 0x7f, 0x88, 0x28, 0x92, 0x9e, 0xb0, 0x47, 0x91, 0x0c, 0x23, 0x99, 0xbc, 0xf1, + 0xcb, 0x9f, 0xf9, 0xaf, 0x40, 0x93, 0x01, 0x1e, 0x02, 0x8a, 0x26, 0x03, 0x35, 0x52, 0x4d, 0x34, + 0x19, 0xe0, 0x5b, 0xbd, 0x63, 0x19, 0x24, 0x1f, 0x8f, 0x35, 0x64, 0xa3, 0x4e, 0x18, 0x4d, 0xde, + 0x39, 0xc1, 0x50, 0xb0, 0x1f, 0x2c, 0xd7, 0x73, 0x09, 0x9d, 0xc6, 0x50, 0x51, 0x4b, 0xf4, 0x9f, + 0x99, 0xff, 0xd7, 0x4c, 0x22, 0xd7, 0x65, 0xff, 0x6b, 0xe4, 0xa4, 0x8d, 0xe2, 0xbe, 0xc8, 0xa1, + 0x4c, 0xd9, 0xe1, 0x41, 0x1b, 0x6a, 0xbe, 0x26, 0x8c, 0xb6, 0xf5, 0x53, 0x7a, 0x78, 0x72, 0x7c, + 0xfc, 0xf1, 0xd3, 0xf1, 0xf1, 0xc1, 0xa7, 0xdf, 0x3e, 0x1d, 0xfc, 0xe3, 0xc3, 0x87, 0xc3, 0x8f, + 0x3a, 0x2e, 0x3e, 0xae, 0x6d, 0x96, 0x0d, 0x8d, 0x4a, 0x1f, 0x3b, 0x44, 0x46, 0xd3, 0xe8, 0x20, + 0xe1, 0xdc, 0x75, 0xb2, 0x1d, 0x67, 0x61, 0x1a, 0xe4, 0x13, 0xe4, 0x13, 0xe4, 0xb3, 0xc7, 0xe4, + 0x93, 0x1b, 0x0a, 0x2c, 0xb4, 0x38, 0xac, 0x20, 0xd0, 0xc8, 0x61, 0xe0, 0xf8, 0xf6, 0x28, 0x0a, + 0x47, 0x22, 0xd2, 0xa1, 0x36, 0xac, 0x7f, 0x01, 0x2e, 0xf8, 0x02, 0xdc, 0x03, 0xee, 0x8d, 0x87, + 0x7b, 0xf6, 0xda, 0x2b, 0x67, 0x34, 0xf2, 0xa5, 0xeb, 0x7c, 0xf3, 0x85, 0x3d, 0x83, 0x04, 0xcd, + 0xd5, 0x58, 0x9b, 0xbe, 0x10, 0x17, 0xb9, 0xe0, 0x22, 0x97, 0xa6, 0x01, 0xab, 0x36, 0xe0, 0xaa, + 0x13, 0xc0, 0x34, 0x45, 0xe6, 0xc8, 0xc8, 0xe7, 0x48, 0xcf, 0x89, 0xd1, 0x23, 0xac, 0x25, 0x61, + 0xbd, 0x50, 0xe2, 0x34, 0x26, 0xae, 0x17, 0x5f, 0xa2, 0x31, 0x81, 0x9d, 0x7d, 0x89, 0x96, 0x44, + 0x36, 0xbf, 0x13, 0x72, 0x16, 0xde, 0x05, 0xe3, 0x97, 0x6f, 0x22, 0xb2, 0xc3, 0xc1, 0xca, 0x96, + 0x1c, 0xeb, 0x23, 0x01, 0x9b, 0xbe, 0x10, 0x24, 0x00, 0x24, 0x00, 0x24, 0x00, 0x24, 0x40, 0xdb, + 0xea, 0x67, 0xcf, 0xa8, 0xae, 0x63, 0xcd, 0x89, 0x06, 0xd3, 0x7a, 0x32, 0xac, 0xf3, 0x7f, 0xfa, + 0xfa, 0xef, 0x69, 0xcd, 0xb8, 0x6a, 0x06, 0xf9, 0xdc, 0xd7, 0x68, 0xce, 0xc0, 0x66, 0xdf, 0x53, + 0x43, 0x8e, 0x4e, 0x93, 0xfb, 0xae, 0x53, 0xb5, 0xce, 0x4d, 0x7d, 0x7d, 0x99, 0xda, 0x46, 0x56, + 0xc3, 0xbb, 0x76, 0x58, 0x7d, 0xec, 0x01, 0x21, 0x5f, 0x53, 0xe7, 0x35, 0x9f, 0x89, 0x29, 0xfc, + 0x36, 0x50, 0x71, 0x50, 0x71, 0x50, 0x71, 0x50, 0x71, 0x6d, 0xab, 0x1f, 0x67, 0x26, 0x75, 0xec, + 0x14, 0xd3, 0x83, 0x2e, 0xac, 0x77, 0xa1, 0xee, 0xdc, 0x2f, 0x96, 0xbe, 0x13, 0xbb, 0x06, 0x76, + 0x0d, 0xec, 0x1a, 0xd8, 0x35, 0xf4, 0xed, 0x1a, 0x75, 0x61, 0x8f, 0xa5, 0xe9, 0x06, 0xbe, 0xcc, + 0xb6, 0xd6, 0x9b, 0xf8, 0x72, 0xe3, 0x76, 0x7f, 0xf1, 0xcf, 0xeb, 0xd3, 0xcb, 0xa7, 0xdb, 0xbb, + 0x9b, 0xdb, 0xf3, 0xbb, 0x87, 0x7f, 0x3f, 0xfd, 0xeb, 0xf4, 0xf2, 0xcf, 0xf3, 0xa7, 0xbb, 0x3f, + 0x2f, 0xcf, 0x71, 0xe3, 0x9c, 0xfa, 0xd8, 0x3d, 0xdd, 0x9f, 0x5e, 0x9d, 0x4f, 0xff, 0x1b, 0x77, + 0x6f, 0x28, 0x0d, 0xe0, 0xf5, 0xcd, 0x03, 0xc6, 0x8f, 0x30, 0x7e, 0xa7, 0xd7, 0xff, 0xc6, 0xf8, + 0x11, 0xc6, 0xef, 0xcb, 0xc5, 0xd7, 0xaf, 0xe7, 0x77, 0xe7, 0xd7, 0xfa, 0x57, 0x61, 0x5b, 0x6e, + 0x81, 0x41, 0x5b, 0x81, 0x32, 0x8c, 0xaf, 0xe5, 0x07, 0xca, 0xf5, 0x94, 0xff, 0x5a, 0xb5, 0x9c, + 0x2d, 0xbf, 0x4f, 0x9f, 0xfd, 0x76, 0xfe, 0xe8, 0xa6, 0x54, 0x7d, 0xbf, 0x6b, 0x70, 0x5d, 0xce, + 0xdb, 0x5c, 0x30, 0x35, 0x31, 0xe6, 0xad, 0x15, 0x5a, 0xab, 0x0d, 0x62, 0x2e, 0x64, 0x3f, 0xe4, + 0x2a, 0x5d, 0xd7, 0x10, 0xf6, 0x2e, 0x87, 0xba, 0x2f, 0x32, 0xb0, 0xc5, 0x7c, 0x14, 0x18, 0xdd, + 0x4d, 0x67, 0x90, 0xbb, 0x12, 0xd8, 0x1e, 0x76, 0xa9, 0x9f, 0x83, 0x8e, 0x4a, 0x32, 0xde, 0xca, + 0x31, 0x2a, 0x22, 0x30, 0xef, 0x50, 0x75, 0xed, 0x4c, 0x7b, 0x1c, 0x87, 0x67, 0x34, 0xef, 0x40, + 0x34, 0x47, 0x50, 0x77, 0x00, 0xc2, 0x92, 0xd8, 0x4b, 0xc2, 0x64, 0xb2, 0xdf, 0x87, 0x89, 0x08, + 0x12, 0xe9, 0xf8, 0xb6, 0xeb, 0x8c, 0x1c, 0x97, 0xa3, 0x8f, 0xc9, 0x42, 0x97, 0xdc, 0xf4, 0x0d, + 0xd4, 0xad, 0x8d, 0xe5, 0x48, 0x11, 0x9b, 0xe6, 0xcb, 0xa9, 0xf1, 0x6a, 0xea, 0x93, 0xc7, 0xbd, + 0x95, 0x69, 0x53, 0x6c, 0xb5, 0x6d, 0x5e, 0xfa, 0xfa, 0xdc, 0x35, 0x4b, 0xf3, 0xb8, 0x8e, 0xff, + 0xcc, 0x9c, 0x35, 0x96, 0xff, 0xd5, 0x70, 0x86, 0x7c, 0xc9, 0x36, 0xba, 0xb9, 0x1b, 0x06, 0x0d, + 0x3a, 0xd9, 0xae, 0x85, 0x6e, 0xee, 0x2d, 0x54, 0x32, 0xd8, 0x4f, 0x14, 0x8e, 0x03, 0x99, 0xe8, + 0xcb, 0x3d, 0xa7, 0xd6, 0xd1, 0xb9, 0x17, 0x9d, 0x7b, 0x9b, 0x85, 0xa1, 0xda, 0xe0, 0xa8, 0x3e, + 0x58, 0xe2, 0x85, 0x27, 0x66, 0x98, 0xca, 0x86, 0x41, 0x7f, 0x86, 0x79, 0x1e, 0xb7, 0xd8, 0x1a, + 0xa0, 0xc6, 0xd2, 0xd4, 0x03, 0x23, 0xb3, 0xcd, 0xdb, 0x0b, 0x83, 0x7f, 0x49, 0xb0, 0xb7, 0x8b, + 0xc7, 0xb5, 0x21, 0xd8, 0x6a, 0xb0, 0xd5, 0x60, 0xab, 0xc1, 0x69, 0xb4, 0x22, 0x9c, 0xc1, 0x69, + 0xb4, 0xa5, 0x07, 0xc7, 0x69, 0xb4, 0xea, 0xdf, 0x83, 0xd3, 0x68, 0xc6, 0x4e, 0x3d, 0x4e, 0xa3, + 0x99, 0x60, 0xf5, 0x11, 0xe5, 0x32, 0x65, 0x18, 0x45, 0x7b, 0xcb, 0x65, 0x36, 0xa5, 0xb5, 0xf6, + 0xd9, 0x65, 0x6e, 0x4b, 0x77, 0xee, 0xf2, 0x61, 0xf2, 0xc4, 0xb7, 0xf3, 0x37, 0x39, 0x9b, 0xbd, + 0xc8, 0xf4, 0xc7, 0xf7, 0x93, 0xf7, 0x40, 0x29, 0x4d, 0x3b, 0x13, 0xe7, 0x9a, 0x52, 0xaf, 0x0d, + 0x2d, 0xc8, 0x36, 0xa6, 0xd7, 0xc7, 0x63, 0x86, 0x3b, 0xe9, 0x17, 0x71, 0xc1, 0x98, 0x5e, 0xc2, + 0xc5, 0xc3, 0x46, 0xd8, 0x94, 0x05, 0xa4, 0xcd, 0x91, 0x36, 0x6f, 0x0c, 0xd2, 0xd9, 0x22, 0x79, + 0x4e, 0x0f, 0xb5, 0xf8, 0x8e, 0xaa, 0x12, 0x30, 0xef, 0x5d, 0x8d, 0xf3, 0x31, 0xaf, 0x52, 0x25, + 0x0c, 0x1e, 0x4f, 0x65, 0x2a, 0x6b, 0xb7, 0x3a, 0xd6, 0x5a, 0x42, 0x9e, 0x1a, 0x42, 0xd5, 0xf9, + 0x61, 0xa2, 0x3e, 0x35, 0x50, 0x1e, 0x82, 0xef, 0xe9, 0x64, 0x34, 0x6a, 0x40, 0x59, 0xdd, 0x09, + 0x15, 0x26, 0x78, 0xcf, 0x77, 0x12, 0x11, 0xb8, 0x6f, 0xb6, 0xfb, 0xec, 0x4c, 0xc2, 0x78, 0x11, + 0xc9, 0x38, 0x91, 0xae, 0xf2, 0x44, 0x67, 0x50, 0xb8, 0xc1, 0xae, 0x2a, 0x44, 0x90, 0x4a, 0x7d, + 0xc8, 0x55, 0x7e, 0x1c, 0x34, 0x85, 0xfd, 0xa4, 0x36, 0x17, 0x31, 0x61, 0x27, 0x24, 0xec, 0x44, + 0xe4, 0xff, 0x67, 0xef, 0xeb, 0x7a, 0xdb, 0x36, 0x9a, 0x70, 0xef, 0xfd, 0x2b, 0x08, 0x5d, 0x87, + 0x88, 0x9c, 0x3a, 0x71, 0x9a, 0x3b, 0xd7, 0x71, 0x4e, 0x8d, 0xd7, 0x8e, 0xf5, 0xda, 0x49, 0x81, + 0xe2, 0xc0, 0x10, 0x18, 0x6a, 0xe5, 0x6c, 0x4b, 0x93, 0x2c, 0x49, 0x39, 0xf5, 0x7b, 0x90, 0xff, + 0x7e, 0x20, 0x4a, 0xa2, 0x3e, 0x48, 0x59, 0x12, 0x77, 0x66, 0x3f, 0xa4, 0x27, 0x57, 0xa9, 0xe3, + 0xee, 0x92, 0xc3, 0xd9, 0x67, 0xe6, 0x99, 0xaf, 0xe5, 0xe8, 0xa4, 0xd6, 0x6b, 0xe2, 0x54, 0xcb, + 0x69, 0x3a, 0x43, 0xf9, 0xaf, 0x18, 0xf8, 0xc4, 0x87, 0xb5, 0xa6, 0x9a, 0x2f, 0xee, 0x62, 0x19, + 0xf3, 0xb0, 0xb6, 0x60, 0x97, 0x70, 0x08, 0x03, 0xb8, 0x07, 0xe7, 0x10, 0x85, 0x7d, 0x63, 0x1f, + 0x64, 0xa3, 0x73, 0xcc, 0xf3, 0x0f, 0x05, 0xab, 0xf8, 0x97, 0x2c, 0xc6, 0x4e, 0x21, 0x17, 0x44, + 0x36, 0x2f, 0x0f, 0x6c, 0x04, 0x36, 0x02, 0x1b, 0x81, 0x8d, 0x96, 0x63, 0xe3, 0x3f, 0x23, 0x21, + 0xe3, 0x07, 0x76, 0x37, 0xf2, 0xe5, 0x6d, 0x10, 0xc1, 0x06, 0x56, 0x02, 0x2b, 0x81, 0x95, 0x96, + 0x63, 0x65, 0x91, 0x05, 0xc3, 0xa1, 0x0c, 0x89, 0xa7, 0xed, 0xce, 0x8f, 0x78, 0xe3, 0xf2, 0xc0, + 0x46, 0x60, 0x23, 0xb0, 0x11, 0xd8, 0x68, 0x39, 0x36, 0xfe, 0x08, 0xe2, 0x01, 0x23, 0xc7, 0x6e, + 0x5e, 0x1e, 0x1c, 0x1b, 0xd8, 0x08, 0x6c, 0x04, 0x36, 0xea, 0xc0, 0x46, 0x13, 0xf5, 0x0f, 0x94, + 0x1e, 0x21, 0x4b, 0x41, 0x04, 0x11, 0xba, 0xab, 0x8e, 0xe6, 0xa2, 0x04, 0x25, 0xc6, 0x51, 0x5c, + 0x2c, 0x90, 0x44, 0x39, 0x7a, 0xcb, 0x8c, 0xeb, 0x80, 0xb2, 0x98, 0xd5, 0x75, 0xe8, 0xcb, 0x62, + 0xc8, 0x03, 0x6f, 0xb4, 0xc5, 0x31, 0x57, 0x93, 0xc7, 0x3b, 0x5f, 0x7e, 0x3a, 0x8b, 0x6b, 0x64, + 0x94, 0x98, 0xff, 0xfc, 0x76, 0x4b, 0x05, 0x38, 0xa7, 0xaa, 0x7f, 0xe9, 0xda, 0x52, 0xff, 0xa2, + 0x5c, 0x9e, 0x7b, 0xc8, 0xd5, 0x2f, 0xaa, 0xe5, 0xb7, 0x8e, 0xd5, 0xbe, 0xd0, 0x74, 0xf4, 0x93, + 0x76, 0xf0, 0xa3, 0x8e, 0x1e, 0x5c, 0xd2, 0x82, 0x83, 0x0c, 0x26, 0xb9, 0xcf, 0x51, 0xb6, 0xc9, + 0x25, 0x26, 0xb4, 0x69, 0x87, 0x85, 0x35, 0x81, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x70, 0x1f, + 0x63, 0x69, 0xca, 0x30, 0x87, 0x8e, 0xa2, 0xc3, 0x0c, 0x9d, 0x28, 0x5a, 0x46, 0xda, 0x40, 0x49, + 0x09, 0x06, 0x36, 0xc7, 0x45, 0xc6, 0xc2, 0x13, 0x83, 0x07, 0xe1, 0xa7, 0x89, 0x8c, 0x0b, 0x82, + 0x10, 0xc9, 0xca, 0x82, 0xe8, 0x16, 0x42, 0xb7, 0x10, 0x81, 0x93, 0x71, 0x70, 0xdd, 0x42, 0x2b, + 0xe7, 0xc8, 0xa7, 0x9d, 0x43, 0xd0, 0xb8, 0x3a, 0xd8, 0x84, 0xb6, 0xa3, 0x0c, 0x3e, 0xc1, 0x79, + 0xd4, 0xf7, 0x95, 0x51, 0x44, 0x22, 0x18, 0x66, 0x62, 0x48, 0x49, 0x29, 0x4e, 0x09, 0xd6, 0xea, + 0x35, 0x38, 0x6f, 0x1f, 0x2a, 0x5f, 0x6d, 0xf1, 0x93, 0x7e, 0xa8, 0xbb, 0x72, 0x8d, 0xff, 0xbc, + 0xf2, 0xe3, 0xd2, 0xcd, 0x5b, 0xfe, 0x51, 0xf2, 0x23, 0x16, 0x03, 0x7f, 0x05, 0xc6, 0x56, 0x7e, + 0xa7, 0x04, 0x35, 0x07, 0x83, 0x46, 0xe5, 0x5b, 0x31, 0xe0, 0x3d, 0x40, 0x1e, 0x20, 0x0f, 0x90, + 0x07, 0xc8, 0x3b, 0x03, 0xf2, 0xae, 0x02, 0x78, 0x25, 0x00, 0x5a, 0x10, 0x5f, 0x5e, 0x16, 0x40, + 0x0e, 0x20, 0x07, 0x90, 0x03, 0xc8, 0xad, 0x03, 0x72, 0xa3, 0xa8, 0x6d, 0xa4, 0xea, 0x77, 0x11, + 0x97, 0xbd, 0xca, 0xd5, 0xf6, 0x08, 0x83, 0x2c, 0x28, 0x06, 0xde, 0x1d, 0x51, 0x51, 0x0c, 0xac, + 0xc3, 0xd7, 0x41, 0x46, 0x6b, 0x75, 0x1d, 0x86, 0x8c, 0x16, 0x49, 0x4e, 0xc5, 0xa3, 0x4f, 0x6e, + 0x25, 0x03, 0x71, 0x31, 0x78, 0x10, 0xbd, 0xf2, 0xa9, 0x2c, 0xce, 0x72, 0x65, 0x32, 0xff, 0x9b, + 0x7c, 0x3c, 0x5e, 0xd3, 0xa2, 0xc8, 0x76, 0x21, 0xdb, 0x65, 0x85, 0x53, 0xed, 0x58, 0xb6, 0xab, + 0xe1, 0x2c, 0x11, 0x57, 0xcd, 0xad, 0xdd, 0x01, 0x3c, 0x1a, 0x3c, 0x1a, 0x3c, 0xda, 0x62, 0x1e, + 0x8d, 0x4a, 0xe2, 0x0a, 0x21, 0xe5, 0x40, 0xc4, 0x85, 0x1c, 0x4a, 0x91, 0xf9, 0x91, 0xcc, 0x0b, + 0x62, 0x74, 0x5c, 0x5d, 0x1d, 0xc8, 0x08, 0x64, 0x04, 0x32, 0x02, 0x19, 0xb5, 0x49, 0x88, 0x24, + 0xc8, 0xc5, 0x12, 0xec, 0x22, 0x0f, 0x7a, 0x71, 0x1d, 0x78, 0xe6, 0x20, 0x18, 0xfb, 0xf1, 0xa7, + 0x0e, 0x8a, 0xd1, 0x1c, 0x7d, 0x8f, 0xe6, 0xc6, 0x34, 0xd2, 0x60, 0x19, 0x6d, 0xd0, 0x8c, 0xc0, + 0xb9, 0x31, 0x11, 0x7a, 0x27, 0x66, 0x75, 0x08, 0xb3, 0x1b, 0x47, 0x18, 0x84, 0xd9, 0xd9, 0x91, + 0x03, 0x61, 0xf6, 0xe6, 0x30, 0x3b, 0x5d, 0x40, 0xd7, 0x23, 0x0f, 0xb5, 0xdf, 0xca, 0xfc, 0x6f, + 0x77, 0xa6, 0x6d, 0x8c, 0x85, 0x4a, 0x10, 0x60, 0x1f, 0xaf, 0x82, 0x88, 0x3a, 0x22, 0xea, 0x56, + 0x90, 0x48, 0xc7, 0x22, 0xea, 0xa1, 0x48, 0xfd, 0x81, 0xcc, 0x44, 0x48, 0x72, 0xdf, 0x69, 0xa5, + 0x8b, 0xcb, 0xcb, 0x62, 0x9e, 0x23, 0x22, 0x44, 0x88, 0x10, 0x59, 0x1c, 0x21, 0x4a, 0x93, 0xac, + 0x20, 0x3b, 0xaf, 0x4b, 0x86, 0xf5, 0x84, 0x60, 0xad, 0x8b, 0x78, 0xf4, 0x38, 0x7e, 0xdf, 0x9f, + 0x7b, 0x1b, 0x75, 0x22, 0xa2, 0xf8, 0x7b, 0x1d, 0x37, 0x78, 0xa5, 0x66, 0xe4, 0x4a, 0x15, 0xcf, + 0x92, 0x48, 0xd0, 0x1a, 0xb9, 0xf9, 0xb2, 0x34, 0x46, 0xee, 0x18, 0x46, 0x0e, 0x46, 0x0e, 0x46, + 0x4e, 0xdd, 0xb3, 0xad, 0x16, 0xa2, 0x3b, 0xf8, 0xcd, 0x66, 0x93, 0xe0, 0xf0, 0x13, 0x7b, 0xba, + 0xe4, 0x60, 0xc0, 0x01, 0x0a, 0xec, 0xe0, 0xc0, 0x05, 0x12, 0xec, 0x60, 0xc1, 0x0e, 0x1a, 0x3a, + 0xc0, 0x83, 0x06, 0x44, 0x88, 0xc0, 0x84, 0xde, 0x73, 0x66, 0x87, 0x02, 0x8f, 0x2e, 0xdd, 0x4a, + 0x2d, 0x44, 0x52, 0x47, 0x98, 0xd5, 0x21, 0x66, 0x75, 0x8c, 0x79, 0x1c, 0x64, 0xba, 0x73, 0x43, + 0x91, 0x88, 0xac, 0xb4, 0xda, 0x57, 0x0a, 0xd5, 0x6e, 0x3e, 0x35, 0xbe, 0x42, 0x10, 0x17, 0x56, + 0x14, 0x56, 0x14, 0x56, 0x74, 0xbf, 0xac, 0xe8, 0x24, 0xdf, 0x96, 0xa4, 0x44, 0xe1, 0xa8, 0x9a, + 0x45, 0x7d, 0x4b, 0xb8, 0xe6, 0x65, 0x59, 0x0f, 0x59, 0x3c, 0xff, 0x16, 0xe4, 0x0c, 0xe7, 0x63, + 0x26, 0x9a, 0xde, 0xcd, 0xed, 0x97, 0xfe, 0xed, 0xcd, 0xd5, 0x45, 0xff, 0xf6, 0xeb, 0xd5, 0x45, + 0xff, 0xa6, 0xf7, 0xe5, 0xf2, 0xe6, 0x33, 0xf5, 0x59, 0xf9, 0x23, 0x88, 0x46, 0x62, 0x6c, 0x22, + 0xff, 0x2f, 0xe9, 0xba, 0xe3, 0x3f, 0xff, 0x8f, 0x7c, 0xc5, 0xcd, 0xe2, 0xe9, 0x7f, 0xbe, 0x99, + 0xfc, 0xb0, 0x43, 0xbe, 0xf9, 0xcf, 0x57, 0xfb, 0x21, 0xa1, 0xbb, 0xb3, 0xeb, 0x0b, 0x88, 0xe8, + 0x45, 0x11, 0x7d, 0xbc, 0xfc, 0xf4, 0xe9, 0xe2, 0xf6, 0xe2, 0x33, 0x54, 0xe9, 0x65, 0x39, 0x9d, + 0x7d, 0xfe, 0x93, 0x4b, 0x42, 0xa4, 0x2b, 0xde, 0xef, 0xa9, 0x59, 0x06, 0x2f, 0x73, 0x83, 0x97, + 0x21, 0x8b, 0xa5, 0x5f, 0x29, 0x88, 0xb3, 0x58, 0xaa, 0x65, 0x27, 0x34, 0xb5, 0x6d, 0xd5, 0x7a, + 0x0c, 0x35, 0x6e, 0xa3, 0x48, 0xbc, 0xa6, 0xcc, 0x6f, 0x79, 0xf4, 0xa5, 0x6e, 0xa3, 0x48, 0xf4, + 0xcf, 0x45, 0xda, 0x4b, 0xb2, 0xe2, 0x76, 0xfc, 0x80, 0x2e, 0x26, 0x26, 0x93, 0xc7, 0x34, 0x12, + 0xff, 0xd2, 0x44, 0x57, 0xe6, 0x79, 0xc9, 0xc5, 0x55, 0x51, 0x7b, 0xa3, 0x3d, 0x66, 0x82, 0xb4, + 0x24, 0x6a, 0x6f, 0xb6, 0xd7, 0x3e, 0x74, 0x67, 0xc1, 0xc3, 0xb0, 0xc6, 0x1c, 0xc5, 0xf1, 0xa4, + 0x04, 0xcc, 0xcf, 0x53, 0x11, 0xfa, 0x99, 0x18, 0x8a, 0x4c, 0xc4, 0x21, 0xa9, 0x6d, 0x5a, 0xb7, + 0x05, 0xea, 0x67, 0x60, 0xa8, 0x60, 0xa8, 0xc8, 0x60, 0x98, 0xac, 0x7e, 0x66, 0xe5, 0xc4, 0xd2, + 0x27, 0x01, 0x57, 0x37, 0xb0, 0x3c, 0x0b, 0xd8, 0x45, 0x16, 0x10, 0x59, 0x40, 0xad, 0x40, 0x62, + 0x67, 0xb8, 0x91, 0x2f, 0x0b, 0x48, 0x30, 0xb7, 0x98, 0xc1, 0x2f, 0x26, 0x8c, 0x00, 0xbe, 0x22, + 0x47, 0x65, 0x9a, 0x29, 0x58, 0x1b, 0xbd, 0x35, 0x82, 0x49, 0x58, 0xec, 0xf8, 0x8c, 0x2a, 0x0d, + 0xe0, 0x33, 0xf0, 0x99, 0x13, 0x9f, 0xc9, 0x22, 0x16, 0xf6, 0x22, 0x34, 0x22, 0x28, 0xce, 0x47, + 0x50, 0x0e, 0x24, 0x47, 0xc3, 0x14, 0x4f, 0xf1, 0x98, 0xf2, 0x35, 0xd5, 0xe3, 0xde, 0xa5, 0x22, + 0xbc, 0xad, 0x1e, 0xd6, 0xc1, 0x60, 0xd9, 0x30, 0xc9, 0x7e, 0x04, 0xd9, 0x40, 0xc6, 0x0f, 0xc4, + 0xe9, 0x9b, 0xd5, 0x85, 0x91, 0xc1, 0x41, 0x60, 0x0c, 0x81, 0x31, 0x32, 0x60, 0xa7, 0xcf, 0xe0, + 0xd0, 0x1e, 0x58, 0xcf, 0xd2, 0xf6, 0x69, 0x23, 0x20, 0x1b, 0x05, 0xcf, 0x22, 0xf3, 0xd3, 0x2c, + 0x29, 0x92, 0x30, 0x89, 0xfc, 0x7f, 0x46, 0x41, 0x54, 0x4e, 0x1e, 0xa5, 0x43, 0xdb, 0xb5, 0x3b, + 0x00, 0x76, 0x01, 0xbb, 0x80, 0x5d, 0x8b, 0x61, 0x97, 0xe9, 0xe4, 0x7a, 0xc4, 0x7d, 0x02, 0x3c, + 0xfd, 0x01, 0x95, 0x14, 0xae, 0xce, 0xfe, 0xbc, 0xb8, 0xed, 0xf7, 0x6e, 0x6f, 0xbe, 0xdc, 0x9c, + 0xdf, 0x5c, 0xf5, 0xff, 0xfb, 0xf5, 0xec, 0xea, 0xf2, 0xd3, 0xe5, 0xc5, 0x2d, 0x95, 0xa6, 0x33, + 0xb4, 0x04, 0x70, 0x75, 0x48, 0xfc, 0x7e, 0xf3, 0xe5, 0xe6, 0xf3, 0xe5, 0x79, 0x7f, 0x22, 0x12, + 0x6a, 0x49, 0x70, 0x4a, 0x84, 0x47, 0x32, 0x5b, 0x4b, 0xa8, 0x7f, 0x7d, 0x8e, 0xb2, 0xf6, 0x17, + 0xc4, 0x73, 0xf3, 0xe5, 0x4e, 0x42, 0x44, 0x2f, 0x8b, 0xe8, 0xfc, 0x77, 0xc8, 0xe7, 0xc5, 0x13, + 0x76, 0x06, 0xf9, 0xbc, 0xa4, 0x3f, 0xd7, 0x77, 0x10, 0xd0, 0x26, 0x0c, 0x82, 0x84, 0x36, 0xa8, + 0x10, 0xe4, 0xb3, 0x41, 0x83, 0x20, 0xa0, 0x97, 0x05, 0x84, 0x13, 0xb6, 0x41, 0x40, 0x90, 0xcf, + 0x46, 0x3f, 0xf1, 0xec, 0x80, 0x1a, 0x20, 0x5f, 0xb9, 0x4a, 0x0a, 0x49, 0x29, 0x8f, 0xc3, 0x62, + 0xa0, 0xa6, 0x36, 0x2e, 0x8b, 0x82, 0x92, 0xc2, 0x38, 0x7d, 0x32, 0xce, 0x20, 0x07, 0x72, 0x4a, + 0xe2, 0x38, 0x46, 0x40, 0x12, 0xe4, 0x14, 0xc3, 0x71, 0x8d, 0x80, 0x20, 0xc8, 0x29, 0x83, 0xdb, + 0x82, 0x80, 0x1c, 0x38, 0x28, 0x80, 0xfd, 0xb2, 0x58, 0x97, 0x81, 0xea, 0x7f, 0xfd, 0x7c, 0xd7, + 0xbb, 0x38, 0x1f, 0xff, 0xfd, 0xa3, 0x6d, 0x45, 0xb6, 0xf7, 0x28, 0x11, 0x5d, 0x58, 0x0d, 0x4d, + 0xb6, 0xfa, 0x3e, 0x5f, 0x27, 0x4a, 0xc2, 0x20, 0xf2, 0xe5, 0x80, 0xb0, 0x84, 0x65, 0xb6, 0x22, + 0x6e, 0xe2, 0xdd, 0x28, 0xab, 0x85, 0xba, 0x5b, 0x14, 0xac, 0x50, 0x2c, 0x5c, 0x2b, 0x58, 0x99, + 0x0a, 0x17, 0xe5, 0x2a, 0x2b, 0x9a, 0x87, 0xfb, 0xc9, 0xc7, 0xcf, 0x4e, 0xd2, 0xa7, 0x56, 0xc9, + 0x94, 0xa0, 0x1f, 0x8d, 0x7c, 0x70, 0x00, 0x50, 0x0f, 0xa8, 0xe7, 0x2a, 0xea, 0x91, 0x0d, 0x0d, + 0x78, 0x0a, 0xa2, 0x11, 0x43, 0xb1, 0xdb, 0x64, 0x59, 0x0c, 0x08, 0xb0, 0x0c, 0x10, 0xb8, 0x80, + 0x81, 0x1d, 0x20, 0xd8, 0x81, 0x82, 0x1f, 0x30, 0x68, 0x79, 0x31, 0x9a, 0x4f, 0xcd, 0x7f, 0x07, + 0x8a, 0xf1, 0x00, 0x25, 0x50, 0x32, 0x0d, 0x05, 0x58, 0x58, 0x1b, 0x48, 0x0c, 0x24, 0x06, 0x12, + 0x03, 0x89, 0xf7, 0x15, 0x89, 0x8d, 0x3a, 0xe3, 0xff, 0x11, 0xcf, 0xa4, 0x70, 0x8b, 0xa0, 0x31, + 0xe6, 0x0a, 0x6c, 0x3d, 0x57, 0x80, 0xc8, 0xbc, 0x33, 0x8c, 0x10, 0x28, 0xe1, 0xc7, 0xc1, 0xc8, + 0x57, 0xf2, 0x24, 0xb2, 0x4c, 0x0e, 0x84, 0x9f, 0x66, 0x32, 0xc9, 0x64, 0xf1, 0x4c, 0x17, 0x06, + 0xab, 0x2f, 0x8d, 0xe6, 0xd5, 0xed, 0x1c, 0x2f, 0x34, 0xaf, 0xa2, 0x79, 0x55, 0xa7, 0x13, 0x35, + 0x9f, 0x71, 0x27, 0xe3, 0xe2, 0xdd, 0x09, 0x61, 0x36, 0xe0, 0x3d, 0xc1, 0x52, 0xb7, 0x41, 0xfc, + 0x20, 0xc8, 0x1a, 0x1b, 0x69, 0x2f, 0x21, 0x61, 0xa0, 0x32, 0xa4, 0xac, 0xb3, 0x5a, 0xf6, 0x8f, + 0x69, 0xe8, 0x93, 0x7a, 0xdd, 0x4f, 0x59, 0x50, 0x0e, 0xce, 0xf9, 0x28, 0x1f, 0x64, 0xe9, 0x1d, + 0x75, 0x6d, 0xac, 0x31, 0x19, 0x7b, 0x70, 0xce, 0x7d, 0xaa, 0xe3, 0xf7, 0x27, 0x27, 0xef, 0x4e, + 0x4f, 0x4e, 0xba, 0xa7, 0xbf, 0x9c, 0x76, 0x7f, 0x7d, 0xfb, 0xf6, 0xf8, 0x1d, 0xe5, 0x05, 0x71, + 0xec, 0x5f, 0xcf, 0x12, 0xb6, 0x74, 0xef, 0xa0, 0x53, 0x56, 0xba, 0xbd, 0x05, 0x05, 0xba, 0x57, + 0xc8, 0x3e, 0x5f, 0x12, 0x4e, 0x18, 0x9c, 0x30, 0x38, 0x61, 0x16, 0x3b, 0x61, 0x54, 0x47, 0xd5, + 0xc3, 0xc8, 0xa6, 0x05, 0xc6, 0x2f, 0x1f, 0xe2, 0x20, 0xf2, 0xd3, 0x2c, 0x49, 0x45, 0x46, 0xc9, + 0x72, 0x57, 0x17, 0xc6, 0x85, 0x11, 0x80, 0x57, 0xc0, 0x2b, 0x19, 0xbc, 0x92, 0xd5, 0x7e, 0x04, + 0x69, 0x1a, 0xc9, 0x30, 0xf8, 0x16, 0x09, 0x7f, 0x7a, 0x64, 0x99, 0xaa, 0x41, 0xd6, 0x6d, 0x84, + 0x01, 0xe5, 0xd6, 0x01, 0x07, 0x17, 0x80, 0xb0, 0x03, 0x09, 0x3b, 0xa0, 0xe8, 0x00, 0x16, 0x62, + 0xa6, 0x88, 0xcc, 0xa4, 0x25, 0x12, 0xc4, 0x8d, 0xbf, 0xcb, 0x8b, 0xdb, 0x7a, 0xe3, 0x2f, 0x81, + 0xe3, 0x15, 0x8f, 0x1e, 0xbf, 0x89, 0xcc, 0x4f, 0x86, 0x4b, 0xa6, 0x2e, 0xa7, 0x37, 0xaa, 0xeb, + 0x36, 0x82, 0x51, 0x85, 0x51, 0x85, 0x51, 0x3d, 0x60, 0xa3, 0x4a, 0x96, 0xb1, 0x5a, 0xc5, 0x82, + 0xf7, 0x84, 0x4b, 0xd2, 0x66, 0xb0, 0x66, 0x7f, 0xe8, 0xe7, 0x09, 0xb1, 0x64, 0xb4, 0x98, 0x40, + 0xb6, 0xb6, 0x3c, 0x53, 0x86, 0xab, 0x5a, 0x9f, 0x31, 0x57, 0x42, 0x7c, 0xdc, 0x56, 0x5d, 0x1b, + 0xe7, 0x3f, 0x29, 0x7f, 0x26, 0x4c, 0xeb, 0x57, 0x3e, 0xb2, 0x73, 0xb5, 0xfb, 0x3d, 0x72, 0x4c, + 0x57, 0xa2, 0xb2, 0x4c, 0x35, 0xe7, 0x8d, 0xbb, 0xc0, 0x25, 0x85, 0x4b, 0x0a, 0x97, 0x14, 0x71, + 0x1e, 0xf4, 0x02, 0xed, 0x84, 0xd0, 0x93, 0x82, 0x72, 0x92, 0x3b, 0xab, 0x36, 0xe2, 0xf4, 0xc2, + 0x5e, 0x40, 0x6b, 0xa0, 0x35, 0xd0, 0xfa, 0x90, 0xd1, 0x9a, 0x1b, 0x1b, 0x3c, 0xe2, 0x9b, 0x5b, + 0xaa, 0x35, 0x59, 0x6e, 0x70, 0xa9, 0xc9, 0xe7, 0xee, 0xf2, 0xff, 0x7c, 0x3e, 0xbb, 0xea, 0xf7, + 0x6e, 0x6f, 0x7a, 0x17, 0xb7, 0x5f, 0xfe, 0xec, 0xff, 0x71, 0x76, 0xf5, 0xf5, 0xa2, 0x7f, 0xfb, + 0xf5, 0xea, 0x02, 0x37, 0x98, 0x6c, 0x96, 0x51, 0xff, 0xee, 0xec, 0xfa, 0x62, 0xf2, 0xdf, 0x98, + 0x51, 0xfd, 0xa2, 0xa0, 0x3e, 0xdf, 0x7c, 0x81, 0x9c, 0xb6, 0x90, 0xd3, 0xd9, 0xe7, 0x3f, 0x21, + 0xa7, 0x2d, 0xe4, 0xf4, 0xf1, 0xf2, 0xd3, 0xa7, 0x8b, 0xdb, 0x8b, 0xcf, 0x7c, 0x5a, 0x65, 0xeb, + 0xf4, 0x73, 0xb4, 0xa9, 0xba, 0xd3, 0xd0, 0x48, 0x5b, 0x3d, 0xe8, 0xf1, 0xf4, 0x36, 0xde, 0x95, + 0x0f, 0xd9, 0x9b, 0x3d, 0xa3, 0xa9, 0xea, 0xcf, 0x23, 0x8d, 0x7a, 0x34, 0x6b, 0x73, 0x56, 0x1c, + 0x62, 0x48, 0x53, 0x0b, 0xb1, 0x52, 0xfb, 0x40, 0x54, 0xb8, 0x7a, 0xac, 0x5a, 0xaa, 0x4a, 0x48, + 0xcf, 0x16, 0x29, 0xd9, 0xa3, 0x8c, 0x7d, 0x31, 0x7b, 0x5b, 0x82, 0xf3, 0xc0, 0x41, 0xc6, 0x96, + 0x08, 0xd8, 0xb1, 0x8b, 0x7d, 0xbf, 0x94, 0x15, 0x2f, 0x34, 0x15, 0x2e, 0x6d, 0x4f, 0x2a, 0x11, + 0xd2, 0x33, 0x21, 0x7c, 0x47, 0xa5, 0x66, 0x9d, 0x1a, 0xc9, 0xdb, 0x29, 0xea, 0xee, 0x0a, 0xda, + 0xe2, 0x53, 0x76, 0x8a, 0xa4, 0x18, 0x1b, 0xc2, 0xa4, 0x18, 0x93, 0xda, 0x20, 0xf2, 0xc3, 0x20, + 0x0d, 0x42, 0x95, 0x7e, 0xf4, 0x79, 0x7c, 0x6a, 0xdd, 0xca, 0x6d, 0x4d, 0x83, 0x52, 0x89, 0xbe, + 0x72, 0x6c, 0x8f, 0x22, 0x96, 0x47, 0x3c, 0xe7, 0x87, 0xca, 0x14, 0x90, 0x47, 0xe6, 0xc8, 0xc1, + 0x9f, 0x7e, 0x4e, 0x8f, 0x5e, 0xb7, 0x46, 0xb5, 0x9c, 0x7e, 0x7a, 0x98, 0x72, 0xf9, 0x3f, 0xc2, + 0xde, 0xc4, 0x85, 0x35, 0x31, 0x35, 0x55, 0xd3, 0x91, 0xe5, 0xf0, 0xe2, 0x3c, 0x4c, 0x4d, 0xb5, + 0x88, 0x01, 0x93, 0x75, 0xce, 0x8c, 0x62, 0x59, 0xd0, 0xe7, 0xe4, 0xca, 0x55, 0x31, 0xa9, 0xcf, + 0x32, 0x38, 0xe0, 0x82, 0x05, 0x76, 0x78, 0x60, 0x87, 0x09, 0x7e, 0xb8, 0x20, 0x0e, 0xe0, 0x59, + 0x9f, 0x79, 0x9b, 0xf9, 0xe1, 0x3e, 0x21, 0x14, 0x78, 0xc4, 0x3d, 0xcf, 0xd5, 0x9a, 0x34, 0xbd, + 0xcf, 0x84, 0xd1, 0xd5, 0x57, 0x18, 0x87, 0x0d, 0x68, 0x07, 0xb4, 0x03, 0xda, 0x6d, 0x84, 0x76, + 0x74, 0x65, 0x50, 0xaa, 0x25, 0xba, 0x32, 0xd6, 0xaf, 0x8f, 0xae, 0x0c, 0x63, 0x9f, 0x14, 0x5d, + 0x19, 0x3a, 0x56, 0xbb, 0x47, 0x3a, 0xdf, 0x89, 0x74, 0xfe, 0xba, 0x2c, 0xc3, 0x6b, 0xb2, 0xe8, + 0xa6, 0x47, 0x9e, 0x13, 0xfa, 0x32, 0x7e, 0xb4, 0xde, 0xec, 0x91, 0xcf, 0xa7, 0x4f, 0x3c, 0xf9, + 0xf1, 0xdd, 0xf8, 0x81, 0x0f, 0x22, 0xd5, 0x6f, 0x6f, 0x02, 0x91, 0x38, 0x73, 0xa5, 0x4b, 0x81, + 0x6c, 0x4e, 0x33, 0x8e, 0x46, 0x0a, 0x77, 0x5c, 0xce, 0xfd, 0xdb, 0x51, 0xfb, 0x92, 0x10, 0x35, + 0xeb, 0xac, 0xcc, 0x60, 0x91, 0x3e, 0x34, 0xc8, 0x38, 0x5d, 0x4f, 0x1f, 0x2a, 0x33, 0x46, 0x8a, + 0x13, 0xe4, 0xa9, 0xb7, 0x44, 0xb5, 0xc0, 0x9a, 0x23, 0x46, 0xf9, 0xce, 0xaa, 0xcd, 0x5a, 0x08, + 0x45, 0xad, 0xc2, 0x8c, 0x64, 0xaa, 0x0e, 0x49, 0x2d, 0x91, 0x5a, 0x0d, 0xd1, 0xae, 0xf2, 0x56, + 0x34, 0xf9, 0xf4, 0xa6, 0xbe, 0xc5, 0x51, 0x20, 0xb5, 0xe4, 0xbb, 0x01, 0xd0, 0xf6, 0x87, 0x61, + 0x87, 0x0f, 0xd3, 0x49, 0x52, 0x91, 0x95, 0xdf, 0x64, 0xec, 0x2e, 0x17, 0x41, 0xb1, 0x3b, 0xd2, + 0xcc, 0xaf, 0x9e, 0xa8, 0x2d, 0xb5, 0xeb, 0x81, 0x6c, 0x65, 0xa4, 0x5b, 0xd7, 0xf6, 0xa8, 0x18, + 0x65, 0x22, 0x63, 0xac, 0x6a, 0x84, 0xc9, 0x8c, 0x2f, 0x99, 0xd1, 0xa5, 0x33, 0xb6, 0xbc, 0xe0, + 0xdf, 0xda, 0xa8, 0x92, 0xa9, 0xbb, 0xa7, 0x98, 0x35, 0x6b, 0x99, 0x1d, 0x63, 0x82, 0x91, 0x1f, + 0xb1, 0x18, 0xf8, 0x25, 0xbe, 0x8a, 0xc1, 0x83, 0xf0, 0xd3, 0x44, 0xc6, 0x85, 0x02, 0x94, 0x34, + 0x2e, 0xd7, 0x0e, 0x4e, 0x8e, 0x9d, 0x83, 0x13, 0x85, 0xb6, 0xde, 0x43, 0x00, 0x94, 0xf6, 0x6d, + 0xb7, 0xbc, 0x90, 0xd2, 0xb6, 0xf6, 0xa7, 0x13, 0x0c, 0x1e, 0x65, 0x2c, 0xf3, 0x62, 0x0c, 0x27, + 0x4f, 0xa2, 0xa5, 0x19, 0xae, 0xa9, 0x52, 0xe3, 0xaa, 0xa0, 0xcf, 0xa0, 0xcf, 0xa0, 0xcf, 0xe6, + 0x4f, 0x94, 0x47, 0x54, 0x32, 0xa3, 0x58, 0x22, 0xa3, 0x27, 0xfc, 0x17, 0x3c, 0x3c, 0x64, 0xe2, + 0x21, 0x28, 0x08, 0x3c, 0x84, 0xfa, 0x37, 0x59, 0xbf, 0x36, 0x3a, 0x0d, 0xc8, 0xa6, 0x84, 0x1c, + 0x32, 0xda, 0xa9, 0x4f, 0xf9, 0x70, 0xac, 0xdb, 0x60, 0xe5, 0x1c, 0xf9, 0x4a, 0xd1, 0xfb, 0x9a, + 0x4a, 0x36, 0xae, 0x6e, 0xd9, 0xf5, 0x48, 0x5d, 0xdc, 0xdf, 0x61, 0xfe, 0x68, 0xb3, 0x1d, 0x71, + 0xce, 0xa3, 0xae, 0x76, 0xe4, 0x15, 0x8f, 0x3e, 0x9d, 0xcb, 0x53, 0xd3, 0xbe, 0x48, 0x04, 0xc3, + 0x4c, 0x0c, 0x29, 0x2f, 0x47, 0x3a, 0x25, 0x58, 0xab, 0xd7, 0x10, 0x0c, 0xfe, 0x50, 0xc5, 0x7e, + 0x17, 0x3f, 0xe9, 0x87, 0x7a, 0x68, 0xb8, 0xf1, 0x9f, 0x57, 0x7e, 0x5c, 0x86, 0x8d, 0x97, 0x7f, + 0xd4, 0x18, 0x9b, 0x58, 0xf9, 0x9d, 0x12, 0xd4, 0x1c, 0x6c, 0x50, 0x2e, 0xdf, 0x8a, 0x01, 0xef, + 0x01, 0xf2, 0x00, 0x79, 0x80, 0x3c, 0x40, 0xde, 0x19, 0x90, 0x77, 0x15, 0xc0, 0x2b, 0x01, 0xd0, + 0x82, 0xf8, 0xf2, 0xb2, 0x00, 0x72, 0x00, 0x39, 0x80, 0x1c, 0x40, 0x6e, 0x1d, 0x90, 0x1b, 0x45, + 0x6d, 0x13, 0x93, 0xb2, 0x96, 0x70, 0xd9, 0xab, 0x5c, 0x6d, 0x8f, 0x30, 0xc8, 0xc2, 0x32, 0x4d, + 0x4b, 0x71, 0xf4, 0x11, 0xe6, 0x28, 0xad, 0xae, 0xa3, 0x5e, 0x1b, 0xd5, 0x4c, 0x6b, 0xc9, 0xc3, + 0xeb, 0x1e, 0x41, 0x11, 0xd5, 0xcd, 0xf8, 0x51, 0xc7, 0x7f, 0xbb, 0x18, 0x3c, 0x88, 0xde, 0xf8, + 0x61, 0xfa, 0x67, 0xd5, 0x73, 0x2e, 0xfd, 0xdc, 0xe6, 0xa2, 0xe8, 0xe0, 0x29, 0x90, 0x51, 0x79, + 0x63, 0x29, 0xdd, 0xd4, 0xa5, 0x86, 0x35, 0x91, 0x05, 0x41, 0xc6, 0x57, 0xd9, 0xd5, 0xc2, 0xbc, + 0x25, 0x02, 0x0a, 0x85, 0x79, 0x4b, 0xba, 0x8f, 0x2c, 0xd8, 0x13, 0xdf, 0x91, 0xb6, 0x83, 0x3b, + 0x61, 0xde, 0x92, 0xe9, 0xe3, 0xcf, 0x01, 0x03, 0xcc, 0x70, 0xc0, 0x05, 0x0b, 0xec, 0xf0, 0xc0, + 0x0e, 0x13, 0xfc, 0x70, 0x41, 0x03, 0x1b, 0x44, 0xf0, 0x41, 0x1f, 0x82, 0xa9, 0x69, 0x2e, 0xe6, + 0x2d, 0x99, 0xfd, 0xbc, 0x98, 0xb7, 0x04, 0x68, 0x07, 0xb4, 0x03, 0xda, 0x31, 0x6f, 0x89, 0x52, + 0x89, 0x30, 0x6f, 0x69, 0x69, 0x79, 0xcc, 0x5b, 0x6a, 0xfe, 0xa4, 0x98, 0xb7, 0x64, 0xdb, 0x57, + 0xc6, 0xbc, 0x25, 0x8b, 0x83, 0x19, 0xf6, 0xcd, 0x5b, 0x5a, 0x93, 0x14, 0xaa, 0x65, 0x19, 0xec, + 0x9a, 0xb7, 0xd4, 0x94, 0x1f, 0x9a, 0x3d, 0x32, 0xe6, 0x2d, 0x59, 0x9a, 0x68, 0xa4, 0xca, 0x5c, + 0xe9, 0x52, 0x20, 0x47, 0x52, 0x8b, 0x22, 0xf5, 0xa3, 0xe0, 0x59, 0x64, 0x7e, 0x9a, 0x25, 0x45, + 0x12, 0x26, 0x11, 0x69, 0x92, 0xb1, 0xbe, 0xba, 0xe1, 0x74, 0x63, 0x17, 0x4d, 0x57, 0xfc, 0x9c, + 0x15, 0x4d, 0x57, 0xb5, 0x17, 0x50, 0x4e, 0x39, 0x2e, 0x1f, 0x23, 0xff, 0x9f, 0x51, 0x10, 0xc9, + 0xa1, 0x14, 0x19, 0x5d, 0x02, 0x72, 0xed, 0x0e, 0x28, 0xe7, 0xd4, 0x76, 0xa4, 0xb9, 0xc2, 0x53, + 0x28, 0xe7, 0xb4, 0xc7, 0x8b, 0x67, 0x28, 0xe7, 0xe4, 0x39, 0xb9, 0x1e, 0xf1, 0x1d, 0xe9, 0x3c, + 0x77, 0xa3, 0x57, 0x52, 0xb8, 0x3a, 0xfb, 0xf3, 0xe2, 0xb6, 0xdf, 0xbb, 0xbd, 0xf9, 0x72, 0x73, + 0x7e, 0x73, 0xd5, 0xff, 0xef, 0xd7, 0xb3, 0xab, 0xcb, 0x4f, 0x97, 0x17, 0xb7, 0x54, 0x9a, 0xce, + 0x70, 0x13, 0x3a, 0xd3, 0xed, 0xf0, 0xbd, 0xdf, 0x6f, 0xbe, 0xdc, 0x7c, 0xbe, 0x3c, 0xef, 0x4f, + 0x44, 0x42, 0x2d, 0x09, 0x4e, 0x89, 0xf0, 0x05, 0x10, 0xb7, 0x92, 0x50, 0xff, 0xfa, 0x1c, 0x37, + 0x78, 0xbf, 0x20, 0x9e, 0x9b, 0x2f, 0x77, 0x12, 0x22, 0x7a, 0x59, 0x44, 0xe7, 0xbf, 0x43, 0x3e, + 0x2f, 0x9e, 0xb0, 0x33, 0xc8, 0xe7, 0x25, 0xfd, 0xb9, 0xbe, 0x83, 0x80, 0x36, 0x61, 0x10, 0x24, + 0xb4, 0x41, 0x85, 0x20, 0x9f, 0x0d, 0x1a, 0x04, 0x01, 0xbd, 0x2c, 0x20, 0x9c, 0xb0, 0x0d, 0x02, + 0x82, 0x7c, 0x36, 0xfa, 0x89, 0x1c, 0x3a, 0x44, 0xba, 0xe2, 0xfd, 0x91, 0x85, 0xdf, 0x4e, 0x33, + 0x29, 0x24, 0xa5, 0x3c, 0x0e, 0x8b, 0x81, 0x9a, 0xda, 0xb8, 0x2c, 0x0a, 0x4a, 0x0a, 0xe3, 0xf4, + 0xc9, 0x38, 0x83, 0x1c, 0xc8, 0x29, 0x89, 0xe3, 0x18, 0x01, 0x49, 0x90, 0x53, 0x0c, 0xc7, 0x35, + 0x02, 0x82, 0x20, 0xa7, 0x0c, 0x6e, 0x0b, 0x02, 0x72, 0xe0, 0xa0, 0x00, 0xf6, 0xcb, 0x62, 0x5d, + 0x06, 0xaa, 0xff, 0xf5, 0xf3, 0x5d, 0xef, 0xe2, 0x7c, 0xfc, 0xf7, 0x8f, 0xb6, 0x95, 0xd1, 0xdf, + 0x9b, 0xce, 0xa6, 0x9a, 0x99, 0x63, 0x38, 0x7a, 0xfc, 0x26, 0x32, 0x3f, 0x19, 0x96, 0x25, 0x4a, + 0x32, 0xce, 0x8b, 0x20, 0x0e, 0xcb, 0x54, 0x16, 0xd5, 0x54, 0xc3, 0x35, 0x1b, 0xa0, 0x96, 0x62, + 0xa3, 0xe8, 0x50, 0x4b, 0x81, 0x5a, 0x8a, 0x6d, 0x5f, 0x8c, 0xbe, 0x96, 0x82, 0xac, 0x69, 0x87, + 0xb0, 0x59, 0x87, 0xb8, 0x49, 0x87, 0xb0, 0xd5, 0x89, 0xa3, 0x29, 0x87, 0xa9, 0x73, 0x83, 0xab, + 0x09, 0x87, 0xb3, 0x2d, 0x83, 0xd0, 0xe5, 0x61, 0x69, 0xb6, 0xe1, 0xfe, 0x54, 0xfc, 0xcd, 0x35, + 0xac, 0x5f, 0xcf, 0x92, 0xa6, 0x95, 0xfb, 0x43, 0x9a, 0x78, 0x47, 0x5c, 0x0b, 0xc7, 0x32, 0xdd, + 0x8e, 0xc8, 0xc7, 0x3c, 0x56, 0xf5, 0x26, 0x09, 0x1d, 0xa3, 0x45, 0xa7, 0xe8, 0x51, 0xc6, 0xbe, + 0x98, 0xbd, 0x2d, 0x81, 0xf5, 0xe3, 0x70, 0x8b, 0x96, 0x5c, 0xa2, 0x63, 0x17, 0x27, 0xf9, 0x62, + 0xc6, 0xe1, 0xea, 0x3a, 0x1a, 0x5a, 0x8f, 0xa8, 0xfa, 0x59, 0x3c, 0xee, 0x26, 0x24, 0x91, 0x5e, + 0x8d, 0x9f, 0xb3, 0x37, 0x7b, 0x4c, 0x8b, 0x9b, 0x91, 0x4a, 0xa1, 0xca, 0x9c, 0xe0, 0xae, 0xa7, + 0x6a, 0x25, 0x34, 0x19, 0xcd, 0x26, 0x37, 0xc4, 0xb1, 0x08, 0x0b, 0xf9, 0xa4, 0xd8, 0x2e, 0x77, + 0xd0, 0x93, 0x0d, 0x17, 0x44, 0x78, 0x28, 0xcd, 0x46, 0xb3, 0x97, 0x4e, 0x62, 0x5f, 0xc4, 0x03, + 0xc5, 0xab, 0xd8, 0xea, 0xc7, 0xb4, 0x69, 0x75, 0xcc, 0x3c, 0xd4, 0x7a, 0xa4, 0x11, 0x1c, 0xe3, + 0x3e, 0xf2, 0x76, 0x04, 0xc8, 0xc8, 0xe6, 0x1f, 0x2e, 0x0c, 0x7a, 0x66, 0x41, 0x87, 0x9a, 0xb6, + 0x6f, 0xda, 0x90, 0x76, 0xb4, 0xd6, 0x31, 0xf5, 0x68, 0xad, 0x37, 0xee, 0x8c, 0xd6, 0x22, 0x05, + 0x14, 0x2e, 0x60, 0x61, 0x07, 0x18, 0x76, 0xa0, 0xd1, 0x05, 0x38, 0xc4, 0xe1, 0x27, 0x22, 0x3d, + 0xa6, 0x02, 0xa2, 0x17, 0x7d, 0x14, 0x9a, 0x5b, 0x6d, 0x76, 0x72, 0x5c, 0x28, 0x6e, 0xbc, 0xd1, + 0x15, 0x56, 0xa5, 0x9e, 0xfb, 0xc7, 0x09, 0x52, 0x5a, 0xc1, 0x8a, 0x1b, 0xb4, 0xb4, 0x81, 0x97, + 0x36, 0x10, 0xd3, 0x0d, 0x66, 0xb4, 0xa0, 0x46, 0x0c, 0x6e, 0x95, 0x30, 0xc8, 0x67, 0x09, 0xd6, + 0x4e, 0x01, 0xdd, 0xcd, 0x3d, 0x6b, 0x3d, 0xa1, 0x53, 0x86, 0xb5, 0x2d, 0xbb, 0x87, 0x73, 0x51, + 0x47, 0x3f, 0xcc, 0xa2, 0x46, 0x4d, 0xff, 0xd4, 0x00, 0xf8, 0x0d, 0xbf, 0xa6, 0x7e, 0xad, 0x10, + 0x9f, 0x9a, 0x53, 0xa6, 0x10, 0x59, 0x2e, 0x7e, 0x5e, 0xab, 0xea, 0x0c, 0x17, 0x41, 0xc3, 0xd0, + 0x6e, 0x6b, 0x68, 0x09, 0xeb, 0x6f, 0x60, 0x64, 0xe9, 0x8d, 0x2c, 0x5d, 0xfd, 0x0e, 0x0c, 0x2c, + 0x0c, 0xac, 0xd5, 0x17, 0x5d, 0x3b, 0x64, 0x1a, 0x35, 0xd8, 0x43, 0x18, 0x41, 0x18, 0x41, 0x18, + 0x41, 0x18, 0x41, 0x18, 0x41, 0x4b, 0x8c, 0xe0, 0xa1, 0x18, 0x38, 0xda, 0x8b, 0xc3, 0xd7, 0xe3, + 0x2e, 0xe1, 0x45, 0xe2, 0x30, 0x74, 0x30, 0x74, 0x30, 0x74, 0x30, 0x74, 0x30, 0x74, 0x06, 0x2e, + 0x4a, 0x67, 0xb4, 0x6a, 0x56, 0xe5, 0x35, 0x5b, 0x5c, 0xb4, 0xee, 0x71, 0xe7, 0x11, 0x69, 0x8a, + 0xd6, 0x6b, 0xab, 0x52, 0x5e, 0xd1, 0x5e, 0x5f, 0x9c, 0xb0, 0x9c, 0xb9, 0xb6, 0x38, 0x49, 0x79, + 0x33, 0x97, 0x06, 0x11, 0xdf, 0xea, 0x51, 0xad, 0xcb, 0x55, 0x0e, 0x5d, 0xe5, 0x4b, 0x1a, 0xb3, + 0x23, 0x7a, 0xca, 0x76, 0x3c, 0x9e, 0xfa, 0xe9, 0x73, 0x91, 0x8e, 0x8f, 0xce, 0x78, 0x81, 0xe9, + 0x93, 0x5f, 0xc4, 0x83, 0xd5, 0x0b, 0xe4, 0xeb, 0xff, 0xd8, 0xd9, 0xa3, 0xeb, 0x10, 0xc3, 0x48, + 0x8a, 0xb8, 0xa8, 0x5d, 0xe6, 0x4f, 0x5e, 0xde, 0xb5, 0x66, 0x1f, 0x54, 0x75, 0xd1, 0x78, 0xf4, + 0xa8, 0xea, 0xd2, 0xec, 0xbd, 0xa3, 0xaa, 0x8b, 0x64, 0x41, 0xa4, 0x98, 0x11, 0x74, 0x40, 0xd0, + 0x01, 0x41, 0x07, 0x04, 0x1d, 0x0e, 0x2f, 0xe8, 0x80, 0x14, 0xf3, 0x66, 0xd3, 0x88, 0x14, 0x33, + 0x8c, 0x20, 0x8c, 0x20, 0x8c, 0x20, 0x8c, 0xe0, 0xe1, 0x18, 0x41, 0xa4, 0x98, 0x69, 0x71, 0x17, + 0x29, 0x66, 0x18, 0x3a, 0x18, 0x3a, 0x18, 0x3a, 0x18, 0x3a, 0x93, 0x86, 0x0e, 0x29, 0xe6, 0x1d, + 0xe0, 0x67, 0xd7, 0x14, 0x33, 0x12, 0xc9, 0x48, 0x24, 0x93, 0xbd, 0xb4, 0x99, 0x44, 0x32, 0x6b, + 0x82, 0xd0, 0xd3, 0x9e, 0x3f, 0x3e, 0x2f, 0x5f, 0x67, 0xe9, 0xd7, 0xf7, 0x2a, 0x6d, 0x3c, 0xff, + 0x84, 0x69, 0x92, 0x15, 0xfe, 0x40, 0x66, 0x93, 0xff, 0x64, 0xc8, 0x1c, 0xaf, 0xdd, 0x8a, 0x36, + 0x79, 0xdc, 0x45, 0xf2, 0x18, 0xc9, 0x63, 0x3d, 0x7e, 0xf9, 0x61, 0x26, 0x8f, 0xc9, 0x7d, 0xef, + 0x4a, 0x8b, 0x59, 0x70, 0x61, 0xc9, 0xe5, 0x3e, 0x21, 0x5c, 0xf3, 0x22, 0x1e, 0x3d, 0x8e, 0xe5, + 0xf0, 0x73, 0x8f, 0xed, 0x41, 0x96, 0x44, 0x82, 0xdf, 0x14, 0x94, 0xbb, 0xc0, 0x0a, 0xc0, 0x0a, + 0xc0, 0x0a, 0xc0, 0x0a, 0x74, 0xa8, 0x21, 0x01, 0x06, 0x60, 0x87, 0x77, 0x5a, 0x99, 0xc3, 0x3e, + 0x65, 0x59, 0xc4, 0xf8, 0xdf, 0xb4, 0x09, 0xe0, 0x1f, 0xf0, 0x0f, 0xf8, 0x07, 0xfc, 0x33, 0x82, + 0x03, 0x0c, 0x41, 0x7b, 0x43, 0x30, 0xbf, 0x90, 0x83, 0xdb, 0x1a, 0xa8, 0x5e, 0xfd, 0x01, 0x93, + 0x00, 0x93, 0x00, 0x93, 0xb0, 0xcf, 0x26, 0x81, 0x1a, 0x21, 0x96, 0xec, 0x02, 0xe1, 0x45, 0x55, + 0x9d, 0xcb, 0x81, 0x88, 0x0b, 0x59, 0x3c, 0xff, 0x16, 0xe4, 0x82, 0xaf, 0x30, 0x66, 0xdd, 0xf5, + 0xa5, 0x1d, 0x8e, 0xdb, 0xbd, 0x72, 0xb2, 0xeb, 0xec, 0x16, 0xff, 0x30, 0x15, 0x80, 0x6c, 0xba, + 0xec, 0x96, 0xab, 0x1e, 0x84, 0x51, 0x52, 0xbc, 0x12, 0xdb, 0x5a, 0x72, 0xfd, 0xeb, 0xf3, 0x0e, + 0xdb, 0x13, 0xfc, 0x7c, 0xb5, 0xb7, 0x62, 0x9b, 0xdc, 0xae, 0x0c, 0xd1, 0xb5, 0x11, 0xdd, 0xf9, + 0xef, 0x90, 0x5b, 0xab, 0x93, 0x7a, 0x06, 0xb9, 0xb5, 0xd1, 0xb7, 0xeb, 0x3b, 0x08, 0xae, 0x2d, + 0xc6, 0x41, 0x72, 0x2d, 0x55, 0x0e, 0x72, 0x6b, 0xa9, 0x71, 0x10, 0x5c, 0x3b, 0xc1, 0xe1, 0xa4, + 0xb6, 0x14, 0x1c, 0xe4, 0xd6, 0xda, 0xff, 0xe5, 0xd4, 0x39, 0x96, 0x95, 0xef, 0x8f, 0x1c, 0xf8, + 0xc6, 0x86, 0x48, 0x34, 0x0b, 0x15, 0xdc, 0x23, 0xf1, 0x70, 0x51, 0xbe, 0x7d, 0x12, 0x11, 0x07, + 0xb5, 0xdb, 0xab, 0x13, 0x76, 0x06, 0xf9, 0x68, 0xa7, 0x6a, 0x7b, 0x86, 0x41, 0x90, 0x90, 0x76, + 0xea, 0xb5, 0x67, 0x1a, 0x04, 0x01, 0x69, 0xa7, 0x52, 0xfb, 0x25, 0x20, 0xc8, 0xc7, 0x04, 0x35, + 0x72, 0x4f, 0x46, 0xeb, 0x32, 0x9a, 0xfd, 0xaf, 0x9f, 0xef, 0x7a, 0x17, 0xe7, 0xe3, 0xbf, 0x7f, + 0xb4, 0xbd, 0xe3, 0xf9, 0xde, 0xb6, 0x2c, 0xbf, 0x1d, 0x55, 0x45, 0x72, 0x28, 0xc2, 0xe7, 0x30, + 0x12, 0x7e, 0x5e, 0x04, 0x05, 0x47, 0x69, 0xe9, 0xca, 0x06, 0xa8, 0x21, 0x52, 0x16, 0xe9, 0x42, + 0xe3, 0x28, 0xaa, 0x87, 0x0c, 0x55, 0x0f, 0x95, 0xc2, 0x47, 0xdd, 0x90, 0x15, 0x60, 0xe0, 0xa1, + 0x8c, 0x74, 0xfb, 0x77, 0x7a, 0x14, 0x03, 0x19, 0xf8, 0xe1, 0xf7, 0x20, 0x8e, 0x45, 0xd4, 0x38, + 0x5a, 0xdc, 0xcf, 0x53, 0x11, 0xd2, 0x1b, 0x82, 0x6d, 0x37, 0xb6, 0x7c, 0x72, 0x75, 0xd7, 0x15, + 0x03, 0x91, 0x7e, 0x4f, 0x8a, 0x24, 0x96, 0xa1, 0x5f, 0x0a, 0x1e, 0x86, 0xc2, 0x88, 0xa1, 0x58, + 0xf9, 0x08, 0x98, 0x5e, 0xdd, 0x02, 0xa4, 0xf8, 0x0a, 0x35, 0x97, 0xb7, 0xe1, 0x99, 0x60, 0x76, + 0xcc, 0x35, 0xc1, 0xec, 0x8d, 0xab, 0x13, 0xcc, 0xd8, 0x80, 0x89, 0x1b, 0xa0, 0xb4, 0x01, 0x95, + 0x36, 0xc0, 0xd2, 0x0f, 0x5c, 0x3c, 0xdc, 0x9e, 0x7a, 0x9a, 0x19, 0x35, 0xa0, 0x2d, 0x00, 0x5b, + 0x90, 0x8f, 0x32, 0x31, 0x76, 0x78, 0x7e, 0x88, 0xcc, 0x17, 0x0f, 0x99, 0xc8, 0x73, 0x3e, 0x45, + 0x9d, 0x03, 0x5d, 0xd3, 0xb6, 0x4c, 0xba, 0xc4, 0x03, 0x7c, 0x6c, 0x9e, 0x98, 0x4e, 0x20, 0x34, + 0x04, 0x88, 0xba, 0x80, 0x51, 0x3b, 0x40, 0x6a, 0x07, 0x4a, 0x73, 0x80, 0xc9, 0x03, 0x9c, 0x4c, + 0x00, 0xca, 0x0e, 0xa4, 0xd5, 0x06, 0x13, 0x40, 0x1b, 0x13, 0xc7, 0x22, 0x0b, 0x22, 0x7f, 0x20, + 0xe2, 0x5c, 0x16, 0xcf, 0xfc, 0x1a, 0x3e, 0x9f, 0x8d, 0xd0, 0xb8, 0x3f, 0xb3, 0xf6, 0xf1, 0x4c, + 0xc7, 0xd5, 0x0e, 0xb5, 0x3a, 0x21, 0xd7, 0x30, 0xf4, 0xea, 0x86, 0x60, 0x63, 0x50, 0x6c, 0x0c, + 0x92, 0xcd, 0x43, 0x33, 0x2f, 0x44, 0x33, 0x43, 0x75, 0x25, 0x3e, 0xb6, 0x49, 0xbe, 0x6b, 0x4f, + 0xe2, 0x40, 0x84, 0xf2, 0x31, 0x88, 0xde, 0x9d, 0xe8, 0x38, 0x7f, 0x33, 0xef, 0xf4, 0x8d, 0x86, + 0xbd, 0x3e, 0x65, 0x41, 0x19, 0xe2, 0xfc, 0x28, 0x1f, 0x64, 0x39, 0x45, 0xf5, 0x54, 0xc3, 0xa6, + 0xb7, 0x41, 0xfc, 0x20, 0x58, 0x5b, 0x1d, 0x17, 0xff, 0xe8, 0x41, 0x31, 0x6f, 0x3a, 0xed, 0x56, + 0x1b, 0x6c, 0xae, 0xaa, 0xcb, 0x9b, 0x57, 0x7a, 0xb7, 0x2d, 0x1b, 0x56, 0xf9, 0x0d, 0xef, 0x66, + 0x8d, 0xed, 0x6a, 0xdb, 0xff, 0xe7, 0x2b, 0x8d, 0xaa, 0x14, 0xfc, 0x6b, 0x4c, 0x95, 0x7e, 0x81, + 0x2a, 0xb9, 0x6d, 0x80, 0xf5, 0xed, 0x72, 0x7f, 0xe4, 0xe6, 0xf3, 0x33, 0x1e, 0xe5, 0x4e, 0x91, + 0x14, 0x41, 0x34, 0x89, 0x63, 0xe9, 0x63, 0x79, 0x8b, 0x9b, 0x82, 0xda, 0x81, 0xda, 0x81, 0xda, + 0x81, 0xda, 0x81, 0xda, 0x81, 0xda, 0x81, 0xda, 0x81, 0xda, 0xc1, 0x1f, 0x07, 0xb5, 0x03, 0xb5, + 0x03, 0xb5, 0x3b, 0x10, 0x6a, 0xe7, 0x54, 0xfa, 0x91, 0xe9, 0x26, 0xa7, 0xda, 0x3e, 0x66, 0x6e, + 0x76, 0xda, 0xb2, 0xa2, 0x76, 0xf9, 0xf7, 0x5e, 0xeb, 0xac, 0x05, 0xf1, 0xb4, 0x5f, 0x0f, 0x75, + 0x3d, 0x7e, 0xd7, 0xf3, 0xc9, 0xab, 0xd6, 0xff, 0xf9, 0x2e, 0x15, 0xe1, 0xd2, 0xaf, 0xf4, 0xaf, + 0xa7, 0xd2, 0xe8, 0x8d, 0x85, 0x71, 0x31, 0x91, 0xc5, 0x91, 0x1b, 0x07, 0x87, 0xe1, 0xd0, 0xac, + 0x16, 0x0a, 0xc9, 0xd8, 0x4c, 0x81, 0xd2, 0x6c, 0x5f, 0xc7, 0x2b, 0x94, 0xde, 0xa0, 0x42, 0xc9, + 0xd2, 0x18, 0x0a, 0x2a, 0x94, 0x50, 0xa1, 0x34, 0x11, 0x13, 0x2a, 0x94, 0x38, 0x21, 0x16, 0x61, + 0x6c, 0x67, 0xa0, 0x57, 0x37, 0x04, 0x1b, 0x83, 0x62, 0x63, 0x90, 0x6c, 0x1e, 0x9a, 0xf5, 0xf0, + 0x5b, 0x84, 0xb1, 0x49, 0xbc, 0x53, 0x84, 0xb1, 0x49, 0xfe, 0x20, 0x8c, 0xcd, 0xb2, 0x2d, 0xc2, + 0xd8, 0xbc, 0xaa, 0x84, 0x30, 0xf6, 0x5e, 0xab, 0x12, 0xc2, 0xd8, 0x46, 0x9f, 0x1f, 0x15, 0x4a, + 0xa0, 0x76, 0xa0, 0x76, 0xa0, 0x76, 0xa0, 0x76, 0xa0, 0x76, 0xa0, 0x76, 0xa0, 0x76, 0xa0, 0x76, + 0xa0, 0x76, 0xa0, 0x76, 0x50, 0x25, 0x50, 0x3b, 0xf7, 0xa9, 0x1d, 0x2a, 0x94, 0x1a, 0xf6, 0x71, + 0xb8, 0x42, 0x89, 0xb7, 0x18, 0xc4, 0x73, 0xab, 0x44, 0xe9, 0x32, 0x3e, 0xf8, 0x1a, 0xa5, 0x24, + 0x0c, 0x47, 0xa9, 0x14, 0x83, 0x69, 0x4e, 0x7b, 0x32, 0xa2, 0x93, 0xb7, 0x3c, 0xa9, 0xbe, 0x25, + 0x2a, 0x93, 0x4c, 0xc5, 0x52, 0x50, 0x99, 0xe4, 0x78, 0xac, 0x04, 0x95, 0x49, 0xdb, 0x89, 0x89, + 0xbd, 0x32, 0x69, 0x98, 0x89, 0x7f, 0x46, 0x22, 0x0e, 0x4b, 0x8b, 0x9f, 0x17, 0x59, 0x20, 0xcb, + 0x6f, 0xa2, 0x29, 0x62, 0xdd, 0xb8, 0xbb, 0x9e, 0xd0, 0xf5, 0x31, 0x42, 0xd7, 0xae, 0xc0, 0xae, + 0x6e, 0xf8, 0x35, 0x06, 0xc3, 0xc6, 0xe0, 0xd8, 0x3c, 0x2c, 0xeb, 0xe1, 0xb4, 0xdc, 0xa1, 0x6b, + 0x6e, 0xb8, 0xae, 0x36, 0x0a, 0x06, 0x7f, 0x8d, 0xf2, 0x62, 0xfc, 0xa5, 0xfc, 0x87, 0x2c, 0x88, + 0x47, 0x51, 0x90, 0xe9, 0x28, 0x28, 0xad, 0x01, 0xc1, 0x9a, 0xe7, 0xd0, 0xa4, 0xad, 0x7a, 0xb2, + 0x90, 0xda, 0x21, 0xdd, 0x04, 0xb4, 0x5b, 0x02, 0xf1, 0xa6, 0xa0, 0xde, 0x38, 0xe4, 0x1b, 0x87, + 0x7e, 0x7b, 0x4c, 0x80, 0x1e, 0x53, 0xa0, 0xc9, 0x24, 0x54, 0x62, 0xd5, 0x96, 0xd5, 0xb4, 0x0b, + 0xa3, 0x3d, 0xa6, 0x7b, 0x59, 0x36, 0xee, 0x49, 0x7b, 0x6f, 0x8b, 0x79, 0x5d, 0xd5, 0xa0, 0xa7, + 0x9d, 0x87, 0x4c, 0x0e, 0xfc, 0x42, 0xa7, 0xa2, 0x56, 0x4a, 0x3a, 0xdf, 0x1a, 0xbe, 0x03, 0x7c, + 0x07, 0xf8, 0x0e, 0xf0, 0x1d, 0xe0, 0x3b, 0x58, 0xe0, 0x3b, 0xe8, 0x86, 0x65, 0xb8, 0x0b, 0x88, + 0xa3, 0xe8, 0xcb, 0x88, 0x57, 0xfb, 0xb9, 0x94, 0x19, 0xaf, 0xe5, 0x21, 0x5f, 0x1b, 0x88, 0xa2, + 0x7b, 0xd6, 0x67, 0xcc, 0x6f, 0xa6, 0x62, 0xba, 0x9b, 0x4a, 0xa9, 0xff, 0x69, 0x26, 0xa5, 0xf3, + 0xb9, 0x90, 0xd0, 0xb9, 0x50, 0xfb, 0xa8, 0x51, 0x59, 0x6f, 0x51, 0xa9, 0x94, 0xbe, 0x5c, 0xd0, + 0xea, 0xc6, 0xe8, 0x60, 0xb0, 0xd5, 0xdf, 0x47, 0x1a, 0x08, 0x69, 0x20, 0xb8, 0x2f, 0x36, 0xf8, + 0xeb, 0xd5, 0x49, 0x1c, 0xc9, 0xb8, 0xd0, 0xda, 0xbe, 0xf0, 0x1e, 0x8d, 0x04, 0xed, 0x5f, 0xcc, + 0x64, 0x23, 0x41, 0x17, 0xd5, 0xdf, 0x7b, 0x12, 0x16, 0xf0, 0x4c, 0x37, 0x12, 0x98, 0x52, 0xa5, + 0xe3, 0xf7, 0x27, 0x27, 0xef, 0x4e, 0x4f, 0x4e, 0xba, 0xa7, 0xbf, 0x9c, 0x76, 0x7f, 0x7d, 0xfb, + 0xf6, 0xf8, 0xdd, 0xf1, 0x5b, 0xf4, 0x16, 0xb8, 0xb6, 0x0b, 0xda, 0xc6, 0xeb, 0x6a, 0x35, 0x4a, + 0x53, 0x33, 0xe4, 0x6b, 0x75, 0x63, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, + 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0xe3, 0xe4, + 0x0b, 0x8d, 0xdd, 0x0d, 0xfb, 0x38, 0x9d, 0xbe, 0x3e, 0xd8, 0x9e, 0xee, 0xd5, 0x0c, 0xb5, 0x33, + 0xfd, 0xdc, 0x47, 0x16, 0x9f, 0x3d, 0xee, 0x33, 0xe7, 0xd2, 0x59, 0x63, 0x38, 0x59, 0x56, 0x9f, + 0x28, 0xda, 0x03, 0x44, 0xa7, 0xe6, 0x34, 0x2b, 0x11, 0x1d, 0x14, 0xae, 0x03, 0x62, 0xf7, 0xc1, + 0x20, 0x3c, 0x0a, 0xb6, 0x1d, 0x01, 0x1a, 0xad, 0x57, 0xd7, 0x51, 0x02, 0xfd, 0xec, 0x4c, 0x85, + 0x4a, 0xa3, 0x95, 0x55, 0x7c, 0xa6, 0x5c, 0x95, 0xe8, 0xf4, 0xd0, 0x76, 0x8f, 0x93, 0x47, 0xa8, + 0x39, 0x22, 0xd1, 0xcb, 0x11, 0xe7, 0xc9, 0x91, 0xa6, 0x3c, 0x4f, 0x4c, 0x11, 0x65, 0xf6, 0xc8, + 0x31, 0x7b, 0x84, 0xb8, 0x1e, 0x09, 0x9e, 0x0a, 0x7f, 0x4f, 0x2d, 0x13, 0x75, 0xf7, 0x74, 0xe7, + 0x69, 0x1a, 0xb3, 0x20, 0x56, 0xac, 0xd9, 0x79, 0x98, 0x2c, 0x4f, 0xfc, 0xcd, 0x79, 0xc2, 0x3b, + 0x6c, 0xa9, 0x30, 0xce, 0xd4, 0x17, 0x33, 0xf0, 0x70, 0x03, 0x90, 0x36, 0x20, 0xd2, 0x06, 0x48, + 0xfa, 0x80, 0xc9, 0x0d, 0xae, 0xc9, 0x96, 0x6a, 0xaa, 0x34, 0x3f, 0x2f, 0x32, 0x19, 0x3f, 0x70, + 0x28, 0xfd, 0xcc, 0x91, 0x79, 0x6f, 0x2b, 0x69, 0x7a, 0x45, 0x6c, 0x07, 0x7c, 0x52, 0xe7, 0xb2, + 0xd9, 0x18, 0xf8, 0x84, 0xae, 0x26, 0x2c, 0x02, 0x2c, 0x02, 0x2c, 0x02, 0x2c, 0x02, 0x2c, 0x82, + 0x95, 0x64, 0xe5, 0x3f, 0xe2, 0x99, 0x05, 0xf6, 0x3b, 0x57, 0x32, 0x2f, 0xce, 0x8a, 0x82, 0x98, + 0x0a, 0x5d, 0xcb, 0xf8, 0x22, 0x12, 0xe3, 0x13, 0x9a, 0x77, 0x3e, 0x78, 0xf1, 0x28, 0x8a, 0x08, + 0xed, 0xeb, 0x75, 0xf0, 0x2f, 0xdf, 0xe2, 0x37, 0xd9, 0x40, 0x64, 0x62, 0xf0, 0xdb, 0xf3, 0x74, + 0x69, 0x04, 0x53, 0xd9, 0x82, 0xa9, 0xc4, 0xde, 0x8b, 0xde, 0x48, 0x69, 0x09, 0x90, 0x7b, 0x14, + 0x0b, 0x4d, 0x52, 0x91, 0x95, 0x9a, 0x15, 0x44, 0x7e, 0x5e, 0x04, 0x05, 0x43, 0x60, 0xb4, 0xbe, + 0x05, 0x6d, 0x94, 0xb4, 0x4b, 0x1d, 0x25, 0x7d, 0x83, 0x28, 0x29, 0xa2, 0xa4, 0xda, 0x5d, 0x4f, + 0xbb, 0x1c, 0x0f, 0x72, 0x17, 0x93, 0x1d, 0x0e, 0x3c, 0xa6, 0xa1, 0x1e, 0xc4, 0x43, 0x3b, 0x2c, + 0x81, 0xfd, 0x22, 0x97, 0x7e, 0x90, 0xe7, 0xe2, 0xf1, 0x5b, 0xf4, 0xfc, 0x42, 0x42, 0x93, 0xde, + 0x18, 0x6c, 0xb9, 0x31, 0x12, 0x69, 0x34, 0x26, 0x82, 0xad, 0x75, 0x03, 0xa6, 0x62, 0x7b, 0x53, + 0xc1, 0xd5, 0x5a, 0xb1, 0xe7, 0x89, 0xb5, 0x09, 0x56, 0x0c, 0x82, 0xb4, 0x60, 0xb8, 0xdf, 0x74, + 0x05, 0x91, 0xa6, 0xbb, 0xf0, 0x04, 0x55, 0x8f, 0xb9, 0x82, 0xaa, 0x6f, 0x5c, 0x0d, 0xaa, 0xb2, + 0x77, 0x94, 0x21, 0xb8, 0x6a, 0x2f, 0x6c, 0xd1, 0x07, 0xed, 0x3c, 0x86, 0x20, 0x2b, 0xd7, 0x94, + 0xf5, 0xce, 0x50, 0x84, 0x7e, 0x1a, 0x64, 0xc1, 0xa3, 0x28, 0x44, 0x96, 0xf3, 0x5f, 0x29, 0xb4, + 0xb2, 0x1f, 0xee, 0x13, 0xd2, 0x0d, 0x7d, 0x86, 0x20, 0x50, 0x17, 0x14, 0x6a, 0x87, 0x44, 0xed, + 0xd0, 0x68, 0x0e, 0x22, 0x79, 0xa0, 0x92, 0x09, 0x32, 0xd9, 0xa1, 0xb3, 0xda, 0x20, 0x4c, 0xb2, + 0x4c, 0x84, 0x85, 0x18, 0xf8, 0xdf, 0x26, 0xbd, 0x59, 0x9a, 0x06, 0x18, 0xac, 0xec, 0xbb, 0x67, + 0xf3, 0x0b, 0xde, 0x60, 0x7e, 0x81, 0x63, 0x90, 0x6b, 0x0c, 0x7a, 0x8d, 0x41, 0xb0, 0x79, 0x28, + 0xe6, 0x85, 0x64, 0x66, 0x68, 0xae, 0xc4, 0x87, 0xf9, 0x05, 0x24, 0x5b, 0x61, 0x7e, 0x81, 0x7b, + 0x06, 0xaf, 0xb6, 0x2d, 0xe6, 0x17, 0xf0, 0xaa, 0x12, 0xe6, 0x17, 0x60, 0x7e, 0x81, 0x93, 0xbb, + 0x60, 0x78, 0xdc, 0x8b, 0xd4, 0xeb, 0xb9, 0x10, 0x66, 0xb8, 0x57, 0xb9, 0x31, 0xc8, 0x17, 0xc8, + 0x17, 0xc8, 0x17, 0xc8, 0x17, 0xc8, 0x17, 0xc8, 0x17, 0xc8, 0x17, 0xc8, 0x17, 0xc8, 0x17, 0xc8, + 0x17, 0xc8, 0x17, 0xc8, 0xd7, 0x3e, 0x93, 0xaf, 0x34, 0xc9, 0x0b, 0x7f, 0x28, 0x42, 0xff, 0x9b, + 0xc8, 0xf4, 0x31, 0xaf, 0xa5, 0x5d, 0x41, 0xbb, 0x40, 0xbb, 0x40, 0xbb, 0x40, 0xbb, 0x40, 0xbb, + 0x40, 0xbb, 0x40, 0xbb, 0x40, 0xbb, 0x40, 0xbb, 0x40, 0xbb, 0x40, 0xbb, 0x40, 0xbb, 0xf6, 0x9a, + 0x76, 0x65, 0xc2, 0x00, 0xeb, 0x5a, 0xd8, 0x14, 0xa4, 0x0b, 0xa4, 0x0b, 0xa4, 0x0b, 0xa4, 0x0b, + 0xa4, 0x0b, 0xa4, 0x0b, 0xa4, 0x0b, 0xa4, 0x0b, 0xa4, 0x0b, 0xa4, 0x0b, 0xa4, 0x0b, 0xa4, 0x6b, + 0x9f, 0x49, 0xd7, 0x28, 0x9e, 0x56, 0xfc, 0x05, 0xdf, 0x22, 0xa1, 0xb9, 0xcf, 0xab, 0x61, 0x6f, + 0x50, 0x30, 0x50, 0x30, 0x50, 0x30, 0x50, 0x30, 0x50, 0x30, 0x50, 0x30, 0x50, 0x30, 0x50, 0x30, + 0x50, 0x30, 0x50, 0x30, 0x50, 0x30, 0x50, 0xb0, 0x03, 0xa2, 0x60, 0x7a, 0xfb, 0xbd, 0x9a, 0x36, + 0x07, 0x09, 0x03, 0x09, 0x03, 0x09, 0x03, 0x09, 0x03, 0x09, 0x03, 0x09, 0x03, 0x09, 0x03, 0x09, + 0x03, 0x09, 0x03, 0x09, 0x03, 0x09, 0x03, 0x09, 0x33, 0x4e, 0xc2, 0x9c, 0x1a, 0xcf, 0xc8, 0x74, + 0x9d, 0x50, 0x6d, 0x1f, 0x33, 0xd7, 0x0b, 0x6d, 0x79, 0xc3, 0xc0, 0xeb, 0xc5, 0xb9, 0xdf, 0xaf, + 0xb5, 0xcc, 0xc8, 0xf5, 0xb4, 0xdf, 0x56, 0x74, 0x53, 0xe4, 0xf2, 0x6c, 0x2a, 0x8a, 0xe6, 0x7b, + 0xdd, 0x27, 0xbf, 0x32, 0x91, 0x42, 0xff, 0x93, 0x08, 0x7b, 0x73, 0x21, 0x1c, 0xb9, 0x71, 0x52, + 0x18, 0x4e, 0x49, 0x27, 0x1e, 0x3d, 0x7e, 0x13, 0x99, 0x9f, 0x0c, 0xfd, 0xb1, 0x96, 0xf0, 0x8f, + 0x68, 0x5e, 0xd9, 0x8f, 0x77, 0x44, 0x73, 0x17, 0x23, 0x9a, 0x6d, 0x0b, 0x63, 0x60, 0x44, 0xb3, + 0xfb, 0x61, 0x0a, 0xb7, 0x7c, 0x00, 0xf6, 0x70, 0x84, 0xbe, 0x30, 0x84, 0x86, 0xf0, 0x83, 0xa6, + 0xb0, 0x83, 0x86, 0xe0, 0x90, 0xce, 0x30, 0x83, 0x66, 0x4e, 0xa8, 0x3b, 0xac, 0x60, 0x82, 0xf0, + 0x69, 0x08, 0x23, 0x68, 0x0d, 0x1f, 0x98, 0x52, 0x11, 0x73, 0xe1, 0x02, 0x23, 0x5a, 0xe3, 0x28, + 0xad, 0xbe, 0x77, 0x85, 0x82, 0x58, 0x7d, 0x91, 0x0d, 0x33, 0xdd, 0x77, 0x88, 0xe6, 0x73, 0xdc, + 0x33, 0x65, 0x31, 0x9f, 0xef, 0xe0, 0x8a, 0x75, 0x73, 0xc7, 0xc3, 0xee, 0x63, 0xe1, 0xec, 0xfd, + 0xdb, 0x9b, 0x4f, 0x40, 0x67, 0xdf, 0xae, 0x69, 0xd5, 0x7d, 0x3b, 0x2b, 0x2e, 0x65, 0xc5, 0xa5, + 0xac, 0xba, 0xe3, 0x46, 0xb8, 0x94, 0x95, 0xc9, 0xba, 0xf1, 0x5c, 0xca, 0x5a, 0x88, 0xec, 0x51, + 0xc6, 0x3c, 0x3e, 0xe5, 0x32, 0x18, 0x2d, 0xee, 0x84, 0xcb, 0x59, 0x71, 0x39, 0xab, 0x1d, 0x70, + 0xa5, 0x0d, 0xb6, 0xf4, 0xc3, 0x97, 0x1b, 0x9c, 0x96, 0xed, 0x72, 0xd6, 0x28, 0xc8, 0x45, 0xe6, + 0xa7, 0x59, 0x92, 0x8a, 0xac, 0x90, 0x42, 0xc3, 0xf5, 0xac, 0xb5, 0x1d, 0x71, 0x41, 0xab, 0x6e, + 0xf8, 0x33, 0x04, 0x83, 0xba, 0xe0, 0x50, 0x3b, 0x2c, 0x6a, 0x87, 0x47, 0x73, 0x30, 0xc9, 0x1b, + 0x04, 0x75, 0xf6, 0x82, 0xd6, 0x09, 0xa8, 0x05, 0x69, 0x1a, 0xc9, 0xb0, 0x74, 0xde, 0xfc, 0x42, + 0x47, 0xfd, 0xf3, 0x0a, 0xa8, 0xd6, 0xf6, 0x47, 0xff, 0x88, 0x6d, 0x90, 0x6b, 0x18, 0x7a, 0x75, + 0x43, 0xb0, 0x31, 0x28, 0x36, 0x06, 0xc9, 0xe6, 0xa1, 0x99, 0x17, 0xa2, 0x99, 0xa1, 0xba, 0x12, + 0x9f, 0xfe, 0xfe, 0x91, 0x09, 0x86, 0x6a, 0xc0, 0xcd, 0x25, 0xf7, 0xf4, 0x44, 0xc3, 0x5e, 0x17, + 0xf1, 0xe8, 0x71, 0x2c, 0xcb, 0x9f, 0xe8, 0xf9, 0x5c, 0x63, 0xb9, 0xbf, 0xc9, 0x20, 0xf7, 0xc3, + 0x51, 0x96, 0x4d, 0x0e, 0xac, 0x56, 0xab, 0xbd, 0xb4, 0x37, 0x2c, 0x36, 0x2c, 0x36, 0x2c, 0x36, + 0x2c, 0x36, 0x2c, 0xf6, 0x16, 0x27, 0x71, 0x20, 0x42, 0xf9, 0x18, 0x44, 0x5a, 0x9b, 0x3e, 0x8f, + 0xdf, 0x68, 0xd8, 0xab, 0x56, 0x33, 0x75, 0x8a, 0x56, 0xd3, 0xf6, 0x2f, 0x66, 0xb2, 0xd5, 0xf4, + 0x0d, 0x5a, 0x4d, 0xd9, 0x51, 0xf3, 0x40, 0x5a, 0x4d, 0x7f, 0x81, 0x2a, 0xb9, 0x6d, 0x80, 0xf5, + 0xed, 0x82, 0xe1, 0x3e, 0xeb, 0x88, 0x5e, 0x5e, 0x04, 0xc5, 0x28, 0xd7, 0x4d, 0xf1, 0xa6, 0xbb, + 0x82, 0xdc, 0x81, 0xdc, 0x81, 0xdc, 0x81, 0xdc, 0x81, 0xdc, 0x6d, 0x8d, 0x9c, 0x61, 0x12, 0x17, + 0x59, 0x12, 0x4d, 0x11, 0x14, 0xd1, 0xd9, 0x83, 0x34, 0xda, 0x85, 0x78, 0x4c, 0x45, 0x16, 0x14, + 0xa3, 0x4c, 0x7b, 0x4a, 0x75, 0x71, 0x6b, 0x98, 0x6f, 0x98, 0x6f, 0x98, 0x6f, 0x98, 0x6f, 0x98, + 0xef, 0x2d, 0x4e, 0x22, 0x62, 0xb3, 0x94, 0x9b, 0x22, 0x36, 0xcb, 0xa0, 0x2e, 0x88, 0xcd, 0xf2, + 0x87, 0xba, 0x10, 0x9b, 0x85, 0x2a, 0xb9, 0x60, 0x80, 0xf5, 0xed, 0x82, 0x99, 0x7f, 0x1a, 0x00, + 0xe2, 0x10, 0x66, 0xfe, 0x6d, 0x98, 0x01, 0xb0, 0xd0, 0x49, 0xf6, 0x5a, 0x53, 0xcf, 0x85, 0x67, + 0xa4, 0x3d, 0xfa, 0x85, 0xc1, 0x00, 0x5f, 0xe6, 0x32, 0xe8, 0x5f, 0x8d, 0x65, 0xd0, 0x9b, 0x8b, + 0xe0, 0x80, 0xc7, 0xfd, 0x65, 0x22, 0x14, 0xf2, 0x49, 0x8c, 0x75, 0xe6, 0x07, 0xe3, 0x15, 0xdf, + 0x15, 0x17, 0x58, 0xd9, 0xcf, 0xf1, 0x86, 0x9f, 0x2e, 0x1a, 0x7e, 0x2c, 0x8d, 0x8f, 0xa0, 0xe1, + 0x07, 0x0d, 0x3f, 0x13, 0x31, 0xb1, 0x37, 0xfc, 0x94, 0x48, 0x56, 0x5a, 0xdb, 0x22, 0x0b, 0x22, + 0x7f, 0x20, 0xe2, 0x5c, 0x16, 0xcf, 0xfa, 0xa2, 0xd3, 0x6b, 0xf6, 0xdf, 0xb3, 0x10, 0x75, 0x17, + 0x21, 0x6a, 0xc7, 0x20, 0xd8, 0x18, 0x14, 0x1b, 0x83, 0x64, 0xf3, 0xd0, 0xac, 0x87, 0xbb, 0x22, + 0x44, 0x4d, 0xe2, 0x9d, 0x22, 0x44, 0x4d, 0xf2, 0x07, 0x21, 0x6a, 0x96, 0x6d, 0x11, 0xa2, 0xe6, + 0x55, 0x25, 0x84, 0xa8, 0xf7, 0x5a, 0x95, 0x10, 0xa2, 0x36, 0xfa, 0xfc, 0x9c, 0x95, 0x48, 0x45, + 0x52, 0x04, 0x11, 0x73, 0xc0, 0xac, 0xce, 0x15, 0x16, 0x36, 0x05, 0xb5, 0x03, 0xb5, 0x03, 0xb5, + 0x03, 0xb5, 0x03, 0xb5, 0x03, 0xb5, 0x03, 0xb5, 0x03, 0xb5, 0x83, 0x3f, 0x0e, 0x6a, 0x07, 0x6a, + 0x07, 0x6a, 0x77, 0x20, 0xd4, 0x0e, 0xd5, 0x47, 0x0d, 0xfb, 0xb8, 0x51, 0x7d, 0xa4, 0xa5, 0xfc, + 0xc3, 0xb3, 0xb9, 0xf6, 0xe8, 0x76, 0x2a, 0x81, 0x5e, 0x29, 0x80, 0x03, 0xae, 0x3c, 0xca, 0x45, + 0x24, 0xc2, 0x42, 0x0c, 0x96, 0x46, 0x55, 0xca, 0x81, 0x88, 0x0b, 0x39, 0x94, 0x3a, 0x4a, 0x91, + 0x36, 0x3d, 0x00, 0x86, 0x11, 0x9b, 0x8a, 0xa6, 0xa0, 0x36, 0xc9, 0xf1, 0x68, 0x09, 0x6a, 0x93, + 0xb6, 0x13, 0x13, 0x7b, 0x6d, 0xd2, 0x22, 0xb4, 0x85, 0xc9, 0x40, 0x63, 0xcf, 0x6c, 0x6d, 0x67, + 0x04, 0xad, 0x6d, 0x83, 0x59, 0xc3, 0x70, 0xab, 0x1b, 0x76, 0x8d, 0xc1, 0xaf, 0x31, 0x18, 0x36, + 0x0f, 0xc7, 0x7a, 0xd8, 0xec, 0xfe, 0x05, 0xad, 0xf3, 0x22, 0x93, 0xf1, 0x83, 0xce, 0x88, 0xf5, + 0x7b, 0x24, 0x7a, 0x5f, 0xb4, 0x9e, 0x73, 0x62, 0xa0, 0x79, 0x9e, 0xff, 0x4b, 0x0f, 0x01, 0x9b, + 0x0a, 0x9b, 0x0a, 0x9b, 0x0a, 0x9b, 0x0a, 0x9b, 0x6a, 0x35, 0x90, 0x7a, 0x98, 0x23, 0xb5, 0xcf, + 0x2c, 0x1e, 0x21, 0xfe, 0xc5, 0x10, 0xbf, 0x99, 0xb0, 0xaa, 0x67, 0x73, 0xcc, 0xff, 0x6e, 0x2a, + 0x92, 0xb3, 0xb9, 0x44, 0x2e, 0xe7, 0x02, 0x41, 0x0e, 0x60, 0xe0, 0x87, 0x22, 0x2e, 0x9b, 0xd7, + 0x86, 0x99, 0xf8, 0x67, 0x24, 0xe2, 0xf0, 0x59, 0x63, 0xf8, 0xbf, 0xbe, 0x37, 0x22, 0xff, 0xa6, + 0xdc, 0x67, 0x44, 0xfe, 0x1d, 0x77, 0x8f, 0x11, 0xf9, 0xdf, 0x4e, 0x4c, 0xec, 0x91, 0x7f, 0x7d, + 0x88, 0x5a, 0x3b, 0xbb, 0xba, 0x00, 0x15, 0x71, 0x0a, 0xc4, 0x29, 0x10, 0xa7, 0x40, 0x9c, 0x62, + 0xcf, 0xe2, 0x14, 0x23, 0x19, 0x17, 0x5a, 0xab, 0xd5, 0xdf, 0xa3, 0x6e, 0xbc, 0xfd, 0x8b, 0x99, + 0xac, 0x1b, 0xef, 0xa2, 0xd8, 0x97, 0x1d, 0xbc, 0x0e, 0xa4, 0x6e, 0xdc, 0x94, 0x2a, 0x1d, 0xbf, + 0x3f, 0x39, 0x79, 0x77, 0x7a, 0x72, 0xd2, 0x3d, 0xfd, 0xe5, 0xb4, 0xfb, 0xeb, 0xdb, 0xb7, 0xc7, + 0xef, 0x8e, 0xdf, 0xa2, 0x94, 0xdc, 0xb5, 0x5d, 0xd0, 0x25, 0x5c, 0x57, 0xab, 0x8a, 0xfd, 0xf8, + 0x61, 0x12, 0xe7, 0x45, 0x16, 0x48, 0x9d, 0xf7, 0xc9, 0x36, 0xee, 0xae, 0x87, 0x86, 0x1d, 0x83, + 0x86, 0x81, 0x86, 0x81, 0x86, 0x81, 0x86, 0x51, 0x8a, 0x8f, 0x3b, 0x5e, 0x56, 0x6d, 0x14, 0x0c, + 0xfe, 0x1a, 0xe5, 0xc5, 0xf8, 0x4b, 0xf9, 0x0f, 0x59, 0x10, 0x8f, 0xa2, 0x20, 0xd3, 0x31, 0xcd, + 0xaf, 0x06, 0x04, 0x6b, 0x9e, 0x43, 0x93, 0xb6, 0xea, 0xf5, 0x0a, 0xb5, 0x41, 0xba, 0x09, 0x68, + 0xb7, 0x04, 0xe2, 0x4d, 0x41, 0xbd, 0x71, 0xc8, 0x37, 0x0e, 0xfd, 0xf6, 0x98, 0x00, 0xcd, 0xb4, + 0x43, 0xd3, 0x59, 0xd6, 0x16, 0xa1, 0xb3, 0x0b, 0xa3, 0x3d, 0xcd, 0x45, 0x45, 0xd5, 0x9e, 0x7a, + 0x8a, 0x8b, 0xf4, 0xe9, 0xaa, 0x06, 0x3d, 0xed, 0x3c, 0x64, 0x72, 0xa0, 0xa7, 0x6e, 0xb8, 0xa6, + 0xa4, 0xf3, 0xad, 0xe1, 0x3b, 0xc0, 0x77, 0x80, 0xef, 0x00, 0xdf, 0x01, 0xbe, 0x83, 0x05, 0xbe, + 0x83, 0x6e, 0x58, 0x86, 0xbb, 0x80, 0x38, 0x8a, 0xbe, 0x5a, 0xe5, 0x6a, 0x3f, 0xc7, 0x6a, 0x96, + 0x6b, 0xa5, 0x4b, 0xaf, 0x0d, 0x04, 0xd2, 0x3d, 0x17, 0x6a, 0x99, 0xcf, 0x27, 0x92, 0xfa, 0x34, + 0x13, 0x4f, 0xbf, 0xfa, 0xdb, 0xf9, 0x5c, 0x4e, 0x68, 0x3f, 0xe0, 0x3f, 0xda, 0x68, 0x3f, 0xd8, + 0xf2, 0x28, 0x1f, 0x72, 0xe7, 0xc1, 0xea, 0x69, 0x45, 0xd3, 0x81, 0x18, 0xf8, 0x8f, 0xc9, 0x60, + 0x14, 0xf1, 0x1e, 0x9c, 0x7a, 0xb7, 0xc1, 0xc2, 0xa6, 0x5c, 0xa5, 0xc5, 0x62, 0x18, 0x8c, 0xa2, + 0x92, 0x29, 0x7c, 0xfd, 0xfc, 0xf1, 0xe2, 0xd3, 0xe5, 0xe7, 0x8b, 0x8f, 0xcc, 0x2d, 0x0d, 0x5d, + 0xb4, 0x34, 0xd8, 0xc6, 0xdd, 0xd1, 0xd2, 0xe0, 0x3e, 0xf7, 0x76, 0xcb, 0x0f, 0x61, 0xe7, 0xd2, + 0xd5, 0x49, 0x9a, 0x63, 0xa8, 0x5f, 0x88, 0xf0, 0x7b, 0x2c, 0xff, 0x19, 0x71, 0xd2, 0x68, 0x1d, + 0xb4, 0x99, 0x99, 0x26, 0x3b, 0x66, 0x99, 0x27, 0x97, 0xd9, 0x4d, 0x04, 0xa2, 0xc9, 0x2e, 0x57, + 0x5b, 0xa2, 0xf9, 0x0f, 0x96, 0x12, 0x96, 0x12, 0x96, 0xd2, 0xe5, 0xe6, 0x3f, 0xd4, 0x9e, 0x32, + 0x6d, 0x83, 0xda, 0x53, 0x67, 0xe1, 0xd7, 0x18, 0x0c, 0x1b, 0x83, 0x63, 0xf3, 0xb0, 0xcc, 0x0b, + 0xcf, 0xcc, 0x30, 0xad, 0x0d, 0xae, 0xab, 0x8d, 0x50, 0x7b, 0x8a, 0xfa, 0x91, 0x7d, 0x84, 0x78, + 0x53, 0x50, 0x6f, 0x1c, 0xf2, 0x8d, 0x43, 0xbf, 0x3d, 0x26, 0x40, 0x8f, 0x29, 0xd0, 0x64, 0x12, + 0xf4, 0xc5, 0xbc, 0xec, 0xc4, 0x68, 0x0f, 0xc5, 0x24, 0xce, 0xe8, 0x29, 0x6a, 0x4f, 0xe1, 0x3b, + 0xc0, 0x77, 0x80, 0xef, 0x00, 0xdf, 0x01, 0xbe, 0x03, 0x6a, 0x4f, 0x1d, 0x77, 0x17, 0x50, 0x7b, + 0xba, 0xc3, 0x7e, 0x8e, 0x15, 0xac, 0xcd, 0x32, 0x90, 0x28, 0x39, 0x5d, 0x53, 0xc4, 0x76, 0x37, + 0x15, 0xd0, 0x5e, 0x95, 0x9a, 0x32, 0xe6, 0x35, 0xa3, 0xe4, 0x87, 0xc8, 0x4c, 0x0c, 0x80, 0x5c, + 0xdd, 0x18, 0xe3, 0x1f, 0x6d, 0x75, 0xf2, 0x91, 0xfb, 0x41, 0xee, 0x07, 0x3e, 0x8b, 0x0d, 0x4e, + 0x3a, 0xc6, 0x3f, 0xd2, 0xfd, 0xc1, 0xf8, 0x47, 0x96, 0x6d, 0x31, 0xfe, 0x91, 0x57, 0x95, 0x30, + 0xfe, 0x11, 0xe3, 0x1f, 0x9d, 0xdc, 0x05, 0xe3, 0x1f, 0xeb, 0x6a, 0x35, 0x4a, 0x53, 0x33, 0xe4, + 0x6b, 0x75, 0x63, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, + 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0x90, 0x2f, 0xe3, 0xe4, 0x0b, 0x43, 0x56, + 0x1a, 0xf6, 0x71, 0x34, 0x67, 0x7d, 0xc8, 0xb3, 0x55, 0x66, 0x69, 0xe9, 0x43, 0x9e, 0xa9, 0x52, + 0x64, 0x41, 0x9c, 0x3f, 0xca, 0xb1, 0x4a, 0xa4, 0xc9, 0x0f, 0x91, 0xf1, 0x37, 0x6e, 0xd7, 0x76, + 0x44, 0xdf, 0xb6, 0xa9, 0x78, 0x06, 0xfa, 0xb6, 0x1d, 0x8f, 0x57, 0xa0, 0x6f, 0x7b, 0x3b, 0x31, + 0xb1, 0xf7, 0x6d, 0x97, 0x48, 0x36, 0x35, 0xaa, 0x41, 0xe4, 0x0f, 0x44, 0x9c, 0xeb, 0x68, 0x00, + 0xac, 0x0e, 0xf0, 0x9a, 0xfd, 0x11, 0x42, 0xb6, 0x0d, 0x72, 0x0d, 0x43, 0xaf, 0x6e, 0x08, 0x36, + 0x06, 0xc5, 0xc6, 0x20, 0xd9, 0x3c, 0x34, 0xeb, 0x61, 0xb0, 0xfb, 0x17, 0x42, 0x1e, 0x88, 0x50, + 0x3e, 0x06, 0x91, 0xd6, 0x28, 0xf2, 0xf1, 0x1b, 0x0d, 0x7b, 0xd5, 0x62, 0x35, 0xa7, 0x88, 0x5d, + 0xb7, 0x7f, 0x31, 0x93, 0xb1, 0xeb, 0x37, 0x88, 0x5d, 0xb3, 0xa3, 0xe6, 0x81, 0xc4, 0xae, 0x7f, + 0x81, 0x2a, 0xb9, 0x6d, 0x80, 0xf5, 0xed, 0x82, 0x2a, 0xa1, 0xba, 0x5a, 0x15, 0x49, 0x11, 0x44, + 0xcc, 0x21, 0xb3, 0x3a, 0x57, 0x58, 0xd8, 0x14, 0xd4, 0x0e, 0xd4, 0x0e, 0xd4, 0x0e, 0xd4, 0x0e, + 0xd4, 0x0e, 0xd4, 0x0e, 0xd4, 0x0e, 0xd4, 0x0e, 0xfe, 0x38, 0xa8, 0x1d, 0xa8, 0x1d, 0xa8, 0xdd, + 0x81, 0x50, 0x3b, 0xd4, 0x20, 0x35, 0xec, 0xe3, 0x46, 0x0d, 0x92, 0xa6, 0x02, 0x10, 0xcf, 0xe6, + 0x12, 0xa4, 0x2f, 0x95, 0x0c, 0x7a, 0xa5, 0x08, 0x5c, 0xa9, 0x40, 0x3a, 0xb2, 0xf8, 0xb8, 0x71, + 0x1f, 0x33, 0x37, 0x8e, 0x57, 0x87, 0xe3, 0x7a, 0x0f, 0x3b, 0x4f, 0x11, 0xed, 0xa9, 0xa1, 0xd3, + 0x6d, 0x9a, 0x95, 0x88, 0x4e, 0x07, 0xd7, 0xa9, 0xb0, 0xf2, 0x34, 0x10, 0x2a, 0xbf, 0x2d, 0x4a, + 0x4f, 0xa3, 0xe4, 0xea, 0x2a, 0x49, 0xa0, 0x8e, 0x9d, 0x34, 0xc8, 0x44, 0x5c, 0xac, 0x7e, 0x71, + 0x32, 0xb5, 0x9c, 0x57, 0x43, 0x35, 0xef, 0x43, 0x74, 0xa0, 0x68, 0x0b, 0x4b, 0xc9, 0x0b, 0x49, + 0x39, 0x42, 0xdd, 0xcb, 0x21, 0xed, 0xd9, 0xf1, 0x7b, 0xa2, 0x2d, 0x31, 0xe3, 0x0a, 0x5c, 0xb3, + 0x07, 0xa8, 0xd9, 0x03, 0xd1, 0xf5, 0x80, 0xf3, 0xd2, 0x27, 0xd8, 0x53, 0xc3, 0x45, 0x5d, 0xb4, + 0xd9, 0x59, 0xc1, 0x03, 0x7f, 0x34, 0x92, 0x03, 0x7a, 0x6d, 0x9b, 0x1d, 0x95, 0xc6, 0xdd, 0x88, + 0xf5, 0x82, 0x27, 0x4b, 0xc7, 0x96, 0x95, 0xe3, 0xcc, 0xc2, 0x2d, 0x43, 0xd4, 0xcc, 0xd1, 0xe0, + 0xf0, 0x86, 0x99, 0xf3, 0x6b, 0xda, 0xf2, 0x69, 0xda, 0xf2, 0x67, 0x75, 0xf8, 0xaa, 0x3e, 0xcf, + 0x81, 0x31, 0x54, 0xb6, 0xcc, 0xd7, 0x7c, 0x82, 0xa3, 0x08, 0x86, 0x99, 0x18, 0x72, 0xe8, 0xfd, + 0xcc, 0xef, 0x61, 0x48, 0x31, 0x75, 0x7a, 0x0d, 0x34, 0xe2, 0x43, 0xc5, 0x1a, 0x16, 0x55, 0xe6, + 0x43, 0x9d, 0x54, 0x34, 0xfe, 0xf3, 0xca, 0x8f, 0x4b, 0xc2, 0xb1, 0xfc, 0xa3, 0x66, 0xfa, 0xb1, + 0xfc, 0x3b, 0x25, 0x68, 0xdb, 0x4a, 0x33, 0x5f, 0x11, 0x9b, 0x46, 0x0d, 0xf6, 0x10, 0x46, 0x10, + 0x46, 0x10, 0x46, 0x10, 0x46, 0x10, 0x46, 0xd0, 0x12, 0x23, 0x78, 0x28, 0x06, 0xae, 0x12, 0x18, + 0xaf, 0x91, 0x5b, 0xde, 0x06, 0x86, 0x0e, 0x86, 0x0e, 0x86, 0x0e, 0x86, 0x0e, 0x86, 0x4e, 0xb3, + 0xa1, 0xb3, 0xda, 0xaa, 0x21, 0x3b, 0xc8, 0x96, 0x1d, 0x64, 0x4d, 0xfc, 0x78, 0xda, 0xb3, 0x82, + 0xbd, 0xf2, 0x75, 0x96, 0x7e, 0x7d, 0xaf, 0xd2, 0x81, 0x59, 0x52, 0x4c, 0x3f, 0x61, 0x96, 0x44, + 0x82, 0x21, 0x0f, 0xb8, 0xb2, 0x01, 0x6d, 0x02, 0xb0, 0x4b, 0x9d, 0x00, 0xec, 0x22, 0x01, 0x88, + 0x04, 0xe0, 0x96, 0x3e, 0xd5, 0x21, 0x24, 0x00, 0xc9, 0xfd, 0x27, 0x66, 0x60, 0xf0, 0x98, 0x6e, + 0xcb, 0x23, 0xbe, 0x0d, 0xcf, 0x0e, 0xf0, 0x5f, 0x28, 0x59, 0xf3, 0x07, 0x32, 0x9b, 0x7c, 0x0d, + 0x7a, 0x13, 0xd0, 0xbc, 0x8d, 0xe5, 0x86, 0xc0, 0xa1, 0x4a, 0x90, 0xb1, 0xef, 0x03, 0x13, 0x60, + 0xc8, 0x04, 0x94, 0xc2, 0x07, 0xf8, 0x5b, 0x04, 0x09, 0x30, 0x01, 0x2d, 0x4d, 0x40, 0x5e, 0x04, + 0x85, 0xe0, 0x85, 0xff, 0xc9, 0x16, 0x80, 0x7e, 0x40, 0x3f, 0xa0, 0x1f, 0xd0, 0x4f, 0x0a, 0x07, + 0x80, 0xfd, 0x1d, 0xde, 0x89, 0x34, 0x03, 0x37, 0xbf, 0x00, 0x84, 0x2e, 0xe1, 0x86, 0x00, 0x0f, + 0xc0, 0x1d, 0xe0, 0xee, 0x1c, 0xb8, 0x13, 0xa7, 0xdc, 0x2b, 0x3c, 0x7f, 0x6f, 0x0b, 0xf6, 0x1e, + 0x19, 0xfc, 0x7e, 0xe3, 0x83, 0x46, 0x24, 0xe4, 0xce, 0x95, 0xcc, 0x8b, 0xb3, 0xa2, 0xa0, 0xa9, + 0xee, 0xef, 0x5c, 0xcb, 0xf8, 0x22, 0x12, 0xe3, 0x13, 0x94, 0x77, 0x3e, 0x78, 0xf1, 0x28, 0x8a, + 0x08, 0x6c, 0xd4, 0x75, 0xf0, 0x2f, 0xfd, 0xa2, 0x37, 0xd9, 0x40, 0x64, 0x62, 0xf0, 0xdb, 0xf3, + 0x74, 0x49, 0xa3, 0xdf, 0xf3, 0x6c, 0xf4, 0x30, 0x7e, 0x3d, 0x31, 0x20, 0x19, 0xe4, 0x42, 0x6c, + 0xcc, 0x2d, 0x29, 0x03, 0x5e, 0x0c, 0xb2, 0x7f, 0xa8, 0x32, 0x8f, 0x0d, 0xff, 0xd4, 0x90, 0x8b, + 0xa4, 0xf2, 0x45, 0x3e, 0x8a, 0x3c, 0xcc, 0x64, 0x3a, 0x8d, 0x8e, 0xce, 0x3e, 0x5b, 0xee, 0x15, + 0xdf, 0x85, 0xf7, 0x2d, 0xc8, 0x85, 0x77, 0x15, 0x3c, 0x8b, 0xac, 0x97, 0x25, 0x45, 0x12, 0x26, + 0x91, 0x27, 0xe3, 0x61, 0x92, 0x3d, 0x96, 0x1e, 0xae, 0x27, 0x63, 0xaf, 0x9e, 0x54, 0xf4, 0x7e, + 0xc8, 0xe2, 0xbb, 0x77, 0x73, 0xfe, 0x7b, 0xd9, 0x30, 0x29, 0x87, 0x32, 0x5c, 0xfc, 0x7f, 0x6c, + 0xef, 0x91, 0x73, 0xc6, 0x83, 0x62, 0x1b, 0xfb, 0x06, 0x4f, 0x6a, 0x7b, 0x4f, 0x8a, 0x6b, 0x2c, + 0xdb, 0x9e, 0xf7, 0xc9, 0x6d, 0xe8, 0xb1, 0x66, 0x2b, 0x9e, 0xd4, 0xd6, 0xdb, 0xed, 0x2e, 0xb0, + 0x32, 0x01, 0x2c, 0x1b, 0xd0, 0x72, 0x02, 0xae, 0x66, 0xe0, 0xe5, 0x06, 0x60, 0x6d, 0x40, 0xac, + 0x0d, 0x90, 0xf5, 0x03, 0x33, 0x2d, 0x40, 0xd3, 0xaf, 0xb6, 0x47, 0x61, 0x3c, 0x78, 0xfc, 0x9a, + 0x3c, 0xfe, 0x38, 0x89, 0x05, 0xdc, 0x72, 0xb8, 0xe5, 0x70, 0xcb, 0xe1, 0x96, 0x4b, 0x3f, 0xc8, + 0x73, 0xf1, 0xf8, 0x2d, 0x7a, 0x36, 0xe6, 0x9f, 0x6f, 0xf1, 0x00, 0xbc, 0x8e, 0x3a, 0x21, 0x1e, + 0xc2, 0x9b, 0x86, 0x37, 0x0d, 0x6f, 0x1a, 0xde, 0x34, 0xbc, 0x69, 0x78, 0xd3, 0xf0, 0xa6, 0xe1, + 0x4d, 0xc3, 0x9b, 0x3e, 0x1c, 0x6f, 0xba, 0x94, 0x96, 0x1f, 0x7e, 0x0f, 0xe2, 0x58, 0x44, 0x26, + 0xbc, 0xe9, 0x6d, 0x1f, 0x00, 0xde, 0x34, 0xbc, 0x69, 0x78, 0xd3, 0xf0, 0xa6, 0x0f, 0xc6, 0x9b, + 0x56, 0x5a, 0xe1, 0x5e, 0xb5, 0x2c, 0x86, 0xb6, 0x1f, 0xde, 0x4c, 0x1f, 0x3c, 0xc1, 0xa1, 0xd4, + 0xda, 0xe8, 0xae, 0x76, 0xc8, 0xda, 0x2b, 0x4c, 0xbb, 0xff, 0xb3, 0xa5, 0x4b, 0x43, 0xa5, 0x5a, + 0xec, 0x2a, 0xa5, 0xa0, 0x3d, 0x7c, 0x5a, 0xd3, 0x4e, 0x45, 0x76, 0xff, 0xc0, 0x2d, 0x3e, 0x6e, + 0x27, 0x0a, 0x9e, 0x45, 0xe6, 0xa7, 0xd3, 0x4a, 0x01, 0x7f, 0xfa, 0xf6, 0xed, 0xbe, 0xf0, 0x7c, + 0xb4, 0x4b, 0xc3, 0xa2, 0x2d, 0x15, 0x4f, 0xad, 0x9c, 0x5d, 0xb9, 0x37, 0x89, 0xc2, 0xbf, 0x22, + 0x9f, 0xf7, 0x44, 0xe5, 0x29, 0x91, 0x7b, 0x44, 0xe4, 0x9e, 0x0f, 0xc7, 0x3c, 0x26, 0xbd, 0xc0, + 0xa9, 0x5c, 0x32, 0xce, 0x70, 0xa8, 0x3c, 0xa2, 0x8e, 0x1f, 0xc5, 0x0e, 0x1f, 0x4d, 0x00, 0x27, + 0x87, 0x22, 0x7c, 0x0e, 0x23, 0xa1, 0xd8, 0xa6, 0x39, 0xff, 0x0e, 0x2b, 0x0b, 0x02, 0xd8, 0x88, + 0xfa, 0x6e, 0x0e, 0x19, 0xd6, 0x54, 0xfb, 0x66, 0x9c, 0x05, 0x35, 0x92, 0xc3, 0x74, 0x60, 0x80, + 0x16, 0xff, 0xed, 0xa7, 0x49, 0x56, 0x10, 0x8c, 0x1e, 0x59, 0xf8, 0x0e, 0xf5, 0x45, 0x01, 0x6c, + 0xf0, 0xd8, 0xe0, 0xb1, 0x29, 0x68, 0x0f, 0xc9, 0x79, 0x3a, 0x50, 0x6c, 0x53, 0x1a, 0xaa, 0xd7, + 0x00, 0x6b, 0x0a, 0xa3, 0xb2, 0x80, 0x68, 0x40, 0x34, 0x20, 0xda, 0x1c, 0xd1, 0x14, 0xa7, 0xce, + 0x1d, 0x0c, 0x98, 0x3d, 0x06, 0x69, 0x2a, 0x06, 0x7e, 0x2e, 0xb2, 0x27, 0x19, 0x0a, 0x5f, 0xc6, + 0x85, 0xc8, 0x86, 0x41, 0xa8, 0x7a, 0x73, 0xe0, 0x3c, 0x09, 0xfb, 0xf2, 0xfa, 0x6a, 0x60, 0x77, + 0x0c, 0xb0, 0x03, 0xd8, 0xb9, 0x08, 0x76, 0xaa, 0xc5, 0x16, 0x9d, 0x35, 0xe7, 0x89, 0xe6, 0xf2, + 0x85, 0x4a, 0x35, 0x5f, 0xdc, 0x45, 0x75, 0xdc, 0x01, 0xc9, 0x08, 0x18, 0xb2, 0x9a, 0x05, 0xca, + 0x1a, 0x05, 0xa6, 0x51, 0x2f, 0xd4, 0xb5, 0x07, 0x6c, 0xb5, 0x06, 0x6c, 0xb5, 0x05, 0x7c, 0xa3, + 0x5c, 0xcc, 0x8e, 0xfe, 0x20, 0x1b, 0xd9, 0xc2, 0x70, 0x6f, 0x01, 0xe5, 0x3d, 0x05, 0x5b, 0xdc, + 0x4b, 0x30, 0xfd, 0xd9, 0x1a, 0xe4, 0x59, 0xfa, 0x1d, 0xf5, 0x3b, 0x08, 0x5c, 0x49, 0x6c, 0x4f, + 0x47, 0xc3, 0x30, 0xc0, 0x31, 0xcd, 0xa8, 0x18, 0xd2, 0x11, 0x31, 0xa4, 0xa3, 0x61, 0x68, 0x46, + 0xc2, 0xec, 0x6b, 0x41, 0x02, 0x8b, 0x73, 0xee, 0xf1, 0x94, 0x29, 0x5c, 0x97, 0xcf, 0x7a, 0x37, + 0x79, 0xd4, 0xcb, 0xd9, 0x93, 0x2a, 0x54, 0xb7, 0x68, 0xe2, 0x57, 0x4b, 0x45, 0xa8, 0xab, 0x57, + 0x16, 0x2b, 0x15, 0xc0, 0xae, 0x29, 0x74, 0x6d, 0xdc, 0xc3, 0x30, 0xcf, 0xea, 0xda, 0xc2, 0xb3, + 0xc8, 0x0a, 0x44, 0x0f, 0x99, 0x6d, 0x51, 0x15, 0x70, 0x3a, 0xc6, 0xb9, 0x1e, 0x43, 0x3f, 0x4d, + 0x92, 0x88, 0x8e, 0x5e, 0xcd, 0x16, 0xa4, 0x61, 0x52, 0xc7, 0x54, 0x4c, 0xea, 0x8d, 0xad, 0x4c, + 0x8a, 0xbc, 0xba, 0x1b, 0x8c, 0x8a, 0xbf, 0x3a, 0xdb, 0x2c, 0xb3, 0xa2, 0xea, 0x6a, 0xe9, 0x04, + 0x4f, 0x81, 0x8c, 0x82, 0x6f, 0x91, 0x28, 0xed, 0x69, 0x91, 0x4d, 0x22, 0xbb, 0xb4, 0x4d, 0x85, + 0x0d, 0x7b, 0x58, 0xde, 0x48, 0xf7, 0x06, 0x8d, 0x74, 0x68, 0xa4, 0x33, 0x06, 0x2d, 0x34, 0x10, + 0x43, 0x04, 0x35, 0xe4, 0x90, 0x53, 0x2d, 0x38, 0xcc, 0xc4, 0x3f, 0x23, 0x11, 0x87, 0x25, 0xb7, + 0xcb, 0x8b, 0x2c, 0x50, 0x49, 0xcc, 0x6c, 0x3c, 0x2e, 0x8d, 0xbb, 0xa1, 0x7f, 0x0d, 0xfd, 0x6b, + 0x76, 0xc0, 0x96, 0x36, 0xf8, 0xd2, 0x0f, 0x63, 0xb4, 0x70, 0x46, 0x0c, 0x6b, 0x6c, 0xf0, 0x36, + 0xf7, 0xb0, 0x06, 0x7f, 0x8d, 0xf2, 0x62, 0x2c, 0x69, 0xff, 0x21, 0x0b, 0xe2, 0x51, 0x14, 0x64, + 0xb2, 0x78, 0xe6, 0xd3, 0xd4, 0xca, 0xeb, 0x6a, 0xde, 0x97, 0x49, 0x9b, 0x78, 0xae, 0x18, 0x67, + 0x87, 0x40, 0x1d, 0x50, 0x68, 0x08, 0x12, 0x75, 0x41, 0xa3, 0x76, 0x88, 0xd4, 0x0e, 0x95, 0xe6, + 0x20, 0x93, 0x07, 0x3a, 0x99, 0x20, 0xb4, 0x12, 0x13, 0xdb, 0xf5, 0xe5, 0x66, 0x31, 0xce, 0x63, + 0xba, 0xab, 0xa7, 0xb6, 0x07, 0xed, 0xdd, 0x3d, 0xfc, 0xba, 0xc4, 0xa0, 0x47, 0x9d, 0x87, 0x4c, + 0x0e, 0xfc, 0x82, 0x53, 0x91, 0x2a, 0x25, 0x9a, 0x6f, 0x05, 0xdb, 0x08, 0xdb, 0x08, 0xdb, 0x08, + 0xdb, 0xb8, 0x17, 0xb6, 0x91, 0x1b, 0xd6, 0x60, 0x0e, 0x9d, 0xe4, 0xb9, 0xc4, 0x73, 0x4a, 0x6a, + 0xeb, 0xb3, 0xd5, 0x74, 0x6c, 0x2c, 0x06, 0x78, 0x3d, 0xcd, 0x3b, 0xbe, 0xae, 0xe7, 0x1b, 0x5e, + 0x6b, 0x88, 0xfe, 0x79, 0x4c, 0xf5, 0x21, 0xe3, 0xf7, 0x3e, 0x9f, 0xbc, 0xf6, 0xd2, 0xbf, 0xdc, + 0xa5, 0x22, 0xec, 0x5f, 0x87, 0xbd, 0x24, 0x89, 0xfa, 0x67, 0xb3, 0x37, 0xbe, 0x9b, 0xbe, 0x70, + 0xff, 0xd3, 0xec, 0x85, 0xcf, 0xe7, 0xef, 0x6b, 0xeb, 0xfc, 0x20, 0xc2, 0xac, 0x45, 0x94, 0xfc, + 0x10, 0x99, 0x5f, 0x7d, 0x6d, 0xbe, 0x70, 0xf2, 0xea, 0x46, 0x3c, 0x91, 0xe4, 0x2e, 0x22, 0xc9, + 0x88, 0x24, 0xdb, 0xee, 0x02, 0x22, 0x92, 0xac, 0xc9, 0xc5, 0x9b, 0x5f, 0x58, 0x29, 0xe3, 0xe2, + 0xdd, 0x09, 0x87, 0xf2, 0x4f, 0x71, 0xe7, 0x3d, 0xc3, 0xd2, 0xb7, 0x41, 0xfc, 0x20, 0x48, 0xee, + 0x0c, 0x6c, 0xfa, 0xc3, 0xe8, 0x50, 0x5f, 0xcb, 0x58, 0x03, 0x41, 0x64, 0x8d, 0x11, 0x54, 0xdb, + 0xfc, 0x11, 0x44, 0x23, 0xa1, 0x61, 0x9f, 0x4f, 0x59, 0x50, 0xf6, 0x5d, 0x7f, 0x94, 0x0f, 0xb2, + 0x2c, 0x77, 0xee, 0xf2, 0xf1, 0x3f, 0x46, 0xea, 0x71, 0x1d, 0xfc, 0xbb, 0x77, 0x9f, 0xfe, 0xf8, + 0xfd, 0xc9, 0xc9, 0xbb, 0xd3, 0x93, 0x93, 0xee, 0xe9, 0x2f, 0xa7, 0xdd, 0x5f, 0xdf, 0xbe, 0x3d, + 0x7e, 0x77, 0xfc, 0x76, 0x8f, 0xb4, 0xc1, 0x11, 0x92, 0x78, 0x7f, 0x00, 0xce, 0xf8, 0x28, 0x4d, + 0xf5, 0x38, 0xe3, 0xab, 0x1b, 0xc1, 0x19, 0x87, 0x33, 0x0e, 0x67, 0x1c, 0xce, 0x38, 0x9c, 0x71, + 0x38, 0xe3, 0x70, 0xc6, 0xe1, 0x8c, 0xc3, 0x19, 0x87, 0x33, 0xee, 0xa4, 0x33, 0x6e, 0x55, 0x01, + 0xf8, 0xb4, 0x5b, 0x7b, 0xc5, 0xd9, 0xf6, 0x78, 0x22, 0xe1, 0x34, 0x0d, 0xdc, 0x4d, 0xe6, 0x83, + 0xac, 0x07, 0xbb, 0x09, 0xa0, 0xf8, 0x16, 0x27, 0x69, 0xf8, 0xe6, 0x52, 0x0d, 0xa6, 0xa4, 0xa2, + 0x9d, 0xc9, 0x44, 0xca, 0x2e, 0x1b, 0x5b, 0xf2, 0x85, 0x9d, 0xfd, 0xb9, 0x11, 0xaf, 0x93, 0x84, + 0xe1, 0x28, 0x95, 0x62, 0xc0, 0xd8, 0xd1, 0x56, 0xdf, 0x02, 0x0d, 0x6d, 0x96, 0x87, 0x14, 0xd0, + 0xd0, 0x66, 0x3e, 0x64, 0x80, 0x86, 0x36, 0xc2, 0xe3, 0x82, 0x86, 0x36, 0x2d, 0xf0, 0xa4, 0x19, + 0xa6, 0xb8, 0xe1, 0x4a, 0x1b, 0x6c, 0x69, 0x83, 0x2f, 0xfd, 0x30, 0xc6, 0x43, 0x44, 0xd1, 0xd0, + 0xb6, 0xe1, 0xe0, 0xa1, 0xa1, 0xcd, 0x12, 0x28, 0x34, 0x04, 0x89, 0xba, 0xa0, 0x51, 0x3b, 0x44, + 0x6a, 0x87, 0x4a, 0x73, 0x90, 0xc9, 0x1c, 0x19, 0x44, 0x43, 0x5b, 0x6b, 0x17, 0x0f, 0x15, 0xfc, + 0xac, 0x7a, 0x84, 0x86, 0x36, 0xd8, 0x46, 0xd8, 0x46, 0xd8, 0x46, 0xd8, 0x46, 0x6b, 0x61, 0x0d, + 0xe6, 0xd0, 0x49, 0x9e, 0x7b, 0x00, 0x0d, 0x6d, 0xb5, 0x74, 0xc3, 0xbe, 0xf7, 0xb3, 0xdd, 0x4c, + 0x5f, 0x18, 0xed, 0x6c, 0x68, 0x67, 0x33, 0xe0, 0x28, 0x22, 0x8e, 0x6c, 0x9f, 0x23, 0x88, 0x38, + 0xb2, 0x21, 0xfb, 0x8a, 0x0a, 0xda, 0xc6, 0xa5, 0x51, 0x41, 0x6b, 0x2e, 0x42, 0x50, 0x6d, 0x83, + 0x0a, 0xda, 0xdd, 0x3e, 0x3d, 0x2a, 0x68, 0x5d, 0xd3, 0x06, 0x54, 0xd0, 0x5a, 0xe3, 0x8c, 0xa3, + 0x9d, 0x0d, 0xce, 0x38, 0x9c, 0x71, 0x38, 0xe3, 0x70, 0xc6, 0xe1, 0x8c, 0xc3, 0x19, 0x87, 0x33, + 0x0e, 0x67, 0x1c, 0xce, 0x38, 0x9c, 0x71, 0xed, 0x2b, 0xa1, 0x9d, 0x6d, 0xc9, 0x7c, 0xa0, 0x9d, + 0x8d, 0x5e, 0x35, 0xf6, 0xb8, 0x9d, 0x8d, 0xab, 0x73, 0xc9, 0xb3, 0x28, 0x5b, 0xb8, 0x4f, 0xcd, + 0x6c, 0xf9, 0x28, 0x4d, 0x93, 0xac, 0x60, 0xbe, 0xa1, 0xad, 0x71, 0x17, 0xb4, 0xb4, 0x59, 0x1e, + 0x56, 0x40, 0x4b, 0x9b, 0xf9, 0xb0, 0x01, 0x5a, 0xda, 0x08, 0x8f, 0x0b, 0x5a, 0xda, 0xb4, 0xc0, + 0x93, 0x66, 0x98, 0xe2, 0x86, 0x2b, 0x6d, 0xb0, 0xa5, 0x0d, 0xbe, 0xf4, 0xc3, 0x18, 0x0f, 0x19, + 0x45, 0x4b, 0xdb, 0x86, 0x83, 0x87, 0x96, 0x36, 0x4b, 0xa0, 0xd0, 0x10, 0x24, 0xea, 0x82, 0x46, + 0xed, 0x10, 0xa9, 0x1d, 0x2a, 0xcd, 0x41, 0x26, 0x73, 0x74, 0x10, 0x2d, 0x6d, 0xad, 0x5d, 0x3c, + 0xd4, 0xf0, 0xb3, 0xea, 0x11, 0x5a, 0xda, 0x60, 0x1b, 0x61, 0x1b, 0x61, 0x1b, 0x61, 0x1b, 0xad, + 0x85, 0x35, 0x98, 0x43, 0x27, 0x79, 0xee, 0x01, 0xb4, 0xb4, 0x35, 0x65, 0x1c, 0xf6, 0xbd, 0xab, + 0xed, 0x6e, 0xfe, 0xce, 0x68, 0x6c, 0x43, 0x63, 0x9b, 0x01, 0x77, 0x11, 0xd1, 0x64, 0xfb, 0xdc, + 0x41, 0x44, 0x93, 0x0d, 0x59, 0x59, 0xd4, 0xd2, 0x36, 0x2e, 0x8d, 0x5a, 0x5a, 0x73, 0x71, 0x82, + 0x6a, 0x1b, 0xd4, 0xd2, 0xee, 0xf6, 0xe9, 0x51, 0x4b, 0xeb, 0x9a, 0x36, 0xa0, 0x96, 0xd6, 0x1a, + 0x67, 0x1c, 0x8d, 0x6d, 0x70, 0xc6, 0xe1, 0x8c, 0xc3, 0x19, 0x87, 0x33, 0x0e, 0x67, 0x1c, 0xce, + 0x38, 0x9c, 0x71, 0x38, 0xe3, 0x70, 0xc6, 0xe1, 0x8c, 0x6b, 0x5f, 0x09, 0x8d, 0x6d, 0x4b, 0xe6, + 0x03, 0x8d, 0x6d, 0xf4, 0xaa, 0xb1, 0xc7, 0x8d, 0x6d, 0x8c, 0x2d, 0x4c, 0x9e, 0x5d, 0x39, 0x43, + 0x6b, 0xda, 0xdb, 0x8e, 0x0c, 0xaa, 0x34, 0xb5, 0x2a, 0x5b, 0xa0, 0xc2, 0x1d, 0x8a, 0x76, 0x41, + 0x23, 0x5a, 0xaa, 0xa6, 0x91, 0xed, 0xf5, 0xa8, 0xdd, 0xff, 0xd9, 0x52, 0xf3, 0xa8, 0x34, 0xce, + 0xa0, 0xa6, 0x29, 0x68, 0x98, 0x6e, 0xcd, 0x6a, 0xa7, 0x52, 0xbb, 0x2b, 0x44, 0x0b, 0x65, 0xe8, + 0x4c, 0x85, 0xd0, 0x4e, 0x05, 0xaa, 0x78, 0x44, 0xb9, 0x4a, 0x4b, 0x55, 0x54, 0x6b, 0x62, 0x53, + 0x8e, 0x68, 0x52, 0x44, 0x2e, 0x97, 0x23, 0x94, 0x13, 0xfd, 0x57, 0xd1, 0x4f, 0xa2, 0x08, 0x24, + 0x79, 0xa4, 0x91, 0x3c, 0xa2, 0x58, 0x8f, 0x1c, 0x4e, 0x85, 0xe7, 0x08, 0x8c, 0xaa, 0x36, 0x71, + 0x75, 0x9e, 0xa6, 0x9c, 0x5c, 0xf1, 0x43, 0xcf, 0xf4, 0x6f, 0xb2, 0x9c, 0xe2, 0x37, 0xa1, 0x09, + 0x47, 0x90, 0xa5, 0x1a, 0x28, 0x53, 0x0b, 0xc4, 0x07, 0x95, 0xfa, 0xc0, 0xb2, 0x1d, 0x5c, 0xb6, + 0x03, 0xcc, 0x77, 0x90, 0xed, 0xf0, 0xcc, 0xc9, 0x42, 0xf9, 0xf3, 0xf1, 0x14, 0x45, 0x26, 0xe3, + 0x07, 0x0a, 0xa5, 0x9b, 0x19, 0xce, 0xf7, 0xa6, 0x3c, 0xd6, 0x57, 0x8a, 0xb8, 0xe7, 0x2b, 0x39, + 0x1f, 0xcd, 0xe0, 0xe7, 0x2b, 0xb8, 0x22, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, 0x08, 0x68, 0xa9, + 0xb3, 0x39, 0x8d, 0x85, 0x2b, 0xc3, 0x1c, 0x4d, 0x98, 0x9b, 0x34, 0xac, 0x4d, 0x1a, 0xc6, 0xa6, + 0x09, 0x5b, 0xef, 0x6b, 0x64, 0x45, 0xd1, 0x3e, 0x32, 0xc4, 0x4e, 0x4a, 0x5c, 0xb0, 0x38, 0x44, + 0x92, 0xa4, 0x22, 0x2b, 0x3f, 0x68, 0x10, 0xf9, 0x79, 0x11, 0x14, 0x04, 0xf1, 0x92, 0xfa, 0x92, + 0x6a, 0xc1, 0x93, 0xae, 0x6a, 0xf0, 0xe4, 0x0d, 0x82, 0x27, 0x08, 0x9e, 0x68, 0xb6, 0x67, 0xca, + 0x9e, 0x05, 0xf9, 0x71, 0xf2, 0x88, 0x5a, 0x4c, 0x15, 0x5b, 0x48, 0xf5, 0xc0, 0x5a, 0x21, 0xb2, + 0x47, 0x19, 0x97, 0x62, 0xf3, 0x07, 0x32, 0x13, 0xa1, 0x92, 0xcd, 0x9a, 0x9f, 0xe2, 0xc6, 0x65, + 0x01, 0x6f, 0x80, 0x37, 0xc0, 0x9b, 0x05, 0x47, 0xea, 0x60, 0x21, 0x8e, 0xc8, 0x73, 0xab, 0x2f, + 0x09, 0x68, 0x03, 0xb4, 0x01, 0xda, 0x0c, 0x1f, 0xa7, 0xc3, 0x82, 0xb5, 0xa4, 0x08, 0x22, 0x3f, + 0x4d, 0x0a, 0x11, 0x17, 0x32, 0x88, 0xfc, 0x30, 0x48, 0x83, 0x50, 0x65, 0xc6, 0xe3, 0xfc, 0x73, + 0xac, 0x5b, 0xd9, 0x70, 0x6e, 0x1f, 0x20, 0x07, 0x90, 0x73, 0x2e, 0xb7, 0x3f, 0x39, 0x4c, 0xb9, + 0xfc, 0x1f, 0x61, 0x8e, 0x6b, 0x61, 0x4d, 0x9a, 0x1c, 0xd7, 0x31, 0x72, 0x5c, 0xba, 0x8f, 0x2e, + 0xdb, 0x11, 0x66, 0x3b, 0xca, 0x7c, 0x47, 0x5a, 0xed, 0x68, 0x2b, 0x1e, 0x71, 0xb2, 0xa3, 0x5e, + 0x2d, 0x34, 0x8a, 0x65, 0x41, 0x7f, 0xa3, 0x45, 0xb9, 0x2a, 0xed, 0x0d, 0x16, 0x5d, 0xea, 0x1b, + 0x2c, 0xba, 0xae, 0xdc, 0x60, 0x41, 0x06, 0x07, 0x5c, 0xb0, 0xc0, 0x0e, 0x0f, 0xec, 0x30, 0xc1, + 0x0f, 0x17, 0x34, 0xb0, 0x41, 0x04, 0x1f, 0x74, 0xb4, 0x68, 0xad, 0xe6, 0xce, 0xfc, 0x70, 0x9f, + 0x10, 0x0a, 0x3c, 0xa6, 0x79, 0x8a, 0xc4, 0xf3, 0x13, 0xed, 0xb8, 0xba, 0x88, 0xa6, 0x4e, 0xb3, + 0xf6, 0x5d, 0x29, 0xea, 0x35, 0x01, 0xed, 0x80, 0x76, 0x40, 0xbb, 0xb3, 0xd0, 0x4e, 0x3e, 0xca, + 0x81, 0x61, 0x84, 0x03, 0xd3, 0xe8, 0x06, 0x86, 0x01, 0x19, 0x9c, 0xa3, 0x1a, 0xb8, 0xe7, 0xaa, + 0x33, 0x8f, 0x66, 0xd0, 0xd1, 0x84, 0xcf, 0x31, 0x99, 0x9f, 0x73, 0x04, 0x83, 0xae, 0x4f, 0xaa, + 0x6f, 0xe4, 0x82, 0x96, 0xaf, 0x6c, 0xe9, 0xe8, 0x82, 0x7b, 0x34, 0x13, 0x3b, 0xd4, 0x4c, 0xbc, + 0x2e, 0xd7, 0xf0, 0x9a, 0x2c, 0xc6, 0xe9, 0xf1, 0xd4, 0x2b, 0x7e, 0x19, 0x3f, 0x5f, 0x6f, 0xf6, + 0xdc, 0xe7, 0xd3, 0xc7, 0x9e, 0xfc, 0xf8, 0x6e, 0xfc, 0xd4, 0xe8, 0x20, 0xb6, 0x58, 0xbd, 0xec, + 0xaa, 0x7d, 0x6d, 0xd6, 0x25, 0x9b, 0xab, 0x61, 0x47, 0x23, 0x39, 0x50, 0x4f, 0x34, 0x96, 0xab, + 0x18, 0xae, 0x9c, 0x40, 0xc3, 0x30, 0x3b, 0x2f, 0x45, 0x52, 0x91, 0x9a, 0x47, 0x52, 0x9c, 0x20, + 0x4f, 0xbd, 0x77, 0xa6, 0x05, 0xd6, 0x1c, 0x31, 0xca, 0xb7, 0x9a, 0x13, 0xb5, 0xbb, 0x50, 0xd4, + 0xba, 0x61, 0x48, 0xba, 0x60, 0x48, 0xba, 0x5f, 0xd4, 0xba, 0x5e, 0x76, 0x95, 0xf7, 0xd9, 0xe8, + 0x61, 0xfc, 0xb8, 0x62, 0xd0, 0x2a, 0x28, 0xa0, 0x68, 0x3c, 0x16, 0x9d, 0x84, 0x0f, 0x95, 0x4f, + 0x30, 0xfe, 0xd9, 0xcc, 0x31, 0xf8, 0x50, 0x77, 0x19, 0x1a, 0xff, 0x79, 0xe5, 0xc7, 0xa5, 0x3b, + 0xb1, 0xfc, 0xa3, 0x46, 0xe7, 0xa2, 0xad, 0xe5, 0xfa, 0x28, 0xf2, 0x30, 0x93, 0xe9, 0xd4, 0x69, + 0x9a, 0x09, 0x31, 0xf7, 0x8a, 0xef, 0xc2, 0xfb, 0x16, 0xe4, 0xc2, 0xbb, 0x0a, 0x9e, 0x45, 0xd6, + 0xcb, 0x92, 0x22, 0x09, 0x93, 0xc8, 0x93, 0xf1, 0x30, 0xc9, 0x1e, 0x4b, 0x1f, 0xcb, 0x93, 0xb1, + 0xb7, 0xe4, 0x39, 0x78, 0x3f, 0x64, 0xf1, 0xdd, 0xbb, 0x39, 0xff, 0xbd, 0x1c, 0x86, 0x22, 0x87, + 0x32, 0x5c, 0xfc, 0x75, 0xcc, 0xe2, 0xa0, 0x9e, 0x16, 0x7c, 0xc8, 0x26, 0x96, 0x6a, 0x9a, 0xaf, + 0x63, 0xf5, 0x3b, 0x5b, 0xcc, 0x20, 0x22, 0xab, 0xeb, 0x61, 0x9d, 0x77, 0xe4, 0x04, 0xf6, 0x10, + 0x61, 0x10, 0x19, 0x16, 0x51, 0x62, 0x12, 0x33, 0x36, 0x51, 0x63, 0x14, 0x1b, 0x56, 0xb1, 0x61, + 0x16, 0x3f, 0x76, 0x11, 0xc5, 0xf6, 0x74, 0x63, 0xa7, 0x8e, 0x90, 0x00, 0xbc, 0xb9, 0x12, 0x51, + 0xe3, 0x24, 0xc6, 0x0c, 0xb4, 0x39, 0x2b, 0x8f, 0x63, 0x11, 0x16, 0xf2, 0x49, 0x31, 0xe2, 0x76, + 0xd0, 0x81, 0x8d, 0x05, 0x11, 0x1e, 0x8a, 0xcf, 0x15, 0x8a, 0xd4, 0x8f, 0x64, 0x5e, 0xd0, 0x79, + 0x56, 0xd5, 0x8a, 0xb4, 0xfe, 0x93, 0xc2, 0x69, 0x3f, 0x3c, 0x4f, 0x87, 0x08, 0x0d, 0xe0, 0xe7, + 0x70, 0xa3, 0xc5, 0xc1, 0x78, 0x39, 0x3b, 0xfd, 0x1f, 0xf7, 0xbb, 0x06, 0xc7, 0xd4, 0x52, 0x63, + 0x5c, 0x29, 0xb1, 0x16, 0x4a, 0x4d, 0x9f, 0xf1, 0xda, 0x4d, 0x37, 0xb7, 0xff, 0x4e, 0x3b, 0x58, + 0xac, 0x4e, 0x26, 0x52, 0x11, 0x14, 0xfe, 0x40, 0x44, 0xf2, 0x49, 0x64, 0xcf, 0x63, 0xda, 0x9d, + 0x05, 0x61, 0x21, 0x32, 0x99, 0x17, 0x72, 0x77, 0x52, 0x5f, 0x61, 0xdd, 0x86, 0x75, 0x77, 0x0d, + 0x69, 0xb7, 0x4a, 0x73, 0xb5, 0xee, 0x99, 0x53, 0x41, 0xff, 0x65, 0xb4, 0x9f, 0xa9, 0x62, 0x1b, + 0x7d, 0x53, 0x44, 0x76, 0x32, 0x24, 0x27, 0x43, 0xee, 0x3a, 0x52, 0x57, 0xe2, 0xb1, 0x2c, 0x85, + 0xd2, 0x3a, 0x35, 0xa5, 0x3e, 0xd8, 0xad, 0x65, 0x32, 0x8a, 0x07, 0x1d, 0x72, 0x91, 0x3d, 0x89, + 0xcc, 0x97, 0x71, 0x21, 0x1e, 0x32, 0x59, 0x3c, 0xfb, 0x69, 0x96, 0x84, 0x22, 0xcf, 0xc9, 0x60, + 0x62, 0xdb, 0x0d, 0x80, 0x17, 0xc0, 0x0b, 0xe0, 0x85, 0xf5, 0x78, 0x41, 0xd6, 0x8d, 0x4f, 0xdd, + 0x85, 0xdf, 0x92, 0x5f, 0x5a, 0x80, 0x08, 0xad, 0x0b, 0x62, 0x0e, 0x01, 0x0f, 0xda, 0x16, 0xbc, + 0xf0, 0xa2, 0x41, 0xdb, 0xc8, 0x0f, 0x45, 0x97, 0x3c, 0x5d, 0x77, 0x3c, 0x2e, 0xa3, 0x40, 0x08, + 0xf6, 0x70, 0x07, 0x56, 0x90, 0x74, 0xaf, 0x53, 0x76, 0xad, 0x63, 0x10, 0x3b, 0x62, 0xa3, 0x16, + 0x1c, 0x63, 0xa2, 0xa8, 0xa8, 0x75, 0x83, 0xd8, 0xa9, 0xbb, 0xca, 0x29, 0xbb, 0xc9, 0x89, 0xba, + 0xc8, 0x0d, 0xde, 0x6e, 0x81, 0x5b, 0x7d, 0x00, 0xa5, 0x80, 0xd2, 0x03, 0x81, 0x52, 0xb2, 0x2e, + 0x6e, 0xc2, 0xee, 0x6d, 0xe2, 0xae, 0x6d, 0xda, 0x1b, 0x91, 0x19, 0x66, 0x2a, 0xb0, 0xb4, 0xf2, + 0x72, 0x75, 0x65, 0x73, 0xf6, 0xe9, 0xfe, 0xa4, 0xbd, 0x5f, 0xda, 0xb9, 0x4f, 0xc5, 0xdf, 0x6d, + 0xcd, 0xfa, 0xf5, 0x2c, 0xe9, 0x62, 0xbe, 0x47, 0x1b, 0xeb, 0x0e, 0xeb, 0xa8, 0xe7, 0xec, 0x79, + 0xfb, 0xa1, 0x55, 0x33, 0xf9, 0x3c, 0x4d, 0xcf, 0xb6, 0xb5, 0x91, 0x99, 0xaf, 0xdc, 0x20, 0x6c, + 0x5b, 0xe6, 0xf9, 0xe4, 0x36, 0x14, 0x70, 0x8c, 0xe2, 0xe0, 0x29, 0x90, 0x51, 0x79, 0x3f, 0x7e, + 0x21, 0x1f, 0x05, 0x59, 0x6a, 0x76, 0xd3, 0xc2, 0x48, 0xc9, 0xb2, 0xb3, 0x26, 0xa4, 0x64, 0xdb, + 0xc3, 0x17, 0x52, 0xb2, 0x53, 0x7c, 0x68, 0x33, 0xa3, 0x40, 0xa5, 0xb3, 0x5a, 0xf9, 0xa4, 0x77, + 0x91, 0x6a, 0x45, 0xaa, 0x55, 0xdb, 0x29, 0x6f, 0x39, 0x3b, 0x80, 0xff, 0x8c, 0x1f, 0x11, 0xca, + 0xab, 0xc5, 0x4c, 0x80, 0x76, 0xb3, 0x00, 0x94, 0x66, 0x00, 0x28, 0xf5, 0xfe, 0xb7, 0xeb, 0xf9, + 0xdf, 0x56, 0x7e, 0x2d, 0x9d, 0x61, 0x75, 0x27, 0xb8, 0xb3, 0x4b, 0xb5, 0x9e, 0x92, 0x8f, 0xbb, + 0xdd, 0xd1, 0xde, 0xac, 0x96, 0x5b, 0x88, 0x74, 0x37, 0xa3, 0xd4, 0xe6, 0xa8, 0xee, 0x68, 0x84, + 0x76, 0x36, 0x3e, 0x6d, 0x8c, 0x8e, 0xa2, 0xb1, 0x69, 0x6b, 0x64, 0x94, 0x8d, 0x8b, 0xb2, 0x51, + 0x51, 0x37, 0x26, 0xb4, 0x60, 0xb8, 0xb3, 0xd1, 0x68, 0x6b, 0x2c, 0x76, 0x34, 0x12, 0x5b, 0x9c, + 0xad, 0x23, 0x85, 0xf7, 0xdf, 0xc1, 0x08, 0xec, 0x06, 0xfe, 0xad, 0x40, 0xbf, 0x15, 0xd8, 0xef, + 0x06, 0xf2, 0x9b, 0xe4, 0xb1, 0x23, 0xa8, 0x2b, 0x81, 0xf9, 0x16, 0x5a, 0xd3, 0x1e, 0xbf, 0x5f, + 0x3e, 0x48, 0xeb, 0x95, 0xa6, 0xf9, 0x5f, 0xd6, 0x88, 0x6d, 0x5b, 0x71, 0xb5, 0x11, 0xd3, 0x0b, + 0xd2, 0xd9, 0x59, 0x2a, 0xcd, 0xc2, 0xa8, 0xbf, 0x6a, 0xc3, 0x6b, 0xbe, 0x6c, 0x97, 0xb6, 0x41, + 0x81, 0x0d, 0x76, 0x67, 0xa3, 0x9d, 0xd9, 0xc6, 0xae, 0xec, 0x68, 0x47, 0xb6, 0xb5, 0x1b, 0x3b, + 0xdb, 0x89, 0x9d, 0xed, 0xc2, 0xee, 0x76, 0x60, 0x37, 0x05, 0xdd, 0x88, 0xeb, 0xdb, 0xe2, 0xf8, + 0x06, 0xdc, 0x6e, 0xd0, 0xa5, 0xa3, 0x17, 0x9e, 0x6f, 0xc3, 0x80, 0xa8, 0x0d, 0xca, 0xd6, 0x34, + 0x12, 0x60, 0x9d, 0xf2, 0x6d, 0x9c, 0x6b, 0xf2, 0xe5, 0xac, 0x77, 0xe9, 0x4d, 0xcf, 0xc9, 0x64, + 0x72, 0x49, 0x2f, 0x28, 0xbe, 0x9f, 0x27, 0x8f, 0xe9, 0x68, 0x72, 0xb2, 0xef, 0x44, 0xf6, 0x24, + 0x43, 0xb1, 0xc5, 0x0c, 0x93, 0x0d, 0xe5, 0xa1, 0x0c, 0x9a, 0x3e, 0x46, 0x94, 0xb1, 0x20, 0x66, + 0xcf, 0xea, 0xa8, 0xce, 0xd7, 0x5e, 0x83, 0x48, 0xfb, 0x37, 0x95, 0x3c, 0x76, 0x56, 0x37, 0xae, + 0xc0, 0x77, 0xa3, 0x94, 0x66, 0x9f, 0x61, 0xed, 0x0a, 0x1b, 0x64, 0xa0, 0x53, 0x2f, 0xb7, 0xd4, + 0xcf, 0x9d, 0x3d, 0xff, 0x5d, 0x3c, 0xfe, 0xd6, 0x7a, 0xdb, 0xd6, 0xd7, 0x6f, 0xed, 0xe3, 0xb7, + 0xf6, 0xed, 0x55, 0xf4, 0x7a, 0x4b, 0x6f, 0x76, 0xd7, 0x73, 0xb1, 0x8d, 0x85, 0x37, 0x0b, 0xb6, + 0x33, 0x4f, 0xc5, 0x66, 0x94, 0xdd, 0xc2, 0x61, 0xb5, 0x19, 0x5d, 0x37, 0xa7, 0x23, 0x88, 0x51, + 0xb5, 0xe6, 0xca, 0x6e, 0x8d, 0xa6, 0x3b, 0x38, 0xc1, 0xfa, 0x14, 0xce, 0x3e, 0xf8, 0xdc, 0x85, + 0x41, 0x39, 0x08, 0x9b, 0xdb, 0xe7, 0xcf, 0x0e, 0x0e, 0x2e, 0xcf, 0x17, 0xe6, 0x78, 0xd8, 0x0c, + 0x99, 0x5b, 0x8e, 0x74, 0xb1, 0x9b, 0x88, 0x6d, 0x33, 0x32, 0x85, 0x18, 0x3a, 0x17, 0x37, 0xdd, + 0x1d, 0x3e, 0x1b, 0xff, 0x6f, 0x7a, 0x08, 0x6d, 0xa7, 0x84, 0xf6, 0xc1, 0xe8, 0x8e, 0x73, 0x87, + 0x5c, 0x84, 0xd2, 0xdd, 0xe6, 0xfe, 0xb0, 0xc3, 0xe9, 0xd2, 0x4f, 0xee, 0x57, 0x63, 0x02, 0x2f, + 0x07, 0xd3, 0xb6, 0x08, 0xa2, 0x35, 0xc8, 0x77, 0x63, 0xac, 0x6c, 0x59, 0x2a, 0xf3, 0x27, 0x9c, + 0xfc, 0x6d, 0x7a, 0x90, 0xd7, 0x3d, 0x5b, 0x47, 0xe6, 0x9f, 0x82, 0xbf, 0xc5, 0x6d, 0x92, 0xd4, + 0x3f, 0xd4, 0xea, 0xf3, 0x76, 0x16, 0xff, 0x69, 0xe9, 0xa1, 0x3e, 0x8a, 0xf1, 0x11, 0x9a, 0x3c, + 0xc8, 0xcf, 0xa3, 0x9f, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe4, + 0x0b, 0xe2, 0x72, 0xc5, 0x74, 0x17, 0x00, } ) @@ -12989,9 +16255,36 @@ var ΛEnumTypes = map[string][]reflect.Type{ "/context/connectivity-context/connectivity-service/end-point/lifecycle-state": []reflect.Type{ reflect.TypeOf((E_TapiCommon_LifecycleState)(0)), }, + "/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/mc-config/spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/media-channel-connectivity-service-end-point-spec/mc-config/spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, "/context/connectivity-context/connectivity-service/end-point/operational-state": []reflect.Type{ reflect.TypeOf((E_TapiCommon_OperationalState)(0)), }, + "/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/application-identifier/application-identifier-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_ApplicationIdentifierType)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/central-frequency/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/central-frequency/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/laser-control": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_LaserControlType)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/modulation": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_ModulationTechnique)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/otsi-connectivity-service-end-point-spec/otsi-config/spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, "/context/connectivity-context/connectivity-service/end-point/protection-role": []reflect.Type{ reflect.TypeOf((E_TapiConnectivity_ProtectionRole)(0)), }, @@ -13130,9 +16423,39 @@ var ΛEnumTypes = map[string][]reflect.Type{ "/context/service-interface-point/lifecycle-state": []reflect.Type{ reflect.TypeOf((E_TapiCommon_LifecycleState)(0)), }, + "/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/available-spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/available-spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, + "/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/occupied-spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/occupied-spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, + "/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/supportable-spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/service-interface-point/media-channel-service-interface-point-spec/mc-pool/supportable-spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, "/context/service-interface-point/operational-state": []reflect.Type{ reflect.TypeOf((E_TapiCommon_OperationalState)(0)), }, + "/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability/supportable-application-identifier/application-identifier-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_ApplicationIdentifierType)(0)), + }, + "/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability/supportable-central-frequency-spectrum-band/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability/supportable-central-frequency-spectrum-band/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, + "/context/service-interface-point/otsi-service-interface-point-spec/otsi-capability/supportable-modulation": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_ModulationTechnique)(0)), + }, "/context/service-interface-point/supported-layer-protocol-qualifier": []reflect.Type{ reflect.TypeOf((E_TapiCommon_LayerProtocolQualifier)(0)), }, @@ -13256,9 +16579,39 @@ var ΛEnumTypes = map[string][]reflect.Type{ "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/lifecycle-state": []reflect.Type{ reflect.TypeOf((E_TapiCommon_LifecycleState)(0)), }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/media-channel-connection-end-point-spec/media-channel/occupied-spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/media-channel-connection-end-point-spec/media-channel/occupied-spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/operational-state": []reflect.Type{ reflect.TypeOf((E_TapiCommon_OperationalState)(0)), }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/laser-properties/laser-application-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_LaserType)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/laser-properties/laser-status": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_LaserControlStatusType)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-application-identifier/application-identifier-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_ApplicationIdentifierType)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-central-frequency/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-central-frequency/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-modulation": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_ModulationTechnique)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/otsi-connection-end-point-spec/otsi-termination/selected-spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/protection-role": []reflect.Type{ reflect.TypeOf((E_TapiConnectivity_ProtectionRole)(0)), }, @@ -13280,6 +16633,24 @@ var ΛEnumTypes = map[string][]reflect.Type{ "/context/topology-context/topology/node/owned-node-edge-point/link-port-role": []reflect.Type{ reflect.TypeOf((E_TapiTopology_PortRole)(0)), }, + "/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/available-spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/available-spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/occupied-spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/occupied-spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/supportable-spectrum/frequency-constraint/adjustment-granularity": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_AdjustmentGranularity)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/media-channel-node-edge-point-spec/mc-pool/supportable-spectrum/frequency-constraint/grid-type": []reflect.Type{ + reflect.TypeOf((E_TapiPhotonicMedia_GridType)(0)), + }, "/context/topology-context/topology/node/owned-node-edge-point/operational-state": []reflect.Type{ reflect.TypeOf((E_TapiCommon_OperationalState)(0)), },