Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

fix signature option

  • Loading branch information...
commit ba1c7a55ca0934b621735cdda2569c5693b0853e 1 parent 90fc362
@binarylogic authored
View
18 lib/shippinglogic/fedex/request.rb
@@ -97,6 +97,24 @@ def build_package(b)
b.Units package_dimension_units
end
end
+
+ if respond_to?(:signature) && signature
+ self.special_services_requested << "SIGNATURE_OPTION"
+ end
+
+ if (respond_to?(:special_services_requested) && special_services_requested.any?)
+ b.SpecialServicesRequested do
+ if special_services_requested.any?
+ b.SpecialServiceTypes special_services_requested.join(",")
+ end
+
+ if signature
+ b.SignatureOptionDetail do
+ b.OptionType signature
+ end
+ end
+ end
+ end
end
end
View
14 lib/shippinglogic/fedex/ship.rb
@@ -181,20 +181,6 @@ def build_request
build_authentication(b)
build_version(b, "ship", VERSION[:major], VERSION[:intermediate], VERSION[:minor])
- if special_services_requested.any? || signature
- b.SpecialServicesRequested do
- if special_services_requested.any?
- b.SpecialServiceTypes special_services_requested.join(",")
- end
-
- if signature
- b.SignatureOptionDetail do
- b.OptionType signature
- end
- end
- end
- end
-
b.RequestedShipment do
b.ShipTimestamp ship_time.xmlschema if ship_time
b.DropoffType dropoff_type if dropoff_type
View
2  lib/shippinglogic/proxy.rb
@@ -1,7 +1,7 @@
module Shippinglogic
class Proxy
alias_method :real_class, :class
- instance_methods.each { |m| undef_method m unless m =~ /^(__|real_class$|send$|object_id$)/ }
+ instance_methods.each { |m| undef_method m unless m =~ /^(__|real_class$|send$|object_id|respond_to\?$)/ }
attr_accessor :target
View
7 spec/fedex/responses/ship_with_no_signature.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<v6:ProcessShipmentReply xmlns:v9="http://fedex.com/ws/ship/v9" xmlns:v6="http://fedex.com/ws/ship/v6"><v6:HighestSeverity>SUCCESS</v6:HighestSeverity><v6:Notifications><v6:Severity>SUCCESS</v6:Severity><v6:Source>ship</v6:Source><v6:Code>0000</v6:Code><v6:Message>Success</v6:Message><v6:LocalizedMessage>Success</v6:LocalizedMessage></v6:Notifications><v6:Version>
+ <v6:ServiceId>ship</v6:ServiceId>
+ <v6:Major>6</v6:Major>
+ <v6:Intermediate>0</v6:Intermediate>
+ <v6:Minor>0</v6:Minor>
+ </v6:Version><v6:CompletedShipmentDetail><v6:UsDomestic>true</v6:UsDomestic><v6:CarrierCode>FDXE</v6:CarrierCode><v6:ServiceTypeDescription>** 2DAY **</v6:ServiceTypeDescription><v6:PackagingDescription>YOUR_PACKAGING</v6:PackagingDescription><v6:RoutingDetail><v6:UrsaPrefixCode>SR</v6:UrsaPrefixCode><v6:UrsaSuffixCode>RBDA </v6:UrsaSuffixCode><v6:OriginLocationId>FIDA </v6:OriginLocationId><v6:OriginServiceArea>A1</v6:OriginServiceArea><v6:DestinationLocationId>RBDA </v6:DestinationLocationId><v6:DestinationServiceArea>A1</v6:DestinationServiceArea><v6:DestinationLocationStateOrProvinceCode>TX</v6:DestinationLocationStateOrProvinceCode><v6:DeliveryDate>2010-08-24</v6:DeliveryDate><v6:DeliveryDay>TUE</v6:DeliveryDay><v6:CommitDate>2010-08-24</v6:CommitDate><v6:CommitDay>TUE</v6:CommitDay><v6:AstraPlannedServiceLevel>TUE - 24 AUG A1</v6:AstraPlannedServiceLevel><v6:AstraDescription>** 2DAY **</v6:AstraDescription><v6:PostalCode>75201</v6:PostalCode><v6:StateOrProvinceCode>TX</v6:StateOrProvinceCode><v6:CountryCode>US</v6:CountryCode><v6:AirportId>DFW</v6:AirportId></v6:RoutingDetail><v6:ShipmentRating><v6:ActualRateType>PAYOR_ACCOUNT</v6:ActualRateType><v6:ShipmentRateDetails><v6:RateType>PAYOR_ACCOUNT</v6:RateType><v6:RateScale>6068</v6:RateScale><v6:RateZone>6</v6:RateZone><v6:PricingCode>PACKAGE</v6:PricingCode><v6:DimDivisor>194</v6:DimDivisor><v6:FuelSurchargePercent>8.0</v6:FuelSurchargePercent><v6:TotalBillingWeight><v6:Units>LB</v6:Units><v6:Value>2.0</v6:Value></v6:TotalBillingWeight><v6:TotalBaseCharge><v6:Currency>USD</v6:Currency><v6:Amount>17.9</v6:Amount></v6:TotalBaseCharge><v6:TotalFreightDiscounts><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalFreightDiscounts><v6:TotalNetFreight><v6:Currency>USD</v6:Currency><v6:Amount>17.9</v6:Amount></v6:TotalNetFreight><v6:TotalSurcharges><v6:Currency>USD</v6:Currency><v6:Amount>17.63</v6:Amount></v6:TotalSurcharges><v6:TotalNetFedExCharge><v6:Currency>USD</v6:Currency><v6:Amount>35.53</v6:Amount></v6:TotalNetFedExCharge><v6:TotalTaxes><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalTaxes><v6:TotalNetCharge><v6:Currency>USD</v6:Currency><v6:Amount>35.53</v6:Amount></v6:TotalNetCharge><v6:TotalRebates><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalRebates><v6:Surcharges><v6:SurchargeType>SATURDAY_PICKUP</v6:SurchargeType><v6:Description>Saturday pickup</v6:Description><v6:Amount><v6:Currency>USD</v6:Currency><v6:Amount>15.0</v6:Amount></v6:Amount></v6:Surcharges><v6:Surcharges><v6:SurchargeType>FUEL</v6:SurchargeType><v6:Description>Fuel</v6:Description><v6:Amount><v6:Currency>USD</v6:Currency><v6:Amount>2.63</v6:Amount></v6:Amount></v6:Surcharges></v6:ShipmentRateDetails><v6:ShipmentRateDetails><v6:RateType>RATED_ACCOUNT</v6:RateType><v6:RateScale>6068</v6:RateScale><v6:RateZone>6</v6:RateZone><v6:PricingCode>PACKAGE</v6:PricingCode><v6:DimDivisor>194</v6:DimDivisor><v6:FuelSurchargePercent>8.0</v6:FuelSurchargePercent><v6:TotalBillingWeight><v6:Units>LB</v6:Units><v6:Value>2.0</v6:Value></v6:TotalBillingWeight><v6:TotalBaseCharge><v6:Currency>USD</v6:Currency><v6:Amount>17.9</v6:Amount></v6:TotalBaseCharge><v6:TotalFreightDiscounts><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalFreightDiscounts><v6:TotalNetFreight><v6:Currency>USD</v6:Currency><v6:Amount>17.9</v6:Amount></v6:TotalNetFreight><v6:TotalSurcharges><v6:Currency>USD</v6:Currency><v6:Amount>17.63</v6:Amount></v6:TotalSurcharges><v6:TotalNetFedExCharge><v6:Currency>USD</v6:Currency><v6:Amount>35.53</v6:Amount></v6:TotalNetFedExCharge><v6:TotalTaxes><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalTaxes><v6:TotalNetCharge><v6:Currency>USD</v6:Currency><v6:Amount>35.53</v6:Amount></v6:TotalNetCharge><v6:TotalRebates><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalRebates><v6:Surcharges><v6:SurchargeType>SATURDAY_PICKUP</v6:SurchargeType><v6:Description>Saturday pickup</v6:Description><v6:Amount><v6:Currency>USD</v6:Currency><v6:Amount>15.0</v6:Amount></v6:Amount></v6:Surcharges><v6:Surcharges><v6:SurchargeType>FUEL</v6:SurchargeType><v6:Description>Fuel</v6:Description><v6:Amount><v6:Currency>USD</v6:Currency><v6:Amount>2.63</v6:Amount></v6:Amount></v6:Surcharges></v6:ShipmentRateDetails></v6:ShipmentRating><v6:IneligibleForMoneyBackGuarantee>false</v6:IneligibleForMoneyBackGuarantee><v6:CompletedPackageDetails><v6:SequenceNumber>1</v6:SequenceNumber><v6:TrackingId><v6:FormId>0201</v6:FormId><v6:TrackingNumber>794803400406</v6:TrackingNumber></v6:TrackingId><v6:PackageRating><v6:ActualRateType>PAYOR_ACCOUNT</v6:ActualRateType><v6:PackageRateDetails><v6:RateType>PAYOR_ACCOUNT</v6:RateType><v6:RatedWeightMethod>ACTUAL</v6:RatedWeightMethod><v6:BillingWeight><v6:Units>LB</v6:Units><v6:Value>2.0</v6:Value></v6:BillingWeight><v6:BaseCharge><v6:Currency>USD</v6:Currency><v6:Amount>17.9</v6:Amount></v6:BaseCharge><v6:TotalFreightDiscounts><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalFreightDiscounts><v6:NetFreight><v6:Currency>USD</v6:Currency><v6:Amount>17.9</v6:Amount></v6:NetFreight><v6:TotalSurcharges><v6:Currency>USD</v6:Currency><v6:Amount>17.63</v6:Amount></v6:TotalSurcharges><v6:NetFedExCharge><v6:Currency>USD</v6:Currency><v6:Amount>35.53</v6:Amount></v6:NetFedExCharge><v6:TotalTaxes><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalTaxes><v6:NetCharge><v6:Currency>USD</v6:Currency><v6:Amount>35.53</v6:Amount></v6:NetCharge><v6:TotalRebates><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalRebates><v6:Surcharges><v6:SurchargeType>SATURDAY_PICKUP</v6:SurchargeType><v6:Description>Saturday pickup</v6:Description><v6:Amount><v6:Currency>USD</v6:Currency><v6:Amount>15.0</v6:Amount></v6:Amount></v6:Surcharges><v6:Surcharges><v6:SurchargeType>FUEL</v6:SurchargeType><v6:Description>Fuel</v6:Description><v6:Amount><v6:Currency>USD</v6:Currency><v6:Amount>2.63</v6:Amount></v6:Amount></v6:Surcharges></v6:PackageRateDetails><v6:PackageRateDetails><v6:RateType>RATED_ACCOUNT</v6:RateType><v6:RatedWeightMethod>ACTUAL</v6:RatedWeightMethod><v6:BillingWeight><v6:Units>LB</v6:Units><v6:Value>2.0</v6:Value></v6:BillingWeight><v6:BaseCharge><v6:Currency>USD</v6:Currency><v6:Amount>17.9</v6:Amount></v6:BaseCharge><v6:TotalFreightDiscounts><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalFreightDiscounts><v6:NetFreight><v6:Currency>USD</v6:Currency><v6:Amount>17.9</v6:Amount></v6:NetFreight><v6:TotalSurcharges><v6:Currency>USD</v6:Currency><v6:Amount>17.63</v6:Amount></v6:TotalSurcharges><v6:NetFedExCharge><v6:Currency>USD</v6:Currency><v6:Amount>35.53</v6:Amount></v6:NetFedExCharge><v6:TotalTaxes><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalTaxes><v6:NetCharge><v6:Currency>USD</v6:Currency><v6:Amount>35.53</v6:Amount></v6:NetCharge><v6:TotalRebates><v6:Currency>USD</v6:Currency><v6:Amount>0.0</v6:Amount></v6:TotalRebates><v6:Surcharges><v6:SurchargeType>SATURDAY_PICKUP</v6:SurchargeType><v6:Description>Saturday pickup</v6:Description><v6:Amount><v6:Currency>USD</v6:Currency><v6:Amount>15.0</v6:Amount></v6:Amount></v6:Surcharges><v6:Surcharges><v6:SurchargeType>FUEL</v6:SurchargeType><v6:Description>Fuel</v6:Description><v6:Amount><v6:Currency>USD</v6:Currency><v6:Amount>2.63</v6:Amount></v6:Amount></v6:Surcharges></v6:PackageRateDetails></v6:PackageRating><v6:Barcodes><v6:AstraBarcode>37520138310000037948034004062010</v6:AstraBarcode><v6:Common2DBarcode>Wyk+HjAxHTAyNzUyMDEdODQwHTAzHTAwMDAwMDAwMDAwMDAyMDEdRkRFHTUxMDA4NzA4OR0yMzMdHTEvMR0yLjBMQh1OHTE1MDAgTWFyaWxsYSBTdHJlZXQdRGFsbGFzHVRYHU5hbWUeMDYdMTBaRUQwMDUdMTFaRGFsbGFzIENpdHkgSGFsbB0xMloyMjIyMjIyMjIyHTMxWjM3NTIwMTM4MzEwMDAwMDMwMDAwMDAwMDAwMDAyMDEwHTMyWh0xNFoqKlRFU1QgTEFCRUwgLSBETyBOT1QgU0hJUCoqHTE1WjExODUwMTMyNB0yMFocIB0yNlo2ZDg2HB0eBA==</v6:Common2DBarcode></v6:Barcodes><v6:Label><v6:Type>OUTBOUND_LABEL</v6:Type><v6:CopiesToPrint>1</v6:CopiesToPrint><v6:Parts><v6:DocumentPartSequenceNumber>1</v6:DocumentPartSequenceNumber><v6:Image>JVBERi0xLjQKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMyAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL091dGxpbmVzCi9Db3VudCAwCj4+CmVuZG9iagozIDAgb2JqCjw8Ci9UeXBlIC9QYWdlcwovQ291bnQgMQovS2lkcyBbMTggMCBSXQo+PgplbmRvYmoKNCAwIG9iagpbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KZW5kb2JqCjUgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvTWFjUm9tYW5FbmNvZGluZwo+PgplbmRvYmoKNiAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTEKL0Jhc2VGb250IC9IZWx2ZXRpY2EtQm9sZAovRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjcgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhLU9ibGlxdWUKL0VuY29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iago4IDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovQmFzZUZvbnQgL0hlbHZldGljYS1Cb2xkT2JsaXF1ZQovRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjkgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvQ291cmllcgovRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjEwIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovQmFzZUZvbnQgL0NvdXJpZXItQm9sZAovRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjExIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovQmFzZUZvbnQgL0NvdXJpZXItT2JsaXF1ZQovRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjEyIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovQmFzZUZvbnQgL0NvdXJpZXItQm9sZE9ibGlxdWUKL0VuY29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iagoxMyAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTEKL0Jhc2VGb250IC9UaW1lcy1Sb21hbgovRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjE0IDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovQmFzZUZvbnQgL1RpbWVzLUJvbGQKL0VuY29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iagoxNSAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTEKL0Jhc2VGb250IC9UaW1lcy1JdGFsaWMKL0VuY29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9iagoxNiAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTEKL0Jhc2VGb250IC9UaW1lcy1Cb2xkSXRhbGljCi9FbmNvZGluZyAvTWFjUm9tYW5FbmNvZGluZwo+PgplbmRvYmoKMTcgMCBvYmogCjw8Ci9DcmVhdGlvbkRhdGUgKEQ6MjAwMykKL1Byb2R1Y2VyIChGZWRFeCBTZXJ2aWNlcykKL1RpdGxlIChGZWRFeCBTaGlwcGluZyBMYWJlbCkNL0NyZWF0b3IgKEZlZEV4IEN1c3RvbWVyIEF1dG9tYXRpb24pDS9BdXRob3IgKENMUyBWZXJzaW9uIDUxMjAxMzUpCj4+CmVuZG9iagoxOCAwIG9iago8PAovVHlwZSAvUGFnZQ0vUGFyZW50IDMgMCBSCi9SZXNvdXJjZXMgPDwgL1Byb2NTZXQgNCAwIFIgCiAvRm9udCA8PCAvRjEgNSAwIFIgCi9GMiA2IDAgUiAKL0YzIDcgMCBSIAovRjQgOCAwIFIgCi9GNSA5IDAgUiAKL0Y2IDEwIDAgUiAKL0Y3IDExIDAgUiAKL0Y4IDEyIDAgUiAKL0Y5IDEzIDAgUiAKL0YxMCAxNCAwIFIgCi9GMTEgMTUgMCBSIAovRjEyIDE2IDAgUiAKID4+Ci9YT2JqZWN0IDw8IC9GZWRFeEV4cHJlc3MgMjAgMCBSCi9FeHByZXNzRSAyMSAwIFIKL2JhcmNvZGUwIDIyIDAgUgovRW5nbGlzaE9ueXhGb2xkaW5nRW5nbGlzaC5wbmcgMjMgMCBSCj4+Cj4+Ci9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCi9UcmltQm94WzAgMCA2MTIgNzkyXQovQ29udGVudHMgMTkgMCBSCi9Sb3RhdGUgMD4+CmVuZG9iagoxOSAwIG9iago8PCAvTGVuZ3RoIDM3NTgKL0ZpbHRlciBbL0FTQ0lJODVEZWNvZGUgL0ZsYXRlRGVjb2RlXSAKPj4Kc3RyZWFtCkdhdD0vaGZCSmomcTheZnJXY0hiLSkmMktRPEokWzJrKVtdRXVgS2FWJyZjYG5fanJJKk9eZkUiaDs+SD4xLlpfKkRNMDVcJW9NLkR1KEZHCm4hN1ErYGtkczokSF8laTtEQD4kP3FwSV9kSUMiUls5aTJRSSg5ZjBcX3MtbWElZ1VJUmxLIjU4JydlcFBqM191K0pSLEJeNCRhK247V3EyCj0sWSxGXmEtOF9AbVJyNHJqT1JoR18sZUFvPVw4b0Y4VWU5ZzFWbFdobWtkVFIuJFlRPyhPODhqYD5OZHA/cTphKiVta05COD1Zbl5ATTBxCmNGTWheMGA6TVNzKWdRLXJqK1JkST9mX0YmLj1pNmJYaShwMFxmTDwzJnRANyxmN1NAJlBrKCs1RmJ1K2ZoJSdyKV8hQ0NaW1srQ0VyLCQyCjJjNVpTNyw+UTRoPWwpXjJfJXNbMTtAKyRyViZoUmlccHJKVTNmIXVEcE9nK05Qc2tMJXQ/STtVTHFyWCk6MDc/cE5rVWM8akxaXkFfX1M0CiJEYzdIOlRpIiJeSFhIbmYycTsyb2trdVBCJENpLlhxJEluazUhbTVfL280aC88QSM1VVFtOXNHa2M1JSl0LDBPZiJmSEJJYTQhPVJhaUA7CilKQSRgcDJMK2ZDN2RuXkdpPTVBM207WENycDkrSGVKR1E5SEAhIXVwc0pIIz5hX0xWVnRZdVVMTTk7WSNgYj0pYyw+NTQ3ZSJraSVVPU11Ci85bHIyP1FbJENGTSs4YFohYDdqWHJgaVZIJmlfbiQkZDIpWC1ga11tVHI2OEpHJWs2PiNvOG9KUkNaNmslcnRzXCJvQCMjV1hqcS49LSZiCllqIU5fbS84XCdjP2ckSzJOOU5gJkFtP3RYcGdnZU9eJ1pYZnQjLltVVkNnPEQqKC9yZVZca1hFbTAmRTZIWmJZQkFAT3IybV9tWVonanVDClUqc1tyIyIqLDxhS2VNUlgyb3N1RVc9PDtMJCtoZWlcc0dLcCNhWiZqJzxiaDxrJDdiWUlEMWtjVUZAQixuOm9KbSNjbl9DLmBPY0piYkNNCjZwaU5eUTRqPSRfQXF1SUxHRW1lQTU+LE1mJ3NnLEIyYHBnOS9fQG8+WmJMbWZdTygvNypAVl4ySSNAXURJSWlxRGlhb1xxZD5eO2ZCWGc+CjNwYVFWJDEpT0JFPiwhbERtKk5fXTRRJjFpVkVJOWwzQnQ/PFZfZFdFUSpCTlViMHA8NUkpajNCKUkjTkBeazhrKVs0ciJuIXFXWjc1YUVyClRpclJZXmgqanNbaV8nTC5JRExdSlxXOUctYE5SNEYzJzNOUm4mSVBqNXFpP2JoQCExaVY5NnBcXi50PURBPWVORnFsYy5jYFkkTVREQTUiCltpSCUiL3M9Q3BVaGpKPzlAdUlWcm5KSjhdTj81ZmdiQls5XS5yZz9lSCZgV0xQRlg8UihYR0tzMFhPT0s8JDF1LElKZTc1LTBETV9ZIXBpCktzNEEtOmBEUSo+ViUlYiFlPlFDYzsxaTM0bnNFb3EqVjlNYktJbD5NSWAlWWcoTlRnOk9hNXBbLD90YDsodCN1XllJYjctPWxdKEI6Q0JxCmFEZktTQzU3akgka09zIj5PPDNfWU9DVStaUnFWTzFON2IwakFwI1pVTCgsJzBdMUQtYy5qTkViX2IlNWcjOXAtUVkxNmcvOGRDPEVUN2hMCipvL3MtTmhVRl9naUVBUEg1KE45cXVhbVo+a0AxXCM5X29lbD8uMiJhZUsuZ25uYEZOKzR1V1swXiNjLS8/U0QibkdTIVluVWghPU9RW1RfCioybTMsKm40PWcsMUA1UicpQ2ZgLSdvdChVIjI8KjctbnNAZ3M2IkoyYjY9Vzo6aF5xWjwzWTpaT1xadCdVXyJUODB1bjtnVk1FMUxhZVhtCjxhdD81Zyw4RXFTYTFGQDUncm5pMVxGJCtSVjU3OktiTlZrUVVSYyM6P2A+SF9AVUtFJEQobysuJS4nVC5AJydoKEtDVm1STD5gKTlmIyYyCm5pVF5RPCRicW5nck4nIWw+XXVPXmZKVCRubCRuaDc4bzdHJzJgZ1ZUSkQrMFI6cUssPixiMVJbMD1gWXBqPHJTayh1LWhHIiIibFxgaG1pCjdISytOYG1QOGxdLWFcSjIvLCtsWFY9bmVRP28nRTojPEAuTVpccVw0KyEqJ01HazItay4hJGdyWzVjVDtrMC1acTBFZGsuM2crQDMiZi4jCjwpXExlUWc6MDVwaD5wLDFKblpeO21lQD9bXCZoUFZEcC4+MnJONTEzQShEWllxa3UzMiVkN19jSW5BLk5fKmpKSjZKdSQ+OD89NCE+Ly8wCjlLYy1GS0w6YDJyZTg2JlNgZ1ZKOm4mVjspRkFqUS5WNSpUUiNIP2FRQVZUTzwpJm9oalBhO2VSX2xHU1VYMzg0ckFOZSdpZHM0XVFBP0whClhdN3RdKkRUPV5jI1skTSo7V11QLXRlJ0ZXbWg3MGRNP0JTLTpGWnBKNkZHaideUGApI0RrKi5SRGRWNmUzcFBmQk1AKiliWUJ1byVvY0gzCm1LWTlJI1giMlAmLzA+TTtcUytUamEobDA3JDtaRF86MTtVZ29vVz1fYVlFImkhYEZUImA+YFJnJy8+L2tzW0AqTyZIXzIrXWRFXy0vby5HCk01RTZpOy9WRTsoRixlKicyPElNLCk7QiwnUzM0I1dKT08tZ2wjIWQhJTFMJ1c8Nm43ND5iQ0dZcCJmNGAoOTA0QzgwQFwncyQzNiImZkhSCmRicVZnJzRZYjtnIVVMMSVvY0wnay4kT1hLJzouYWVEbyVIMXV0WmAqazZHWyZQTUwiOmVTY0VAXClvbVNCal9LL3VmLitnQ3UyY1ssaG1VCilnVmNqQ2FgcUhhckxjZUQ9STQsJk9RVUkjJl00RldmUiVxSENcXi9CTC82OUFxNChYN0NJPkEvKkcuPytAamdXNF0iZD9EIVVyJSkoNmVGClFLX2RcalxbIW4vYmtLJy4hZy9vO20uUlhjOFJhUy9nWEE5KkRUOEdJM1IvZ29kT090QFYraEQ+MUZwNmRwMztfOjQ6KVhsPllISmInbG5DCiE+PXFEUHQyaDxIQ1MjWVJHLihKYiU5MlViRTo5VltFP1wnJTxuM1ZiOSotZE1Za1BiWWF0T2xFaXVlO0QkU3EsWGNmdW46ZWw7S1UlLylcCk5JXEc+aHIvJSEkKk5nTkQ0byk0V0JxSEojLCxwUy1BY0BCZSdhMnFja1s3LFlvImFULjg2SEpwOFE2Tz8yYU9gZDg7Kj1Wb01Ac29CLCFTCkQhRjg8U0MqNk87al9fZzFxcGQ/IWNiUz8+M2ZRZ2oudElWOmk8J2txL1FOZG44cFlPSEhIVkptMyUhUi0zNEI3KkRDKzkqODM1WTtyU2BmCkE9OjwhL0NaU0JDYkVDKjhWLEAsRj1RbWpWJiwuUmlqLlBJZSs+PmIkWz1gQ29EbXVsKnNHSStAOVQsaVBzIiFDPD1WQUJST0xxMlsnPV8oCjpTaGIsK2FfTW08J0s1S2diUmcoTlZIKU9gNypiMkhLLCU8Mlg6cCFyLnMuIThPT1JvV0F0N08hLHFKU1AhbWdZUGFZNl5mLFQkVTZpS1cqCmg7YFQ+JVUqY1ApOU5qRF1sYyJUTV1cZkwlYVdVRzMkaEA6SzlRSmA9JGBjRypENVIzMCInOUxuT1VwKD1AZDZrOV4tOUoySE9KYUBDUG9tClVOSjhdYGsmSy5KUm8wZWxFISkjJm5uLXIvUFR1a0Y8UDVZYjAyTC1GPyNpQkUtc0MsU1drbVxqOHA+cWFqTjYwNCk1T0QzaDApYlFzK1VEClMyLyY3ZDdkQS9JaChLWyZKcF1ERWZRPCJIQ1JgR2g7T2toMVBJOSMoMUxKcCM5W0lXT18rc0xkYz1IbmZwQFNzOSk2I00uOz9CQl5ObDdYClZEQ3BkTEc+KkkuNCgqZiQ8KTdTTjhwVFxmdFxJdUVqUT1SZVFFZTJRI2JRdFB0XVpDRj8xWFspa0s1XGciZXVPVlQxLW43Y1EqPkVmaF9GClU5IXJIVjs8Vy9cSDc/Rll0Lz9LbCNCbE5DPjgoXEFWPGU7SnUxNW1KXCUmbkgnU3I7QUFSZm8oSEw8TCtTSV1WOjw9Lz5BYWlyMidJJVs3CjRcaitfUyVFLmpdIytJbGQ3ZHQwKCo4XytyVzNeRS9tSDJnZ1ZdOExQSy5ZTyc1JGxDYiVpImtsLURJQURuZ1FIY3FJanRTYjolOVpSZTc1ClZfYl4/LFNoTEg/a2dKVExacm84MlJYazFfIU05Zi5rLEBKRShbNmxGJy5wcmFFXD9LZSk/TiEhWjU5ZiYhZW5dK2BNYXBkUUhJLjZbM01CCj8tXmtmaT0mSm5UKC42RlAyWDVdV0YpLjJrbVJeKi9NbmByUlpFVjlHOy8tIWdjMT1KNyUnVElnKyZXL0JvLjVsQCxNZmdQSi5pMj43XTFzClhhSlssU2ZpWTlaXWBCYktrVj5aSVAhIjdmNWEuQWZRcnAmMG4rTjcwbV5uNDxhdDwkYjBdWjwqYDQvYzAyIkFwNFxWaDI1RTk1LmApdGtQCiZzcSkrWnBfSHEzUTEtb01jKC9TQDYzRzU9aDNAW09hQjYqMicjQiQoblIhQ0hWRDZWWkpIbiElXTxRLHBcJy1RZSk/UEooODBiWCFoN2wuClhPJ1xmaTA5WjxqMHJYMTQ5ZCZZL1o9PGRvRzBiJEVINW1TU0Fgck9AMXBhaiROb01nMXVKLClxUnJbI1szdEVJUkgvcFVDQzM/JiMmPElzCiFzYWoxNyhJY0VsZWEna0RfRm88RzRXLEgzY1gkbDhsXVFfPVRcJXUyQkxSMUAqcU1hZ2xTOj5sZF1XOmkiIU8rbkNZSDZHNEcjIWZ1SD08CjAidV5eRzU7LjBtLEhpR0FiXjY3WHFDW1U1Zy9vQ34+CmVuZHN0cmVhbQplbmRvYmoKMjAgMCBvYmoKPDwgL1R5cGUgL1hPYmplY3QKL1N1YnR5cGUgL0ltYWdlCi9XaWR0aCAxMTgKL0hlaWdodCA1MQovQ29sb3JTcGFjZSAvRGV2aWNlUkdCCi9CaXRzUGVyQ29tcG9uZW50IDgKL0xlbmd0aCA3NDYKL0ZpbHRlciBbL0FTQ0lJODVEZWNvZGUgL0ZsYXRlRGVjb2RlXQo+PnN0cmVhbQpHYiIvZ2ZwOU11JHEnampUNFpyK0VqLS9IIW1PUi0vXUcwWlJsJUlZayMiPms9MjdsX081dGU/X0RgYSRqRjlOYGhqYlxuKTtjWE46SVROOwpNWFlOPjcvMVdAWG5mYC4sLnEsXF9XTVNBKCNkdEAsVE9RYkMyWF1VOWN1cVgpbStkRzkmREBkK1cqO15BLnJCM2ZvW1A2RSVsR1QjaTk/LwpwW2VXT0FDbisicWpwWmZZRkA2Lm8vcDNCblwzJi5CR3IkZjZIMDBVaF00NSJaNW4sTFZKOEdKS3BmalJEVkAkL2A5UVFwUiJZYlxDVS43UApyNF5iQGVkNE9QI1ZmOUoxNm83MjAhIWcwZlgtKypcV0xIck9rQ1EjI05gMVonakN1ZEsmM2VgKSczLUZVNkw+UzsyZ0Z0YT5CO2kzPE5vUwpoNWlSO18tT2hiTy9zPjFSZ2hBQ1IsI09mcShRNlhVT3Q4T1hHJ0hxRHMsZCk7OXIjPGxdW0A9KmB1T15LMlsnWytJOWxXM0o9U1hfWj9OXwoiX2EjU0lKSmxIUGZeYEpiQ2c5QTBQQlhFKmRxJy4vcSpQSj1QVzprNkF1J1ZAPnJeMlFNMWciLjBcSi4kLlpnSTR0OFYtWj1jRD5LOFU3cgpXVnJXbytVPylPcTlnUSFnImgsVjdlaC4rTWIvWGhjTDFERUdibj0mIzhNTTVQdDI/YCRaYGcoY1FcbVssLnEtdC8pcEJgbzhOZCJQQUs1Uwo0Uz8sMmkzMGEvcnRIPGtKMFJZR0guaEJUN0AkKGdBRCt0Pl5FSkcmU3AjWlJdcCo+IWcja2BxUEZJNjc7cktPcjNxb1FUUVlXQjAjLCZQdQowU0IiLGFRY1pbS1U6OUJsTjUxZkFyZnQraHRRKEJPNllfU15SX2xfKE1OTVptMkJgZGRPZy4mNC9mVWNHSThePDs2Iz1iJEA3MiZgRjY3QApAR0BmI0lAXkI8aT84LFV+PgplbmRzdHJlYW0KZW5kb2JqCjIxIDAgb2JqCjw8IC9UeXBlIC9YT2JqZWN0Ci9TdWJ0eXBlIC9JbWFnZQovV2lkdGggNTQKL0hlaWdodCA1NAovQ29sb3JTcGFjZSAvRGV2aWNlUkdCCi9CaXRzUGVyQ29tcG9uZW50IDgKL0xlbmd0aCAxMDgKL0ZpbHRlciBbL0FTQ0lJODVEZWNvZGUgL0ZsYXRlRGVjb2RlXQo+PnN0cmVhbQpHYiIwS0pJTVNqJHEzSlowP2pWRilBS2BrXnFbN1E4NWBWS1dVR1E0WUYqJCgrWCg5W1lkWUAqT0g+Um4/IiJqQjZHYSthSz1PNyNLUzUjMwpxaDNvNiNtbXFrIzlsOFpQYmRDdTgjbHJofj4KZW5kc3RyZWFtCmVuZG9iagoyMiAwIG9iago8PCAvVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL1dpZHRoIDI3NwovSGVpZ2h0IDcwCi9Db2xvclNwYWNlIC9EZXZpY2VSR0IKL0JpdHNQZXJDb21wb25lbnQgOAovTGVuZ3RoIDUwNDYKL0ZpbHRlciBbL0FTQ0lJODVEZWNvZGUgL0ZsYXRlRGVjb2RlXQo+PnN0cmVhbQpHYiIvYWJEbU41JmQ4JTE1S3U+IjBJWEsiSFI7c0tKL3RqKCU5P01hNTpsWzByXV02JnFnPiUpbzZuQCFwXEAjUUJAIVZAcypUXj0wbG0zZwo0VCtzJm8+Z0dRS0MnPSVyLVE6W1FTJ2hwZSNMZWllOFRbT0JwWTpyWW45dVJfPW1oXktwNWNYWFk8QGU+WF9iRUNVM1dzOTopY3IsY2woWQpQbzhST2xkYS5kZjBTc1BRYVoiQVtPcGVeMi1jX0JAcGNpN0NkYU9tWV5POHArZjFLRC51W0BHPHRYJEBSVlkuYGRVYXBfJDEkQW9BVlUhLQpIRjonR0ZjY09CVi88Yz5EOUZ0MCVAPSE/ZlttODspYz5dNEN1OS81OD8hb2okRFM8VTxKOiVTLTxsUEZGUC4hcF9FLigpajNNZTtJSEslXwo5VlAoJ0lnI1pAJWA4Z29PbjJUSi8qKCEuYipsJjoxaV9wJT9sWCtAN3NKKGNiWCRsLFshbnNdcjQ+JCo/SDMiWVhUOFZ0SVZqWFNMcFt1KQo9J0BHT1RBPHJONXJgbyEkQGRjQmxWZ3JtQnBVMExdYmxeZ1huckNNYiprPigwVFhjcVs/YztkVm8kWFArMEBFOStOXmY9bi11WTJLKF9mcApWWHEsVSRwUCJmYzwmdS5PRVorJkNHdFMuYDNnRDZFUC1FOWlFOTs+IzddaENxT3VMMm4qWC8iKT82Sj4ickpXTWRMSTVRRzAhSF85Y1xAVwpBJGNYQTQoOV9eUip0am8rNiw8MkNBTCJ0MCVcVV9bREBzZHJDYjVsRVhVYmNDNnUmcUgjQlFxISM3TVdDa3FxYWVeUkgvMitHM25eRV4xTQpOJSlIZG8uYl0oWGVya15qYDQoVD44bXVSaFM0XyswIjo+UFVOWTt0UmNmRiojI0xGLGFgYmEkPiJwI1s8YiZLRXImXEA8YWRDTlI0PE5UQgplblklQz5xWGFZXEAnLzdqbyVpbmopUE9iM2JrImBUUiM3SUslXyMtLVtyK1whbldRSmYzWWoqJ3QtWidacW9fUDVXIyZKZjVaUFUhQjtcZgpxJTZmcm9vVm5KWU1HOFU3W0o/WjM2SjZmS1wlSmFhK0Q/JCUzczNAOWgyXHNJRldMP2ZIUD1gNSlqVWJkPEppImB1NCJEaTQuImw3cWYkVgo3a1VwWEchPzBNPy9qaSQuJyFbZT9CXzwuJFFeNkVOJyZJSCpUN2UrPFNMQVpNbzgzYTFzUUNxaihXS1JCOidXZ2oiY2Y/VHNcMktcWzs0ZQpyPjk/bU0yLV9ZWD0/WDVRREUnWUM/Y1ArPXRsZVtQTlxQcTM1ZGBlRl8lJmEwRjZJRFd1PTRpVlNEMF5WY0ZcNzdYdWhubGA5OkFLSXRcLgpHUmY3bTVxPT9ULUImQU5BSF5jXFJtLTtKXyZLZmk2bGZEWDEoNDRDbV0rOSZdQlNkb3IyRVtjV1kobXFtSjpTbzRDSlY/JSVbUW9CJF5sVwpPcE5BTkUjSEs4ck1JbiZEPUU6XiFgO0o9TSUjJFBOT3U0XGRyLCJEL3E3VyRPX1AjNDtTMFozNSM5ZnQqSjxNVFcjOGNtIypYIzc0clw/UAphKGpuOSJTQ0RdZj1GQkBUbD1AZ2UvPkEtMCQ8SSIjPisyV05GQmg1R1RNdF1kR1YhJk5MU2NKTz5tUElXbUhXXlpIUlVUcCtlVjAhbFtZZQpvaGtqO0Q2dUQoJik/WmJYP1ohL2VkV0YsRmgqLE1GZjw7NkBrVHMqODtfKk1lPl5HXm1nciRbIj1tSmM3N0xHQjRFPmNkUzV0NCNVUkhLWAohUExERipXSEBecGZ1QWxGW2tcT01tQnFMNic9OS5BIWpNO1NqdCVwMWpKOmJqLy4jKyxZaXJWLl5VQm9PPWYqZChTazBzX1hYTSZaNic2YAova29Uby5cYFVwaWpGZHU0U1EtZVU9PFJxajpGTmkmUSxLLjtxcTxfV2RPLkc6SyhxUFtgRkgkREcmVU0/SS42Y14sNms0cVorbTtNLy02XwoxdDUiLWYhMHFsP0ZFTGspQFZaSGllSl4lJE1BLktxdThzSU8nVWFaJDgnUj5cSW09Yy5HTlxFcTphVzVCI0FhNVRYY24hL1pYXF5nNSs/QQpbZGAocUcpOStMaUs2TSo6ZGReRj87NTs6NUgrLlg5MD5xQmprMWlbWFAwWWBqcEBUNS1uXTEuO01zL0RPPmcxOCZRPypiVS9kdUhHVEhHcgo/RUtsRUcnPzgiKDwsI04nQT4xLmhBSVE1JU84Nkk4bzk5S09fYzc0RVF1RHRSc0BaLUhzUmlecXEkVF48TVU0KltGKF5LVVlwQTtvYyU1PgpUUWJSJzY3KkplZ0U3MGAwcHBmOCxHUF9uWiduOiVLcFJwPCw9Y2F1X3Rvako5PDNHSCpVaW1XTEdyNS8mUT8qYlUvZHVIR1RIR3I/RUtsRQpHJz84Iig8LCNOJ0E+MS5oQUlRNSVPODZJOG85OUtPX2M4UlpMSFFyQllkZDBWLjd1SlNIZFBmNl1gPUQkaUJBN1g/VjRvMycuajREWyRwcwo+RHQwUUssJ2lfZiktcl1FLCI6JztTdUpfO1hnJlBZcGJBbmosSVw1MkI/QVpsPGddTjNPXUNubWBNVXFKMl1HTCdmQm42J2NnTTsvZks/VwpSXkxgRS4tYmJjaUxhI2M8Nz1iN1FyQzc8TEknc1tCMC8hbEFfJCdRWSksMEokaUJBN1g/VjRvMycuajREWyRwcz5EdDBRSywnaV9mKS1yXQpFLCI6JztTdUpfO1FxL18iMUxnYE1AL2EoZU9XL0JRLFpBNjApQ2hdNTVORyJONVMzY2k9WHByU2RbcFExcmVkXGopYlVoL1lbamFZYSZkOQooNFpBXHIhWF1ObCJfUWwnNSE3V3FOV0htcVRBX3BgKCdkYyZgLyMvJHBqOzxgcCdQYUY6JSVcVTRWZDpRIj1iSUosZkJDJG04XjtDRiU6QApBclxNP1BwZWltYjVANDo3ZlZFWmhMRCsqNjEtU0xsKVdpZCQwPGFaLEgvOzE5RF4qYWY/S2hNMlg5PUoxWSNkPCJqb2JLQ1JBLWdHOzE6IQotTUsqXGJMJldXNHFDbDA3Uy0jY0BwOy9uKHFBZy86ZWRHI05GN0VNXS0vNjZwYzkyLC9qJU0rR3InJTFHLFIjMz5KbWZUXHIuMCIwdEQ1TQo+YEtSLG45Tls/MitmQDgodStuNF9TQW08Sm5qIi1EP00xMGdDPFpxYG4uSSRHMWkhcWNDNjlLW21QO2NmR15WZWNzO1QkTlFIVSxrJlJoKgpKQnUtYVkjLygvYG44a2cnKmBATidORU8uVTRWLHA+N0JYOV88OjhWSyo6MykmTEsxIzA+LzlyQHFGSSgjTSVmT1EvKkNMVDYyI3FGTGBYKQpSXlVBXUxKZUpRJ2xVJ3BTcS86WEcqcWZCUi1MVEhXSkRIKypnME9YOTd0JEJWRSUlXi5kTEQjVyMhXlhtLCRbdVhOUyxLYjhtazxackwtagpQWXFkaEdZPkk5JHEpOEVfaTFlOjwnTjY3N0ZbXm9PS0AvQik/YydXYm9xKys9bmZkIVs8UC9QcEJLZW4/LGRtam1ZSiFCWGc3TWtQWDknJgo+SDQ2LCs6PTcrVFBmWFpTbVAnKiM/S1AnNVZwcVAuXmElNTc5W01jWChsSmxxaWRuT24qJjNuXD9YTGRsWUg2U1YxamtDUWlAcCNZQHAmKwo+dFpyPVozP0t0NTtANj5fbl5pZUw2QSJqKkw1PjlPITpdNlJvUWwpTnI7T0pkPEJcSEhlZDdmWG5CKyFgbVIxQ1tFRiUucmA6cUpnOSlfPgo5QStuaEs6ZU9BblI6P0BGQC9Wb29vO1ozUlJgS0BZZycxTz5LP2A9V1RaRlRab3I8blsrPiotSTpIdDdVWT1mbyM2LTFsOk1uXkhOMjozPApHKCxYQ20zcWE/VTw8RDAtWCdaVDxMYWUnRD1ILj0lRU1JNjI8LzVeTlpwLidEV2w9PzllP3UlLExZRyxTbzVOLkdfQTBgIixsOz1PXHFnSwopTSZkISQqa1ptYEAhZ3JiJWUnPGIrKjQhXllXWmlTZE1KOC1pOCQjSCVDLSthKWMhMU9VckNtcDBSQj1lJ1BvVWo9cUtSMWxtTlEkOCdkNgpiUShBISJrYjpmbCVyR0FDREJxNTwjYmMuOic6JmQ6c0N1UVlHOS9IWmw7JnQ7Y0FVLWFHQDR0VT9BIyMlTlpkU184KWRqPCtKc0FUTCkuUQpPLVF0W1MyQCE6MC9QV3MoPCJec2BHUXBVIWUzJTMyaWNrNllBSkl0QmFiNEw2Nj1mKEs/RUksSERyPixbWHBRQC9qblQvQ2c2aylYYWtVcAo9ZiVdN09eJideMmE9biNpJVM3RTtpO0YnTkdvOidkO1tvJEwndGMpaCwwdCYqIldDJEE7XmpHWC5TVVBWRyxWTGxFJVEqS3BUJl1vaj4tLwpoR0lqTEhCKEM2J24ibTlrWCdwPj9wUkk8PjNuL2EvYXU5SkZsTztrcjdaPGFPaUQ/KitRU1k6MThxOidVNmg8KEA0UzpfbDdzJltgY2QkRwptbG88RSUnNDNUIVonUnAkN0VGJzNJVVJjQS1OJydiLS9ITzUncjEhTHIjREIsSjZZQTA4cCRUPEZBKzUjZGs3XExvO0gqbjRdY1kwLl5cTQpCaXBUbilmNE5mS2xFYlpTQzpQSDhTL04xViM4QllqS2tib01ccDkwNS9PQCJzMiU7XDxzOT9iTEpTcitMNTYxVyRkWEpVb3RqVDJTOydKUwpbKSIpbD5tTWdoYCZXOD1RIjEoIjdFVmdIOUttZlxdODQ6aGw2RXI2b2UyNyxGJmNVNkVYOSZiQ2wjJUpZXjsiUDFobldtbmZAUEwsSStaTwpgKkc7NklOJTdaVFMlIXEmTHQsVT8zamRNQjc8aWdTbXM4JEgya0ddb2huVicuR3A5JjBHN1RKOlleKCtpTVNFVSRUYjQlKjIsLWdsJVFvQQpFVFU9K2p1SztKU2JLPUc6Yk4iJlFMWidsJFI7cGFwciRHcyZVa1lZXVYnbWxfJUEwJ1JVLTgpJ1BEa3A/bGgxQm9dWGlOPks9IjUoXGhkZQpHMj5Jbkg6aixjPXM3JnQ2WihPdElVa3JJcmpdRnFmb11FZTJvczRCKCJyaUI9LzkjTihbL2lGLEglRFJjcGxOTkYwQGlXYSkoJyRjNVddSgo6UG1JaS5tc2JWVyhnTEFPNmdRJis4OXE1NCM2LWojKzdLWjZHKCYwTUd1K3Eha2p0RWpPQC08ZzUrSSdtTTJcaFF1KmthR2xvcWYuNTtgVApLa1IuZ1s7IWhbT1dAMGxqNSlEIzdxVl9VKz5db3JCR1hjWE9fUCYrVEdRKDtTPTheSWcuZkNRMzU0cy02YzsmKTlMVC42Qy9Va0xEVmxlaAoxZEIuMzdjTFlrXD8/ZD1IUiNRNzc3P00pVilnMiU4MloqRydGU0stX0swNlFITmtHM2lEK1wuVFhJW3IqREFtKy11KVlVYV9vdV9kUE8yMgpkbWk/JGBPTiloUlg2OVpiWEZxZGsrdCpqOUxxJHBHU0NOc0xWZStDNV5OXFNiMkgqQSVBOi4rVz8iWiQidDQ0YVVyZE4zLUlPXzhiMHJpPgpZZjQsVSk0R21zV20hbiJtLGstKi9QSlxtS200Oj5BVlwtREE0JTtPZGRWZl9SZ3R1MDVbMUhgWllrRDtOLDBabytMZCRZLSwtQithIzJCaQpnJSRPR2hOLVA0K0BNRzhLQ1Jab2hvSWE+WEtQNFoxJyEnTVhxa2IyITZKQk1XUWwhSC9RZWZPW208JkVbTGRBPT5KZmI/P1dFPE1SVklxIwpIJ0IwN2EpO0N1LCJkcDRHXHRyS2o7VVxBZi1HR1UhKDE5dSRhZ3EoaksuJDZCKlpkIS9DTFdTKzw7XDJMYzxDLGlIQyddV2xdNlQyK1kvPAo4cldOKVtnISpNVjhsdVYyWDM2bE4/bWgqJyJTTCUranBLSDI+J0BDb1NzaD0nOiVDP2VPPEAhTCNFWygwQjpNPEdMUCwoQS9nVUlrQU9yTAozaiUtK1lkSmgsVTJQRC9QN1o2ZiorOjpWQlhLMjgiPjtZKjZzXUdGKUNadHRoM1pZXDs8V19JI2kvU0s7KU5SSGVpST1cTztSLyFBZipTMgpnQDtEVEhbX10tSGUiO2tlQkFuQC4/OClMLUlOI00yPidAQ29Tc2g9LSdkO1FlTzxAIUt0UmNKPTZyZEFHTFAsKEEvZ1VJa0FPckwzaiUtKwpZZEpoLFUyUEQvUDdaNmYqKzo6VkJYSzBCIlBKbzE7Oj86amI6M042JnJzXEAoXE1OZG0qYGBVZkpoRzRfXFFqJ0AibGlrOWZGbnBySU89Wwo4OipNOmtAKkVLWjpDbChwRlMtJyw/PSYpZGhaSDpgbixDNGtfPmA3SVs+M0RGdEopbEk9blhXQ2dkTVE8bkpEQUZAMFFrKzM8O3RbKz9PTQoqXUQ6c0heKmY3aF1iRUE7UlBwTEQpJko4SHU0WHJEP3QiOEc/TXQoZj43ZEYycVRVdCgxcU1uTCE7blgyYC1qIUphQ1dQSFRmNy9ASDc5awo4I1xFQG4rMXRBY09aV0khUDZDN15dfj4KZW5kc3RyZWFtCmVuZG9iagoyMyAwIG9iago8PCAvVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL1dpZHRoIDEwMjYKL0hlaWdodCAxNjUKL0NvbG9yU3BhY2UgL0RldmljZVJHQgovQml0c1BlckNvbXBvbmVudCA4Ci9MZW5ndGggOTMzNgovRmlsdGVyIFsvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGVdCj4+c3RyZWFtCkdiIi9sZD88UT8lUmczb0olQE9JLWFwbS0rQSU2alowUnA4KWNbKTZNJ1VoMGUkbk4zITw8KiJ6ISEhIkw/Zl5bKkxuVDxuZU4iR21QMVEtCkIxRTtaajdZdGg1WGhrSE5RUGZjJyEhJTZIWF0qI0JOPmlUOkFoTUxvJ1NUSGN6Q2t0N1lbKF1pUVZnciU4MVBQbDAhISlLaV46VjQlPklgCiEuXnVsVnUoTSY4IXohM0RyPCRNXWdMZGk+IV4kIW0vX1NDNypmRk0pOSo8Z1RUIz0oZEMpJDFmWEQ8PmVzR21lVWpZITw8KiJKPSJbO29fCnFGXkYnPyNTVFlAckI+IyNHQjNpXWRePi4uXUdcaDVSJWRwWyNfSWcjZlAhLllrQVpucT9oRy4zXjxYX2MwYzlcLG4tJUU3Q29TZnBdKWhFCi8ub1NPb0FfenBfIS5xMiNPYm5fXm0wS29DLUZaPkhRZldJK2tEKWJpam86ekowM2FSYGJBRCVYa0lyQlFub11QYC1uZ1JXcUg3XDdDST5wCmRiRz9SV3Q+PTMhISdacGw1JWUmOzdGY00xTCRQVzx0XCQwZ2hRY2c4Uy0+PyY1SzdLOzo/J1YhISEiSkphLEdHZ2VrUSldMGlcLFVIQDRcCmpyKFgzcy8+LEBGWE1qcF5ySmUtK1RNS0IhLWc2L1ZaOmYwSCg8Z1pFWk8+P0IjaC5LW0FxIjc8USs4Q2BZTix0RWk7Ry0hISEjZzUkR1NSCmo3VltZWkZdNWsybilmKW4+PGNTPiRaXzxtJkZnYip0Z1tTVTIvOyVmR2AxRiE8PCoiaTA/OyE6VS1gMT0xJVI2TG91JDZtaFBHVDUpMFEjCkQvMEc9Oy1LUk9oZDtVZWtUajtoITw8KiIhMTtwXUhkNS07Ijk4RSUhLWVoaURRb1xILjAnPkohISVPJylmRG5bQz46Qkp6aSckRzthNiFYCi16enp6enp6enp6W2ttWjcwdWA1Lz9hK2hKUUslYCtBRnM0NjBWXl5dX1tAcG47NnVYXmVYMEBrPGUkQ2JDJytvZzA5MjNfZzhGXGgsPUkhCktXVC5QYXFtYTY/IThxI1hpJGdwSFMrSkFIRT0tcTdSay8oYCknO1RTRCZzakBMcmdCO1FCOmlQKldZKyI3ZlNVUFwiM1pgVU1wUzhFIWZeCmgtOEljVCFub2InajpJZ18hIShsdV5GKEQsSjxWSVAhXjwrVTxqSVJAJiNYcTlOdD07U1ZaNl5JPTQ1bj5DRl9PbkljVEFgOz5mSUVtcUhACl1WZDtcST5qTTU4PlpHX242cmUpSDsoXnMybzlOMTdba2NzJSc+Sjs0ZTdtNVxIIU1mPGxWPm4jVTRzKTFxMDImb3MrUD9tNzdYR15nMCRrCmZsRDJkSz9DJzRtUj9qV3JSb09GR1JvXS1LJl9GRTNeIkBqREZdJFtNW1M0OVtLa0FeVWVLSE5tTjooM2ghOHNhbEg2MkEnOmojUCFTWUcvCjElc2RdcW9WcSFub21ePGFlYSRLWSwuK1EvR28sZTc+LUpsXmBfI0tzZGpoOV0vJGRRXjQ2NTtOU0RJWSZvOV8rUjtKOCxDQ0RpQmJKcWdECk9kJlNyOWNtKy1zJUB0S1g5cF4scT0rYU9iYTZudCwtMzQqcU5NNU8vbz4zQGxKIzUvQTM5NCIzI2VbbWAsK1soOGtOVSsxYjQpPmBGM2JECl1HT19FRVJTdC1LZ20rO2RiWkdcMlY0PTtEcGtHOEstOEZeXltIVUQkYXBuT10tTmpHLSM/Y0heJkBRZVIhX1MrTjonJTVVSjIiPihMKSlQClQmXzU5MVVibnBhRFY9P0FmLWNjUz8zT2NJOk0vJS1OWiooKEEzSUYoWjMsWnAjbHQmJDYmJEc+cm5GbVguK1sta2lONHN1aktsSU9sQGJCCnI+MV5aUm9ELVgpUTd1WmViQGRuZVYyKTVyRilSOSFNU0EzZiVANDpFMSxoa2xQK1ElYUA8YmpjXi1lYDYrPiMkV1NSUV5oUGQ3W3M7Zy4qCmUjXE9iTWkhMS1HMFRKP0licjo3Sig0T01ONFphO1lZOT8sUGJrXzBLLTswYDBcYSkmYUAwa0B1NzRTal4qWWc0LVNMMC5ublxiMTdhNSNiCiVcIUY4UyxXIUlraT0wa1tvO0xDMk9DKVwnRCxiXTptS2RHPCE4biliRzckPDhrN2tdXD9yWS4pNEFHb0UxQSZyK0xMMytIUWpQNGlVMTw8CjlkRzE3LUQ1NEJzIlRTTlJBYjxmQFNhVUF0WUx1XjNEWHRDUTMhR1tFIWxETWZaVmMhdHMoMFxQS2A5Vl5SYUxJXWh1PUJFVERaMGkhXnBXCjVLNF8qIiU4Q2BjQSRUJC4hRzRYdSEuTCRROicjWzBta0YrV1M/cWklK0kpMnFObCVycF5iMEVBTDpPb0AuTGtTNFZNQT4qZE5XZmBiXSRcCm88byonSy1SKl40bVNTNU1JM3VuNEUxRi4uQWtXWmFjVDpLVVUhbjZdWVBNJXBlJ1FJcUxbTDFBLTM0KnFOTTE0R0dKWFlAVGYobmEwR1UkCj8+TWNzOio/IiI2S1xCQVFiXGJKRDxcMSVtLS5kdVZbO21pW0hmO1cuWEM/JFZCJXRxTV0icVFDbjVKTCRjMSluaEFOJjpXXjlhY0BCI2kkCiliYGtKIzRqRnJKTC8tY3NdcklERFUzQzAxLC0tOj1LVURdPyEhISMuT1MsS2JucjguQm1YZCNiJFNtcGhIcDRNOCEhISJATS89KnRyR3QxCnUhRiVqJUVvQF00ISEhIThPRShdPEdoNnM2LUFRRzwkU21uVVZaNlxzITRbUktMLWJfO3AxYzVaSE8nN0Q8UU5BaztSL28jenp6enp6enp6CiEhI2Q0SVltJmsiMzVBJEJbPlQxNTRfRHVAdHFJM2Y+ImVbJnBHRUYxUy5oIl49VCItOyNnUnJFIXRXUzpoZG5HR0wnMzwkKWA8TVlyOkxUClZpWiQuemNyQElgMnVfMmBWaCJhKSdYLydCITw8KiJFIi88PScmYVAvMWAhIT5tXjE1PyM2NGAoUyEvKChXO2IqRWprJnJAWitXMG9xK2JpCitjTnFoclVpOkEmKUVPbDJFRWRscTE8YGFmOjM2XGY8SztSTGdKRUk+bnJMNEg1L2lCXDpCIyMsbjVqKkgxWVRyWF0qLjZnZ25Yck4hNUw4CkdEW0YjKD41SyoqPW5pW2VgPyVUNGxtYiRwRzo5VltAQlM+WTA+YlxrLFElZD1sKGtua0A4WUYtUT8yPHJYYGVfImliTVVcVE9XKyMhISEjCjdsZ1puOUlsMm5PbDUlQCI1M2ZmSGRzIzdeXkpXdGY6YSNDRiVBLXApPic2RFwyPS4rcitmYy5TISEpTStMOi4sLzE4ZlohJEhxYS4yaCJkCixTLHVrcTtHSThTMWVuJk8hISc2VGQ2NTpSVmdzcjdfQkhhbmNSZyM7VmdzdERGNXBtW2E3NWUtVVRScSYlVUU9XTByMlI9VUpzQ0ctI1EvCm5DJ0ZZPCEtZyNGJT1nP1YyRjw8W0tMNDRmX0JIYSFUYkRXQEA2aW1NRWs7N1ozWClsUUZDVDA3JDViNzRDSTFZQSEhISNXWGkwbzhTLSJBCkQkVmdeTzZOTj0+IWtPKjIzWCw6Uj1xYGshISEhIWFNc3Q/Oi5BcV5sNG5lLm0+YC1EUipPdC1aaz5UMUVLOWExaistZT4sWCVWNipQI1ZiCmYhISU2XTFbazpGWGc+XSRJQGY9LUclXDgja21jOVlnbj5tcldBQVRRMXBhI05MVFZzSUUhWG5fOVdRUylQPjguPmUsPm8xUklqRUM8dTpvCjshNStdNiMwLiVlZihVZytPKXJObldTWkM6aWA4Y0lLaGdGJ1Q5XW11ZU8mNlhzKGJdZGxqTzIoclosb0UiaE1HM1VKQGdycyhbTShxVCdGCi05Mk4zZzpLazRqeiptNEtaUzFLQWBZQjRpMnpuMFtrZEkpWms8cm9ea15iNiVfRSEuXToiczVsLSEnWDY9STJqWGFMISEhI2ZCKWhnQj1DCkxNQ2VNZ29YR2xSZ0V6enp6enp6enohJmtQZmMmSTMxOihzcHVlbihaJG5aPEdVLSFYLzZIMD9wP11PKD0wWUBCX0QqSGNVc1lBR0BiZHNuCkg3b2dEaDJuUzt1Jj1WU15gRzlxR144UGVTSWtnaCE/UTlzY0s4WEhfWWhqLk9DUzlaYVU9TilLakRyJVVCMXJXdS5rJSVXXig/L0laalY0CnJfXyMnViFKOjY+aTBIMEBPRnVUWmwnOjJZNUwtXE5uIlpYLykoJlFKOWFjRy1zWUIoJycraUxfRidHKT5BUzRBQ3UnSkxIbjkocSYiaFxECkpWXmtQLUwzIUQ6U0Bobm1ZLjNSR11baC1sOzthPlNMRXVsS3I7byEoVi8obnUmSVRLY0whPzI1I2k9dDU+TmBBMys3QWtbTiI0JFQiTz4hCkJvbUdEUjhYWDIxb1RbNW5RWFNRPEBpayVSPGFRJUVWalM4cU0oLSVQP1FFWWxRQj9BbS1hWz48c1BwTEVJMD1kQSxETyxBWktQLiJNQ1NkCmtyN0IoVE4jcm1wJSUjQiZqWjtxZGxaOC05dGIiXE1CYURfRDo+TC4tTXI7OyYuYCswakNyJmZvZkRjcj9IYi9yQCk9LzlmcC8rNXQiZSJtCjVsVXBMbERYJyNfVFNjX2xFJz9BSE41cldJYmlNUVhATFZ1TGY4V0JoUlFJO2QuRmYpbFoyRl9NQ0x1aCw1IkVHOSZSYnAhbTRaTUhvTzxgCjMqVDlAIS1oPk5RRikoQTJvcmxsVEBhKWk5T1VaNEUuZF45YGFrc19fVzRjJFcwQkFcUVAwKEUoKzhRZWVoI2ViMVVmVl9jbVo7bmNOPFY9ClgwOy1qXl0lMlw/ODtQXihsQ1JBI2BZKipgcl9cJ0teS18sIVliJjdKS0tcbTpeSGY5RUs+MGBbPVIhUVgqa1t0MyZuOTtaLGQyL2lIRy5jCjg3WShtJyo9W1ZkKSI0OEw4azlgM2RpQUBwOFVgb2QiQl9Ocmc1NStbKlZlNjMjalBDXidkQiRYaFQiP2VyK2UzTCNLdWFtcCdnYzdMRDNFCik2KnBMaGoubFRZJkwxXWxSLUdBcE0qZDRpZWsvbF5pOyIhKz1eaFdsSk1hLWdPQm4/aVJeTjZlQSpDWTtvSTxNJGVpVG0/MzhiIWBgU1BuCmBaOjBbUm4zT1E+MHAkLTEyYV1hWHApJGxATz9nLG5aPzdlW2wnJFEkVXFBaz5ZWigrPVBwQCFjLVxiQ2cnRSltJzpPKSg9aj1XVTdqX1RKCjo3cWlZLlEtOGNtWF40PllFR3BpNFhLIXBPc1I0Tj8oK11kQkJFJXVnInFAaWk8SSMlQEtUZDFETSlYJzAxJElrJXBlQDNzUzMmZWg7NGdqCk08MSNsVlJhY3VGU1FAJUo8QnItVVdTS19tKkFzdWpbU0k+c20xWGZSQSo3WkEpRHNGJW8mJDtudF8pMWUyMCw/bU1XNE8kPlZeWFVQSkxTCmBPNlJhJ01LdTIhIzNFXiRuWEY/Z1dgOXVuWyJhJHFEaytsY1BZO3Rfamk4OiZwWSVPXClablBVPlJKY0tbO3NESUtoNWNQPy1WRHBZKSFZCmsnbC5iZD5kPC1NRWguRm1DZjRZIWxqXWs+Sy48aVJXQnItVHJPNGdaUUI7VDFuSUshJSExOGpyKVhramUyVksiIlBiPHJjTklSN01FKVtbCmFZWmxKcCdrSz1IXkhIXEomNlJhJ01LdTIhIzNFLC5DOCNxYSdTS0FFaV1mdD9PKE1IUmNJITouXjVqPTNMQyhlOVQwWjMsQTNBYD5XNEouCiJFViRyVzEhY0JrX19DIW1CcUpETWcqa3UiL09UMEAuMilPJCEuSVZbbmdPNiVxaEQyNENWU2RBdW9oOGZVKW4paSYkPVF0UzdWIkszajNaCkM8XkpiKnJZdGZSaWppMykiZCoySUdVYzFLUV9edVJMWWpDc1pYJWw6dVJhaVpOMCxiKytoT19HdUZbQ0AoYypaQUFQXTM7Q0xsUCVMcVA8CmxxVDIkbV5jJ1IyWj9RSVtoYyk0cGtIWEdFSz9ZWWQjRVkyY2Q9MWRKOmo6JGBdX0A3NSgtO3NTRThkT0I2Vks2JzVpOTpoU0RAV0xmMEdPCnBGQkJHLz9vTEVbU2lkPik+a0AoQGRxU2VvZDFaLmppakVYMEFgI2JfOTk9TjVBNlNZOV5NYEVFdW82RyI9I207L3A9dW4iRSM9bEVKRV5VCjdRLV4uWDY4KmBAJztUSlRwNklVRSVfVEJJPil1Py5gaCZzYEVpUVVOWDNbLHFVSUhJVGZAKldoKmVBISh1ajw2Wz4wNzJwWWoidTcxVztICjVWUG1cdEVVcj1CYWdANHIqSW04YjVWa2dbXWhnYkQsa0hWMj1jMydPLjlXY3VRXEY3My8yN0YuVUREWURxLywyMiYlTEsyPWdLJy1xTzpYCjtmam5qMEs7Im4hLzlpaTRPXFdxakNtWjhbITw+Ukdma3NWVmE+UEZQTWp0PTFwXj8mXzNtOVhWKltsI1diQFJfLy9yOkZhQVE8ITBHXCFfCitLVHRgXFZBMjpNRSZaYiQwPTQ2QHNaVXBaLEclR2xVQFEnKCFBSV9gMyczPHMuQys2P0hxQiEjaDxjNU5NQWplamhWdG5sS2NEUyQiQ29GClBVRV5sbGRjOjlhWTxfYnROKEVXL2k/QmllbSxkZUJUQT5SSFBuOEBrPUk4KTlcXyYnPiomYmY/NCV0XHMrIS5edVJtTSVBT2s6NXQ3cCtQCkcpJEs0OnQ6Jms6YEY9b1dZPmtzXXJFJiFFUGkkMVksO2tUWl0hOSEpbWg0MXMnOGhgQz5nZFNdXnFzWTtqbi1FXFR6enp6enp6enp6enp6Cnp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6SjpJTHFRaCFjQWlwK2xAJjBXWl5ZKSpIRT4kXGNEMUwrJjRyLE5iZlA+UE5HbFUjCkJmbDQnNiJccEooKGhwMDxXckwkSyZqNSJmMVU5VkhMJzNnXnUyb1JUTixNWGJBcEksbjIrJmI7ZyY0L210alZCUUVJWHQhMlZndUMoZ2FVCiYiaD48TT86JyNRVVZmdWI5PjxdajduInBsVlNbMSsoMSNia2RtVSdxY0FGbiJvXmtvQWcuM1JkS2pMZmRiMSNjKj9BWCghVzIvaW9EMTsiCjVwIUxwRmUvS2BwLEc+ZWxFIVY4RmIhSWcsKTJVQGxwUzEoUioiZEl1O3FgTlE2TnEzPDMibCdLYEpCY2RDUTROS1FdO1l0M0o5YDNsISdlCk9PUnFHSXM6NlpRZSFrdDstKFFWcUI/USQ0N1ssdVJGVCZSMShbOG5Yaj88cmVPWC9YQ28pLytqQGI7blskP01xbzpDVCVwdWIkK1hVYVosClBjbGd0byFrQ011IlgmX3RSRDlabFYmY01XVyVVJkAua29tYTdtWjdvVS91TCMwMWlcOCllaG5bRzMnInMjZFxyRTYwI2pGSSthcT5dPWddCmg7P18uNUtYMHBNLUklJmJtVCI/LmZfTTtDXCtoYVc8TzpHLD83dTZVPGRcNCg0O0ckUG0oMm9YQFEoLkJnPmE4Oz5ySjIvUVgjT1tvQypoCikiUD9XQSo5KGJOcEVxbCVaZjJCPEFBP29yY2slKGlsYHQnQjlWdGhNWy1SR1w6ZVZnOXBFblZzPjxFYUJIMUt0Tm05NSNXSVMjYFBcbGElCidIWyUxN1JvJ0ZIS2NALDY6bDxERHA/bytzT0AyO14iQmRqYkEtV2Y4S1JdbTVIYiJSYGU7ISctdWYjXz9DSVM4RWwiLGY5dGpnOj5OWUBlCi5UIlpmcmBkcUpHSFRZIVxKV1UkNygscDlwNUJYWGwiUkpYSC48K25xODlrKkwzYiI1Mz4tTFsoXzoxbyJual0kNHNBYVFEZldORkFpUXV0CiVnWyZdNURFWlZxWFNRJ14jR3BvO2VxNSwyZmhpck9laFlQVEE+RERxTSs1UWI8OUpLW1hrL3Q0ZV1VPUhlNlk6YlkxUkV0WFNTdFpNWm8kClU0NztmXkw1ODEjNjM+bik9XFk+Pl5uPkgpIVphdClSUjouQzpEZDRCbi8jZDtELl5FKD8pNSEqWzxBP15icy8nPGFmPyRfQWZfajRGTVVkCltyVioiZHNbJmU2NFNCai5jXSYhaC1rLjRVTlFVOiJqMlFZM1I9KyI1bVpWXTlwJDlYbVdSPVVnbFY8T0U+STRMZmoqV2Q5MU4hVGMzTWRtClxGV1duSC5kKXJzMS1XY1BcKnJcIjJMbDZxZ0hbcT5eU0RHcigubCIzZT9RNUcrYmlcQGBqU2hrNCYqVz9pamQlNXVNdCRYP1k4TChrZHNFCmpUXDNpbmFtJXM/UGZtR1RabGIxcWQ6MFctUiRFWGg9UD5gKDolIz9GSlhsRVA4Ym8qTkJyMlg2cSk9OztALUlPXEc4XXFpZUcjdCphV1hTCjkqU08uZkA4JjwmV2BuJSxVa1Flaj89cnJeT0wlQ1ZKYWosczhDXSY5S01EbGJcNC8odEs/QVssTUIhKWQsM3JaT1xXTUVhNipNKiolWk1RClNXcS5KRWgzaF1RdVFIPGZyWSkvODRhZkQnTylKV3Q8SWJkPyUoTUI4YTJma1hTOVc/PEhJRyUrRkFYJClqQlQyNiNlZVIpbm5MVSFnJiFdCiJtNkY6IVclW0FAKGBZc2EjMy01akxQSEk1Im1TXGMkKjhnQEhYXSRsb0JZR0BxckJIYWc3SFUmJz48WUtDa1FGRS5VXzlTaVoubFVTIVUhCj5CTVxpZ3MsK1xDSXMvbjlLPzRaaCc8NzRLSDxWRlkzN1tvWEM5QmpSP2lqUm9eblleKjMkZ0N1ZkVCYDooSk9WRGtSWkIzVVlIJFh0Vi06CjFiYFJcXGJNSnFnKihAKWtaRXBlT15YJENWJyk2Xz1dWTdtNFoybk5rND0xYVo7J2tUVFM7ZiYiTlI2ckZKVFdRWGAoYyssRHFhNjlwWGxzCl8yTTozQ29pWDRrY1VhcFtyVWo4Ty5HSTtfakhNSGxxVi5BYFUpOCNtMWMmZENIYGVzKkcjb2gva25CK150b2FOYUAuRmgjXGtXQUcqSXUjClc0TXEsI2VhXlZ0P1poOl8hW3BgSG9dQiknKD8nanU0VjtiNTRSaydHXzdUZHBmYGVNVnJAMVFBU147SiYtVjZpYjdyJTVbWERvR1gqWCJkCiheX1xJMEZGKCpLMyojQDUtW0hXblAycjIsbjRuYVwsRj49TGcyWkdWMFhdRygpQFdCWE1WQ1ksQl1IQHNjcVJZTylQM2dCa05aS11LXWxMCmMxaj5eKzZESSItYydsZzs6aDFeYzdbWURAIjFwKGo9a1U9MTptYGFeUUJrO0lTUkVvb3AvN1BdKFYwSDo3WSdKNUxcKy5tTnBMRUNMcW5eCkMiOUAkRTpHQWlKQEBGb1IjOlBwaysxJC47Rj4iTkx1QmJlLklLWWhXP0kuOGRVWlVHblxncVJGSUNbVSgnJUFLcnFWNCJ0ZFduNzNoZWt1CkA6RkhVPmJlbysqb2lRWnU+a2hXVjQlT1pUUytKQSVyM1xAIyYnaUJtZylITlY3ckh0ZixeP1QkXWZwNldZUD9YS2ZNcGdxQTwraChUTjdSCjIwYFVyKUU1R2hEPDJyajJXPEw8PS1UUVUpPEwlRCE8I2tQOiZSPm9kbG9bJ09sV2FPZXVxRVk4N0g/OUhXTj0oXUtXMSVTOmpLTDxZNzVwCjkxNC8mSV9tYSV0TCltLTMnaDN1b1hlP3U7T1gmYCcoNXJFLFBDPkZUNSdiaiQxKmlhZ0dvQk0rWS5UX2c9XWklUjdlTzRNMlcuaktTcEhOCkE0ZGM4WSw5bHM0amheaj5OZk1adXBoVDgvOmR1IUJEVXVnSlUkRGFDQj9tYjwnKmcndHRWMm4qVGZsT104OzZTMlNhY0EiRUBlQS5FWjw2CmlWMDVUQz48SDZNUENJTEoyJWVqbTYrU2xRKmBPKm9fR05pNjhWZ3A+VEkxImhkRmg8SEgvJUBwdS07LS9SJ18hI2FcOjZMQiEuYTQ4YG5kCkJbXFNHJ1dPTl5lL0U8ZSxON0kzc2gndUtaSVNPNktHWl4xNCtsdTwiKGkjTXEjVVYtSTBFOjlPWFFkOi9vXDcsKT5sLSJNMCREbjNjRDFOClUyb09rO2ZhNF1HTmpWLltwenp6enp6eiEwRTY0Lmc6clM+K191cTI1SVtcSWlXSihTSGNeLi0pQ15JQyMoOVdtSTImTllmWCdRcUotWGBWCjElNDdmTmA8IWNIQHNMITNkIS9eS0JqWipPUVJaaWx1cmpwQkJvcigvPW07QWtpQS5aOzduQlEvKSYmXEkyLjUhISlKPzthOys6SDwnQEYoCi89bTszIUc4WC4zSyVzISElUURfJ3BMYjJuYzU3PzQzWl0wOlcpNWk9bGlYO1pIZzVLK0w4PUhHIlxGWFVeVVwhSU1DYSpCaFxmYCZPNm5QCklHU1JxJTFgLldCJUU4bnRLJ1VZJmFncXMhJEVjYV9WXl5vXyYiPChvc14yWz1mXm4hbG1acmZUdCdkU2hgTWtGSTwwTV5RVyFrNyRxJVdDCidxIkozR05gU1JCJWBrPisnSVYkQnJsbyNrcSM8Nz9oIjhKMlY0dC5oLF5mV21mMVckSj5DWkRhY2VhYkBjMEc4Ql9CbiZGWUVpYDcnQlc7CiNNUUFyKS8vV2lpaSJPW1c2Yj01RjVeXDpCJ0cuQ0Yxajdgc2FkTGhLM0VgQUZxSmY2UmZKP0YjXms4K15sKiFIK0hvMTpvOUNuJ1c1blVUCjZnTHRyQCQwUWtZPzJCQWMnUlVna0shKFtzUF5qIVdbSFlxRGdjI2VENWQvKVktVW0lbXNlcSJqQEIsRWAtSHNSNTkvclVtJz9RY0dwP1gsCiFJcUFQTVo0Mz0sUF1FNUhfR2NZPkk1WmFhRCNCNmgzXW5BK2QxbEBpJGxDQkMibEA6Jms6aCZXWj1UcThfYUpOQzxMQSpucThRbEFXQ2BiCk5sOj8ybm5hXFdgRXBgWyRCTmtpQlNqT3JMPnIuaThiWnNsKk81MiInSVJkXD4iJFotdVNmZChgZ2w0cVo9N2xbcyE1R2BSJyJDZSYuSEdYCmZqWkknYGU8K2FQVlBFbEpqXkYsTjd0XCIkJUdtRm09bUYjQlFfRkBFSFdAOTpPOzA8TlhuS0JJZ2pgX0xdO1g3QHAmOCsxcD0jQGInMl84ClBeajxlXjFHRS48WCxyXT1CXSFAW2FeTWRxQ1xqVUNnO0lTTjNWJXEpSzZZb0FyXlg9LHNgJ0NCJmIpISElSiFub1piYSQ8WFp0KHQuWFJFCl1zb3Jscz1lKFJrKCZiQ2NGS2MwZl5hb0FobS9XQGN1NS01VVZZLWtcb2IpZC0ob3VlNXNNaCNpNT9JO1RKODJuaTEoPz84MFA9Kl9nQDlEClkuWkpyMShnV1JjUjlUPSxyPHQyNUAvTyEuS0xrPTI6UGk3LFpiZFFvSDFCYC9HJWopNEtIIXBiUlxnbDAuczU7bnUoPS1NS05POWMnXlhVCiFedTpNPSJKaERkO2VdalYuW3BuMlNSJ2twJnEoPixVaCtzJjRHTUJwU2NzSCY4OzJgSEl1UFYjNS9dPmprQTE/LDtlc2k3cmpISCQyTigpCkF1KUZAc0EqJFM/ViFaa2l1Q25kQF0zb2g0Z0pZKUIpS3BwPV07Ulh0QlxTbiJZOidNayxBU2pRc1xhcV9ZIUZDYzsyczltO1lvQU5MaiYnCmVBcWJlLV4nLHJfLT1DcCQsUGFgNUZjclI+WEJrLUBwMywibXUkXUFIL2AlWT9DZ0M3bGNXaitYUFtcWiYlLFtsJERAZlIrbix0W1BtYXM7CkxKLz45WWddL24pailTVnRTYV8pRF4xZzgpKihDO0htNSNHWXJWZDM/TUdxNnRXVCxXRUduWm9yXWNRUHVxMiZNUS48PFpmalhwQlpSRUNrCkdsakczUiJ1V1clTllNQmNpYW89R1wmXD5xOCdONS9SQ0k6KS9kJD5JNVN0KFlic1xhRmg1PTVCV2ZRUUwoYl9DSmhzcDhfRTYhWzQyLlYhCjVVImNOKEZvVT05Wj5ZM1dvRV8hLGM1LzU8KTklblckVmJsXy1aRyEhKHBtXHBwNEk2bEdHcSJoWW07Ijk4RSVEV0xIXVgkODRIUCc8dS88Cl5WV0J6enohISdEJCVnZVdfazV+PgplbmRzdHJlYW0KZW5kb2JqCnhyZWYKMCAyNAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1OCAwMDAwMCBuIAowMDAwMDAwMTA0IDAwMDAwIG4gCjAwMDAwMDAxNjIgMDAwMDAgbiAKMDAwMDAwMDIxNCAwMDAwMCBuIAowMDAwMDAwMzEyIDAwMDAwIG4gCjAwMDAwMDA0MTUgMDAwMDAgbiAKMDAwMDAwMDUyMSAwMDAwMCBuIAowMDAwMDAwNjMxIDAwMDAwIG4gCjAwMDAwMDA3MjcgMDAwMDAgbiAKMDAwMDAwMDgyOSAwMDAwMCBuIAowMDAwMDAwOTM0IDAwMDAwIG4gCjAwMDAwMDEwNDMgMDAwMDAgbiAKMDAwMDAwMTE0NCAwMDAwMCBuIAowMDAwMDAxMjQ0IDAwMDAwIG4gCjAwMDAwMDEzNDYgMDAwMDAgbiAKMDAwMDAwMTQ1MiAwMDAwMCBuIAowMDAwMDAxNjIyIDAwMDAwIG4gCjAwMDAwMDIwMzkgMDAwMDAgbiAKMDAwMDAwNTg4OSAwMDAwMCBuIAowMDAwMDA2ODIwIDAwMDAwIG4gCjAwMDAwMDcxMTIgMDAwMDAgbiAKMDAwMDAxMjM0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9JbmZvIDE3IDAgUgovU2l6ZSAyNAovUm9vdCAxIDAgUgo+PgpzdGFydHhyZWYKMjE4NjgKJSVFT0YK</v6:Image></v6:Parts></v6:Label><v6:SignatureOption>SERVICE_DEFAULT</v6:SignatureOption></v6:CompletedPackageDetails></v6:CompletedShipmentDetail></v6:ProcessShipmentReply>
View
6 spec/fedex/ship_spec.rb
@@ -28,4 +28,10 @@
# exactly the same as shipping, and that works just fine. You would think a multi
# billion dollar company would have decent web services.
end
+
+ it "should allow set the signature option" do
+ use_response(:ship_with_no_signature)
+ @shipment.signature = "NO_SIGNATURE_REQUIRED"
+ @shipment.rate.should == 35.53
+ end
end
View
1  spec/fedex/spec_helper.rb
@@ -4,6 +4,7 @@
Spec::Runner.configure do |config|
config.before(:each) do
+ HTTParty::Request.response_directory = File.dirname(__FILE__) + "/responses"
FakeWeb.clean_registry
if File.exists?("#{SPEC_ROOT}/fedex/responses/_new.xml")
View
6 spec/lib/interceptor.rb
@@ -1,9 +1,13 @@
module HTTParty
class Request
+ class << self
+ attr_accessor :response_directory
+ end
+
def perform_actual_request
response = http.request(@raw_request)
if !defined?(DONT_SAVE) && !FakeWeb.registered_uri?(:post, uri)
- File.open(File.dirname(__FILE__) + "/../responses/_new.xml", 'w') {|f| f.write(response.body) }
+ File.open(self.class.response_directory + "/_new.xml", 'w') {|f| f.write(response.body) }
raise FakeWeb::NetConnectNotAllowedError.new("You have not registered this response, the response has been put in responses/_new.xml")
else
response
Please sign in to comment.
Something went wrong with that request. Please try again.