Jon Skeet 17 anni fa
parent
commit
62b3d31fb7
39 ha cambiato i file con 11016 aggiunte e 0 eliminazioni
  1. 14 0
      csharp/TestBed/BclDecimal.cs
  2. 1156 0
      csharp/TestBed/BclProtoFile.cs
  3. 1636 0
      csharp/TestBed/NorthwindProtoFile.cs
  4. 44 0
      csharp/TestBed/Program.cs
  5. 36 0
      csharp/TestBed/Properties/AssemblyInfo.cs
  6. 776 0
      csharp/TestBed/SlowBclProtoFile.cs
  7. 1142 0
      csharp/TestBed/SlowNorthwindProtoFile.cs
  8. 59 0
      csharp/TestBed/TestBed.csproj
  9. 10 0
      csharp/TestBed/TestBed.csproj.user
  10. 45 0
      csharp/TestBed/bcl.proto
  11. 42 0
      csharp/TestBed/bcl.proto2
  12. BIN
      csharp/TestBed/bin/Debug/Google.ProtocolBuffers.dll
  13. BIN
      csharp/TestBed/bin/Debug/Google.ProtocolBuffers.pdb
  14. BIN
      csharp/TestBed/bin/Debug/TestBed.exe
  15. BIN
      csharp/TestBed/bin/Debug/TestBed.pdb
  16. BIN
      csharp/TestBed/bin/Debug/TestBed.vshost.exe
  17. BIN
      csharp/TestBed/bin/Debug/before.dtc
  18. BIN
      csharp/TestBed/bin/Debug/fast.dtc
  19. BIN
      csharp/TestBed/bin/Release/Google.ProtocolBuffers.dll
  20. BIN
      csharp/TestBed/bin/Release/Google.ProtocolBuffers.pdb
  21. BIN
      csharp/TestBed/bin/Release/TestBed.exe
  22. BIN
      csharp/TestBed/bin/Release/TestBed.pdb
  23. BIN
      csharp/TestBed/bin/Release/TestBed.vshost.exe
  24. 11 0
      csharp/TestBed/bin/Release/TestBed.vshost.exe.manifest
  25. 1348 0
      csharp/TestBed/java/bcl/Bcl.java
  26. 1661 0
      csharp/TestBed/java/northwind/Nwind.java
  27. 942 0
      csharp/TestBed/java/slowbcl/Slowbcl.java
  28. 1132 0
      csharp/TestBed/java/slownorthwind/Slownwind.java
  29. 38 0
      csharp/TestBed/nwind.proto
  30. BIN
      csharp/TestBed/nwind.proto.bin
  31. 7 0
      csharp/TestBed/obj/Debug/TestBed.csproj.FileListAbsolute.txt
  32. BIN
      csharp/TestBed/obj/Debug/TestBed.exe
  33. BIN
      csharp/TestBed/obj/Debug/TestBed.pdb
  34. 7 0
      csharp/TestBed/obj/Release/TestBed.csproj.FileListAbsolute.txt
  35. BIN
      csharp/TestBed/obj/Release/TestBed.exe
  36. BIN
      csharp/TestBed/obj/Release/TestBed.pdb
  37. 831 0
      csharp/TestBed/output.txt
  38. 43 0
      csharp/TestBed/slowbcl.proto
  39. 36 0
      csharp/TestBed/slownwind.proto

+ 14 - 0
csharp/TestBed/BclDecimal.cs

@@ -0,0 +1,14 @@
+namespace Google.ProtocolBuffers.Bcl {
+  public partial class Decimal {
+    public decimal ToDecimal() {
+      if (Lo == 0 && Hi == 0) return decimal.Zero;
+
+      int lo = (int)(Lo & 0xFFFFFFFFL),
+          mid = (int)((Lo >> 32) & 0xFFFFFFFFL),
+          hi = (int)Hi;
+      bool isNeg = (SignScale & 0x0001) == 0x0001;
+      byte scale = (byte)((SignScale & 0x01FE) >> 1);
+      return new decimal(lo, mid, hi, isNeg, scale);
+    }
+  }
+}

+ 1156 - 0
csharp/TestBed/BclProtoFile.cs

@@ -0,0 +1,1156 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+namespace Google.ProtocolBuffers.Bcl {
+  
+  public static partial class BclProtoFile {
+  
+    #region Descriptor
+    public static pbd::FileDescriptor Descriptor {
+        get { return descriptor; }
+    }
+    private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom (
+        new byte[] {
+            0x0a, 0x09, 0x62, 0x63, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x62, 0x63, 0x6c, 0x22, 0xa9, 0x01, 0x0a, 
+            0x08, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 
+            0x20, 0x01, 0x28, 0x12, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 
+            0x1b, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 
+            0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x3a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x22, 0x5c, 0x0a, 0x0d, 0x54, 0x69, 
+            0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x10, 
+            0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 
+            0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 
+            0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 
+            0x4d, 0x49, 0x4e, 0x4d, 0x41, 0x58, 0x10, 0x0f, 0x22, 0xa9, 0x01, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 
+            0x65, 0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x12, 0x30, 0x0a, 0x05, 
+            0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 
+            0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 
+            0x3a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x22, 0x5c, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 
+            0x61, 0x6c, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x4f, 0x55, 
+            0x52, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x0b, 0x0a, 
+            0x07, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 
+            0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x4d, 0x41, 0x58, 0x10, 0x0f, 
+            0x22, 0x1e, 0x0a, 0x04, 0x47, 0x75, 0x69, 0x64, 0x12, 0x0a, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 
+            0x12, 0x0a, 0x0a, 0x02, 0x68, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x22, 0x34, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x69, 
+            0x6d, 0x61, 0x6c, 0x12, 0x0a, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x12, 0x0a, 0x0a, 0x02, 0x68, 
+            0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x11, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 
+            0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x2e, 0x48, 0x01, 0xc2, 0x3e, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 
+            0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x63, 0x6c, 0xca, 
+            0x3e, 0x0c, 0x42, 0x63, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 
+        }, new pbd::FileDescriptor[] {
+        });
+    #endregion
+    
+    #region Extensions
+    #endregion
+    
+    #region Static variables
+    internal static readonly pbd::MessageDescriptor internal__static_bcl_TimeSpan__Descriptor 
+        = Descriptor.MessageTypes[0];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Bcl.TimeSpan, global::Google.ProtocolBuffers.Bcl.TimeSpan.Builder> internal__static_bcl_TimeSpan__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Bcl.TimeSpan, global::Google.ProtocolBuffers.Bcl.TimeSpan.Builder>(internal__static_bcl_TimeSpan__Descriptor,
+            new string[] { "Value", "Scale", });
+    internal static readonly pbd::MessageDescriptor internal__static_bcl_DateTime__Descriptor 
+        = Descriptor.MessageTypes[1];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Bcl.DateTime, global::Google.ProtocolBuffers.Bcl.DateTime.Builder> internal__static_bcl_DateTime__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Bcl.DateTime, global::Google.ProtocolBuffers.Bcl.DateTime.Builder>(internal__static_bcl_DateTime__Descriptor,
+            new string[] { "Value", "Scale", });
+    internal static readonly pbd::MessageDescriptor internal__static_bcl_Guid__Descriptor 
+        = Descriptor.MessageTypes[2];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Bcl.Guid, global::Google.ProtocolBuffers.Bcl.Guid.Builder> internal__static_bcl_Guid__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Bcl.Guid, global::Google.ProtocolBuffers.Bcl.Guid.Builder>(internal__static_bcl_Guid__Descriptor,
+            new string[] { "Lo", "Hi", });
+    internal static readonly pbd::MessageDescriptor internal__static_bcl_Decimal__Descriptor 
+        = Descriptor.MessageTypes[3];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Bcl.Decimal, global::Google.ProtocolBuffers.Bcl.Decimal.Builder> internal__static_bcl_Decimal__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.Bcl.Decimal, global::Google.ProtocolBuffers.Bcl.Decimal.Builder>(internal__static_bcl_Decimal__Descriptor,
+            new string[] { "Lo", "Hi", "SignScale", });
+    #endregion
+    
+  }
+  
+  #region Enums
+  #endregion
+  
+  #region Messages
+  public sealed partial class TimeSpan : pb::GeneratedMessage<TimeSpan, TimeSpan.Builder> {
+    private static readonly TimeSpan defaultInstance = new TimeSpan();
+    public static TimeSpan DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override TimeSpan DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override TimeSpan ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_TimeSpan__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<TimeSpan, TimeSpan.Builder> InternalFieldAccessors {
+      get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_TimeSpan__FieldAccessorTable; }
+    }
+    
+    #region Nested types
+    public static class Types {
+      public enum TimeSpanScale {
+        DAYS = 0,
+        HOURS = 1,
+        MINUTES = 2,
+        SECONDS = 3,
+        MILLISECONDS = 4,
+        MINMAX = 15,
+      }
+      
+    }
+    #endregion
+    
+    // optional sint64 value = 1;
+    private bool hasValue;
+    private long value_ = 0L;
+    public bool HasValue {
+      get { return hasValue; }
+    }
+    public long Value {
+      get { return value_; }
+    }
+    
+    // optional .bcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS];
+    private bool hasScale;
+    private global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale scale_ = global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale.DAYS;
+    public bool HasScale {
+      get { return hasScale; }
+    }
+    public global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale Scale {  get { return scale_; }}
+    
+    public override bool IsInitialized {
+      get {
+        return true;
+      }
+    }
+    
+    public override void WriteTo(pb::CodedOutputStream output) {
+      if (HasValue) {
+        output.WriteSInt64(1, Value);
+      }
+      if (HasScale) {
+        output.WriteEnum(2, (int) Scale);
+      }
+      UnknownFields.WriteTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public override int SerializedSize {
+      get {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+        
+        size = 0;
+        if (HasValue) {
+          size += pb::CodedOutputStream.ComputeSInt64Size(1, Value);
+        }
+        if (HasScale) {
+          size += pb::CodedOutputStream
+            .ComputeEnumSize(2, (int) Scale);
+        }
+        size += UnknownFields.SerializedSize;
+        memoizedSerializedSize = size;
+        return size;
+      }
+    }
+    
+    public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Google.ProtocolBuffers.Bcl.TimeSpan prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Google.ProtocolBuffers.Bcl.TimeSpan, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Google.ProtocolBuffers.Bcl.TimeSpan.CreateBuilder()
+      internal Builder() {}
+      
+      global::Google.ProtocolBuffers.Bcl.TimeSpan result = new global::Google.ProtocolBuffers.Bcl.TimeSpan();
+      
+      protected override global::Google.ProtocolBuffers.Bcl.TimeSpan MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Google.ProtocolBuffers.Bcl.TimeSpan();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Google.ProtocolBuffers.Bcl.TimeSpan.Descriptor; }
+      }
+      
+      public override global::Google.ProtocolBuffers.Bcl.TimeSpan DefaultInstanceForType {
+        get { return global::Google.ProtocolBuffers.Bcl.TimeSpan.DefaultInstance; }
+      }
+      
+      public override global::Google.ProtocolBuffers.Bcl.TimeSpan BuildPartial() {
+        global::Google.ProtocolBuffers.Bcl.TimeSpan returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public override Builder MergeFrom(pb::IMessage other) {
+        if (other is global::Google.ProtocolBuffers.Bcl.TimeSpan) {
+          return MergeFrom((global::Google.ProtocolBuffers.Bcl.TimeSpan) other);
+        } else {
+          base.MergeFrom(other);
+          return this;
+        }
+      }
+      
+      public override Builder MergeFrom(global::Google.ProtocolBuffers.Bcl.TimeSpan other) {
+        if (other == global::Google.ProtocolBuffers.Bcl.TimeSpan.DefaultInstance) return this;
+        if (other.HasValue) {
+          Value = other.Value;
+        }
+        if (other.HasScale) {
+          Scale = other.Scale;
+        }
+        this.MergeUnknownFields(other.UnknownFields);
+        return this;
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input) {
+        return MergeFrom(input, pb::ExtensionRegistry.Empty);
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+        pb::UnknownFieldSet.Builder unknownFields =
+          pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+        while (true) {
+          uint tag = input.ReadTag();
+          switch (tag) {
+            case 0:
+              this.UnknownFields = unknownFields.Build();
+              return this;
+            default: {
+              if (!ParseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.UnknownFields = unknownFields.Build();
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              Value = input.ReadSInt64();
+              break;
+            }
+            case 16: {
+              int rawValue = input.ReadEnum();
+              if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale), rawValue)) {
+                unknownFields.MergeVarintField(2, (ulong) rawValue);
+              } else {
+                Scale = (global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale) rawValue;
+              }
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional sint64 value = 1;
+      public bool HasValue {
+        get { return result.HasValue; }
+      }
+      public long Value {
+        get { return result.Value; }
+        set { SetValue(value); }
+      }
+      public Builder SetValue(long value) {
+        result.hasValue = true;
+        result.value_ = value;
+        return this;
+      }
+      public Builder ClearValue() {
+        result.hasValue = false;
+        result.value_ = 0L;
+        return this;
+      }
+      
+      // optional .bcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS];
+      public bool HasScale {
+        get { return result.HasScale; }
+      }
+      public global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale Scale {
+        get { return result.Scale; }
+        set { SetScale(value); }
+      }
+      public Builder SetScale(global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale value) {
+        result.hasScale = true;
+        result.scale_ = value;
+        return this;
+      }
+      public Builder ClearScale() {
+        result.hasScale = false;
+        result.scale_ = global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale.DAYS;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class DateTime : pb::GeneratedMessage<DateTime, DateTime.Builder> {
+    private static readonly DateTime defaultInstance = new DateTime();
+    public static DateTime DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override DateTime DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override DateTime ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_DateTime__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<DateTime, DateTime.Builder> InternalFieldAccessors {
+      get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_DateTime__FieldAccessorTable; }
+    }
+    
+    #region Nested types
+    public static class Types {
+      public enum TimeSpanScale {
+        DAYS = 0,
+        HOURS = 1,
+        MINUTES = 2,
+        SECONDS = 3,
+        MILLISECONDS = 4,
+        MINMAX = 15,
+      }
+      
+    }
+    #endregion
+    
+    // optional sint64 value = 1;
+    private bool hasValue;
+    private long value_ = 0L;
+    public bool HasValue {
+      get { return hasValue; }
+    }
+    public long Value {
+      get { return value_; }
+    }
+    
+    // optional .bcl.DateTime.TimeSpanScale scale = 2 [default = DAYS];
+    private bool hasScale;
+    private global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale scale_ = global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale.DAYS;
+    public bool HasScale {
+      get { return hasScale; }
+    }
+    public global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale Scale {  get { return scale_; }}
+    
+    public override bool IsInitialized {
+      get {
+        return true;
+      }
+    }
+    
+    public override void WriteTo(pb::CodedOutputStream output) {
+      if (HasValue) {
+        output.WriteSInt64(1, Value);
+      }
+      if (HasScale) {
+        output.WriteEnum(2, (int) Scale);
+      }
+      UnknownFields.WriteTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public override int SerializedSize {
+      get {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+        
+        size = 0;
+        if (HasValue) {
+          size += pb::CodedOutputStream.ComputeSInt64Size(1, Value);
+        }
+        if (HasScale) {
+          size += pb::CodedOutputStream
+            .ComputeEnumSize(2, (int) Scale);
+        }
+        size += UnknownFields.SerializedSize;
+        memoizedSerializedSize = size;
+        return size;
+      }
+    }
+    
+    public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Google.ProtocolBuffers.Bcl.DateTime prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Google.ProtocolBuffers.Bcl.DateTime, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder()
+      internal Builder() {}
+      
+      global::Google.ProtocolBuffers.Bcl.DateTime result = new global::Google.ProtocolBuffers.Bcl.DateTime();
+      
+      protected override global::Google.ProtocolBuffers.Bcl.DateTime MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Google.ProtocolBuffers.Bcl.DateTime();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Google.ProtocolBuffers.Bcl.DateTime.Descriptor; }
+      }
+      
+      public override global::Google.ProtocolBuffers.Bcl.DateTime DefaultInstanceForType {
+        get { return global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance; }
+      }
+      
+      public override global::Google.ProtocolBuffers.Bcl.DateTime BuildPartial() {
+        global::Google.ProtocolBuffers.Bcl.DateTime returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public override Builder MergeFrom(pb::IMessage other) {
+        if (other is global::Google.ProtocolBuffers.Bcl.DateTime) {
+          return MergeFrom((global::Google.ProtocolBuffers.Bcl.DateTime) other);
+        } else {
+          base.MergeFrom(other);
+          return this;
+        }
+      }
+      
+      public override Builder MergeFrom(global::Google.ProtocolBuffers.Bcl.DateTime other) {
+        if (other == global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance) return this;
+        if (other.HasValue) {
+          Value = other.Value;
+        }
+        if (other.HasScale) {
+          Scale = other.Scale;
+        }
+        this.MergeUnknownFields(other.UnknownFields);
+        return this;
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input) {
+        return MergeFrom(input, pb::ExtensionRegistry.Empty);
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+        pb::UnknownFieldSet.Builder unknownFields =
+          pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+        while (true) {
+          uint tag = input.ReadTag();
+          switch (tag) {
+            case 0:
+              this.UnknownFields = unknownFields.Build();
+              return this;
+            default: {
+              if (!ParseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.UnknownFields = unknownFields.Build();
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              Value = input.ReadSInt64();
+              break;
+            }
+            case 16: {
+              int rawValue = input.ReadEnum();
+              if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale), rawValue)) {
+                unknownFields.MergeVarintField(2, (ulong) rawValue);
+              } else {
+                Scale = (global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale) rawValue;
+              }
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional sint64 value = 1;
+      public bool HasValue {
+        get { return result.HasValue; }
+      }
+      public long Value {
+        get { return result.Value; }
+        set { SetValue(value); }
+      }
+      public Builder SetValue(long value) {
+        result.hasValue = true;
+        result.value_ = value;
+        return this;
+      }
+      public Builder ClearValue() {
+        result.hasValue = false;
+        result.value_ = 0L;
+        return this;
+      }
+      
+      // optional .bcl.DateTime.TimeSpanScale scale = 2 [default = DAYS];
+      public bool HasScale {
+        get { return result.HasScale; }
+      }
+      public global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale Scale {
+        get { return result.Scale; }
+        set { SetScale(value); }
+      }
+      public Builder SetScale(global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale value) {
+        result.hasScale = true;
+        result.scale_ = value;
+        return this;
+      }
+      public Builder ClearScale() {
+        result.hasScale = false;
+        result.scale_ = global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale.DAYS;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class Guid : pb::GeneratedMessage<Guid, Guid.Builder> {
+    private static readonly Guid defaultInstance = new Guid();
+    public static Guid DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override Guid DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override Guid ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_Guid__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<Guid, Guid.Builder> InternalFieldAccessors {
+      get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_Guid__FieldAccessorTable; }
+    }
+    
+    // optional fixed64 lo = 1;
+    private bool hasLo;
+    private ulong lo_ = 0UL;
+    public bool HasLo {
+      get { return hasLo; }
+    }
+    public ulong Lo {
+      get { return lo_; }
+    }
+    
+    // optional fixed64 hi = 2;
+    private bool hasHi;
+    private ulong hi_ = 0UL;
+    public bool HasHi {
+      get { return hasHi; }
+    }
+    public ulong Hi {
+      get { return hi_; }
+    }
+    
+    public override bool IsInitialized {
+      get {
+        return true;
+      }
+    }
+    
+    public override void WriteTo(pb::CodedOutputStream output) {
+      if (HasLo) {
+        output.WriteFixed64(1, Lo);
+      }
+      if (HasHi) {
+        output.WriteFixed64(2, Hi);
+      }
+      UnknownFields.WriteTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public override int SerializedSize {
+      get {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+        
+        size = 0;
+        if (HasLo) {
+          size += pb::CodedOutputStream.ComputeFixed64Size(1, Lo);
+        }
+        if (HasHi) {
+          size += pb::CodedOutputStream.ComputeFixed64Size(2, Hi);
+        }
+        size += UnknownFields.SerializedSize;
+        memoizedSerializedSize = size;
+        return size;
+      }
+    }
+    
+    public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Google.ProtocolBuffers.Bcl.Guid prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Google.ProtocolBuffers.Bcl.Guid, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Google.ProtocolBuffers.Bcl.Guid.CreateBuilder()
+      internal Builder() {}
+      
+      global::Google.ProtocolBuffers.Bcl.Guid result = new global::Google.ProtocolBuffers.Bcl.Guid();
+      
+      protected override global::Google.ProtocolBuffers.Bcl.Guid MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Google.ProtocolBuffers.Bcl.Guid();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Google.ProtocolBuffers.Bcl.Guid.Descriptor; }
+      }
+      
+      public override global::Google.ProtocolBuffers.Bcl.Guid DefaultInstanceForType {
+        get { return global::Google.ProtocolBuffers.Bcl.Guid.DefaultInstance; }
+      }
+      
+      public override global::Google.ProtocolBuffers.Bcl.Guid BuildPartial() {
+        global::Google.ProtocolBuffers.Bcl.Guid returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public override Builder MergeFrom(pb::IMessage other) {
+        if (other is global::Google.ProtocolBuffers.Bcl.Guid) {
+          return MergeFrom((global::Google.ProtocolBuffers.Bcl.Guid) other);
+        } else {
+          base.MergeFrom(other);
+          return this;
+        }
+      }
+      
+      public override Builder MergeFrom(global::Google.ProtocolBuffers.Bcl.Guid other) {
+        if (other == global::Google.ProtocolBuffers.Bcl.Guid.DefaultInstance) return this;
+        if (other.HasLo) {
+          Lo = other.Lo;
+        }
+        if (other.HasHi) {
+          Hi = other.Hi;
+        }
+        this.MergeUnknownFields(other.UnknownFields);
+        return this;
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input) {
+        return MergeFrom(input, pb::ExtensionRegistry.Empty);
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+        pb::UnknownFieldSet.Builder unknownFields =
+          pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+        while (true) {
+          uint tag = input.ReadTag();
+          switch (tag) {
+            case 0:
+              this.UnknownFields = unknownFields.Build();
+              return this;
+            default: {
+              if (!ParseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.UnknownFields = unknownFields.Build();
+                return this;
+              }
+              break;
+            }
+            case 9: {
+              Lo = input.ReadFixed64();
+              break;
+            }
+            case 17: {
+              Hi = input.ReadFixed64();
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional fixed64 lo = 1;
+      public bool HasLo {
+        get { return result.HasLo; }
+      }
+      public ulong Lo {
+        get { return result.Lo; }
+        set { SetLo(value); }
+      }
+      public Builder SetLo(ulong value) {
+        result.hasLo = true;
+        result.lo_ = value;
+        return this;
+      }
+      public Builder ClearLo() {
+        result.hasLo = false;
+        result.lo_ = 0UL;
+        return this;
+      }
+      
+      // optional fixed64 hi = 2;
+      public bool HasHi {
+        get { return result.HasHi; }
+      }
+      public ulong Hi {
+        get { return result.Hi; }
+        set { SetHi(value); }
+      }
+      public Builder SetHi(ulong value) {
+        result.hasHi = true;
+        result.hi_ = value;
+        return this;
+      }
+      public Builder ClearHi() {
+        result.hasHi = false;
+        result.hi_ = 0UL;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class Decimal : pb::GeneratedMessage<Decimal, Decimal.Builder> {
+    private static readonly Decimal defaultInstance = new Decimal();
+    public static Decimal DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override Decimal DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override Decimal ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_Decimal__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<Decimal, Decimal.Builder> InternalFieldAccessors {
+      get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_Decimal__FieldAccessorTable; }
+    }
+    
+    // optional uint64 lo = 1;
+    private bool hasLo;
+    private ulong lo_ = 0UL;
+    public bool HasLo {
+      get { return hasLo; }
+    }
+    public ulong Lo {
+      get { return lo_; }
+    }
+    
+    // optional uint32 hi = 2;
+    private bool hasHi;
+    private uint hi_ = 0;
+    public bool HasHi {
+      get { return hasHi; }
+    }
+    public uint Hi {
+      get { return hi_; }
+    }
+    
+    // optional uint32 signScale = 3;
+    private bool hasSignScale;
+    private uint signScale_ = 0;
+    public bool HasSignScale {
+      get { return hasSignScale; }
+    }
+    public uint SignScale {
+      get { return signScale_; }
+    }
+    
+    public override bool IsInitialized {
+      get {
+        return true;
+      }
+    }
+    
+    public override void WriteTo(pb::CodedOutputStream output) {
+      if (HasLo) {
+        output.WriteUInt64(1, Lo);
+      }
+      if (HasHi) {
+        output.WriteUInt32(2, Hi);
+      }
+      if (HasSignScale) {
+        output.WriteUInt32(3, SignScale);
+      }
+      UnknownFields.WriteTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public override int SerializedSize {
+      get {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+        
+        size = 0;
+        if (HasLo) {
+          size += pb::CodedOutputStream.ComputeUInt64Size(1, Lo);
+        }
+        if (HasHi) {
+          size += pb::CodedOutputStream.ComputeUInt32Size(2, Hi);
+        }
+        if (HasSignScale) {
+          size += pb::CodedOutputStream.ComputeUInt32Size(3, SignScale);
+        }
+        size += UnknownFields.SerializedSize;
+        memoizedSerializedSize = size;
+        return size;
+      }
+    }
+    
+    public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Google.ProtocolBuffers.Bcl.Decimal prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Google.ProtocolBuffers.Bcl.Decimal, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder()
+      internal Builder() {}
+      
+      global::Google.ProtocolBuffers.Bcl.Decimal result = new global::Google.ProtocolBuffers.Bcl.Decimal();
+      
+      protected override global::Google.ProtocolBuffers.Bcl.Decimal MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Google.ProtocolBuffers.Bcl.Decimal();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Google.ProtocolBuffers.Bcl.Decimal.Descriptor; }
+      }
+      
+      public override global::Google.ProtocolBuffers.Bcl.Decimal DefaultInstanceForType {
+        get { return global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance; }
+      }
+      
+      public override global::Google.ProtocolBuffers.Bcl.Decimal BuildPartial() {
+        global::Google.ProtocolBuffers.Bcl.Decimal returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public override Builder MergeFrom(pb::IMessage other) {
+        if (other is global::Google.ProtocolBuffers.Bcl.Decimal) {
+          return MergeFrom((global::Google.ProtocolBuffers.Bcl.Decimal) other);
+        } else {
+          base.MergeFrom(other);
+          return this;
+        }
+      }
+      
+      public override Builder MergeFrom(global::Google.ProtocolBuffers.Bcl.Decimal other) {
+        if (other == global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance) return this;
+        if (other.HasLo) {
+          Lo = other.Lo;
+        }
+        if (other.HasHi) {
+          Hi = other.Hi;
+        }
+        if (other.HasSignScale) {
+          SignScale = other.SignScale;
+        }
+        this.MergeUnknownFields(other.UnknownFields);
+        return this;
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input) {
+        return MergeFrom(input, pb::ExtensionRegistry.Empty);
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+        pb::UnknownFieldSet.Builder unknownFields =
+          pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+        while (true) {
+          uint tag = input.ReadTag();
+          switch (tag) {
+            case 0:
+              this.UnknownFields = unknownFields.Build();
+              return this;
+            default: {
+              if (!ParseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.UnknownFields = unknownFields.Build();
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              Lo = input.ReadUInt64();
+              break;
+            }
+            case 16: {
+              Hi = input.ReadUInt32();
+              break;
+            }
+            case 24: {
+              SignScale = input.ReadUInt32();
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional uint64 lo = 1;
+      public bool HasLo {
+        get { return result.HasLo; }
+      }
+      public ulong Lo {
+        get { return result.Lo; }
+        set { SetLo(value); }
+      }
+      public Builder SetLo(ulong value) {
+        result.hasLo = true;
+        result.lo_ = value;
+        return this;
+      }
+      public Builder ClearLo() {
+        result.hasLo = false;
+        result.lo_ = 0UL;
+        return this;
+      }
+      
+      // optional uint32 hi = 2;
+      public bool HasHi {
+        get { return result.HasHi; }
+      }
+      public uint Hi {
+        get { return result.Hi; }
+        set { SetHi(value); }
+      }
+      public Builder SetHi(uint value) {
+        result.hasHi = true;
+        result.hi_ = value;
+        return this;
+      }
+      public Builder ClearHi() {
+        result.hasHi = false;
+        result.hi_ = 0;
+        return this;
+      }
+      
+      // optional uint32 signScale = 3;
+      public bool HasSignScale {
+        get { return result.HasSignScale; }
+      }
+      public uint SignScale {
+        get { return result.SignScale; }
+        set { SetSignScale(value); }
+      }
+      public Builder SetSignScale(uint value) {
+        result.hasSignScale = true;
+        result.signScale_ = value;
+        return this;
+      }
+      public Builder ClearSignScale() {
+        result.hasSignScale = false;
+        result.signScale_ = 0;
+        return this;
+      }
+    }
+  }
+  
+  #endregion
+  
+  #region Services
+  #endregion
+}

+ 1636 - 0
csharp/TestBed/NorthwindProtoFile.cs

@@ -0,0 +1,1636 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+namespace Northwind {
+  
+  public static partial class NorthwindProtoFile {
+  
+    #region Descriptor
+    public static pbd::FileDescriptor Descriptor {
+        get { return descriptor; }
+    }
+    private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom (
+        new byte[] {
+            0x0a, 0x0b, 0x6e, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x6e, 0x6f, 0x72, 0x74, 0x68, 
+            0x77, 0x69, 0x6e, 0x64, 0x1a, 0x09, 0x62, 0x63, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x08, 0x44, 
+            0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 
+            0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x64, 0x65, 
+            0x72, 0x22, 0xfa, 0x02, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0f, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 
+            0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x12, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 
+            0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x12, 0x12, 0x0a, 0x0a, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 
+            0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x12, 0x20, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x61, 0x74, 
+            0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 
+            0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 
+            0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 
+            0x22, 0x0a, 0x0b, 0x53, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 
+            0x32, 0x0d, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0f, 0x0a, 0x07, 0x53, 
+            0x68, 0x69, 0x70, 0x56, 0x69, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x12, 0x1d, 0x0a, 0x07, 0x46, 0x72, 0x65, 0x69, 
+            0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x65, 0x63, 0x69, 
+            0x6d, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x68, 0x69, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 
+            0x09, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x68, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 
+            0x28, 0x09, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x68, 0x69, 0x70, 0x43, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 
+            0x12, 0x12, 0x0a, 0x0a, 0x53, 0x68, 0x69, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 
+            0x12, 0x16, 0x0a, 0x0e, 0x53, 0x68, 0x69, 0x70, 0x50, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0d, 
+            0x20, 0x01, 0x28, 0x09, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 
+            0x0e, 0x20, 0x01, 0x28, 0x09, 0x12, 0x23, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 
+            0x32, 0x14, 0x2e, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 
+            0x6e, 0x65, 0x22, 0x74, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x0f, 0x0a, 0x07, 0x4f, 
+            0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x11, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x64, 
+            0x75, 0x63, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x12, 0x1f, 0x0a, 0x09, 0x55, 0x6e, 0x69, 0x74, 0x50, 
+            0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x65, 0x63, 
+            0x69, 0x6d, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x08, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 
+            0x28, 0x11, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 
+            0x42, 0x23, 0x48, 0x01, 0xc2, 0x3e, 0x09, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0xca, 0x3e, 0x12, 0x4e, 
+            0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 
+        }, new pbd::FileDescriptor[] {
+                global::Google.ProtocolBuffers.Bcl.BclProtoFile.Descriptor,
+        });
+    #endregion
+    
+    #region Extensions
+    #endregion
+    
+    #region Static variables
+    internal static readonly pbd::MessageDescriptor internal__static_northwind_Database__Descriptor 
+        = Descriptor.MessageTypes[0];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Northwind.Database, global::Northwind.Database.Builder> internal__static_northwind_Database__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Northwind.Database, global::Northwind.Database.Builder>(internal__static_northwind_Database__Descriptor,
+            new string[] { "Orders", });
+    internal static readonly pbd::MessageDescriptor internal__static_northwind_Order__Descriptor 
+        = Descriptor.MessageTypes[1];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Northwind.Order, global::Northwind.Order.Builder> internal__static_northwind_Order__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Northwind.Order, global::Northwind.Order.Builder>(internal__static_northwind_Order__Descriptor,
+            new string[] { "OrderID", "CustomerID", "EmployeeID", "OrderDate", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipRegion", "ShipPostalCode", "ShipCountry", "Lines", });
+    internal static readonly pbd::MessageDescriptor internal__static_northwind_OrderLine__Descriptor 
+        = Descriptor.MessageTypes[2];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Northwind.OrderLine, global::Northwind.OrderLine.Builder> internal__static_northwind_OrderLine__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Northwind.OrderLine, global::Northwind.OrderLine.Builder>(internal__static_northwind_OrderLine__Descriptor,
+            new string[] { "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount", });
+    #endregion
+    
+  }
+  
+  #region Enums
+  #endregion
+  
+  #region Messages
+  public sealed partial class Database : pb::GeneratedMessage<Database, Database.Builder> {
+    private static readonly Database defaultInstance = new Database();
+    public static Database DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override Database DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override Database ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_Database__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<Database, Database.Builder> InternalFieldAccessors {
+      get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_Database__FieldAccessorTable; }
+    }
+    
+    // repeated .northwind.Order Orders = 1;
+    private scg::IList<global::Northwind.Order> orders_ = pbc::Lists<global::Northwind.Order>.Empty;
+    public scg::IList<global::Northwind.Order> OrdersList {
+      get { return orders_; } 
+    }
+    public int OrdersCount
+      { get { return orders_.Count; }
+    }
+    public global::Northwind.Order GetOrders(int index) {
+      return orders_ [index];
+    }
+    
+    public override bool IsInitialized {
+      get {
+        return true;
+      }
+    }
+    
+    public override void WriteTo(pb::CodedOutputStream output) {
+      foreach (global::Northwind.Order element in OrdersList) {
+        output.WriteMessage(1, element);
+      }
+      UnknownFields.WriteTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public override int SerializedSize {
+      get {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+        
+        size = 0;
+        foreach (global::Northwind.Order element in OrdersList) {
+          size += pb::CodedOutputStream.ComputeMessageSize(1, element);
+        }
+        size += UnknownFields.SerializedSize;
+        memoizedSerializedSize = size;
+        return size;
+      }
+    }
+    
+    public static global::Northwind.Database ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Northwind.Database ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Northwind.Database ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Northwind.Database ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Northwind.Database ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Northwind.Database ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Northwind.Database ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Northwind.Database ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Northwind.Database prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Northwind.Database, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Northwind.Database.CreateBuilder()
+      internal Builder() {}
+      
+      global::Northwind.Database result = new global::Northwind.Database();
+      
+      protected override global::Northwind.Database MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Northwind.Database();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Northwind.Database.Descriptor; }
+      }
+      
+      public override global::Northwind.Database DefaultInstanceForType {
+        get { return global::Northwind.Database.DefaultInstance; }
+      }
+      
+      public override global::Northwind.Database BuildPartial() {
+        if (result.orders_ != pbc::Lists<global::Northwind.Order>.Empty) {
+          result.orders_ = pbc::Lists<global::Northwind.Order>.AsReadOnly(result.orders_);
+        }
+        global::Northwind.Database returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public override Builder MergeFrom(pb::IMessage other) {
+        if (other is global::Northwind.Database) {
+          return MergeFrom((global::Northwind.Database) other);
+        } else {
+          base.MergeFrom(other);
+          return this;
+        }
+      }
+      
+      public override Builder MergeFrom(global::Northwind.Database other) {
+        if (other == global::Northwind.Database.DefaultInstance) return this;
+        if (other.orders_.Count != 0) {
+          if (result.orders_.Count == 0) {
+            result.orders_ = new scg::List<global::Northwind.Order>();
+          }
+          base.AddRange(other.orders_, result.orders_);
+        }
+        this.MergeUnknownFields(other.UnknownFields);
+        return this;
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input) {
+        return MergeFrom(input, pb::ExtensionRegistry.Empty);
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+        pb::UnknownFieldSet.Builder unknownFields =
+          pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+        while (true) {
+          uint tag = input.ReadTag();
+          switch (tag) {
+            case 0:
+              this.UnknownFields = unknownFields.Build();
+              return this;
+            default: {
+              if (!ParseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.UnknownFields = unknownFields.Build();
+                return this;
+              }
+              break;
+            }
+            case 10: {
+              global::Northwind.Order.Builder subBuilder = global::Northwind.Order.CreateBuilder();
+              input.ReadMessage(subBuilder, extensionRegistry);
+              AddOrders(subBuilder.BuildPartial());
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // repeated .northwind.Order Orders = 1;
+      public scg::IList<global::Northwind.Order> OrdersList {
+        get { return pbc::Lists.AsReadOnly(result.orders_); }
+      }
+      public int OrdersCount {
+        get { return result.OrdersCount; }
+      }
+      public global::Northwind.Order GetOrders(int index) {
+        return result.GetOrders(index);
+      }
+      public Builder SetOrders(int index, global::Northwind.Order value) {
+        result.orders_[index] = value;
+        return this;
+      }
+      public Builder SetOrders(int index, global::Northwind.Order.Builder builderForValue) {
+        result.orders_[index] = builderForValue.Build();
+        return this;
+      }
+      public Builder AddOrders(global::Northwind.Order value) {
+        if (result.orders_ == pbc::Lists<global::Northwind.Order>.Empty) {
+          result.orders_ = new scg::List<global::Northwind.Order>();
+        }
+        result.orders_.Add(value);
+        return this;
+      }
+      public Builder AddOrders(global::Northwind.Order.Builder builderForValue) {
+        if (result.orders_ == pbc::Lists<global::Northwind.Order>.Empty) {
+          result.orders_ = new scg::List<global::Northwind.Order>();
+        }
+        result.orders_.Add(builderForValue.Build());
+        return this;
+      }
+      public Builder AddRangeOrders(scg::IEnumerable<global::Northwind.Order> values) {
+        if (result.orders_ == pbc::Lists<global::Northwind.Order>.Empty) {
+          result.orders_ = new scg::List<global::Northwind.Order>();
+        }
+        base.AddRange(values, result.orders_);
+        return this;
+      }
+      public Builder ClearOrders() {
+        result.orders_ = pbc::Lists<global::Northwind.Order>.Empty;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class Order : pb::GeneratedMessage<Order, Order.Builder> {
+    private static readonly Order defaultInstance = new Order();
+    public static Order DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override Order DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override Order ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_Order__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<Order, Order.Builder> InternalFieldAccessors {
+      get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_Order__FieldAccessorTable; }
+    }
+    
+    // optional int32 OrderID = 1;
+    private bool hasOrderID;
+    private int orderID_ = 0;
+    public bool HasOrderID {
+      get { return hasOrderID; }
+    }
+    public int OrderID {
+      get { return orderID_; }
+    }
+    
+    // optional string CustomerID = 2;
+    private bool hasCustomerID;
+    private string customerID_ = "";
+    public bool HasCustomerID {
+      get { return hasCustomerID; }
+    }
+    public string CustomerID {
+      get { return customerID_; }
+    }
+    
+    // optional int32 EmployeeID = 3;
+    private bool hasEmployeeID;
+    private int employeeID_ = 0;
+    public bool HasEmployeeID {
+      get { return hasEmployeeID; }
+    }
+    public int EmployeeID {
+      get { return employeeID_; }
+    }
+    
+    // optional .bcl.DateTime OrderDate = 4;
+    private bool hasOrderDate;
+    private global::Google.ProtocolBuffers.Bcl.DateTime orderDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance;
+    public bool HasOrderDate {
+      get { return hasOrderDate; }
+    }
+    public global::Google.ProtocolBuffers.Bcl.DateTime OrderDate {
+      get { return orderDate_; }
+    }
+    
+    // optional .bcl.DateTime RequiredDate = 5;
+    private bool hasRequiredDate;
+    private global::Google.ProtocolBuffers.Bcl.DateTime requiredDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance;
+    public bool HasRequiredDate {
+      get { return hasRequiredDate; }
+    }
+    public global::Google.ProtocolBuffers.Bcl.DateTime RequiredDate {
+      get { return requiredDate_; }
+    }
+    
+    // optional .bcl.DateTime ShippedDate = 6;
+    private bool hasShippedDate;
+    private global::Google.ProtocolBuffers.Bcl.DateTime shippedDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance;
+    public bool HasShippedDate {
+      get { return hasShippedDate; }
+    }
+    public global::Google.ProtocolBuffers.Bcl.DateTime ShippedDate {
+      get { return shippedDate_; }
+    }
+    
+    // optional int32 ShipVia = 7;
+    private bool hasShipVia;
+    private int shipVia_ = 0;
+    public bool HasShipVia {
+      get { return hasShipVia; }
+    }
+    public int ShipVia {
+      get { return shipVia_; }
+    }
+    
+    // optional .bcl.Decimal Freight = 8;
+    private bool hasFreight;
+    private global::Google.ProtocolBuffers.Bcl.Decimal freight_ = global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance;
+    public bool HasFreight {
+      get { return hasFreight; }
+    }
+    public global::Google.ProtocolBuffers.Bcl.Decimal Freight {
+      get { return freight_; }
+    }
+    
+    // optional string ShipName = 9;
+    private bool hasShipName;
+    private string shipName_ = "";
+    public bool HasShipName {
+      get { return hasShipName; }
+    }
+    public string ShipName {
+      get { return shipName_; }
+    }
+    
+    // optional string ShipAddress = 10;
+    private bool hasShipAddress;
+    private string shipAddress_ = "";
+    public bool HasShipAddress {
+      get { return hasShipAddress; }
+    }
+    public string ShipAddress {
+      get { return shipAddress_; }
+    }
+    
+    // optional string ShipCity = 11;
+    private bool hasShipCity;
+    private string shipCity_ = "";
+    public bool HasShipCity {
+      get { return hasShipCity; }
+    }
+    public string ShipCity {
+      get { return shipCity_; }
+    }
+    
+    // optional string ShipRegion = 12;
+    private bool hasShipRegion;
+    private string shipRegion_ = "";
+    public bool HasShipRegion {
+      get { return hasShipRegion; }
+    }
+    public string ShipRegion {
+      get { return shipRegion_; }
+    }
+    
+    // optional string ShipPostalCode = 13;
+    private bool hasShipPostalCode;
+    private string shipPostalCode_ = "";
+    public bool HasShipPostalCode {
+      get { return hasShipPostalCode; }
+    }
+    public string ShipPostalCode {
+      get { return shipPostalCode_; }
+    }
+    
+    // optional string ShipCountry = 14;
+    private bool hasShipCountry;
+    private string shipCountry_ = "";
+    public bool HasShipCountry {
+      get { return hasShipCountry; }
+    }
+    public string ShipCountry {
+      get { return shipCountry_; }
+    }
+    
+    // repeated .northwind.OrderLine Lines = 15;
+    private scg::IList<global::Northwind.OrderLine> lines_ = pbc::Lists<global::Northwind.OrderLine>.Empty;
+    public scg::IList<global::Northwind.OrderLine> LinesList {
+      get { return lines_; } 
+    }
+    public int LinesCount
+      { get { return lines_.Count; }
+    }
+    public global::Northwind.OrderLine GetLines(int index) {
+      return lines_ [index];
+    }
+    
+    public override bool IsInitialized {
+      get {
+        return true;
+      }
+    }
+    
+    public override void WriteTo(pb::CodedOutputStream output) {
+      if (HasOrderID) {
+        output.WriteInt32(1, OrderID);
+      }
+      if (HasCustomerID) {
+        output.WriteString(2, CustomerID);
+      }
+      if (HasEmployeeID) {
+        output.WriteInt32(3, EmployeeID);
+      }
+      if (HasOrderDate) {
+        output.WriteMessage(4, OrderDate);
+      }
+      if (HasRequiredDate) {
+        output.WriteMessage(5, RequiredDate);
+      }
+      if (HasShippedDate) {
+        output.WriteMessage(6, ShippedDate);
+      }
+      if (HasShipVia) {
+        output.WriteInt32(7, ShipVia);
+      }
+      if (HasFreight) {
+        output.WriteMessage(8, Freight);
+      }
+      if (HasShipName) {
+        output.WriteString(9, ShipName);
+      }
+      if (HasShipAddress) {
+        output.WriteString(10, ShipAddress);
+      }
+      if (HasShipCity) {
+        output.WriteString(11, ShipCity);
+      }
+      if (HasShipRegion) {
+        output.WriteString(12, ShipRegion);
+      }
+      if (HasShipPostalCode) {
+        output.WriteString(13, ShipPostalCode);
+      }
+      if (HasShipCountry) {
+        output.WriteString(14, ShipCountry);
+      }
+      foreach (global::Northwind.OrderLine element in LinesList) {
+        output.WriteMessage(15, element);
+      }
+      UnknownFields.WriteTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public override int SerializedSize {
+      get {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+        
+        size = 0;
+        if (HasOrderID) {
+          size += pb::CodedOutputStream.ComputeInt32Size(1, OrderID);
+        }
+        if (HasCustomerID) {
+          size += pb::CodedOutputStream.ComputeStringSize(2, CustomerID);
+        }
+        if (HasEmployeeID) {
+          size += pb::CodedOutputStream.ComputeInt32Size(3, EmployeeID);
+        }
+        if (HasOrderDate) {
+          size += pb::CodedOutputStream.ComputeMessageSize(4, OrderDate);
+        }
+        if (HasRequiredDate) {
+          size += pb::CodedOutputStream.ComputeMessageSize(5, RequiredDate);
+        }
+        if (HasShippedDate) {
+          size += pb::CodedOutputStream.ComputeMessageSize(6, ShippedDate);
+        }
+        if (HasShipVia) {
+          size += pb::CodedOutputStream.ComputeInt32Size(7, ShipVia);
+        }
+        if (HasFreight) {
+          size += pb::CodedOutputStream.ComputeMessageSize(8, Freight);
+        }
+        if (HasShipName) {
+          size += pb::CodedOutputStream.ComputeStringSize(9, ShipName);
+        }
+        if (HasShipAddress) {
+          size += pb::CodedOutputStream.ComputeStringSize(10, ShipAddress);
+        }
+        if (HasShipCity) {
+          size += pb::CodedOutputStream.ComputeStringSize(11, ShipCity);
+        }
+        if (HasShipRegion) {
+          size += pb::CodedOutputStream.ComputeStringSize(12, ShipRegion);
+        }
+        if (HasShipPostalCode) {
+          size += pb::CodedOutputStream.ComputeStringSize(13, ShipPostalCode);
+        }
+        if (HasShipCountry) {
+          size += pb::CodedOutputStream.ComputeStringSize(14, ShipCountry);
+        }
+        foreach (global::Northwind.OrderLine element in LinesList) {
+          size += pb::CodedOutputStream.ComputeMessageSize(15, element);
+        }
+        size += UnknownFields.SerializedSize;
+        memoizedSerializedSize = size;
+        return size;
+      }
+    }
+    
+    public static global::Northwind.Order ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Northwind.Order ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Northwind.Order ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Northwind.Order ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Northwind.Order ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Northwind.Order ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Northwind.Order ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Northwind.Order ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Northwind.Order prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Northwind.Order, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Northwind.Order.CreateBuilder()
+      internal Builder() {}
+      
+      global::Northwind.Order result = new global::Northwind.Order();
+      
+      protected override global::Northwind.Order MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Northwind.Order();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Northwind.Order.Descriptor; }
+      }
+      
+      public override global::Northwind.Order DefaultInstanceForType {
+        get { return global::Northwind.Order.DefaultInstance; }
+      }
+      
+      public override global::Northwind.Order BuildPartial() {
+        if (result.lines_ != pbc::Lists<global::Northwind.OrderLine>.Empty) {
+          result.lines_ = pbc::Lists<global::Northwind.OrderLine>.AsReadOnly(result.lines_);
+        }
+        global::Northwind.Order returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public override Builder MergeFrom(pb::IMessage other) {
+        if (other is global::Northwind.Order) {
+          return MergeFrom((global::Northwind.Order) other);
+        } else {
+          base.MergeFrom(other);
+          return this;
+        }
+      }
+      
+      public override Builder MergeFrom(global::Northwind.Order other) {
+        if (other == global::Northwind.Order.DefaultInstance) return this;
+        if (other.HasOrderID) {
+          OrderID = other.OrderID;
+        }
+        if (other.HasCustomerID) {
+          CustomerID = other.CustomerID;
+        }
+        if (other.HasEmployeeID) {
+          EmployeeID = other.EmployeeID;
+        }
+        if (other.HasOrderDate) {
+          MergeOrderDate(other.OrderDate);
+        }
+        if (other.HasRequiredDate) {
+          MergeRequiredDate(other.RequiredDate);
+        }
+        if (other.HasShippedDate) {
+          MergeShippedDate(other.ShippedDate);
+        }
+        if (other.HasShipVia) {
+          ShipVia = other.ShipVia;
+        }
+        if (other.HasFreight) {
+          MergeFreight(other.Freight);
+        }
+        if (other.HasShipName) {
+          ShipName = other.ShipName;
+        }
+        if (other.HasShipAddress) {
+          ShipAddress = other.ShipAddress;
+        }
+        if (other.HasShipCity) {
+          ShipCity = other.ShipCity;
+        }
+        if (other.HasShipRegion) {
+          ShipRegion = other.ShipRegion;
+        }
+        if (other.HasShipPostalCode) {
+          ShipPostalCode = other.ShipPostalCode;
+        }
+        if (other.HasShipCountry) {
+          ShipCountry = other.ShipCountry;
+        }
+        if (other.lines_.Count != 0) {
+          if (result.lines_.Count == 0) {
+            result.lines_ = new scg::List<global::Northwind.OrderLine>();
+          }
+          base.AddRange(other.lines_, result.lines_);
+        }
+        this.MergeUnknownFields(other.UnknownFields);
+        return this;
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input) {
+        return MergeFrom(input, pb::ExtensionRegistry.Empty);
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+        pb::UnknownFieldSet.Builder unknownFields =
+          pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+        while (true) {
+          uint tag = input.ReadTag();
+          switch (tag) {
+            case 0:
+              this.UnknownFields = unknownFields.Build();
+              return this;
+            default: {
+              if (!ParseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.UnknownFields = unknownFields.Build();
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              OrderID = input.ReadInt32();
+              break;
+            }
+            case 18: {
+              CustomerID = input.ReadString();
+              break;
+            }
+            case 24: {
+              EmployeeID = input.ReadInt32();
+              break;
+            }
+            case 34: {
+              global::Google.ProtocolBuffers.Bcl.DateTime.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder();
+              if (HasOrderDate) {
+                subBuilder.MergeFrom(OrderDate);
+              }
+              input.ReadMessage(subBuilder, extensionRegistry);
+              OrderDate = subBuilder.BuildPartial();
+              break;
+            }
+            case 42: {
+              global::Google.ProtocolBuffers.Bcl.DateTime.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder();
+              if (HasRequiredDate) {
+                subBuilder.MergeFrom(RequiredDate);
+              }
+              input.ReadMessage(subBuilder, extensionRegistry);
+              RequiredDate = subBuilder.BuildPartial();
+              break;
+            }
+            case 50: {
+              global::Google.ProtocolBuffers.Bcl.DateTime.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder();
+              if (HasShippedDate) {
+                subBuilder.MergeFrom(ShippedDate);
+              }
+              input.ReadMessage(subBuilder, extensionRegistry);
+              ShippedDate = subBuilder.BuildPartial();
+              break;
+            }
+            case 56: {
+              ShipVia = input.ReadInt32();
+              break;
+            }
+            case 66: {
+              global::Google.ProtocolBuffers.Bcl.Decimal.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder();
+              if (HasFreight) {
+                subBuilder.MergeFrom(Freight);
+              }
+              input.ReadMessage(subBuilder, extensionRegistry);
+              Freight = subBuilder.BuildPartial();
+              break;
+            }
+            case 74: {
+              ShipName = input.ReadString();
+              break;
+            }
+            case 82: {
+              ShipAddress = input.ReadString();
+              break;
+            }
+            case 90: {
+              ShipCity = input.ReadString();
+              break;
+            }
+            case 98: {
+              ShipRegion = input.ReadString();
+              break;
+            }
+            case 106: {
+              ShipPostalCode = input.ReadString();
+              break;
+            }
+            case 114: {
+              ShipCountry = input.ReadString();
+              break;
+            }
+            case 122: {
+              global::Northwind.OrderLine.Builder subBuilder = global::Northwind.OrderLine.CreateBuilder();
+              input.ReadMessage(subBuilder, extensionRegistry);
+              AddLines(subBuilder.BuildPartial());
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional int32 OrderID = 1;
+      public bool HasOrderID {
+        get { return result.HasOrderID; }
+      }
+      public int OrderID {
+        get { return result.OrderID; }
+        set { SetOrderID(value); }
+      }
+      public Builder SetOrderID(int value) {
+        result.hasOrderID = true;
+        result.orderID_ = value;
+        return this;
+      }
+      public Builder ClearOrderID() {
+        result.hasOrderID = false;
+        result.orderID_ = 0;
+        return this;
+      }
+      
+      // optional string CustomerID = 2;
+      public bool HasCustomerID {
+        get { return result.HasCustomerID; }
+      }
+      public string CustomerID {
+        get { return result.CustomerID; }
+        set { SetCustomerID(value); }
+      }
+      public Builder SetCustomerID(string value) {
+        result.hasCustomerID = true;
+        result.customerID_ = value;
+        return this;
+      }
+      public Builder ClearCustomerID() {
+        result.hasCustomerID = false;
+        result.customerID_ = "";
+        return this;
+      }
+      
+      // optional int32 EmployeeID = 3;
+      public bool HasEmployeeID {
+        get { return result.HasEmployeeID; }
+      }
+      public int EmployeeID {
+        get { return result.EmployeeID; }
+        set { SetEmployeeID(value); }
+      }
+      public Builder SetEmployeeID(int value) {
+        result.hasEmployeeID = true;
+        result.employeeID_ = value;
+        return this;
+      }
+      public Builder ClearEmployeeID() {
+        result.hasEmployeeID = false;
+        result.employeeID_ = 0;
+        return this;
+      }
+      
+      // optional .bcl.DateTime OrderDate = 4;
+      public bool HasOrderDate {
+        get { return result.HasOrderDate; }
+      }
+      public global::Google.ProtocolBuffers.Bcl.DateTime OrderDate {
+        get { return result.OrderDate; }
+        set { SetOrderDate(value); }
+      }
+      public Builder SetOrderDate(global::Google.ProtocolBuffers.Bcl.DateTime value) {
+        result.hasOrderDate = true;
+        result.orderDate_ = value;
+        return this;
+      }
+      public Builder SetOrderDate(global::Google.ProtocolBuffers.Bcl.DateTime.Builder builderForValue) {
+        result.hasOrderDate = true;
+        result.orderDate_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeOrderDate(global::Google.ProtocolBuffers.Bcl.DateTime value) {
+        if (result.HasOrderDate &&
+            result.orderDate_ != global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance) {
+          result.orderDate_ =
+            global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder(result.orderDate_).MergeFrom(value).BuildPartial();
+        } else {
+          result.orderDate_ = value;
+        }
+        result.hasOrderDate = true;
+        return this;
+      }
+      public Builder ClearOrderDate() {
+        result.hasOrderDate = false;
+        result.orderDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance;
+        return this;
+      }
+      
+      // optional .bcl.DateTime RequiredDate = 5;
+      public bool HasRequiredDate {
+        get { return result.HasRequiredDate; }
+      }
+      public global::Google.ProtocolBuffers.Bcl.DateTime RequiredDate {
+        get { return result.RequiredDate; }
+        set { SetRequiredDate(value); }
+      }
+      public Builder SetRequiredDate(global::Google.ProtocolBuffers.Bcl.DateTime value) {
+        result.hasRequiredDate = true;
+        result.requiredDate_ = value;
+        return this;
+      }
+      public Builder SetRequiredDate(global::Google.ProtocolBuffers.Bcl.DateTime.Builder builderForValue) {
+        result.hasRequiredDate = true;
+        result.requiredDate_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeRequiredDate(global::Google.ProtocolBuffers.Bcl.DateTime value) {
+        if (result.HasRequiredDate &&
+            result.requiredDate_ != global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance) {
+          result.requiredDate_ =
+            global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder(result.requiredDate_).MergeFrom(value).BuildPartial();
+        } else {
+          result.requiredDate_ = value;
+        }
+        result.hasRequiredDate = true;
+        return this;
+      }
+      public Builder ClearRequiredDate() {
+        result.hasRequiredDate = false;
+        result.requiredDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance;
+        return this;
+      }
+      
+      // optional .bcl.DateTime ShippedDate = 6;
+      public bool HasShippedDate {
+        get { return result.HasShippedDate; }
+      }
+      public global::Google.ProtocolBuffers.Bcl.DateTime ShippedDate {
+        get { return result.ShippedDate; }
+        set { SetShippedDate(value); }
+      }
+      public Builder SetShippedDate(global::Google.ProtocolBuffers.Bcl.DateTime value) {
+        result.hasShippedDate = true;
+        result.shippedDate_ = value;
+        return this;
+      }
+      public Builder SetShippedDate(global::Google.ProtocolBuffers.Bcl.DateTime.Builder builderForValue) {
+        result.hasShippedDate = true;
+        result.shippedDate_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeShippedDate(global::Google.ProtocolBuffers.Bcl.DateTime value) {
+        if (result.HasShippedDate &&
+            result.shippedDate_ != global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance) {
+          result.shippedDate_ =
+            global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder(result.shippedDate_).MergeFrom(value).BuildPartial();
+        } else {
+          result.shippedDate_ = value;
+        }
+        result.hasShippedDate = true;
+        return this;
+      }
+      public Builder ClearShippedDate() {
+        result.hasShippedDate = false;
+        result.shippedDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance;
+        return this;
+      }
+      
+      // optional int32 ShipVia = 7;
+      public bool HasShipVia {
+        get { return result.HasShipVia; }
+      }
+      public int ShipVia {
+        get { return result.ShipVia; }
+        set { SetShipVia(value); }
+      }
+      public Builder SetShipVia(int value) {
+        result.hasShipVia = true;
+        result.shipVia_ = value;
+        return this;
+      }
+      public Builder ClearShipVia() {
+        result.hasShipVia = false;
+        result.shipVia_ = 0;
+        return this;
+      }
+      
+      // optional .bcl.Decimal Freight = 8;
+      public bool HasFreight {
+        get { return result.HasFreight; }
+      }
+      public global::Google.ProtocolBuffers.Bcl.Decimal Freight {
+        get { return result.Freight; }
+        set { SetFreight(value); }
+      }
+      public Builder SetFreight(global::Google.ProtocolBuffers.Bcl.Decimal value) {
+        result.hasFreight = true;
+        result.freight_ = value;
+        return this;
+      }
+      public Builder SetFreight(global::Google.ProtocolBuffers.Bcl.Decimal.Builder builderForValue) {
+        result.hasFreight = true;
+        result.freight_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeFreight(global::Google.ProtocolBuffers.Bcl.Decimal value) {
+        if (result.HasFreight &&
+            result.freight_ != global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance) {
+          result.freight_ =
+            global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder(result.freight_).MergeFrom(value).BuildPartial();
+        } else {
+          result.freight_ = value;
+        }
+        result.hasFreight = true;
+        return this;
+      }
+      public Builder ClearFreight() {
+        result.hasFreight = false;
+        result.freight_ = global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance;
+        return this;
+      }
+      
+      // optional string ShipName = 9;
+      public bool HasShipName {
+        get { return result.HasShipName; }
+      }
+      public string ShipName {
+        get { return result.ShipName; }
+        set { SetShipName(value); }
+      }
+      public Builder SetShipName(string value) {
+        result.hasShipName = true;
+        result.shipName_ = value;
+        return this;
+      }
+      public Builder ClearShipName() {
+        result.hasShipName = false;
+        result.shipName_ = "";
+        return this;
+      }
+      
+      // optional string ShipAddress = 10;
+      public bool HasShipAddress {
+        get { return result.HasShipAddress; }
+      }
+      public string ShipAddress {
+        get { return result.ShipAddress; }
+        set { SetShipAddress(value); }
+      }
+      public Builder SetShipAddress(string value) {
+        result.hasShipAddress = true;
+        result.shipAddress_ = value;
+        return this;
+      }
+      public Builder ClearShipAddress() {
+        result.hasShipAddress = false;
+        result.shipAddress_ = "";
+        return this;
+      }
+      
+      // optional string ShipCity = 11;
+      public bool HasShipCity {
+        get { return result.HasShipCity; }
+      }
+      public string ShipCity {
+        get { return result.ShipCity; }
+        set { SetShipCity(value); }
+      }
+      public Builder SetShipCity(string value) {
+        result.hasShipCity = true;
+        result.shipCity_ = value;
+        return this;
+      }
+      public Builder ClearShipCity() {
+        result.hasShipCity = false;
+        result.shipCity_ = "";
+        return this;
+      }
+      
+      // optional string ShipRegion = 12;
+      public bool HasShipRegion {
+        get { return result.HasShipRegion; }
+      }
+      public string ShipRegion {
+        get { return result.ShipRegion; }
+        set { SetShipRegion(value); }
+      }
+      public Builder SetShipRegion(string value) {
+        result.hasShipRegion = true;
+        result.shipRegion_ = value;
+        return this;
+      }
+      public Builder ClearShipRegion() {
+        result.hasShipRegion = false;
+        result.shipRegion_ = "";
+        return this;
+      }
+      
+      // optional string ShipPostalCode = 13;
+      public bool HasShipPostalCode {
+        get { return result.HasShipPostalCode; }
+      }
+      public string ShipPostalCode {
+        get { return result.ShipPostalCode; }
+        set { SetShipPostalCode(value); }
+      }
+      public Builder SetShipPostalCode(string value) {
+        result.hasShipPostalCode = true;
+        result.shipPostalCode_ = value;
+        return this;
+      }
+      public Builder ClearShipPostalCode() {
+        result.hasShipPostalCode = false;
+        result.shipPostalCode_ = "";
+        return this;
+      }
+      
+      // optional string ShipCountry = 14;
+      public bool HasShipCountry {
+        get { return result.HasShipCountry; }
+      }
+      public string ShipCountry {
+        get { return result.ShipCountry; }
+        set { SetShipCountry(value); }
+      }
+      public Builder SetShipCountry(string value) {
+        result.hasShipCountry = true;
+        result.shipCountry_ = value;
+        return this;
+      }
+      public Builder ClearShipCountry() {
+        result.hasShipCountry = false;
+        result.shipCountry_ = "";
+        return this;
+      }
+      
+      // repeated .northwind.OrderLine Lines = 15;
+      public scg::IList<global::Northwind.OrderLine> LinesList {
+        get { return pbc::Lists.AsReadOnly(result.lines_); }
+      }
+      public int LinesCount {
+        get { return result.LinesCount; }
+      }
+      public global::Northwind.OrderLine GetLines(int index) {
+        return result.GetLines(index);
+      }
+      public Builder SetLines(int index, global::Northwind.OrderLine value) {
+        result.lines_[index] = value;
+        return this;
+      }
+      public Builder SetLines(int index, global::Northwind.OrderLine.Builder builderForValue) {
+        result.lines_[index] = builderForValue.Build();
+        return this;
+      }
+      public Builder AddLines(global::Northwind.OrderLine value) {
+        if (result.lines_ == pbc::Lists<global::Northwind.OrderLine>.Empty) {
+          result.lines_ = new scg::List<global::Northwind.OrderLine>();
+        }
+        result.lines_.Add(value);
+        return this;
+      }
+      public Builder AddLines(global::Northwind.OrderLine.Builder builderForValue) {
+        if (result.lines_ == pbc::Lists<global::Northwind.OrderLine>.Empty) {
+          result.lines_ = new scg::List<global::Northwind.OrderLine>();
+        }
+        result.lines_.Add(builderForValue.Build());
+        return this;
+      }
+      public Builder AddRangeLines(scg::IEnumerable<global::Northwind.OrderLine> values) {
+        if (result.lines_ == pbc::Lists<global::Northwind.OrderLine>.Empty) {
+          result.lines_ = new scg::List<global::Northwind.OrderLine>();
+        }
+        base.AddRange(values, result.lines_);
+        return this;
+      }
+      public Builder ClearLines() {
+        result.lines_ = pbc::Lists<global::Northwind.OrderLine>.Empty;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class OrderLine : pb::GeneratedMessage<OrderLine, OrderLine.Builder> {
+    private static readonly OrderLine defaultInstance = new OrderLine();
+    public static OrderLine DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override OrderLine DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override OrderLine ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_OrderLine__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<OrderLine, OrderLine.Builder> InternalFieldAccessors {
+      get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_OrderLine__FieldAccessorTable; }
+    }
+    
+    // optional int32 OrderID = 1;
+    private bool hasOrderID;
+    private int orderID_ = 0;
+    public bool HasOrderID {
+      get { return hasOrderID; }
+    }
+    public int OrderID {
+      get { return orderID_; }
+    }
+    
+    // optional int32 ProductID = 2;
+    private bool hasProductID;
+    private int productID_ = 0;
+    public bool HasProductID {
+      get { return hasProductID; }
+    }
+    public int ProductID {
+      get { return productID_; }
+    }
+    
+    // optional .bcl.Decimal UnitPrice = 3;
+    private bool hasUnitPrice;
+    private global::Google.ProtocolBuffers.Bcl.Decimal unitPrice_ = global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance;
+    public bool HasUnitPrice {
+      get { return hasUnitPrice; }
+    }
+    public global::Google.ProtocolBuffers.Bcl.Decimal UnitPrice {
+      get { return unitPrice_; }
+    }
+    
+    // optional sint32 Quantity = 4;
+    private bool hasQuantity;
+    private int quantity_ = 0;
+    public bool HasQuantity {
+      get { return hasQuantity; }
+    }
+    public int Quantity {
+      get { return quantity_; }
+    }
+    
+    // optional float Discount = 5;
+    private bool hasDiscount;
+    private float discount_ = 0F;
+    public bool HasDiscount {
+      get { return hasDiscount; }
+    }
+    public float Discount {
+      get { return discount_; }
+    }
+    
+    public override bool IsInitialized {
+      get {
+        return true;
+      }
+    }
+    
+    public override void WriteTo(pb::CodedOutputStream output) {
+      if (HasOrderID) {
+        output.WriteInt32(1, OrderID);
+      }
+      if (HasProductID) {
+        output.WriteInt32(2, ProductID);
+      }
+      if (HasUnitPrice) {
+        output.WriteMessage(3, UnitPrice);
+      }
+      if (HasQuantity) {
+        output.WriteSInt32(4, Quantity);
+      }
+      if (HasDiscount) {
+        output.WriteFloat(5, Discount);
+      }
+      UnknownFields.WriteTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public override int SerializedSize {
+      get {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+        
+        size = 0;
+        if (HasOrderID) {
+          size += pb::CodedOutputStream.ComputeInt32Size(1, OrderID);
+        }
+        if (HasProductID) {
+          size += pb::CodedOutputStream.ComputeInt32Size(2, ProductID);
+        }
+        if (HasUnitPrice) {
+          size += pb::CodedOutputStream.ComputeMessageSize(3, UnitPrice);
+        }
+        if (HasQuantity) {
+          size += pb::CodedOutputStream.ComputeSInt32Size(4, Quantity);
+        }
+        if (HasDiscount) {
+          size += pb::CodedOutputStream.ComputeFloatSize(5, Discount);
+        }
+        size += UnknownFields.SerializedSize;
+        memoizedSerializedSize = size;
+        return size;
+      }
+    }
+    
+    public static global::Northwind.OrderLine ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Northwind.OrderLine ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Northwind.OrderLine ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Northwind.OrderLine ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Northwind.OrderLine ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Northwind.OrderLine ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Northwind.OrderLine ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Northwind.OrderLine ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Northwind.OrderLine prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Northwind.OrderLine, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Northwind.OrderLine.CreateBuilder()
+      internal Builder() {}
+      
+      global::Northwind.OrderLine result = new global::Northwind.OrderLine();
+      
+      protected override global::Northwind.OrderLine MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Northwind.OrderLine();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Northwind.OrderLine.Descriptor; }
+      }
+      
+      public override global::Northwind.OrderLine DefaultInstanceForType {
+        get { return global::Northwind.OrderLine.DefaultInstance; }
+      }
+      
+      public override global::Northwind.OrderLine BuildPartial() {
+        global::Northwind.OrderLine returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public override Builder MergeFrom(pb::IMessage other) {
+        if (other is global::Northwind.OrderLine) {
+          return MergeFrom((global::Northwind.OrderLine) other);
+        } else {
+          base.MergeFrom(other);
+          return this;
+        }
+      }
+      
+      public override Builder MergeFrom(global::Northwind.OrderLine other) {
+        if (other == global::Northwind.OrderLine.DefaultInstance) return this;
+        if (other.HasOrderID) {
+          OrderID = other.OrderID;
+        }
+        if (other.HasProductID) {
+          ProductID = other.ProductID;
+        }
+        if (other.HasUnitPrice) {
+          MergeUnitPrice(other.UnitPrice);
+        }
+        if (other.HasQuantity) {
+          Quantity = other.Quantity;
+        }
+        if (other.HasDiscount) {
+          Discount = other.Discount;
+        }
+        this.MergeUnknownFields(other.UnknownFields);
+        return this;
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input) {
+        return MergeFrom(input, pb::ExtensionRegistry.Empty);
+      }
+      
+      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+        pb::UnknownFieldSet.Builder unknownFields =
+          pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+        while (true) {
+          uint tag = input.ReadTag();
+          switch (tag) {
+            case 0:
+              this.UnknownFields = unknownFields.Build();
+              return this;
+            default: {
+              if (!ParseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.UnknownFields = unknownFields.Build();
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              OrderID = input.ReadInt32();
+              break;
+            }
+            case 16: {
+              ProductID = input.ReadInt32();
+              break;
+            }
+            case 26: {
+              global::Google.ProtocolBuffers.Bcl.Decimal.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder();
+              if (HasUnitPrice) {
+                subBuilder.MergeFrom(UnitPrice);
+              }
+              input.ReadMessage(subBuilder, extensionRegistry);
+              UnitPrice = subBuilder.BuildPartial();
+              break;
+            }
+            case 32: {
+              Quantity = input.ReadSInt32();
+              break;
+            }
+            case 45: {
+              Discount = input.ReadFloat();
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional int32 OrderID = 1;
+      public bool HasOrderID {
+        get { return result.HasOrderID; }
+      }
+      public int OrderID {
+        get { return result.OrderID; }
+        set { SetOrderID(value); }
+      }
+      public Builder SetOrderID(int value) {
+        result.hasOrderID = true;
+        result.orderID_ = value;
+        return this;
+      }
+      public Builder ClearOrderID() {
+        result.hasOrderID = false;
+        result.orderID_ = 0;
+        return this;
+      }
+      
+      // optional int32 ProductID = 2;
+      public bool HasProductID {
+        get { return result.HasProductID; }
+      }
+      public int ProductID {
+        get { return result.ProductID; }
+        set { SetProductID(value); }
+      }
+      public Builder SetProductID(int value) {
+        result.hasProductID = true;
+        result.productID_ = value;
+        return this;
+      }
+      public Builder ClearProductID() {
+        result.hasProductID = false;
+        result.productID_ = 0;
+        return this;
+      }
+      
+      // optional .bcl.Decimal UnitPrice = 3;
+      public bool HasUnitPrice {
+        get { return result.HasUnitPrice; }
+      }
+      public global::Google.ProtocolBuffers.Bcl.Decimal UnitPrice {
+        get { return result.UnitPrice; }
+        set { SetUnitPrice(value); }
+      }
+      public Builder SetUnitPrice(global::Google.ProtocolBuffers.Bcl.Decimal value) {
+        result.hasUnitPrice = true;
+        result.unitPrice_ = value;
+        return this;
+      }
+      public Builder SetUnitPrice(global::Google.ProtocolBuffers.Bcl.Decimal.Builder builderForValue) {
+        result.hasUnitPrice = true;
+        result.unitPrice_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeUnitPrice(global::Google.ProtocolBuffers.Bcl.Decimal value) {
+        if (result.HasUnitPrice &&
+            result.unitPrice_ != global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance) {
+          result.unitPrice_ =
+            global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder(result.unitPrice_).MergeFrom(value).BuildPartial();
+        } else {
+          result.unitPrice_ = value;
+        }
+        result.hasUnitPrice = true;
+        return this;
+      }
+      public Builder ClearUnitPrice() {
+        result.hasUnitPrice = false;
+        result.unitPrice_ = global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance;
+        return this;
+      }
+      
+      // optional sint32 Quantity = 4;
+      public bool HasQuantity {
+        get { return result.HasQuantity; }
+      }
+      public int Quantity {
+        get { return result.Quantity; }
+        set { SetQuantity(value); }
+      }
+      public Builder SetQuantity(int value) {
+        result.hasQuantity = true;
+        result.quantity_ = value;
+        return this;
+      }
+      public Builder ClearQuantity() {
+        result.hasQuantity = false;
+        result.quantity_ = 0;
+        return this;
+      }
+      
+      // optional float Discount = 5;
+      public bool HasDiscount {
+        get { return result.HasDiscount; }
+      }
+      public float Discount {
+        get { return result.Discount; }
+        set { SetDiscount(value); }
+      }
+      public Builder SetDiscount(float value) {
+        result.hasDiscount = true;
+        result.discount_ = value;
+        return this;
+      }
+      public Builder ClearDiscount() {
+        result.hasDiscount = false;
+        result.discount_ = 0F;
+        return this;
+      }
+    }
+  }
+  
+  #endregion
+  
+  #region Services
+  #endregion
+}

+ 44 - 0
csharp/TestBed/Program.cs

@@ -0,0 +1,44 @@
+using System;
+using System.Diagnostics;
+using System.IO;
+
+namespace TestBed {
+
+  // Avoid using the .NET 3.5 System.Action delegate
+  delegate void Action();
+
+  class Program {
+
+    private static readonly TimeSpan TimeLimit = TimeSpan.FromMinutes(1);
+    private const int IterationsPerChunk = 50;
+
+    static void Main(string[] args) {
+
+      // Deserialize once to warm up the JIT and give us data use later
+      byte[] data = File.ReadAllBytes(args[0]);
+      Northwind.Database fast = Northwind.Database.ParseFrom(data);
+      SlowNorthwind.Database slow = SlowNorthwind.Database.ParseFrom(data);
+
+      Benchmark("Fast deserialize", () => Northwind.Database.ParseFrom(data));
+      Benchmark("Fast serialize", () => fast.ToByteArray());
+      Benchmark("Slow deserialize", () => SlowNorthwind.Database.ParseFrom(data));
+      Benchmark("Slow serialize", () => slow.ToByteArray());
+      //Console.ReadLine();
+    }
+
+    private static void Benchmark(string description, Action actionUnderTest) {
+      int totalIterations = 0;
+      Stopwatch sw = Stopwatch.StartNew();
+      while (sw.Elapsed < TimeLimit) {
+        for (int i = 0; i < IterationsPerChunk; i++) {
+          actionUnderTest();
+        }
+        totalIterations += IterationsPerChunk;
+      }
+      sw.Stop();
+      Console.WriteLine("{0}: {1} iterations in {2}ms; {3:f2}ms per iteration",
+          description, totalIterations, sw.ElapsedMilliseconds,
+          (double)sw.ElapsedMilliseconds / totalIterations);
+    }
+  }
+}

+ 36 - 0
csharp/TestBed/Properties/AssemblyInfo.cs

@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("TestBed")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("TestBed")]
+[assembly: AssemblyCopyright("Copyright ©  2008")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("3ba08ae2-742f-4988-a9f9-5ff49cb701d5")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 776 - 0
csharp/TestBed/SlowBclProtoFile.cs

@@ -0,0 +1,776 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+namespace Google.ProtocolBuffers.SlowBcl {
+  
+  public static partial class SlowBclProtoFile {
+  
+    #region Descriptor
+    public static pbd::FileDescriptor Descriptor {
+        get { return descriptor; }
+    }
+    private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom (
+        new byte[] {
+            0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x6c, 0x6f, 
+            0x77, 0x62, 0x63, 0x6c, 0x22, 0xad, 0x01, 0x0a, 0x08, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x0d, 0x0a, 
+            0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 
+            0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x54, 0x69, 
+            0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 
+            0x3a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x22, 0x5c, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 
+            0x61, 0x6c, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x4f, 0x55, 
+            0x52, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x0b, 0x0a, 
+            0x07, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 
+            0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x4d, 0x41, 0x58, 0x10, 0x0f, 
+            0x22, 0xad, 0x01, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 
+            0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 
+            0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 
+            0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x3a, 0x04, 0x44, 0x41, 
+            0x59, 0x53, 0x22, 0x5c, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 
+            0x08, 0x0a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10, 0x01, 
+            0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x43, 
+            0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 
+            0x44, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x4d, 0x41, 0x58, 0x10, 0x0f, 0x22, 0x1e, 0x0a, 0x04, 
+            0x47, 0x75, 0x69, 0x64, 0x12, 0x0a, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x12, 0x0a, 0x0a, 0x02, 
+            0x68, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x22, 0x34, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x12, 
+            0x0a, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x12, 0x0a, 0x0a, 0x02, 0x68, 0x69, 0x18, 0x02, 0x20, 
+            0x01, 0x28, 0x0d, 0x12, 0x11, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 
+            0x28, 0x0d, 0x42, 0x34, 0xc2, 0x3e, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 
+            0x6f, 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x42, 0x63, 0x6c, 0xca, 0x3e, 0x10, 
+            0x53, 0x6c, 0x6f, 0x77, 0x42, 0x63, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 
+        }, new pbd::FileDescriptor[] {
+        });
+    #endregion
+    
+    #region Extensions
+    #endregion
+    
+    #region Static variables
+    internal static readonly pbd::MessageDescriptor internal__static_slowbcl_TimeSpan__Descriptor 
+        = Descriptor.MessageTypes[0];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.SlowBcl.TimeSpan, global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Builder> internal__static_slowbcl_TimeSpan__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.SlowBcl.TimeSpan, global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Builder>(internal__static_slowbcl_TimeSpan__Descriptor,
+            new string[] { "Value", "Scale", });
+    internal static readonly pbd::MessageDescriptor internal__static_slowbcl_DateTime__Descriptor 
+        = Descriptor.MessageTypes[1];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.SlowBcl.DateTime, global::Google.ProtocolBuffers.SlowBcl.DateTime.Builder> internal__static_slowbcl_DateTime__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.SlowBcl.DateTime, global::Google.ProtocolBuffers.SlowBcl.DateTime.Builder>(internal__static_slowbcl_DateTime__Descriptor,
+            new string[] { "Value", "Scale", });
+    internal static readonly pbd::MessageDescriptor internal__static_slowbcl_Guid__Descriptor 
+        = Descriptor.MessageTypes[2];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.SlowBcl.Guid, global::Google.ProtocolBuffers.SlowBcl.Guid.Builder> internal__static_slowbcl_Guid__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.SlowBcl.Guid, global::Google.ProtocolBuffers.SlowBcl.Guid.Builder>(internal__static_slowbcl_Guid__Descriptor,
+            new string[] { "Lo", "Hi", });
+    internal static readonly pbd::MessageDescriptor internal__static_slowbcl_Decimal__Descriptor 
+        = Descriptor.MessageTypes[3];
+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.SlowBcl.Decimal, global::Google.ProtocolBuffers.SlowBcl.Decimal.Builder> internal__static_slowbcl_Decimal__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.SlowBcl.Decimal, global::Google.ProtocolBuffers.SlowBcl.Decimal.Builder>(internal__static_slowbcl_Decimal__Descriptor,
+            new string[] { "Lo", "Hi", "SignScale", });
+    #endregion
+    
+  }
+  
+  #region Enums
+  #endregion
+  
+  #region Messages
+  public sealed partial class TimeSpan : pb::GeneratedMessage<TimeSpan, TimeSpan.Builder> {
+    private static readonly TimeSpan defaultInstance = new TimeSpan();
+    public static TimeSpan DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override TimeSpan DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override TimeSpan ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_TimeSpan__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<TimeSpan, TimeSpan.Builder> InternalFieldAccessors {
+      get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_TimeSpan__FieldAccessorTable; }
+    }
+    
+    #region Nested types
+    public static class Types {
+      public enum TimeSpanScale {
+        DAYS = 0,
+        HOURS = 1,
+        MINUTES = 2,
+        SECONDS = 3,
+        MILLISECONDS = 4,
+        MINMAX = 15,
+      }
+      
+    }
+    #endregion
+    
+    // optional sint64 value = 1;
+    private bool hasValue;
+    private long value_ = 0L;
+    public bool HasValue {
+      get { return hasValue; }
+    }
+    public long Value {
+      get { return value_; }
+    }
+    
+    // optional .slowbcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS];
+    private bool hasScale;
+    private global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale scale_ = global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale.DAYS;
+    public bool HasScale {
+      get { return hasScale; }
+    }
+    public global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale Scale {  get { return scale_; }}
+    
+    public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Google.ProtocolBuffers.SlowBcl.TimeSpan prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Google.ProtocolBuffers.SlowBcl.TimeSpan, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Google.ProtocolBuffers.SlowBcl.TimeSpan.CreateBuilder()
+      internal Builder() {}
+      
+      global::Google.ProtocolBuffers.SlowBcl.TimeSpan result = new global::Google.ProtocolBuffers.SlowBcl.TimeSpan();
+      
+      protected override global::Google.ProtocolBuffers.SlowBcl.TimeSpan MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Google.ProtocolBuffers.SlowBcl.TimeSpan();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Descriptor; }
+      }
+      
+      public override global::Google.ProtocolBuffers.SlowBcl.TimeSpan DefaultInstanceForType {
+        get { return global::Google.ProtocolBuffers.SlowBcl.TimeSpan.DefaultInstance; }
+      }
+      
+      public override global::Google.ProtocolBuffers.SlowBcl.TimeSpan BuildPartial() {
+        global::Google.ProtocolBuffers.SlowBcl.TimeSpan returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional sint64 value = 1;
+      public bool HasValue {
+        get { return result.HasValue; }
+      }
+      public long Value {
+        get { return result.Value; }
+        set { SetValue(value); }
+      }
+      public Builder SetValue(long value) {
+        result.hasValue = true;
+        result.value_ = value;
+        return this;
+      }
+      public Builder ClearValue() {
+        result.hasValue = false;
+        result.value_ = 0L;
+        return this;
+      }
+      
+      // optional .slowbcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS];
+      public bool HasScale {
+        get { return result.HasScale; }
+      }
+      public global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale Scale {
+        get { return result.Scale; }
+        set { SetScale(value); }
+      }
+      public Builder SetScale(global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale value) {
+        result.hasScale = true;
+        result.scale_ = value;
+        return this;
+      }
+      public Builder ClearScale() {
+        result.hasScale = false;
+        result.scale_ = global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale.DAYS;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class DateTime : pb::GeneratedMessage<DateTime, DateTime.Builder> {
+    private static readonly DateTime defaultInstance = new DateTime();
+    public static DateTime DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override DateTime DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override DateTime ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_DateTime__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<DateTime, DateTime.Builder> InternalFieldAccessors {
+      get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_DateTime__FieldAccessorTable; }
+    }
+    
+    #region Nested types
+    public static class Types {
+      public enum TimeSpanScale {
+        DAYS = 0,
+        HOURS = 1,
+        MINUTES = 2,
+        SECONDS = 3,
+        MILLISECONDS = 4,
+        MINMAX = 15,
+      }
+      
+    }
+    #endregion
+    
+    // optional sint64 value = 1;
+    private bool hasValue;
+    private long value_ = 0L;
+    public bool HasValue {
+      get { return hasValue; }
+    }
+    public long Value {
+      get { return value_; }
+    }
+    
+    // optional .slowbcl.DateTime.TimeSpanScale scale = 2 [default = DAYS];
+    private bool hasScale;
+    private global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale scale_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale.DAYS;
+    public bool HasScale {
+      get { return hasScale; }
+    }
+    public global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale Scale {  get { return scale_; }}
+    
+    public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Google.ProtocolBuffers.SlowBcl.DateTime prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Google.ProtocolBuffers.SlowBcl.DateTime, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Google.ProtocolBuffers.SlowBcl.DateTime.CreateBuilder()
+      internal Builder() {}
+      
+      global::Google.ProtocolBuffers.SlowBcl.DateTime result = new global::Google.ProtocolBuffers.SlowBcl.DateTime();
+      
+      protected override global::Google.ProtocolBuffers.SlowBcl.DateTime MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Google.ProtocolBuffers.SlowBcl.DateTime();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Google.ProtocolBuffers.SlowBcl.DateTime.Descriptor; }
+      }
+      
+      public override global::Google.ProtocolBuffers.SlowBcl.DateTime DefaultInstanceForType {
+        get { return global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance; }
+      }
+      
+      public override global::Google.ProtocolBuffers.SlowBcl.DateTime BuildPartial() {
+        global::Google.ProtocolBuffers.SlowBcl.DateTime returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional sint64 value = 1;
+      public bool HasValue {
+        get { return result.HasValue; }
+      }
+      public long Value {
+        get { return result.Value; }
+        set { SetValue(value); }
+      }
+      public Builder SetValue(long value) {
+        result.hasValue = true;
+        result.value_ = value;
+        return this;
+      }
+      public Builder ClearValue() {
+        result.hasValue = false;
+        result.value_ = 0L;
+        return this;
+      }
+      
+      // optional .slowbcl.DateTime.TimeSpanScale scale = 2 [default = DAYS];
+      public bool HasScale {
+        get { return result.HasScale; }
+      }
+      public global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale Scale {
+        get { return result.Scale; }
+        set { SetScale(value); }
+      }
+      public Builder SetScale(global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale value) {
+        result.hasScale = true;
+        result.scale_ = value;
+        return this;
+      }
+      public Builder ClearScale() {
+        result.hasScale = false;
+        result.scale_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale.DAYS;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class Guid : pb::GeneratedMessage<Guid, Guid.Builder> {
+    private static readonly Guid defaultInstance = new Guid();
+    public static Guid DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override Guid DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override Guid ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_Guid__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<Guid, Guid.Builder> InternalFieldAccessors {
+      get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_Guid__FieldAccessorTable; }
+    }
+    
+    // optional fixed64 lo = 1;
+    private bool hasLo;
+    private ulong lo_ = 0UL;
+    public bool HasLo {
+      get { return hasLo; }
+    }
+    public ulong Lo {
+      get { return lo_; }
+    }
+    
+    // optional fixed64 hi = 2;
+    private bool hasHi;
+    private ulong hi_ = 0UL;
+    public bool HasHi {
+      get { return hasHi; }
+    }
+    public ulong Hi {
+      get { return hi_; }
+    }
+    
+    public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Google.ProtocolBuffers.SlowBcl.Guid prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Google.ProtocolBuffers.SlowBcl.Guid, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Google.ProtocolBuffers.SlowBcl.Guid.CreateBuilder()
+      internal Builder() {}
+      
+      global::Google.ProtocolBuffers.SlowBcl.Guid result = new global::Google.ProtocolBuffers.SlowBcl.Guid();
+      
+      protected override global::Google.ProtocolBuffers.SlowBcl.Guid MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Google.ProtocolBuffers.SlowBcl.Guid();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Google.ProtocolBuffers.SlowBcl.Guid.Descriptor; }
+      }
+      
+      public override global::Google.ProtocolBuffers.SlowBcl.Guid DefaultInstanceForType {
+        get { return global::Google.ProtocolBuffers.SlowBcl.Guid.DefaultInstance; }
+      }
+      
+      public override global::Google.ProtocolBuffers.SlowBcl.Guid BuildPartial() {
+        global::Google.ProtocolBuffers.SlowBcl.Guid returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional fixed64 lo = 1;
+      public bool HasLo {
+        get { return result.HasLo; }
+      }
+      public ulong Lo {
+        get { return result.Lo; }
+        set { SetLo(value); }
+      }
+      public Builder SetLo(ulong value) {
+        result.hasLo = true;
+        result.lo_ = value;
+        return this;
+      }
+      public Builder ClearLo() {
+        result.hasLo = false;
+        result.lo_ = 0UL;
+        return this;
+      }
+      
+      // optional fixed64 hi = 2;
+      public bool HasHi {
+        get { return result.HasHi; }
+      }
+      public ulong Hi {
+        get { return result.Hi; }
+        set { SetHi(value); }
+      }
+      public Builder SetHi(ulong value) {
+        result.hasHi = true;
+        result.hi_ = value;
+        return this;
+      }
+      public Builder ClearHi() {
+        result.hasHi = false;
+        result.hi_ = 0UL;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class Decimal : pb::GeneratedMessage<Decimal, Decimal.Builder> {
+    private static readonly Decimal defaultInstance = new Decimal();
+    public static Decimal DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override Decimal DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override Decimal ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_Decimal__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<Decimal, Decimal.Builder> InternalFieldAccessors {
+      get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_Decimal__FieldAccessorTable; }
+    }
+    
+    // optional uint64 lo = 1;
+    private bool hasLo;
+    private ulong lo_ = 0UL;
+    public bool HasLo {
+      get { return hasLo; }
+    }
+    public ulong Lo {
+      get { return lo_; }
+    }
+    
+    // optional uint32 hi = 2;
+    private bool hasHi;
+    private uint hi_ = 0;
+    public bool HasHi {
+      get { return hasHi; }
+    }
+    public uint Hi {
+      get { return hi_; }
+    }
+    
+    // optional uint32 signScale = 3;
+    private bool hasSignScale;
+    private uint signScale_ = 0;
+    public bool HasSignScale {
+      get { return hasSignScale; }
+    }
+    public uint SignScale {
+      get { return signScale_; }
+    }
+    
+    public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::Google.ProtocolBuffers.SlowBcl.Decimal prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::Google.ProtocolBuffers.SlowBcl.Decimal, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::Google.ProtocolBuffers.SlowBcl.Decimal.CreateBuilder()
+      internal Builder() {}
+      
+      global::Google.ProtocolBuffers.SlowBcl.Decimal result = new global::Google.ProtocolBuffers.SlowBcl.Decimal();
+      
+      protected override global::Google.ProtocolBuffers.SlowBcl.Decimal MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::Google.ProtocolBuffers.SlowBcl.Decimal();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::Google.ProtocolBuffers.SlowBcl.Decimal.Descriptor; }
+      }
+      
+      public override global::Google.ProtocolBuffers.SlowBcl.Decimal DefaultInstanceForType {
+        get { return global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance; }
+      }
+      
+      public override global::Google.ProtocolBuffers.SlowBcl.Decimal BuildPartial() {
+        global::Google.ProtocolBuffers.SlowBcl.Decimal returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional uint64 lo = 1;
+      public bool HasLo {
+        get { return result.HasLo; }
+      }
+      public ulong Lo {
+        get { return result.Lo; }
+        set { SetLo(value); }
+      }
+      public Builder SetLo(ulong value) {
+        result.hasLo = true;
+        result.lo_ = value;
+        return this;
+      }
+      public Builder ClearLo() {
+        result.hasLo = false;
+        result.lo_ = 0UL;
+        return this;
+      }
+      
+      // optional uint32 hi = 2;
+      public bool HasHi {
+        get { return result.HasHi; }
+      }
+      public uint Hi {
+        get { return result.Hi; }
+        set { SetHi(value); }
+      }
+      public Builder SetHi(uint value) {
+        result.hasHi = true;
+        result.hi_ = value;
+        return this;
+      }
+      public Builder ClearHi() {
+        result.hasHi = false;
+        result.hi_ = 0;
+        return this;
+      }
+      
+      // optional uint32 signScale = 3;
+      public bool HasSignScale {
+        get { return result.HasSignScale; }
+      }
+      public uint SignScale {
+        get { return result.SignScale; }
+        set { SetSignScale(value); }
+      }
+      public Builder SetSignScale(uint value) {
+        result.hasSignScale = true;
+        result.signScale_ = value;
+        return this;
+      }
+      public Builder ClearSignScale() {
+        result.hasSignScale = false;
+        result.signScale_ = 0;
+        return this;
+      }
+    }
+  }
+  
+  #endregion
+  
+  #region Services
+  #endregion
+}

+ 1142 - 0
csharp/TestBed/SlowNorthwindProtoFile.cs

@@ -0,0 +1,1142 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+namespace SlowNorthwind {
+  
+  public static partial class SlowNorthwindProtoFile {
+  
+    #region Descriptor
+    public static pbd::FileDescriptor Descriptor {
+        get { return descriptor; }
+    }
+    private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom (
+        new byte[] {
+            0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x6e, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 
+            0x6c, 0x6f, 0x77, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x1a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 
+            0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 
+            0x24, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x6c, 
+            0x6f, 0x77, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x8e, 0x03, 
+            0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0f, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 
+            0x20, 0x01, 0x28, 0x05, 0x12, 0x12, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 
+            0x20, 0x01, 0x28, 0x09, 0x12, 0x12, 0x0a, 0x0a, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x49, 0x44, 0x18, 0x03, 
+            0x20, 0x01, 0x28, 0x05, 0x12, 0x24, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 
+            0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 
+            0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 
+            0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 
+            0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0b, 0x53, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, 
+            0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 
+            0x69, 0x6d, 0x65, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x68, 0x69, 0x70, 0x56, 0x69, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 
+            0x12, 0x21, 0x0a, 0x07, 0x46, 0x72, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 
+            0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x08, 0x53, 
+            0x68, 0x69, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x68, 0x69, 
+            0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x68, 
+            0x69, 0x70, 0x43, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x68, 0x69, 0x70, 
+            0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x12, 0x16, 0x0a, 0x0e, 0x53, 0x68, 0x69, 0x70, 
+            0x50, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x12, 0x13, 0x0a, 0x0b, 
+            0x53, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x12, 0x27, 0x0a, 
+            0x05, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x6e, 
+            0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x22, 0x78, 
+            0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x0f, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 
+            0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x11, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 
+            0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x12, 0x23, 0x0a, 0x09, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 
+            0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x65, 0x63, 
+            0x69, 0x6d, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x08, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 
+            0x28, 0x11, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 
+            0x42, 0x29, 0xc2, 0x3e, 0x0d, 0x53, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0xca, 0x3e, 
+            0x16, 0x53, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 
+            0x69, 0x6c, 0x65, 
+        }, new pbd::FileDescriptor[] {
+                global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.Descriptor,
+        });
+    #endregion
+    
+    #region Extensions
+    #endregion
+    
+    #region Static variables
+    internal static readonly pbd::MessageDescriptor internal__static_slownorthwind_Database__Descriptor 
+        = Descriptor.MessageTypes[0];
+    internal static pb::FieldAccess.FieldAccessorTable<global::SlowNorthwind.Database, global::SlowNorthwind.Database.Builder> internal__static_slownorthwind_Database__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::SlowNorthwind.Database, global::SlowNorthwind.Database.Builder>(internal__static_slownorthwind_Database__Descriptor,
+            new string[] { "Orders", });
+    internal static readonly pbd::MessageDescriptor internal__static_slownorthwind_Order__Descriptor 
+        = Descriptor.MessageTypes[1];
+    internal static pb::FieldAccess.FieldAccessorTable<global::SlowNorthwind.Order, global::SlowNorthwind.Order.Builder> internal__static_slownorthwind_Order__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::SlowNorthwind.Order, global::SlowNorthwind.Order.Builder>(internal__static_slownorthwind_Order__Descriptor,
+            new string[] { "OrderID", "CustomerID", "EmployeeID", "OrderDate", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipRegion", "ShipPostalCode", "ShipCountry", "Lines", });
+    internal static readonly pbd::MessageDescriptor internal__static_slownorthwind_OrderLine__Descriptor 
+        = Descriptor.MessageTypes[2];
+    internal static pb::FieldAccess.FieldAccessorTable<global::SlowNorthwind.OrderLine, global::SlowNorthwind.OrderLine.Builder> internal__static_slownorthwind_OrderLine__FieldAccessorTable
+        = new pb::FieldAccess.FieldAccessorTable<global::SlowNorthwind.OrderLine, global::SlowNorthwind.OrderLine.Builder>(internal__static_slownorthwind_OrderLine__Descriptor,
+            new string[] { "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount", });
+    #endregion
+    
+  }
+  
+  #region Enums
+  #endregion
+  
+  #region Messages
+  public sealed partial class Database : pb::GeneratedMessage<Database, Database.Builder> {
+    private static readonly Database defaultInstance = new Database();
+    public static Database DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override Database DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override Database ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_Database__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<Database, Database.Builder> InternalFieldAccessors {
+      get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_Database__FieldAccessorTable; }
+    }
+    
+    // repeated .slownorthwind.Order Orders = 1;
+    private scg::IList<global::SlowNorthwind.Order> orders_ = pbc::Lists<global::SlowNorthwind.Order>.Empty;
+    public scg::IList<global::SlowNorthwind.Order> OrdersList {
+      get { return orders_; } 
+    }
+    public int OrdersCount
+      { get { return orders_.Count; }
+    }
+    public global::SlowNorthwind.Order GetOrders(int index) {
+      return orders_ [index];
+    }
+    
+    public static global::SlowNorthwind.Database ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::SlowNorthwind.Database ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::SlowNorthwind.Database ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::SlowNorthwind.Database ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::SlowNorthwind.Database ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::SlowNorthwind.Database ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::SlowNorthwind.Database ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::SlowNorthwind.Database ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::SlowNorthwind.Database prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::SlowNorthwind.Database, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::SlowNorthwind.Database.CreateBuilder()
+      internal Builder() {}
+      
+      global::SlowNorthwind.Database result = new global::SlowNorthwind.Database();
+      
+      protected override global::SlowNorthwind.Database MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::SlowNorthwind.Database();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::SlowNorthwind.Database.Descriptor; }
+      }
+      
+      public override global::SlowNorthwind.Database DefaultInstanceForType {
+        get { return global::SlowNorthwind.Database.DefaultInstance; }
+      }
+      
+      public override global::SlowNorthwind.Database BuildPartial() {
+        if (result.orders_ != pbc::Lists<global::SlowNorthwind.Order>.Empty) {
+          result.orders_ = pbc::Lists<global::SlowNorthwind.Order>.AsReadOnly(result.orders_);
+        }
+        global::SlowNorthwind.Database returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // repeated .slownorthwind.Order Orders = 1;
+      public scg::IList<global::SlowNorthwind.Order> OrdersList {
+        get { return pbc::Lists.AsReadOnly(result.orders_); }
+      }
+      public int OrdersCount {
+        get { return result.OrdersCount; }
+      }
+      public global::SlowNorthwind.Order GetOrders(int index) {
+        return result.GetOrders(index);
+      }
+      public Builder SetOrders(int index, global::SlowNorthwind.Order value) {
+        result.orders_[index] = value;
+        return this;
+      }
+      public Builder SetOrders(int index, global::SlowNorthwind.Order.Builder builderForValue) {
+        result.orders_[index] = builderForValue.Build();
+        return this;
+      }
+      public Builder AddOrders(global::SlowNorthwind.Order value) {
+        if (result.orders_ == pbc::Lists<global::SlowNorthwind.Order>.Empty) {
+          result.orders_ = new scg::List<global::SlowNorthwind.Order>();
+        }
+        result.orders_.Add(value);
+        return this;
+      }
+      public Builder AddOrders(global::SlowNorthwind.Order.Builder builderForValue) {
+        if (result.orders_ == pbc::Lists<global::SlowNorthwind.Order>.Empty) {
+          result.orders_ = new scg::List<global::SlowNorthwind.Order>();
+        }
+        result.orders_.Add(builderForValue.Build());
+        return this;
+      }
+      public Builder AddRangeOrders(scg::IEnumerable<global::SlowNorthwind.Order> values) {
+        if (result.orders_ == pbc::Lists<global::SlowNorthwind.Order>.Empty) {
+          result.orders_ = new scg::List<global::SlowNorthwind.Order>();
+        }
+        base.AddRange(values, result.orders_);
+        return this;
+      }
+      public Builder ClearOrders() {
+        result.orders_ = pbc::Lists<global::SlowNorthwind.Order>.Empty;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class Order : pb::GeneratedMessage<Order, Order.Builder> {
+    private static readonly Order defaultInstance = new Order();
+    public static Order DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override Order DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override Order ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_Order__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<Order, Order.Builder> InternalFieldAccessors {
+      get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_Order__FieldAccessorTable; }
+    }
+    
+    // optional int32 OrderID = 1;
+    private bool hasOrderID;
+    private int orderID_ = 0;
+    public bool HasOrderID {
+      get { return hasOrderID; }
+    }
+    public int OrderID {
+      get { return orderID_; }
+    }
+    
+    // optional string CustomerID = 2;
+    private bool hasCustomerID;
+    private string customerID_ = "";
+    public bool HasCustomerID {
+      get { return hasCustomerID; }
+    }
+    public string CustomerID {
+      get { return customerID_; }
+    }
+    
+    // optional int32 EmployeeID = 3;
+    private bool hasEmployeeID;
+    private int employeeID_ = 0;
+    public bool HasEmployeeID {
+      get { return hasEmployeeID; }
+    }
+    public int EmployeeID {
+      get { return employeeID_; }
+    }
+    
+    // optional .slowbcl.DateTime OrderDate = 4;
+    private bool hasOrderDate;
+    private global::Google.ProtocolBuffers.SlowBcl.DateTime orderDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance;
+    public bool HasOrderDate {
+      get { return hasOrderDate; }
+    }
+    public global::Google.ProtocolBuffers.SlowBcl.DateTime OrderDate {
+      get { return orderDate_; }
+    }
+    
+    // optional .slowbcl.DateTime RequiredDate = 5;
+    private bool hasRequiredDate;
+    private global::Google.ProtocolBuffers.SlowBcl.DateTime requiredDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance;
+    public bool HasRequiredDate {
+      get { return hasRequiredDate; }
+    }
+    public global::Google.ProtocolBuffers.SlowBcl.DateTime RequiredDate {
+      get { return requiredDate_; }
+    }
+    
+    // optional .slowbcl.DateTime ShippedDate = 6;
+    private bool hasShippedDate;
+    private global::Google.ProtocolBuffers.SlowBcl.DateTime shippedDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance;
+    public bool HasShippedDate {
+      get { return hasShippedDate; }
+    }
+    public global::Google.ProtocolBuffers.SlowBcl.DateTime ShippedDate {
+      get { return shippedDate_; }
+    }
+    
+    // optional int32 ShipVia = 7;
+    private bool hasShipVia;
+    private int shipVia_ = 0;
+    public bool HasShipVia {
+      get { return hasShipVia; }
+    }
+    public int ShipVia {
+      get { return shipVia_; }
+    }
+    
+    // optional .slowbcl.Decimal Freight = 8;
+    private bool hasFreight;
+    private global::Google.ProtocolBuffers.SlowBcl.Decimal freight_ = global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance;
+    public bool HasFreight {
+      get { return hasFreight; }
+    }
+    public global::Google.ProtocolBuffers.SlowBcl.Decimal Freight {
+      get { return freight_; }
+    }
+    
+    // optional string ShipName = 9;
+    private bool hasShipName;
+    private string shipName_ = "";
+    public bool HasShipName {
+      get { return hasShipName; }
+    }
+    public string ShipName {
+      get { return shipName_; }
+    }
+    
+    // optional string ShipAddress = 10;
+    private bool hasShipAddress;
+    private string shipAddress_ = "";
+    public bool HasShipAddress {
+      get { return hasShipAddress; }
+    }
+    public string ShipAddress {
+      get { return shipAddress_; }
+    }
+    
+    // optional string ShipCity = 11;
+    private bool hasShipCity;
+    private string shipCity_ = "";
+    public bool HasShipCity {
+      get { return hasShipCity; }
+    }
+    public string ShipCity {
+      get { return shipCity_; }
+    }
+    
+    // optional string ShipRegion = 12;
+    private bool hasShipRegion;
+    private string shipRegion_ = "";
+    public bool HasShipRegion {
+      get { return hasShipRegion; }
+    }
+    public string ShipRegion {
+      get { return shipRegion_; }
+    }
+    
+    // optional string ShipPostalCode = 13;
+    private bool hasShipPostalCode;
+    private string shipPostalCode_ = "";
+    public bool HasShipPostalCode {
+      get { return hasShipPostalCode; }
+    }
+    public string ShipPostalCode {
+      get { return shipPostalCode_; }
+    }
+    
+    // optional string ShipCountry = 14;
+    private bool hasShipCountry;
+    private string shipCountry_ = "";
+    public bool HasShipCountry {
+      get { return hasShipCountry; }
+    }
+    public string ShipCountry {
+      get { return shipCountry_; }
+    }
+    
+    // repeated .slownorthwind.OrderLine Lines = 15;
+    private scg::IList<global::SlowNorthwind.OrderLine> lines_ = pbc::Lists<global::SlowNorthwind.OrderLine>.Empty;
+    public scg::IList<global::SlowNorthwind.OrderLine> LinesList {
+      get { return lines_; } 
+    }
+    public int LinesCount
+      { get { return lines_.Count; }
+    }
+    public global::SlowNorthwind.OrderLine GetLines(int index) {
+      return lines_ [index];
+    }
+    
+    public static global::SlowNorthwind.Order ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::SlowNorthwind.Order ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::SlowNorthwind.Order ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::SlowNorthwind.Order ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::SlowNorthwind.Order ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::SlowNorthwind.Order ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::SlowNorthwind.Order ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::SlowNorthwind.Order ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::SlowNorthwind.Order prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::SlowNorthwind.Order, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::SlowNorthwind.Order.CreateBuilder()
+      internal Builder() {}
+      
+      global::SlowNorthwind.Order result = new global::SlowNorthwind.Order();
+      
+      protected override global::SlowNorthwind.Order MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::SlowNorthwind.Order();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::SlowNorthwind.Order.Descriptor; }
+      }
+      
+      public override global::SlowNorthwind.Order DefaultInstanceForType {
+        get { return global::SlowNorthwind.Order.DefaultInstance; }
+      }
+      
+      public override global::SlowNorthwind.Order BuildPartial() {
+        if (result.lines_ != pbc::Lists<global::SlowNorthwind.OrderLine>.Empty) {
+          result.lines_ = pbc::Lists<global::SlowNorthwind.OrderLine>.AsReadOnly(result.lines_);
+        }
+        global::SlowNorthwind.Order returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional int32 OrderID = 1;
+      public bool HasOrderID {
+        get { return result.HasOrderID; }
+      }
+      public int OrderID {
+        get { return result.OrderID; }
+        set { SetOrderID(value); }
+      }
+      public Builder SetOrderID(int value) {
+        result.hasOrderID = true;
+        result.orderID_ = value;
+        return this;
+      }
+      public Builder ClearOrderID() {
+        result.hasOrderID = false;
+        result.orderID_ = 0;
+        return this;
+      }
+      
+      // optional string CustomerID = 2;
+      public bool HasCustomerID {
+        get { return result.HasCustomerID; }
+      }
+      public string CustomerID {
+        get { return result.CustomerID; }
+        set { SetCustomerID(value); }
+      }
+      public Builder SetCustomerID(string value) {
+        result.hasCustomerID = true;
+        result.customerID_ = value;
+        return this;
+      }
+      public Builder ClearCustomerID() {
+        result.hasCustomerID = false;
+        result.customerID_ = "";
+        return this;
+      }
+      
+      // optional int32 EmployeeID = 3;
+      public bool HasEmployeeID {
+        get { return result.HasEmployeeID; }
+      }
+      public int EmployeeID {
+        get { return result.EmployeeID; }
+        set { SetEmployeeID(value); }
+      }
+      public Builder SetEmployeeID(int value) {
+        result.hasEmployeeID = true;
+        result.employeeID_ = value;
+        return this;
+      }
+      public Builder ClearEmployeeID() {
+        result.hasEmployeeID = false;
+        result.employeeID_ = 0;
+        return this;
+      }
+      
+      // optional .slowbcl.DateTime OrderDate = 4;
+      public bool HasOrderDate {
+        get { return result.HasOrderDate; }
+      }
+      public global::Google.ProtocolBuffers.SlowBcl.DateTime OrderDate {
+        get { return result.OrderDate; }
+        set { SetOrderDate(value); }
+      }
+      public Builder SetOrderDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) {
+        result.hasOrderDate = true;
+        result.orderDate_ = value;
+        return this;
+      }
+      public Builder SetOrderDate(global::Google.ProtocolBuffers.SlowBcl.DateTime.Builder builderForValue) {
+        result.hasOrderDate = true;
+        result.orderDate_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeOrderDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) {
+        if (result.HasOrderDate &&
+            result.orderDate_ != global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance) {
+          result.orderDate_ =
+            global::Google.ProtocolBuffers.SlowBcl.DateTime.CreateBuilder(result.orderDate_).MergeFrom(value).BuildPartial();
+        } else {
+          result.orderDate_ = value;
+        }
+        result.hasOrderDate = true;
+        return this;
+      }
+      public Builder ClearOrderDate() {
+        result.hasOrderDate = false;
+        result.orderDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance;
+        return this;
+      }
+      
+      // optional .slowbcl.DateTime RequiredDate = 5;
+      public bool HasRequiredDate {
+        get { return result.HasRequiredDate; }
+      }
+      public global::Google.ProtocolBuffers.SlowBcl.DateTime RequiredDate {
+        get { return result.RequiredDate; }
+        set { SetRequiredDate(value); }
+      }
+      public Builder SetRequiredDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) {
+        result.hasRequiredDate = true;
+        result.requiredDate_ = value;
+        return this;
+      }
+      public Builder SetRequiredDate(global::Google.ProtocolBuffers.SlowBcl.DateTime.Builder builderForValue) {
+        result.hasRequiredDate = true;
+        result.requiredDate_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeRequiredDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) {
+        if (result.HasRequiredDate &&
+            result.requiredDate_ != global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance) {
+          result.requiredDate_ =
+            global::Google.ProtocolBuffers.SlowBcl.DateTime.CreateBuilder(result.requiredDate_).MergeFrom(value).BuildPartial();
+        } else {
+          result.requiredDate_ = value;
+        }
+        result.hasRequiredDate = true;
+        return this;
+      }
+      public Builder ClearRequiredDate() {
+        result.hasRequiredDate = false;
+        result.requiredDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance;
+        return this;
+      }
+      
+      // optional .slowbcl.DateTime ShippedDate = 6;
+      public bool HasShippedDate {
+        get { return result.HasShippedDate; }
+      }
+      public global::Google.ProtocolBuffers.SlowBcl.DateTime ShippedDate {
+        get { return result.ShippedDate; }
+        set { SetShippedDate(value); }
+      }
+      public Builder SetShippedDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) {
+        result.hasShippedDate = true;
+        result.shippedDate_ = value;
+        return this;
+      }
+      public Builder SetShippedDate(global::Google.ProtocolBuffers.SlowBcl.DateTime.Builder builderForValue) {
+        result.hasShippedDate = true;
+        result.shippedDate_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeShippedDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) {
+        if (result.HasShippedDate &&
+            result.shippedDate_ != global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance) {
+          result.shippedDate_ =
+            global::Google.ProtocolBuffers.SlowBcl.DateTime.CreateBuilder(result.shippedDate_).MergeFrom(value).BuildPartial();
+        } else {
+          result.shippedDate_ = value;
+        }
+        result.hasShippedDate = true;
+        return this;
+      }
+      public Builder ClearShippedDate() {
+        result.hasShippedDate = false;
+        result.shippedDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance;
+        return this;
+      }
+      
+      // optional int32 ShipVia = 7;
+      public bool HasShipVia {
+        get { return result.HasShipVia; }
+      }
+      public int ShipVia {
+        get { return result.ShipVia; }
+        set { SetShipVia(value); }
+      }
+      public Builder SetShipVia(int value) {
+        result.hasShipVia = true;
+        result.shipVia_ = value;
+        return this;
+      }
+      public Builder ClearShipVia() {
+        result.hasShipVia = false;
+        result.shipVia_ = 0;
+        return this;
+      }
+      
+      // optional .slowbcl.Decimal Freight = 8;
+      public bool HasFreight {
+        get { return result.HasFreight; }
+      }
+      public global::Google.ProtocolBuffers.SlowBcl.Decimal Freight {
+        get { return result.Freight; }
+        set { SetFreight(value); }
+      }
+      public Builder SetFreight(global::Google.ProtocolBuffers.SlowBcl.Decimal value) {
+        result.hasFreight = true;
+        result.freight_ = value;
+        return this;
+      }
+      public Builder SetFreight(global::Google.ProtocolBuffers.SlowBcl.Decimal.Builder builderForValue) {
+        result.hasFreight = true;
+        result.freight_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeFreight(global::Google.ProtocolBuffers.SlowBcl.Decimal value) {
+        if (result.HasFreight &&
+            result.freight_ != global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance) {
+          result.freight_ =
+            global::Google.ProtocolBuffers.SlowBcl.Decimal.CreateBuilder(result.freight_).MergeFrom(value).BuildPartial();
+        } else {
+          result.freight_ = value;
+        }
+        result.hasFreight = true;
+        return this;
+      }
+      public Builder ClearFreight() {
+        result.hasFreight = false;
+        result.freight_ = global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance;
+        return this;
+      }
+      
+      // optional string ShipName = 9;
+      public bool HasShipName {
+        get { return result.HasShipName; }
+      }
+      public string ShipName {
+        get { return result.ShipName; }
+        set { SetShipName(value); }
+      }
+      public Builder SetShipName(string value) {
+        result.hasShipName = true;
+        result.shipName_ = value;
+        return this;
+      }
+      public Builder ClearShipName() {
+        result.hasShipName = false;
+        result.shipName_ = "";
+        return this;
+      }
+      
+      // optional string ShipAddress = 10;
+      public bool HasShipAddress {
+        get { return result.HasShipAddress; }
+      }
+      public string ShipAddress {
+        get { return result.ShipAddress; }
+        set { SetShipAddress(value); }
+      }
+      public Builder SetShipAddress(string value) {
+        result.hasShipAddress = true;
+        result.shipAddress_ = value;
+        return this;
+      }
+      public Builder ClearShipAddress() {
+        result.hasShipAddress = false;
+        result.shipAddress_ = "";
+        return this;
+      }
+      
+      // optional string ShipCity = 11;
+      public bool HasShipCity {
+        get { return result.HasShipCity; }
+      }
+      public string ShipCity {
+        get { return result.ShipCity; }
+        set { SetShipCity(value); }
+      }
+      public Builder SetShipCity(string value) {
+        result.hasShipCity = true;
+        result.shipCity_ = value;
+        return this;
+      }
+      public Builder ClearShipCity() {
+        result.hasShipCity = false;
+        result.shipCity_ = "";
+        return this;
+      }
+      
+      // optional string ShipRegion = 12;
+      public bool HasShipRegion {
+        get { return result.HasShipRegion; }
+      }
+      public string ShipRegion {
+        get { return result.ShipRegion; }
+        set { SetShipRegion(value); }
+      }
+      public Builder SetShipRegion(string value) {
+        result.hasShipRegion = true;
+        result.shipRegion_ = value;
+        return this;
+      }
+      public Builder ClearShipRegion() {
+        result.hasShipRegion = false;
+        result.shipRegion_ = "";
+        return this;
+      }
+      
+      // optional string ShipPostalCode = 13;
+      public bool HasShipPostalCode {
+        get { return result.HasShipPostalCode; }
+      }
+      public string ShipPostalCode {
+        get { return result.ShipPostalCode; }
+        set { SetShipPostalCode(value); }
+      }
+      public Builder SetShipPostalCode(string value) {
+        result.hasShipPostalCode = true;
+        result.shipPostalCode_ = value;
+        return this;
+      }
+      public Builder ClearShipPostalCode() {
+        result.hasShipPostalCode = false;
+        result.shipPostalCode_ = "";
+        return this;
+      }
+      
+      // optional string ShipCountry = 14;
+      public bool HasShipCountry {
+        get { return result.HasShipCountry; }
+      }
+      public string ShipCountry {
+        get { return result.ShipCountry; }
+        set { SetShipCountry(value); }
+      }
+      public Builder SetShipCountry(string value) {
+        result.hasShipCountry = true;
+        result.shipCountry_ = value;
+        return this;
+      }
+      public Builder ClearShipCountry() {
+        result.hasShipCountry = false;
+        result.shipCountry_ = "";
+        return this;
+      }
+      
+      // repeated .slownorthwind.OrderLine Lines = 15;
+      public scg::IList<global::SlowNorthwind.OrderLine> LinesList {
+        get { return pbc::Lists.AsReadOnly(result.lines_); }
+      }
+      public int LinesCount {
+        get { return result.LinesCount; }
+      }
+      public global::SlowNorthwind.OrderLine GetLines(int index) {
+        return result.GetLines(index);
+      }
+      public Builder SetLines(int index, global::SlowNorthwind.OrderLine value) {
+        result.lines_[index] = value;
+        return this;
+      }
+      public Builder SetLines(int index, global::SlowNorthwind.OrderLine.Builder builderForValue) {
+        result.lines_[index] = builderForValue.Build();
+        return this;
+      }
+      public Builder AddLines(global::SlowNorthwind.OrderLine value) {
+        if (result.lines_ == pbc::Lists<global::SlowNorthwind.OrderLine>.Empty) {
+          result.lines_ = new scg::List<global::SlowNorthwind.OrderLine>();
+        }
+        result.lines_.Add(value);
+        return this;
+      }
+      public Builder AddLines(global::SlowNorthwind.OrderLine.Builder builderForValue) {
+        if (result.lines_ == pbc::Lists<global::SlowNorthwind.OrderLine>.Empty) {
+          result.lines_ = new scg::List<global::SlowNorthwind.OrderLine>();
+        }
+        result.lines_.Add(builderForValue.Build());
+        return this;
+      }
+      public Builder AddRangeLines(scg::IEnumerable<global::SlowNorthwind.OrderLine> values) {
+        if (result.lines_ == pbc::Lists<global::SlowNorthwind.OrderLine>.Empty) {
+          result.lines_ = new scg::List<global::SlowNorthwind.OrderLine>();
+        }
+        base.AddRange(values, result.lines_);
+        return this;
+      }
+      public Builder ClearLines() {
+        result.lines_ = pbc::Lists<global::SlowNorthwind.OrderLine>.Empty;
+        return this;
+      }
+    }
+  }
+  
+  public sealed partial class OrderLine : pb::GeneratedMessage<OrderLine, OrderLine.Builder> {
+    private static readonly OrderLine defaultInstance = new OrderLine();
+    public static OrderLine DefaultInstance {
+      get { return defaultInstance; }
+    }
+    
+    public override OrderLine DefaultInstanceForType {
+      get { return defaultInstance; }
+    }
+    
+    protected override OrderLine ThisMessage {
+      get { return this; }
+    }
+    
+    public static pbd::MessageDescriptor Descriptor {
+      get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_OrderLine__Descriptor; }
+    }
+    
+    protected override pb::FieldAccess.FieldAccessorTable<OrderLine, OrderLine.Builder> InternalFieldAccessors {
+      get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_OrderLine__FieldAccessorTable; }
+    }
+    
+    // optional int32 OrderID = 1;
+    private bool hasOrderID;
+    private int orderID_ = 0;
+    public bool HasOrderID {
+      get { return hasOrderID; }
+    }
+    public int OrderID {
+      get { return orderID_; }
+    }
+    
+    // optional int32 ProductID = 2;
+    private bool hasProductID;
+    private int productID_ = 0;
+    public bool HasProductID {
+      get { return hasProductID; }
+    }
+    public int ProductID {
+      get { return productID_; }
+    }
+    
+    // optional .slowbcl.Decimal UnitPrice = 3;
+    private bool hasUnitPrice;
+    private global::Google.ProtocolBuffers.SlowBcl.Decimal unitPrice_ = global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance;
+    public bool HasUnitPrice {
+      get { return hasUnitPrice; }
+    }
+    public global::Google.ProtocolBuffers.SlowBcl.Decimal UnitPrice {
+      get { return unitPrice_; }
+    }
+    
+    // optional sint32 Quantity = 4;
+    private bool hasQuantity;
+    private int quantity_ = 0;
+    public bool HasQuantity {
+      get { return hasQuantity; }
+    }
+    public int Quantity {
+      get { return quantity_; }
+    }
+    
+    // optional float Discount = 5;
+    private bool hasDiscount;
+    private float discount_ = 0F;
+    public bool HasDiscount {
+      get { return hasDiscount; }
+    }
+    public float Discount {
+      get { return discount_; }
+    }
+    
+    public static global::SlowNorthwind.OrderLine ParseFrom(pb::ByteString data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::SlowNorthwind.OrderLine ParseFrom(pb::ByteString data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::SlowNorthwind.OrderLine ParseFrom(byte[] data) {
+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+    }
+    public static global::SlowNorthwind.OrderLine ParseFrom(byte[] data,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::SlowNorthwind.OrderLine ParseFrom(global::System.IO.Stream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::SlowNorthwind.OrderLine ParseFrom(
+        global::System.IO.Stream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    public static global::SlowNorthwind.OrderLine ParseFrom(pb::CodedInputStream input) {
+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+    }
+    public static global::SlowNorthwind.OrderLine ParseFrom(pb::CodedInputStream input,
+        pb::ExtensionRegistry extensionRegistry) {
+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+               .BuildParsed();
+    }
+    
+    public static Builder CreateBuilder() { return new Builder(); }
+    public override Builder CreateBuilderForType() { return new Builder(); }
+    public static Builder CreateBuilder(global::SlowNorthwind.OrderLine prototype) {
+      return (Builder) new Builder().MergeFrom(prototype);
+    }
+    
+    public sealed partial class Builder : pb::GeneratedBuilder<global::SlowNorthwind.OrderLine, Builder> {
+      protected override Builder ThisBuilder {
+        get { return this; }
+      }
+      
+      // Construct using global::SlowNorthwind.OrderLine.CreateBuilder()
+      internal Builder() {}
+      
+      global::SlowNorthwind.OrderLine result = new global::SlowNorthwind.OrderLine();
+      
+      protected override global::SlowNorthwind.OrderLine MessageBeingBuilt {
+        get { return result; }
+      }
+      
+      public override Builder Clear() {
+        result = new global::SlowNorthwind.OrderLine();
+        return this;
+      }
+      
+      public override Builder Clone() {
+        return new Builder().MergeFrom(result);
+      }
+      
+      public override pbd::MessageDescriptor DescriptorForType {
+        get { return global::SlowNorthwind.OrderLine.Descriptor; }
+      }
+      
+      public override global::SlowNorthwind.OrderLine DefaultInstanceForType {
+        get { return global::SlowNorthwind.OrderLine.DefaultInstance; }
+      }
+      
+      public override global::SlowNorthwind.OrderLine BuildPartial() {
+        global::SlowNorthwind.OrderLine returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional int32 OrderID = 1;
+      public bool HasOrderID {
+        get { return result.HasOrderID; }
+      }
+      public int OrderID {
+        get { return result.OrderID; }
+        set { SetOrderID(value); }
+      }
+      public Builder SetOrderID(int value) {
+        result.hasOrderID = true;
+        result.orderID_ = value;
+        return this;
+      }
+      public Builder ClearOrderID() {
+        result.hasOrderID = false;
+        result.orderID_ = 0;
+        return this;
+      }
+      
+      // optional int32 ProductID = 2;
+      public bool HasProductID {
+        get { return result.HasProductID; }
+      }
+      public int ProductID {
+        get { return result.ProductID; }
+        set { SetProductID(value); }
+      }
+      public Builder SetProductID(int value) {
+        result.hasProductID = true;
+        result.productID_ = value;
+        return this;
+      }
+      public Builder ClearProductID() {
+        result.hasProductID = false;
+        result.productID_ = 0;
+        return this;
+      }
+      
+      // optional .slowbcl.Decimal UnitPrice = 3;
+      public bool HasUnitPrice {
+        get { return result.HasUnitPrice; }
+      }
+      public global::Google.ProtocolBuffers.SlowBcl.Decimal UnitPrice {
+        get { return result.UnitPrice; }
+        set { SetUnitPrice(value); }
+      }
+      public Builder SetUnitPrice(global::Google.ProtocolBuffers.SlowBcl.Decimal value) {
+        result.hasUnitPrice = true;
+        result.unitPrice_ = value;
+        return this;
+      }
+      public Builder SetUnitPrice(global::Google.ProtocolBuffers.SlowBcl.Decimal.Builder builderForValue) {
+        result.hasUnitPrice = true;
+        result.unitPrice_ = builderForValue.Build();
+        return this;
+      }
+      public Builder MergeUnitPrice(global::Google.ProtocolBuffers.SlowBcl.Decimal value) {
+        if (result.HasUnitPrice &&
+            result.unitPrice_ != global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance) {
+          result.unitPrice_ =
+            global::Google.ProtocolBuffers.SlowBcl.Decimal.CreateBuilder(result.unitPrice_).MergeFrom(value).BuildPartial();
+        } else {
+          result.unitPrice_ = value;
+        }
+        result.hasUnitPrice = true;
+        return this;
+      }
+      public Builder ClearUnitPrice() {
+        result.hasUnitPrice = false;
+        result.unitPrice_ = global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance;
+        return this;
+      }
+      
+      // optional sint32 Quantity = 4;
+      public bool HasQuantity {
+        get { return result.HasQuantity; }
+      }
+      public int Quantity {
+        get { return result.Quantity; }
+        set { SetQuantity(value); }
+      }
+      public Builder SetQuantity(int value) {
+        result.hasQuantity = true;
+        result.quantity_ = value;
+        return this;
+      }
+      public Builder ClearQuantity() {
+        result.hasQuantity = false;
+        result.quantity_ = 0;
+        return this;
+      }
+      
+      // optional float Discount = 5;
+      public bool HasDiscount {
+        get { return result.HasDiscount; }
+      }
+      public float Discount {
+        get { return result.Discount; }
+        set { SetDiscount(value); }
+      }
+      public Builder SetDiscount(float value) {
+        result.hasDiscount = true;
+        result.discount_ = value;
+        return this;
+      }
+      public Builder ClearDiscount() {
+        result.hasDiscount = false;
+        result.discount_ = 0F;
+        return this;
+      }
+    }
+  }
+  
+  #endregion
+  
+  #region Services
+  #endregion
+}

+ 59 - 0
csharp/TestBed/TestBed.csproj

@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{BFA454A0-63F3-4850-BE9C-8CACD242EB50}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>TestBed</RootNamespace>
+    <AssemblyName>TestBed</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="BclDecimal.cs" />
+    <Compile Include="BclProtoFile.cs" />
+    <Compile Include="NorthwindProtoFile.cs" />
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="SlowBclProtoFile.cs" />
+    <Compile Include="SlowNorthwindProtoFile.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\ProtocolBuffers\ProtocolBuffers.csproj">
+      <Project>{6908BDCE-D925-43F3-94AC-A531E6DF2591}</Project>
+      <Name>ProtocolBuffers</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

+ 10 - 0
csharp/TestBed/TestBed.csproj.user

@@ -0,0 +1,10 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <StartWorkingDirectory>C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\</StartWorkingDirectory>
+    <StartArguments>nwind.proto.bin</StartArguments>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <StartWorkingDirectory>C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\</StartWorkingDirectory>
+    <StartArguments>nwind.proto.bin</StartArguments>
+  </PropertyGroup>
+</Project>

+ 45 - 0
csharp/TestBed/bcl.proto

@@ -0,0 +1,45 @@
+package bcl;
+
+option csharp_namespace = "Google.ProtocolBuffers.Bcl";
+option csharp_file_classname = "BclProtoFile";
+
+option optimize_for = SPEED;
+
+message TimeSpan {
+  optional sint64 value = 1; // the size of the timespan (in units of the selected scale)
+  optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan
+  enum TimeSpanScale {
+    DAYS = 0;
+    HOURS = 1;
+    MINUTES = 2;
+    SECONDS = 3;
+    MILLISECONDS = 4;
+
+    MINMAX = 15; // dubious
+  }
+}
+
+message DateTime {
+  optional sint64 value = 1; // the offset (in units of the selected scale) from 1970/01/01
+  optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan
+  enum TimeSpanScale {
+    DAYS = 0;
+    HOURS = 1;
+    MINUTES = 2;
+    SECONDS = 3;
+    MILLISECONDS = 4;
+
+    MINMAX = 15; // dubious
+  }
+}
+
+message Guid {
+  optional fixed64 lo = 1; // the first 8 bytes of the guid
+  optional fixed64 hi = 2; // the second 8 bytes of the guid
+}
+
+message Decimal {
+  optional uint64 lo = 1; // the first 64 bits of the underlying value
+  optional uint32 hi = 2; // the last 32 bis of the underlying value
+  optional uint32 signScale = 3; // the number of decimal digits, and the sign
+}

+ 42 - 0
csharp/TestBed/bcl.proto2

@@ -0,0 +1,42 @@
+// this is prototype only!!!
+
+package bcl;
+
+message TimeSpan {
+  optional sint64 value = 1; // the size of the timespan (in units of the selected scale)
+  optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan
+  enum TimeSpanScale {
+    DAYS = 0;
+    HOURS = 1;
+    MINUTES = 2;
+    SECONDS = 3;
+    MILLISECONDS = 4;
+
+    MINMAX = 15; // dubious
+  }
+}
+
+message DateTime {
+  optional sint64 value = 1; // the offset (in units of the selected scale) from 1970/01/01
+  optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan
+  enum TimeSpanScale {
+    DAYS = 0;
+    HOURS = 1;
+    MINUTES = 2;
+    SECONDS = 3;
+    MILLISECONDS = 4;
+
+    MINMAX = 15; // dubious
+  }
+}
+
+message Guid {
+  optional fixed64 lo = 1; // the first 8 bytes of the guid
+  optional fixed64 hi = 2; // the second 8 bytes of the guid
+}
+
+message Decimal {
+  optional uint64 lo = 1; // the first 64 bits of the underlying value
+  optional uint32 hi = 2; // the last 32 bis of the underlying value
+  optional sint32 signScale = 3; // the number of decimal digits, and the sign
+}

BIN
csharp/TestBed/bin/Debug/Google.ProtocolBuffers.dll


BIN
csharp/TestBed/bin/Debug/Google.ProtocolBuffers.pdb


BIN
csharp/TestBed/bin/Debug/TestBed.exe


BIN
csharp/TestBed/bin/Debug/TestBed.pdb


BIN
csharp/TestBed/bin/Debug/TestBed.vshost.exe


BIN
csharp/TestBed/bin/Debug/before.dtc


BIN
csharp/TestBed/bin/Debug/fast.dtc


BIN
csharp/TestBed/bin/Release/Google.ProtocolBuffers.dll


BIN
csharp/TestBed/bin/Release/Google.ProtocolBuffers.pdb


BIN
csharp/TestBed/bin/Release/TestBed.exe


BIN
csharp/TestBed/bin/Release/TestBed.pdb


BIN
csharp/TestBed/bin/Release/TestBed.vshost.exe


+ 11 - 0
csharp/TestBed/bin/Release/TestBed.vshost.exe.manifest

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
+  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+    <security>
+      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
+        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
+      </requestedPrivileges>
+    </security>
+  </trustInfo>
+</assembly>

+ 1348 - 0
csharp/TestBed/java/bcl/Bcl.java

@@ -0,0 +1,1348 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+package bcl;
+
+public final class Bcl {
+  private Bcl() {}
+  public static com.google.protobuf.Descriptors.FileDescriptor
+      getDescriptor() {
+    return descriptor;
+  }
+  private static final com.google.protobuf.Descriptors.FileDescriptor
+      descriptor = buildDescriptor();
+  private static
+      com.google.protobuf.Descriptors.FileDescriptor
+      buildDescriptor() {
+    java.lang.String descriptorData =
+      "\n\tbcl.proto\022\003bcl\"\251\001\n\010TimeSpan\022\r\n\005value\030\001" +
+      " \001(\022\0220\n\005scale\030\002 \001(\0162\033.bcl.TimeSpan.TimeS" +
+      "panScale:\004DAYS\"\\\n\rTimeSpanScale\022\010\n\004DAYS\020" +
+      "\000\022\t\n\005HOURS\020\001\022\013\n\007MINUTES\020\002\022\013\n\007SECONDS\020\003\022\020" +
+      "\n\014MILLISECONDS\020\004\022\n\n\006MINMAX\020\017\"\251\001\n\010DateTim" +
+      "e\022\r\n\005value\030\001 \001(\022\0220\n\005scale\030\002 \001(\0162\033.bcl.Da" +
+      "teTime.TimeSpanScale:\004DAYS\"\\\n\rTimeSpanSc" +
+      "ale\022\010\n\004DAYS\020\000\022\t\n\005HOURS\020\001\022\013\n\007MINUTES\020\002\022\013\n" +
+      "\007SECONDS\020\003\022\020\n\014MILLISECONDS\020\004\022\n\n\006MINMAX\020\017" +
+      "\"\036\n\004Guid\022\n\n\002lo\030\001 \001(\006\022\n\n\002hi\030\002 \001(\006\"4\n\007Deci" +
+      "mal\022\n\n\002lo\030\001 \001(\004\022\n\n\002hi\030\002 \001(\r\022\021\n\tsignScale" +
+      "\030\003 \001(\rB.H\001\302>\032Google.ProtocolBuffers.Bcl\312" +
+      ">\014BclProtoFile";
+    try {
+      return com.google.protobuf.Descriptors.FileDescriptor
+        .internalBuildGeneratedFileFrom(descriptorData,
+          new com.google.protobuf.Descriptors.FileDescriptor[] {
+          });
+    } catch (Exception e) {
+      throw new RuntimeException(
+        "Failed to parse protocol buffer descriptor for " +
+        "\"bcl.proto\".", e);
+    }
+  }
+  
+  public static final class TimeSpan extends
+      com.google.protobuf.GeneratedMessage {
+    // Use TimeSpan.newBuilder() to construct.
+    private TimeSpan() {}
+    
+    private static final TimeSpan defaultInstance = new TimeSpan();
+    public static TimeSpan getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public TimeSpan getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return bcl.Bcl.internal_static_bcl_TimeSpan_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return bcl.Bcl.internal_static_bcl_TimeSpan_fieldAccessorTable;
+    }
+    
+    public static enum TimeSpanScale {
+      DAYS(0, 0),
+      HOURS(1, 1),
+      MINUTES(2, 2),
+      SECONDS(3, 3),
+      MILLISECONDS(4, 4),
+      MINMAX(5, 15),
+      ;
+      
+      
+      public final int getNumber() { return value; }
+      
+      public static TimeSpanScale valueOf(int value) {
+        switch (value) {
+          case 0: return DAYS;
+          case 1: return HOURS;
+          case 2: return MINUTES;
+          case 3: return SECONDS;
+          case 4: return MILLISECONDS;
+          case 15: return MINMAX;
+          default: return null;
+        }
+      }
+      
+      public final com.google.protobuf.Descriptors.EnumValueDescriptor
+          getValueDescriptor() {
+        return getDescriptor().getValues().get(index);
+      }
+      public final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptorForType() {
+        return getDescriptor();
+      }
+      public static final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptor() {
+        return bcl.Bcl.TimeSpan.getDescriptor().getEnumTypes().get(0);
+      }
+      
+      private static final TimeSpanScale[] VALUES = {
+        DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, MINMAX, 
+      };
+      public static TimeSpanScale valueOf(
+          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+        if (desc.getType() != getDescriptor()) {
+          throw new java.lang.IllegalArgumentException(
+            "EnumValueDescriptor is not for this type.");
+        }
+        return VALUES[desc.getIndex()];
+      }
+      private final int index;
+      private final int value;
+      private TimeSpanScale(int index, int value) {
+        this.index = index;
+        this.value = value;
+      }
+    }
+    
+    // optional sint64 value = 1;
+    private boolean hasValue;
+    private long value_ = 0L;
+    public boolean hasValue() { return hasValue; }
+    public long getValue() { return value_; }
+    
+    // optional .bcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS];
+    private boolean hasScale;
+    private bcl.Bcl.TimeSpan.TimeSpanScale scale_ = bcl.Bcl.TimeSpan.TimeSpanScale.DAYS;
+    public boolean hasScale() { return hasScale; }
+    public bcl.Bcl.TimeSpan.TimeSpanScale getScale() { return scale_; }
+    
+    public final boolean isInitialized() {
+      return true;
+    }
+    
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      if (hasValue()) {
+        output.writeSInt64(1, getValue());
+      }
+      if (hasScale()) {
+        output.writeEnum(2, getScale().getNumber());
+      }
+      getUnknownFields().writeTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+    
+      size = 0;
+      if (hasValue()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeSInt64Size(1, getValue());
+      }
+      if (hasScale()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeEnumSize(2, getScale().getNumber());
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+    
+    public static bcl.Bcl.TimeSpan parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static bcl.Bcl.TimeSpan parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.TimeSpan parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static bcl.Bcl.TimeSpan parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.TimeSpan parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static bcl.Bcl.TimeSpan parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.TimeSpan parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static bcl.Bcl.TimeSpan parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(bcl.Bcl.TimeSpan prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using bcl.Bcl.TimeSpan.newBuilder()
+      private Builder() {}
+      
+      bcl.Bcl.TimeSpan result = new bcl.Bcl.TimeSpan();
+      
+      protected bcl.Bcl.TimeSpan internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new bcl.Bcl.TimeSpan();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return bcl.Bcl.TimeSpan.getDescriptor();
+      }
+      
+      public bcl.Bcl.TimeSpan getDefaultInstanceForType() {
+        return bcl.Bcl.TimeSpan.getDefaultInstance();
+      }
+      
+      public bcl.Bcl.TimeSpan build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private bcl.Bcl.TimeSpan buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public bcl.Bcl.TimeSpan buildPartial() {
+        bcl.Bcl.TimeSpan returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof bcl.Bcl.TimeSpan) {
+          return mergeFrom((bcl.Bcl.TimeSpan)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+      
+      public Builder mergeFrom(bcl.Bcl.TimeSpan other) {
+        if (other == bcl.Bcl.TimeSpan.getDefaultInstance()) return this;
+        if (other.hasValue()) {
+          setValue(other.getValue());
+        }
+        if (other.hasScale()) {
+          setScale(other.getScale());
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return mergeFrom(input,
+          com.google.protobuf.ExtensionRegistry.getEmptyRegistry());
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistry extensionRegistry)
+          throws java.io.IOException {
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder(
+            this.getUnknownFields());
+        while (true) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              this.setUnknownFields(unknownFields.build());
+              return this;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.setUnknownFields(unknownFields.build());
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              setValue(input.readSInt64());
+              break;
+            }
+            case 16: {
+              int rawValue = input.readEnum();
+              bcl.Bcl.TimeSpan.TimeSpanScale value = bcl.Bcl.TimeSpan.TimeSpanScale.valueOf(rawValue);
+              if (value == null) {
+                unknownFields.mergeVarintField(2, rawValue);
+              } else {
+                setScale(value);
+              }
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional sint64 value = 1;
+      public boolean hasValue() {
+        return result.hasValue();
+      }
+      public long getValue() {
+        return result.getValue();
+      }
+      public Builder setValue(long value) {
+        result.hasValue = true;
+        result.value_ = value;
+        return this;
+      }
+      public Builder clearValue() {
+        result.hasValue = false;
+        result.value_ = 0L;
+        return this;
+      }
+      
+      // optional .bcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS];
+      public boolean hasScale() {
+        return result.hasScale();
+      }
+      public bcl.Bcl.TimeSpan.TimeSpanScale getScale() {
+        return result.getScale();
+      }
+      public Builder setScale(bcl.Bcl.TimeSpan.TimeSpanScale value) {
+        result.hasScale = true;
+        result.scale_ = value;
+        return this;
+      }
+      public Builder clearScale() {
+        result.hasScale = false;
+        result.scale_ = bcl.Bcl.TimeSpan.TimeSpanScale.DAYS;
+        return this;
+      }
+    }
+  }
+  
+  public static final class DateTime extends
+      com.google.protobuf.GeneratedMessage {
+    // Use DateTime.newBuilder() to construct.
+    private DateTime() {}
+    
+    private static final DateTime defaultInstance = new DateTime();
+    public static DateTime getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public DateTime getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return bcl.Bcl.internal_static_bcl_DateTime_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return bcl.Bcl.internal_static_bcl_DateTime_fieldAccessorTable;
+    }
+    
+    public static enum TimeSpanScale {
+      DAYS(0, 0),
+      HOURS(1, 1),
+      MINUTES(2, 2),
+      SECONDS(3, 3),
+      MILLISECONDS(4, 4),
+      MINMAX(5, 15),
+      ;
+      
+      
+      public final int getNumber() { return value; }
+      
+      public static TimeSpanScale valueOf(int value) {
+        switch (value) {
+          case 0: return DAYS;
+          case 1: return HOURS;
+          case 2: return MINUTES;
+          case 3: return SECONDS;
+          case 4: return MILLISECONDS;
+          case 15: return MINMAX;
+          default: return null;
+        }
+      }
+      
+      public final com.google.protobuf.Descriptors.EnumValueDescriptor
+          getValueDescriptor() {
+        return getDescriptor().getValues().get(index);
+      }
+      public final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptorForType() {
+        return getDescriptor();
+      }
+      public static final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptor() {
+        return bcl.Bcl.DateTime.getDescriptor().getEnumTypes().get(0);
+      }
+      
+      private static final TimeSpanScale[] VALUES = {
+        DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, MINMAX, 
+      };
+      public static TimeSpanScale valueOf(
+          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+        if (desc.getType() != getDescriptor()) {
+          throw new java.lang.IllegalArgumentException(
+            "EnumValueDescriptor is not for this type.");
+        }
+        return VALUES[desc.getIndex()];
+      }
+      private final int index;
+      private final int value;
+      private TimeSpanScale(int index, int value) {
+        this.index = index;
+        this.value = value;
+      }
+    }
+    
+    // optional sint64 value = 1;
+    private boolean hasValue;
+    private long value_ = 0L;
+    public boolean hasValue() { return hasValue; }
+    public long getValue() { return value_; }
+    
+    // optional .bcl.DateTime.TimeSpanScale scale = 2 [default = DAYS];
+    private boolean hasScale;
+    private bcl.Bcl.DateTime.TimeSpanScale scale_ = bcl.Bcl.DateTime.TimeSpanScale.DAYS;
+    public boolean hasScale() { return hasScale; }
+    public bcl.Bcl.DateTime.TimeSpanScale getScale() { return scale_; }
+    
+    public final boolean isInitialized() {
+      return true;
+    }
+    
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      if (hasValue()) {
+        output.writeSInt64(1, getValue());
+      }
+      if (hasScale()) {
+        output.writeEnum(2, getScale().getNumber());
+      }
+      getUnknownFields().writeTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+    
+      size = 0;
+      if (hasValue()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeSInt64Size(1, getValue());
+      }
+      if (hasScale()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeEnumSize(2, getScale().getNumber());
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+    
+    public static bcl.Bcl.DateTime parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static bcl.Bcl.DateTime parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.DateTime parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static bcl.Bcl.DateTime parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.DateTime parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static bcl.Bcl.DateTime parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.DateTime parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static bcl.Bcl.DateTime parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(bcl.Bcl.DateTime prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using bcl.Bcl.DateTime.newBuilder()
+      private Builder() {}
+      
+      bcl.Bcl.DateTime result = new bcl.Bcl.DateTime();
+      
+      protected bcl.Bcl.DateTime internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new bcl.Bcl.DateTime();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return bcl.Bcl.DateTime.getDescriptor();
+      }
+      
+      public bcl.Bcl.DateTime getDefaultInstanceForType() {
+        return bcl.Bcl.DateTime.getDefaultInstance();
+      }
+      
+      public bcl.Bcl.DateTime build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private bcl.Bcl.DateTime buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public bcl.Bcl.DateTime buildPartial() {
+        bcl.Bcl.DateTime returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof bcl.Bcl.DateTime) {
+          return mergeFrom((bcl.Bcl.DateTime)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+      
+      public Builder mergeFrom(bcl.Bcl.DateTime other) {
+        if (other == bcl.Bcl.DateTime.getDefaultInstance()) return this;
+        if (other.hasValue()) {
+          setValue(other.getValue());
+        }
+        if (other.hasScale()) {
+          setScale(other.getScale());
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return mergeFrom(input,
+          com.google.protobuf.ExtensionRegistry.getEmptyRegistry());
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistry extensionRegistry)
+          throws java.io.IOException {
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder(
+            this.getUnknownFields());
+        while (true) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              this.setUnknownFields(unknownFields.build());
+              return this;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.setUnknownFields(unknownFields.build());
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              setValue(input.readSInt64());
+              break;
+            }
+            case 16: {
+              int rawValue = input.readEnum();
+              bcl.Bcl.DateTime.TimeSpanScale value = bcl.Bcl.DateTime.TimeSpanScale.valueOf(rawValue);
+              if (value == null) {
+                unknownFields.mergeVarintField(2, rawValue);
+              } else {
+                setScale(value);
+              }
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional sint64 value = 1;
+      public boolean hasValue() {
+        return result.hasValue();
+      }
+      public long getValue() {
+        return result.getValue();
+      }
+      public Builder setValue(long value) {
+        result.hasValue = true;
+        result.value_ = value;
+        return this;
+      }
+      public Builder clearValue() {
+        result.hasValue = false;
+        result.value_ = 0L;
+        return this;
+      }
+      
+      // optional .bcl.DateTime.TimeSpanScale scale = 2 [default = DAYS];
+      public boolean hasScale() {
+        return result.hasScale();
+      }
+      public bcl.Bcl.DateTime.TimeSpanScale getScale() {
+        return result.getScale();
+      }
+      public Builder setScale(bcl.Bcl.DateTime.TimeSpanScale value) {
+        result.hasScale = true;
+        result.scale_ = value;
+        return this;
+      }
+      public Builder clearScale() {
+        result.hasScale = false;
+        result.scale_ = bcl.Bcl.DateTime.TimeSpanScale.DAYS;
+        return this;
+      }
+    }
+  }
+  
+  public static final class Guid extends
+      com.google.protobuf.GeneratedMessage {
+    // Use Guid.newBuilder() to construct.
+    private Guid() {}
+    
+    private static final Guid defaultInstance = new Guid();
+    public static Guid getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public Guid getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return bcl.Bcl.internal_static_bcl_Guid_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return bcl.Bcl.internal_static_bcl_Guid_fieldAccessorTable;
+    }
+    
+    // optional fixed64 lo = 1;
+    private boolean hasLo;
+    private long lo_ = 0L;
+    public boolean hasLo() { return hasLo; }
+    public long getLo() { return lo_; }
+    
+    // optional fixed64 hi = 2;
+    private boolean hasHi;
+    private long hi_ = 0L;
+    public boolean hasHi() { return hasHi; }
+    public long getHi() { return hi_; }
+    
+    public final boolean isInitialized() {
+      return true;
+    }
+    
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      if (hasLo()) {
+        output.writeFixed64(1, getLo());
+      }
+      if (hasHi()) {
+        output.writeFixed64(2, getHi());
+      }
+      getUnknownFields().writeTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+    
+      size = 0;
+      if (hasLo()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeFixed64Size(1, getLo());
+      }
+      if (hasHi()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeFixed64Size(2, getHi());
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+    
+    public static bcl.Bcl.Guid parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static bcl.Bcl.Guid parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.Guid parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static bcl.Bcl.Guid parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.Guid parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static bcl.Bcl.Guid parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.Guid parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static bcl.Bcl.Guid parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(bcl.Bcl.Guid prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using bcl.Bcl.Guid.newBuilder()
+      private Builder() {}
+      
+      bcl.Bcl.Guid result = new bcl.Bcl.Guid();
+      
+      protected bcl.Bcl.Guid internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new bcl.Bcl.Guid();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return bcl.Bcl.Guid.getDescriptor();
+      }
+      
+      public bcl.Bcl.Guid getDefaultInstanceForType() {
+        return bcl.Bcl.Guid.getDefaultInstance();
+      }
+      
+      public bcl.Bcl.Guid build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private bcl.Bcl.Guid buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public bcl.Bcl.Guid buildPartial() {
+        bcl.Bcl.Guid returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof bcl.Bcl.Guid) {
+          return mergeFrom((bcl.Bcl.Guid)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+      
+      public Builder mergeFrom(bcl.Bcl.Guid other) {
+        if (other == bcl.Bcl.Guid.getDefaultInstance()) return this;
+        if (other.hasLo()) {
+          setLo(other.getLo());
+        }
+        if (other.hasHi()) {
+          setHi(other.getHi());
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return mergeFrom(input,
+          com.google.protobuf.ExtensionRegistry.getEmptyRegistry());
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistry extensionRegistry)
+          throws java.io.IOException {
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder(
+            this.getUnknownFields());
+        while (true) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              this.setUnknownFields(unknownFields.build());
+              return this;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.setUnknownFields(unknownFields.build());
+                return this;
+              }
+              break;
+            }
+            case 9: {
+              setLo(input.readFixed64());
+              break;
+            }
+            case 17: {
+              setHi(input.readFixed64());
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional fixed64 lo = 1;
+      public boolean hasLo() {
+        return result.hasLo();
+      }
+      public long getLo() {
+        return result.getLo();
+      }
+      public Builder setLo(long value) {
+        result.hasLo = true;
+        result.lo_ = value;
+        return this;
+      }
+      public Builder clearLo() {
+        result.hasLo = false;
+        result.lo_ = 0L;
+        return this;
+      }
+      
+      // optional fixed64 hi = 2;
+      public boolean hasHi() {
+        return result.hasHi();
+      }
+      public long getHi() {
+        return result.getHi();
+      }
+      public Builder setHi(long value) {
+        result.hasHi = true;
+        result.hi_ = value;
+        return this;
+      }
+      public Builder clearHi() {
+        result.hasHi = false;
+        result.hi_ = 0L;
+        return this;
+      }
+    }
+  }
+  
+  public static final class Decimal extends
+      com.google.protobuf.GeneratedMessage {
+    // Use Decimal.newBuilder() to construct.
+    private Decimal() {}
+    
+    private static final Decimal defaultInstance = new Decimal();
+    public static Decimal getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public Decimal getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return bcl.Bcl.internal_static_bcl_Decimal_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return bcl.Bcl.internal_static_bcl_Decimal_fieldAccessorTable;
+    }
+    
+    // optional uint64 lo = 1;
+    private boolean hasLo;
+    private long lo_ = 0L;
+    public boolean hasLo() { return hasLo; }
+    public long getLo() { return lo_; }
+    
+    // optional uint32 hi = 2;
+    private boolean hasHi;
+    private int hi_ = 0;
+    public boolean hasHi() { return hasHi; }
+    public int getHi() { return hi_; }
+    
+    // optional uint32 signScale = 3;
+    private boolean hasSignScale;
+    private int signScale_ = 0;
+    public boolean hasSignScale() { return hasSignScale; }
+    public int getSignScale() { return signScale_; }
+    
+    public final boolean isInitialized() {
+      return true;
+    }
+    
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      if (hasLo()) {
+        output.writeUInt64(1, getLo());
+      }
+      if (hasHi()) {
+        output.writeUInt32(2, getHi());
+      }
+      if (hasSignScale()) {
+        output.writeUInt32(3, getSignScale());
+      }
+      getUnknownFields().writeTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+    
+      size = 0;
+      if (hasLo()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeUInt64Size(1, getLo());
+      }
+      if (hasHi()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeUInt32Size(2, getHi());
+      }
+      if (hasSignScale()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeUInt32Size(3, getSignScale());
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+    
+    public static bcl.Bcl.Decimal parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static bcl.Bcl.Decimal parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.Decimal parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static bcl.Bcl.Decimal parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.Decimal parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static bcl.Bcl.Decimal parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static bcl.Bcl.Decimal parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static bcl.Bcl.Decimal parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(bcl.Bcl.Decimal prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using bcl.Bcl.Decimal.newBuilder()
+      private Builder() {}
+      
+      bcl.Bcl.Decimal result = new bcl.Bcl.Decimal();
+      
+      protected bcl.Bcl.Decimal internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new bcl.Bcl.Decimal();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return bcl.Bcl.Decimal.getDescriptor();
+      }
+      
+      public bcl.Bcl.Decimal getDefaultInstanceForType() {
+        return bcl.Bcl.Decimal.getDefaultInstance();
+      }
+      
+      public bcl.Bcl.Decimal build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private bcl.Bcl.Decimal buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public bcl.Bcl.Decimal buildPartial() {
+        bcl.Bcl.Decimal returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof bcl.Bcl.Decimal) {
+          return mergeFrom((bcl.Bcl.Decimal)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+      
+      public Builder mergeFrom(bcl.Bcl.Decimal other) {
+        if (other == bcl.Bcl.Decimal.getDefaultInstance()) return this;
+        if (other.hasLo()) {
+          setLo(other.getLo());
+        }
+        if (other.hasHi()) {
+          setHi(other.getHi());
+        }
+        if (other.hasSignScale()) {
+          setSignScale(other.getSignScale());
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return mergeFrom(input,
+          com.google.protobuf.ExtensionRegistry.getEmptyRegistry());
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistry extensionRegistry)
+          throws java.io.IOException {
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder(
+            this.getUnknownFields());
+        while (true) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              this.setUnknownFields(unknownFields.build());
+              return this;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.setUnknownFields(unknownFields.build());
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              setLo(input.readUInt64());
+              break;
+            }
+            case 16: {
+              setHi(input.readUInt32());
+              break;
+            }
+            case 24: {
+              setSignScale(input.readUInt32());
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional uint64 lo = 1;
+      public boolean hasLo() {
+        return result.hasLo();
+      }
+      public long getLo() {
+        return result.getLo();
+      }
+      public Builder setLo(long value) {
+        result.hasLo = true;
+        result.lo_ = value;
+        return this;
+      }
+      public Builder clearLo() {
+        result.hasLo = false;
+        result.lo_ = 0L;
+        return this;
+      }
+      
+      // optional uint32 hi = 2;
+      public boolean hasHi() {
+        return result.hasHi();
+      }
+      public int getHi() {
+        return result.getHi();
+      }
+      public Builder setHi(int value) {
+        result.hasHi = true;
+        result.hi_ = value;
+        return this;
+      }
+      public Builder clearHi() {
+        result.hasHi = false;
+        result.hi_ = 0;
+        return this;
+      }
+      
+      // optional uint32 signScale = 3;
+      public boolean hasSignScale() {
+        return result.hasSignScale();
+      }
+      public int getSignScale() {
+        return result.getSignScale();
+      }
+      public Builder setSignScale(int value) {
+        result.hasSignScale = true;
+        result.signScale_ = value;
+        return this;
+      }
+      public Builder clearSignScale() {
+        result.hasSignScale = false;
+        result.signScale_ = 0;
+        return this;
+      }
+    }
+  }
+  
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_bcl_TimeSpan_descriptor =
+      getDescriptor().getMessageTypes().get(0);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_bcl_TimeSpan_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_bcl_TimeSpan_descriptor,
+          new java.lang.String[] { "Value", "Scale", },
+          bcl.Bcl.TimeSpan.class,
+          bcl.Bcl.TimeSpan.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_bcl_DateTime_descriptor =
+      getDescriptor().getMessageTypes().get(1);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_bcl_DateTime_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_bcl_DateTime_descriptor,
+          new java.lang.String[] { "Value", "Scale", },
+          bcl.Bcl.DateTime.class,
+          bcl.Bcl.DateTime.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_bcl_Guid_descriptor =
+      getDescriptor().getMessageTypes().get(2);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_bcl_Guid_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_bcl_Guid_descriptor,
+          new java.lang.String[] { "Lo", "Hi", },
+          bcl.Bcl.Guid.class,
+          bcl.Bcl.Guid.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_bcl_Decimal_descriptor =
+      getDescriptor().getMessageTypes().get(3);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_bcl_Decimal_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_bcl_Decimal_descriptor,
+          new java.lang.String[] { "Lo", "Hi", "SignScale", },
+          bcl.Bcl.Decimal.class,
+          bcl.Bcl.Decimal.Builder.class);
+}

+ 1661 - 0
csharp/TestBed/java/northwind/Nwind.java

@@ -0,0 +1,1661 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+package northwind;
+
+public final class Nwind {
+  private Nwind() {}
+  public static com.google.protobuf.Descriptors.FileDescriptor
+      getDescriptor() {
+    return descriptor;
+  }
+  private static final com.google.protobuf.Descriptors.FileDescriptor
+      descriptor = buildDescriptor();
+  private static
+      com.google.protobuf.Descriptors.FileDescriptor
+      buildDescriptor() {
+    java.lang.String descriptorData =
+      "\n\013nwind.proto\022\tnorthwind\032\tbcl.proto\",\n\010D" +
+      "atabase\022 \n\006Orders\030\001 \003(\0132\020.northwind.Orde" +
+      "r\"\372\002\n\005Order\022\017\n\007OrderID\030\001 \001(\005\022\022\n\nCustomer" +
+      "ID\030\002 \001(\t\022\022\n\nEmployeeID\030\003 \001(\005\022 \n\tOrderDat" +
+      "e\030\004 \001(\0132\r.bcl.DateTime\022#\n\014RequiredDate\030\005" +
+      " \001(\0132\r.bcl.DateTime\022\"\n\013ShippedDate\030\006 \001(\013" +
+      "2\r.bcl.DateTime\022\017\n\007ShipVia\030\007 \001(\005\022\035\n\007Frei" +
+      "ght\030\010 \001(\0132\014.bcl.Decimal\022\020\n\010ShipName\030\t \001(" +
+      "\t\022\023\n\013ShipAddress\030\n \001(\t\022\020\n\010ShipCity\030\013 \001(\t" +
+      "\022\022\n\nShipRegion\030\014 \001(\t\022\026\n\016ShipPostalCode\030\r" +
+      " \001(\t\022\023\n\013ShipCountry\030\016 \001(\t\022#\n\005Lines\030\017 \003(\013" +
+      "2\024.northwind.OrderLine\"t\n\tOrderLine\022\017\n\007O" +
+      "rderID\030\001 \001(\005\022\021\n\tProductID\030\002 \001(\005\022\037\n\tUnitP" +
+      "rice\030\003 \001(\0132\014.bcl.Decimal\022\020\n\010Quantity\030\004 \001" +
+      "(\021\022\020\n\010Discount\030\005 \001(\002B#H\001\302>\tNorthwind\312>\022N" +
+      "orthwindProtoFile";
+    try {
+      return com.google.protobuf.Descriptors.FileDescriptor
+        .internalBuildGeneratedFileFrom(descriptorData,
+          new com.google.protobuf.Descriptors.FileDescriptor[] {
+            bcl.Bcl.getDescriptor(),
+          });
+    } catch (Exception e) {
+      throw new RuntimeException(
+        "Failed to parse protocol buffer descriptor for " +
+        "\"nwind.proto\".", e);
+    }
+  }
+  
+  public static final class Database extends
+      com.google.protobuf.GeneratedMessage {
+    // Use Database.newBuilder() to construct.
+    private Database() {}
+    
+    private static final Database defaultInstance = new Database();
+    public static Database getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public Database getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return northwind.Nwind.internal_static_northwind_Database_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return northwind.Nwind.internal_static_northwind_Database_fieldAccessorTable;
+    }
+    
+    // repeated .northwind.Order Orders = 1;
+    private java.util.List<northwind.Nwind.Order> orders_ =
+      java.util.Collections.emptyList();
+    public java.util.List<northwind.Nwind.Order> getOrdersList() {
+      return orders_;
+    }
+    public int getOrdersCount() { return orders_.size(); }
+    public northwind.Nwind.Order getOrders(int index) {
+      return orders_.get(index);
+    }
+    
+    public final boolean isInitialized() {
+      return true;
+    }
+    
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      for (northwind.Nwind.Order element : getOrdersList()) {
+        output.writeMessage(1, element);
+      }
+      getUnknownFields().writeTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+    
+      size = 0;
+      for (northwind.Nwind.Order element : getOrdersList()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(1, element);
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+    
+    public static northwind.Nwind.Database parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static northwind.Nwind.Database parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static northwind.Nwind.Database parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static northwind.Nwind.Database parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static northwind.Nwind.Database parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static northwind.Nwind.Database parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static northwind.Nwind.Database parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static northwind.Nwind.Database parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(northwind.Nwind.Database prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using northwind.Nwind.Database.newBuilder()
+      private Builder() {}
+      
+      northwind.Nwind.Database result = new northwind.Nwind.Database();
+      
+      protected northwind.Nwind.Database internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new northwind.Nwind.Database();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return northwind.Nwind.Database.getDescriptor();
+      }
+      
+      public northwind.Nwind.Database getDefaultInstanceForType() {
+        return northwind.Nwind.Database.getDefaultInstance();
+      }
+      
+      public northwind.Nwind.Database build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private northwind.Nwind.Database buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public northwind.Nwind.Database buildPartial() {
+        if (result.orders_ != java.util.Collections.EMPTY_LIST) {
+          result.orders_ =
+            java.util.Collections.unmodifiableList(result.orders_);
+        }
+        northwind.Nwind.Database returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof northwind.Nwind.Database) {
+          return mergeFrom((northwind.Nwind.Database)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+      
+      public Builder mergeFrom(northwind.Nwind.Database other) {
+        if (other == northwind.Nwind.Database.getDefaultInstance()) return this;
+        if (!other.orders_.isEmpty()) {
+          if (result.orders_.isEmpty()) {
+            result.orders_ = new java.util.ArrayList<northwind.Nwind.Order>();
+          }
+          result.orders_.addAll(other.orders_);
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return mergeFrom(input,
+          com.google.protobuf.ExtensionRegistry.getEmptyRegistry());
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistry extensionRegistry)
+          throws java.io.IOException {
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder(
+            this.getUnknownFields());
+        while (true) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              this.setUnknownFields(unknownFields.build());
+              return this;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.setUnknownFields(unknownFields.build());
+                return this;
+              }
+              break;
+            }
+            case 10: {
+              northwind.Nwind.Order.Builder subBuilder = northwind.Nwind.Order.newBuilder();
+              input.readMessage(subBuilder, extensionRegistry);
+              addOrders(subBuilder.buildPartial());
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // repeated .northwind.Order Orders = 1;
+      public java.util.List<northwind.Nwind.Order> getOrdersList() {
+        return java.util.Collections.unmodifiableList(result.orders_);
+      }
+      public int getOrdersCount() {
+        return result.getOrdersCount();
+      }
+      public northwind.Nwind.Order getOrders(int index) {
+        return result.getOrders(index);
+      }
+      public Builder setOrders(int index, northwind.Nwind.Order value) {
+        result.orders_.set(index, value);
+        return this;
+      }
+      public Builder setOrders(int index, northwind.Nwind.Order.Builder builderForValue) {
+        result.orders_.set(index, builderForValue.build());
+        return this;
+      }
+      public Builder addOrders(northwind.Nwind.Order value) {
+        if (result.orders_.isEmpty()) {
+          result.orders_ = new java.util.ArrayList<northwind.Nwind.Order>();
+        }
+        result.orders_.add(value);
+        return this;
+      }
+      public Builder addOrders(northwind.Nwind.Order.Builder builderForValue) {
+        if (result.orders_.isEmpty()) {
+          result.orders_ = new java.util.ArrayList<northwind.Nwind.Order>();
+        }
+        result.orders_.add(builderForValue.build());
+        return this;
+      }
+      public Builder addAllOrders(
+          java.lang.Iterable<? extends northwind.Nwind.Order> values) {
+        if (result.orders_.isEmpty()) {
+          result.orders_ = new java.util.ArrayList<northwind.Nwind.Order>();
+        }
+        super.addAll(values, result.orders_);
+        return this;
+      }
+      public Builder clearOrders() {
+        result.orders_ = java.util.Collections.emptyList();
+        return this;
+      }
+    }
+  }
+  
+  public static final class Order extends
+      com.google.protobuf.GeneratedMessage {
+    // Use Order.newBuilder() to construct.
+    private Order() {}
+    
+    private static final Order defaultInstance = new Order();
+    public static Order getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public Order getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return northwind.Nwind.internal_static_northwind_Order_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return northwind.Nwind.internal_static_northwind_Order_fieldAccessorTable;
+    }
+    
+    // optional int32 OrderID = 1;
+    private boolean hasOrderID;
+    private int orderID_ = 0;
+    public boolean hasOrderID() { return hasOrderID; }
+    public int getOrderID() { return orderID_; }
+    
+    // optional string CustomerID = 2;
+    private boolean hasCustomerID;
+    private java.lang.String customerID_ = "";
+    public boolean hasCustomerID() { return hasCustomerID; }
+    public java.lang.String getCustomerID() { return customerID_; }
+    
+    // optional int32 EmployeeID = 3;
+    private boolean hasEmployeeID;
+    private int employeeID_ = 0;
+    public boolean hasEmployeeID() { return hasEmployeeID; }
+    public int getEmployeeID() { return employeeID_; }
+    
+    // optional .bcl.DateTime OrderDate = 4;
+    private boolean hasOrderDate;
+    private bcl.Bcl.DateTime orderDate_ = bcl.Bcl.DateTime.getDefaultInstance();
+    public boolean hasOrderDate() { return hasOrderDate; }
+    public bcl.Bcl.DateTime getOrderDate() { return orderDate_; }
+    
+    // optional .bcl.DateTime RequiredDate = 5;
+    private boolean hasRequiredDate;
+    private bcl.Bcl.DateTime requiredDate_ = bcl.Bcl.DateTime.getDefaultInstance();
+    public boolean hasRequiredDate() { return hasRequiredDate; }
+    public bcl.Bcl.DateTime getRequiredDate() { return requiredDate_; }
+    
+    // optional .bcl.DateTime ShippedDate = 6;
+    private boolean hasShippedDate;
+    private bcl.Bcl.DateTime shippedDate_ = bcl.Bcl.DateTime.getDefaultInstance();
+    public boolean hasShippedDate() { return hasShippedDate; }
+    public bcl.Bcl.DateTime getShippedDate() { return shippedDate_; }
+    
+    // optional int32 ShipVia = 7;
+    private boolean hasShipVia;
+    private int shipVia_ = 0;
+    public boolean hasShipVia() { return hasShipVia; }
+    public int getShipVia() { return shipVia_; }
+    
+    // optional .bcl.Decimal Freight = 8;
+    private boolean hasFreight;
+    private bcl.Bcl.Decimal freight_ = bcl.Bcl.Decimal.getDefaultInstance();
+    public boolean hasFreight() { return hasFreight; }
+    public bcl.Bcl.Decimal getFreight() { return freight_; }
+    
+    // optional string ShipName = 9;
+    private boolean hasShipName;
+    private java.lang.String shipName_ = "";
+    public boolean hasShipName() { return hasShipName; }
+    public java.lang.String getShipName() { return shipName_; }
+    
+    // optional string ShipAddress = 10;
+    private boolean hasShipAddress;
+    private java.lang.String shipAddress_ = "";
+    public boolean hasShipAddress() { return hasShipAddress; }
+    public java.lang.String getShipAddress() { return shipAddress_; }
+    
+    // optional string ShipCity = 11;
+    private boolean hasShipCity;
+    private java.lang.String shipCity_ = "";
+    public boolean hasShipCity() { return hasShipCity; }
+    public java.lang.String getShipCity() { return shipCity_; }
+    
+    // optional string ShipRegion = 12;
+    private boolean hasShipRegion;
+    private java.lang.String shipRegion_ = "";
+    public boolean hasShipRegion() { return hasShipRegion; }
+    public java.lang.String getShipRegion() { return shipRegion_; }
+    
+    // optional string ShipPostalCode = 13;
+    private boolean hasShipPostalCode;
+    private java.lang.String shipPostalCode_ = "";
+    public boolean hasShipPostalCode() { return hasShipPostalCode; }
+    public java.lang.String getShipPostalCode() { return shipPostalCode_; }
+    
+    // optional string ShipCountry = 14;
+    private boolean hasShipCountry;
+    private java.lang.String shipCountry_ = "";
+    public boolean hasShipCountry() { return hasShipCountry; }
+    public java.lang.String getShipCountry() { return shipCountry_; }
+    
+    // repeated .northwind.OrderLine Lines = 15;
+    private java.util.List<northwind.Nwind.OrderLine> lines_ =
+      java.util.Collections.emptyList();
+    public java.util.List<northwind.Nwind.OrderLine> getLinesList() {
+      return lines_;
+    }
+    public int getLinesCount() { return lines_.size(); }
+    public northwind.Nwind.OrderLine getLines(int index) {
+      return lines_.get(index);
+    }
+    
+    public final boolean isInitialized() {
+      return true;
+    }
+    
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      if (hasOrderID()) {
+        output.writeInt32(1, getOrderID());
+      }
+      if (hasCustomerID()) {
+        output.writeString(2, getCustomerID());
+      }
+      if (hasEmployeeID()) {
+        output.writeInt32(3, getEmployeeID());
+      }
+      if (hasOrderDate()) {
+        output.writeMessage(4, getOrderDate());
+      }
+      if (hasRequiredDate()) {
+        output.writeMessage(5, getRequiredDate());
+      }
+      if (hasShippedDate()) {
+        output.writeMessage(6, getShippedDate());
+      }
+      if (hasShipVia()) {
+        output.writeInt32(7, getShipVia());
+      }
+      if (hasFreight()) {
+        output.writeMessage(8, getFreight());
+      }
+      if (hasShipName()) {
+        output.writeString(9, getShipName());
+      }
+      if (hasShipAddress()) {
+        output.writeString(10, getShipAddress());
+      }
+      if (hasShipCity()) {
+        output.writeString(11, getShipCity());
+      }
+      if (hasShipRegion()) {
+        output.writeString(12, getShipRegion());
+      }
+      if (hasShipPostalCode()) {
+        output.writeString(13, getShipPostalCode());
+      }
+      if (hasShipCountry()) {
+        output.writeString(14, getShipCountry());
+      }
+      for (northwind.Nwind.OrderLine element : getLinesList()) {
+        output.writeMessage(15, element);
+      }
+      getUnknownFields().writeTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+    
+      size = 0;
+      if (hasOrderID()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt32Size(1, getOrderID());
+      }
+      if (hasCustomerID()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeStringSize(2, getCustomerID());
+      }
+      if (hasEmployeeID()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt32Size(3, getEmployeeID());
+      }
+      if (hasOrderDate()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(4, getOrderDate());
+      }
+      if (hasRequiredDate()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(5, getRequiredDate());
+      }
+      if (hasShippedDate()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(6, getShippedDate());
+      }
+      if (hasShipVia()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt32Size(7, getShipVia());
+      }
+      if (hasFreight()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(8, getFreight());
+      }
+      if (hasShipName()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeStringSize(9, getShipName());
+      }
+      if (hasShipAddress()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeStringSize(10, getShipAddress());
+      }
+      if (hasShipCity()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeStringSize(11, getShipCity());
+      }
+      if (hasShipRegion()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeStringSize(12, getShipRegion());
+      }
+      if (hasShipPostalCode()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeStringSize(13, getShipPostalCode());
+      }
+      if (hasShipCountry()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeStringSize(14, getShipCountry());
+      }
+      for (northwind.Nwind.OrderLine element : getLinesList()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(15, element);
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+    
+    public static northwind.Nwind.Order parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static northwind.Nwind.Order parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static northwind.Nwind.Order parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static northwind.Nwind.Order parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static northwind.Nwind.Order parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static northwind.Nwind.Order parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static northwind.Nwind.Order parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static northwind.Nwind.Order parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(northwind.Nwind.Order prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using northwind.Nwind.Order.newBuilder()
+      private Builder() {}
+      
+      northwind.Nwind.Order result = new northwind.Nwind.Order();
+      
+      protected northwind.Nwind.Order internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new northwind.Nwind.Order();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return northwind.Nwind.Order.getDescriptor();
+      }
+      
+      public northwind.Nwind.Order getDefaultInstanceForType() {
+        return northwind.Nwind.Order.getDefaultInstance();
+      }
+      
+      public northwind.Nwind.Order build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private northwind.Nwind.Order buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public northwind.Nwind.Order buildPartial() {
+        if (result.lines_ != java.util.Collections.EMPTY_LIST) {
+          result.lines_ =
+            java.util.Collections.unmodifiableList(result.lines_);
+        }
+        northwind.Nwind.Order returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof northwind.Nwind.Order) {
+          return mergeFrom((northwind.Nwind.Order)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+      
+      public Builder mergeFrom(northwind.Nwind.Order other) {
+        if (other == northwind.Nwind.Order.getDefaultInstance()) return this;
+        if (other.hasOrderID()) {
+          setOrderID(other.getOrderID());
+        }
+        if (other.hasCustomerID()) {
+          setCustomerID(other.getCustomerID());
+        }
+        if (other.hasEmployeeID()) {
+          setEmployeeID(other.getEmployeeID());
+        }
+        if (other.hasOrderDate()) {
+          mergeOrderDate(other.getOrderDate());
+        }
+        if (other.hasRequiredDate()) {
+          mergeRequiredDate(other.getRequiredDate());
+        }
+        if (other.hasShippedDate()) {
+          mergeShippedDate(other.getShippedDate());
+        }
+        if (other.hasShipVia()) {
+          setShipVia(other.getShipVia());
+        }
+        if (other.hasFreight()) {
+          mergeFreight(other.getFreight());
+        }
+        if (other.hasShipName()) {
+          setShipName(other.getShipName());
+        }
+        if (other.hasShipAddress()) {
+          setShipAddress(other.getShipAddress());
+        }
+        if (other.hasShipCity()) {
+          setShipCity(other.getShipCity());
+        }
+        if (other.hasShipRegion()) {
+          setShipRegion(other.getShipRegion());
+        }
+        if (other.hasShipPostalCode()) {
+          setShipPostalCode(other.getShipPostalCode());
+        }
+        if (other.hasShipCountry()) {
+          setShipCountry(other.getShipCountry());
+        }
+        if (!other.lines_.isEmpty()) {
+          if (result.lines_.isEmpty()) {
+            result.lines_ = new java.util.ArrayList<northwind.Nwind.OrderLine>();
+          }
+          result.lines_.addAll(other.lines_);
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return mergeFrom(input,
+          com.google.protobuf.ExtensionRegistry.getEmptyRegistry());
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistry extensionRegistry)
+          throws java.io.IOException {
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder(
+            this.getUnknownFields());
+        while (true) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              this.setUnknownFields(unknownFields.build());
+              return this;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.setUnknownFields(unknownFields.build());
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              setOrderID(input.readInt32());
+              break;
+            }
+            case 18: {
+              setCustomerID(input.readString());
+              break;
+            }
+            case 24: {
+              setEmployeeID(input.readInt32());
+              break;
+            }
+            case 34: {
+              bcl.Bcl.DateTime.Builder subBuilder = bcl.Bcl.DateTime.newBuilder();
+              if (hasOrderDate()) {
+                subBuilder.mergeFrom(getOrderDate());
+              }
+              input.readMessage(subBuilder, extensionRegistry);
+              setOrderDate(subBuilder.buildPartial());
+              break;
+            }
+            case 42: {
+              bcl.Bcl.DateTime.Builder subBuilder = bcl.Bcl.DateTime.newBuilder();
+              if (hasRequiredDate()) {
+                subBuilder.mergeFrom(getRequiredDate());
+              }
+              input.readMessage(subBuilder, extensionRegistry);
+              setRequiredDate(subBuilder.buildPartial());
+              break;
+            }
+            case 50: {
+              bcl.Bcl.DateTime.Builder subBuilder = bcl.Bcl.DateTime.newBuilder();
+              if (hasShippedDate()) {
+                subBuilder.mergeFrom(getShippedDate());
+              }
+              input.readMessage(subBuilder, extensionRegistry);
+              setShippedDate(subBuilder.buildPartial());
+              break;
+            }
+            case 56: {
+              setShipVia(input.readInt32());
+              break;
+            }
+            case 66: {
+              bcl.Bcl.Decimal.Builder subBuilder = bcl.Bcl.Decimal.newBuilder();
+              if (hasFreight()) {
+                subBuilder.mergeFrom(getFreight());
+              }
+              input.readMessage(subBuilder, extensionRegistry);
+              setFreight(subBuilder.buildPartial());
+              break;
+            }
+            case 74: {
+              setShipName(input.readString());
+              break;
+            }
+            case 82: {
+              setShipAddress(input.readString());
+              break;
+            }
+            case 90: {
+              setShipCity(input.readString());
+              break;
+            }
+            case 98: {
+              setShipRegion(input.readString());
+              break;
+            }
+            case 106: {
+              setShipPostalCode(input.readString());
+              break;
+            }
+            case 114: {
+              setShipCountry(input.readString());
+              break;
+            }
+            case 122: {
+              northwind.Nwind.OrderLine.Builder subBuilder = northwind.Nwind.OrderLine.newBuilder();
+              input.readMessage(subBuilder, extensionRegistry);
+              addLines(subBuilder.buildPartial());
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional int32 OrderID = 1;
+      public boolean hasOrderID() {
+        return result.hasOrderID();
+      }
+      public int getOrderID() {
+        return result.getOrderID();
+      }
+      public Builder setOrderID(int value) {
+        result.hasOrderID = true;
+        result.orderID_ = value;
+        return this;
+      }
+      public Builder clearOrderID() {
+        result.hasOrderID = false;
+        result.orderID_ = 0;
+        return this;
+      }
+      
+      // optional string CustomerID = 2;
+      public boolean hasCustomerID() {
+        return result.hasCustomerID();
+      }
+      public java.lang.String getCustomerID() {
+        return result.getCustomerID();
+      }
+      public Builder setCustomerID(java.lang.String value) {
+        result.hasCustomerID = true;
+        result.customerID_ = value;
+        return this;
+      }
+      public Builder clearCustomerID() {
+        result.hasCustomerID = false;
+        result.customerID_ = "";
+        return this;
+      }
+      
+      // optional int32 EmployeeID = 3;
+      public boolean hasEmployeeID() {
+        return result.hasEmployeeID();
+      }
+      public int getEmployeeID() {
+        return result.getEmployeeID();
+      }
+      public Builder setEmployeeID(int value) {
+        result.hasEmployeeID = true;
+        result.employeeID_ = value;
+        return this;
+      }
+      public Builder clearEmployeeID() {
+        result.hasEmployeeID = false;
+        result.employeeID_ = 0;
+        return this;
+      }
+      
+      // optional .bcl.DateTime OrderDate = 4;
+      public boolean hasOrderDate() {
+        return result.hasOrderDate();
+      }
+      public bcl.Bcl.DateTime getOrderDate() {
+        return result.getOrderDate();
+      }
+      public Builder setOrderDate(bcl.Bcl.DateTime value) {
+        result.hasOrderDate = true;
+        result.orderDate_ = value;
+        return this;
+      }
+      public Builder setOrderDate(bcl.Bcl.DateTime.Builder builderForValue) {
+        result.hasOrderDate = true;
+        result.orderDate_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeOrderDate(bcl.Bcl.DateTime value) {
+        if (result.hasOrderDate() &&
+            result.orderDate_ != bcl.Bcl.DateTime.getDefaultInstance()) {
+          result.orderDate_ =
+            bcl.Bcl.DateTime.newBuilder(result.orderDate_).mergeFrom(value).buildPartial();
+        } else {
+          result.orderDate_ = value;
+        }
+        result.hasOrderDate = true;
+        return this;
+      }
+      public Builder clearOrderDate() {
+        result.hasOrderDate = false;
+        result.orderDate_ = bcl.Bcl.DateTime.getDefaultInstance();
+        return this;
+      }
+      
+      // optional .bcl.DateTime RequiredDate = 5;
+      public boolean hasRequiredDate() {
+        return result.hasRequiredDate();
+      }
+      public bcl.Bcl.DateTime getRequiredDate() {
+        return result.getRequiredDate();
+      }
+      public Builder setRequiredDate(bcl.Bcl.DateTime value) {
+        result.hasRequiredDate = true;
+        result.requiredDate_ = value;
+        return this;
+      }
+      public Builder setRequiredDate(bcl.Bcl.DateTime.Builder builderForValue) {
+        result.hasRequiredDate = true;
+        result.requiredDate_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeRequiredDate(bcl.Bcl.DateTime value) {
+        if (result.hasRequiredDate() &&
+            result.requiredDate_ != bcl.Bcl.DateTime.getDefaultInstance()) {
+          result.requiredDate_ =
+            bcl.Bcl.DateTime.newBuilder(result.requiredDate_).mergeFrom(value).buildPartial();
+        } else {
+          result.requiredDate_ = value;
+        }
+        result.hasRequiredDate = true;
+        return this;
+      }
+      public Builder clearRequiredDate() {
+        result.hasRequiredDate = false;
+        result.requiredDate_ = bcl.Bcl.DateTime.getDefaultInstance();
+        return this;
+      }
+      
+      // optional .bcl.DateTime ShippedDate = 6;
+      public boolean hasShippedDate() {
+        return result.hasShippedDate();
+      }
+      public bcl.Bcl.DateTime getShippedDate() {
+        return result.getShippedDate();
+      }
+      public Builder setShippedDate(bcl.Bcl.DateTime value) {
+        result.hasShippedDate = true;
+        result.shippedDate_ = value;
+        return this;
+      }
+      public Builder setShippedDate(bcl.Bcl.DateTime.Builder builderForValue) {
+        result.hasShippedDate = true;
+        result.shippedDate_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeShippedDate(bcl.Bcl.DateTime value) {
+        if (result.hasShippedDate() &&
+            result.shippedDate_ != bcl.Bcl.DateTime.getDefaultInstance()) {
+          result.shippedDate_ =
+            bcl.Bcl.DateTime.newBuilder(result.shippedDate_).mergeFrom(value).buildPartial();
+        } else {
+          result.shippedDate_ = value;
+        }
+        result.hasShippedDate = true;
+        return this;
+      }
+      public Builder clearShippedDate() {
+        result.hasShippedDate = false;
+        result.shippedDate_ = bcl.Bcl.DateTime.getDefaultInstance();
+        return this;
+      }
+      
+      // optional int32 ShipVia = 7;
+      public boolean hasShipVia() {
+        return result.hasShipVia();
+      }
+      public int getShipVia() {
+        return result.getShipVia();
+      }
+      public Builder setShipVia(int value) {
+        result.hasShipVia = true;
+        result.shipVia_ = value;
+        return this;
+      }
+      public Builder clearShipVia() {
+        result.hasShipVia = false;
+        result.shipVia_ = 0;
+        return this;
+      }
+      
+      // optional .bcl.Decimal Freight = 8;
+      public boolean hasFreight() {
+        return result.hasFreight();
+      }
+      public bcl.Bcl.Decimal getFreight() {
+        return result.getFreight();
+      }
+      public Builder setFreight(bcl.Bcl.Decimal value) {
+        result.hasFreight = true;
+        result.freight_ = value;
+        return this;
+      }
+      public Builder setFreight(bcl.Bcl.Decimal.Builder builderForValue) {
+        result.hasFreight = true;
+        result.freight_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeFreight(bcl.Bcl.Decimal value) {
+        if (result.hasFreight() &&
+            result.freight_ != bcl.Bcl.Decimal.getDefaultInstance()) {
+          result.freight_ =
+            bcl.Bcl.Decimal.newBuilder(result.freight_).mergeFrom(value).buildPartial();
+        } else {
+          result.freight_ = value;
+        }
+        result.hasFreight = true;
+        return this;
+      }
+      public Builder clearFreight() {
+        result.hasFreight = false;
+        result.freight_ = bcl.Bcl.Decimal.getDefaultInstance();
+        return this;
+      }
+      
+      // optional string ShipName = 9;
+      public boolean hasShipName() {
+        return result.hasShipName();
+      }
+      public java.lang.String getShipName() {
+        return result.getShipName();
+      }
+      public Builder setShipName(java.lang.String value) {
+        result.hasShipName = true;
+        result.shipName_ = value;
+        return this;
+      }
+      public Builder clearShipName() {
+        result.hasShipName = false;
+        result.shipName_ = "";
+        return this;
+      }
+      
+      // optional string ShipAddress = 10;
+      public boolean hasShipAddress() {
+        return result.hasShipAddress();
+      }
+      public java.lang.String getShipAddress() {
+        return result.getShipAddress();
+      }
+      public Builder setShipAddress(java.lang.String value) {
+        result.hasShipAddress = true;
+        result.shipAddress_ = value;
+        return this;
+      }
+      public Builder clearShipAddress() {
+        result.hasShipAddress = false;
+        result.shipAddress_ = "";
+        return this;
+      }
+      
+      // optional string ShipCity = 11;
+      public boolean hasShipCity() {
+        return result.hasShipCity();
+      }
+      public java.lang.String getShipCity() {
+        return result.getShipCity();
+      }
+      public Builder setShipCity(java.lang.String value) {
+        result.hasShipCity = true;
+        result.shipCity_ = value;
+        return this;
+      }
+      public Builder clearShipCity() {
+        result.hasShipCity = false;
+        result.shipCity_ = "";
+        return this;
+      }
+      
+      // optional string ShipRegion = 12;
+      public boolean hasShipRegion() {
+        return result.hasShipRegion();
+      }
+      public java.lang.String getShipRegion() {
+        return result.getShipRegion();
+      }
+      public Builder setShipRegion(java.lang.String value) {
+        result.hasShipRegion = true;
+        result.shipRegion_ = value;
+        return this;
+      }
+      public Builder clearShipRegion() {
+        result.hasShipRegion = false;
+        result.shipRegion_ = "";
+        return this;
+      }
+      
+      // optional string ShipPostalCode = 13;
+      public boolean hasShipPostalCode() {
+        return result.hasShipPostalCode();
+      }
+      public java.lang.String getShipPostalCode() {
+        return result.getShipPostalCode();
+      }
+      public Builder setShipPostalCode(java.lang.String value) {
+        result.hasShipPostalCode = true;
+        result.shipPostalCode_ = value;
+        return this;
+      }
+      public Builder clearShipPostalCode() {
+        result.hasShipPostalCode = false;
+        result.shipPostalCode_ = "";
+        return this;
+      }
+      
+      // optional string ShipCountry = 14;
+      public boolean hasShipCountry() {
+        return result.hasShipCountry();
+      }
+      public java.lang.String getShipCountry() {
+        return result.getShipCountry();
+      }
+      public Builder setShipCountry(java.lang.String value) {
+        result.hasShipCountry = true;
+        result.shipCountry_ = value;
+        return this;
+      }
+      public Builder clearShipCountry() {
+        result.hasShipCountry = false;
+        result.shipCountry_ = "";
+        return this;
+      }
+      
+      // repeated .northwind.OrderLine Lines = 15;
+      public java.util.List<northwind.Nwind.OrderLine> getLinesList() {
+        return java.util.Collections.unmodifiableList(result.lines_);
+      }
+      public int getLinesCount() {
+        return result.getLinesCount();
+      }
+      public northwind.Nwind.OrderLine getLines(int index) {
+        return result.getLines(index);
+      }
+      public Builder setLines(int index, northwind.Nwind.OrderLine value) {
+        result.lines_.set(index, value);
+        return this;
+      }
+      public Builder setLines(int index, northwind.Nwind.OrderLine.Builder builderForValue) {
+        result.lines_.set(index, builderForValue.build());
+        return this;
+      }
+      public Builder addLines(northwind.Nwind.OrderLine value) {
+        if (result.lines_.isEmpty()) {
+          result.lines_ = new java.util.ArrayList<northwind.Nwind.OrderLine>();
+        }
+        result.lines_.add(value);
+        return this;
+      }
+      public Builder addLines(northwind.Nwind.OrderLine.Builder builderForValue) {
+        if (result.lines_.isEmpty()) {
+          result.lines_ = new java.util.ArrayList<northwind.Nwind.OrderLine>();
+        }
+        result.lines_.add(builderForValue.build());
+        return this;
+      }
+      public Builder addAllLines(
+          java.lang.Iterable<? extends northwind.Nwind.OrderLine> values) {
+        if (result.lines_.isEmpty()) {
+          result.lines_ = new java.util.ArrayList<northwind.Nwind.OrderLine>();
+        }
+        super.addAll(values, result.lines_);
+        return this;
+      }
+      public Builder clearLines() {
+        result.lines_ = java.util.Collections.emptyList();
+        return this;
+      }
+    }
+  }
+  
+  public static final class OrderLine extends
+      com.google.protobuf.GeneratedMessage {
+    // Use OrderLine.newBuilder() to construct.
+    private OrderLine() {}
+    
+    private static final OrderLine defaultInstance = new OrderLine();
+    public static OrderLine getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public OrderLine getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return northwind.Nwind.internal_static_northwind_OrderLine_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return northwind.Nwind.internal_static_northwind_OrderLine_fieldAccessorTable;
+    }
+    
+    // optional int32 OrderID = 1;
+    private boolean hasOrderID;
+    private int orderID_ = 0;
+    public boolean hasOrderID() { return hasOrderID; }
+    public int getOrderID() { return orderID_; }
+    
+    // optional int32 ProductID = 2;
+    private boolean hasProductID;
+    private int productID_ = 0;
+    public boolean hasProductID() { return hasProductID; }
+    public int getProductID() { return productID_; }
+    
+    // optional .bcl.Decimal UnitPrice = 3;
+    private boolean hasUnitPrice;
+    private bcl.Bcl.Decimal unitPrice_ = bcl.Bcl.Decimal.getDefaultInstance();
+    public boolean hasUnitPrice() { return hasUnitPrice; }
+    public bcl.Bcl.Decimal getUnitPrice() { return unitPrice_; }
+    
+    // optional sint32 Quantity = 4;
+    private boolean hasQuantity;
+    private int quantity_ = 0;
+    public boolean hasQuantity() { return hasQuantity; }
+    public int getQuantity() { return quantity_; }
+    
+    // optional float Discount = 5;
+    private boolean hasDiscount;
+    private float discount_ = 0F;
+    public boolean hasDiscount() { return hasDiscount; }
+    public float getDiscount() { return discount_; }
+    
+    public final boolean isInitialized() {
+      return true;
+    }
+    
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      if (hasOrderID()) {
+        output.writeInt32(1, getOrderID());
+      }
+      if (hasProductID()) {
+        output.writeInt32(2, getProductID());
+      }
+      if (hasUnitPrice()) {
+        output.writeMessage(3, getUnitPrice());
+      }
+      if (hasQuantity()) {
+        output.writeSInt32(4, getQuantity());
+      }
+      if (hasDiscount()) {
+        output.writeFloat(5, getDiscount());
+      }
+      getUnknownFields().writeTo(output);
+    }
+    
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+    
+      size = 0;
+      if (hasOrderID()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt32Size(1, getOrderID());
+      }
+      if (hasProductID()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt32Size(2, getProductID());
+      }
+      if (hasUnitPrice()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(3, getUnitPrice());
+      }
+      if (hasQuantity()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeSInt32Size(4, getQuantity());
+      }
+      if (hasDiscount()) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeFloatSize(5, getDiscount());
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+    
+    public static northwind.Nwind.OrderLine parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static northwind.Nwind.OrderLine parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static northwind.Nwind.OrderLine parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static northwind.Nwind.OrderLine parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static northwind.Nwind.OrderLine parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static northwind.Nwind.OrderLine parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static northwind.Nwind.OrderLine parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static northwind.Nwind.OrderLine parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(northwind.Nwind.OrderLine prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using northwind.Nwind.OrderLine.newBuilder()
+      private Builder() {}
+      
+      northwind.Nwind.OrderLine result = new northwind.Nwind.OrderLine();
+      
+      protected northwind.Nwind.OrderLine internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new northwind.Nwind.OrderLine();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return northwind.Nwind.OrderLine.getDescriptor();
+      }
+      
+      public northwind.Nwind.OrderLine getDefaultInstanceForType() {
+        return northwind.Nwind.OrderLine.getDefaultInstance();
+      }
+      
+      public northwind.Nwind.OrderLine build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private northwind.Nwind.OrderLine buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public northwind.Nwind.OrderLine buildPartial() {
+        northwind.Nwind.OrderLine returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof northwind.Nwind.OrderLine) {
+          return mergeFrom((northwind.Nwind.OrderLine)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+      
+      public Builder mergeFrom(northwind.Nwind.OrderLine other) {
+        if (other == northwind.Nwind.OrderLine.getDefaultInstance()) return this;
+        if (other.hasOrderID()) {
+          setOrderID(other.getOrderID());
+        }
+        if (other.hasProductID()) {
+          setProductID(other.getProductID());
+        }
+        if (other.hasUnitPrice()) {
+          mergeUnitPrice(other.getUnitPrice());
+        }
+        if (other.hasQuantity()) {
+          setQuantity(other.getQuantity());
+        }
+        if (other.hasDiscount()) {
+          setDiscount(other.getDiscount());
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return mergeFrom(input,
+          com.google.protobuf.ExtensionRegistry.getEmptyRegistry());
+      }
+      
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistry extensionRegistry)
+          throws java.io.IOException {
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder(
+            this.getUnknownFields());
+        while (true) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              this.setUnknownFields(unknownFields.build());
+              return this;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                this.setUnknownFields(unknownFields.build());
+                return this;
+              }
+              break;
+            }
+            case 8: {
+              setOrderID(input.readInt32());
+              break;
+            }
+            case 16: {
+              setProductID(input.readInt32());
+              break;
+            }
+            case 26: {
+              bcl.Bcl.Decimal.Builder subBuilder = bcl.Bcl.Decimal.newBuilder();
+              if (hasUnitPrice()) {
+                subBuilder.mergeFrom(getUnitPrice());
+              }
+              input.readMessage(subBuilder, extensionRegistry);
+              setUnitPrice(subBuilder.buildPartial());
+              break;
+            }
+            case 32: {
+              setQuantity(input.readSInt32());
+              break;
+            }
+            case 45: {
+              setDiscount(input.readFloat());
+              break;
+            }
+          }
+        }
+      }
+      
+      
+      // optional int32 OrderID = 1;
+      public boolean hasOrderID() {
+        return result.hasOrderID();
+      }
+      public int getOrderID() {
+        return result.getOrderID();
+      }
+      public Builder setOrderID(int value) {
+        result.hasOrderID = true;
+        result.orderID_ = value;
+        return this;
+      }
+      public Builder clearOrderID() {
+        result.hasOrderID = false;
+        result.orderID_ = 0;
+        return this;
+      }
+      
+      // optional int32 ProductID = 2;
+      public boolean hasProductID() {
+        return result.hasProductID();
+      }
+      public int getProductID() {
+        return result.getProductID();
+      }
+      public Builder setProductID(int value) {
+        result.hasProductID = true;
+        result.productID_ = value;
+        return this;
+      }
+      public Builder clearProductID() {
+        result.hasProductID = false;
+        result.productID_ = 0;
+        return this;
+      }
+      
+      // optional .bcl.Decimal UnitPrice = 3;
+      public boolean hasUnitPrice() {
+        return result.hasUnitPrice();
+      }
+      public bcl.Bcl.Decimal getUnitPrice() {
+        return result.getUnitPrice();
+      }
+      public Builder setUnitPrice(bcl.Bcl.Decimal value) {
+        result.hasUnitPrice = true;
+        result.unitPrice_ = value;
+        return this;
+      }
+      public Builder setUnitPrice(bcl.Bcl.Decimal.Builder builderForValue) {
+        result.hasUnitPrice = true;
+        result.unitPrice_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeUnitPrice(bcl.Bcl.Decimal value) {
+        if (result.hasUnitPrice() &&
+            result.unitPrice_ != bcl.Bcl.Decimal.getDefaultInstance()) {
+          result.unitPrice_ =
+            bcl.Bcl.Decimal.newBuilder(result.unitPrice_).mergeFrom(value).buildPartial();
+        } else {
+          result.unitPrice_ = value;
+        }
+        result.hasUnitPrice = true;
+        return this;
+      }
+      public Builder clearUnitPrice() {
+        result.hasUnitPrice = false;
+        result.unitPrice_ = bcl.Bcl.Decimal.getDefaultInstance();
+        return this;
+      }
+      
+      // optional sint32 Quantity = 4;
+      public boolean hasQuantity() {
+        return result.hasQuantity();
+      }
+      public int getQuantity() {
+        return result.getQuantity();
+      }
+      public Builder setQuantity(int value) {
+        result.hasQuantity = true;
+        result.quantity_ = value;
+        return this;
+      }
+      public Builder clearQuantity() {
+        result.hasQuantity = false;
+        result.quantity_ = 0;
+        return this;
+      }
+      
+      // optional float Discount = 5;
+      public boolean hasDiscount() {
+        return result.hasDiscount();
+      }
+      public float getDiscount() {
+        return result.getDiscount();
+      }
+      public Builder setDiscount(float value) {
+        result.hasDiscount = true;
+        result.discount_ = value;
+        return this;
+      }
+      public Builder clearDiscount() {
+        result.hasDiscount = false;
+        result.discount_ = 0F;
+        return this;
+      }
+    }
+  }
+  
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_northwind_Database_descriptor =
+      getDescriptor().getMessageTypes().get(0);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_northwind_Database_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_northwind_Database_descriptor,
+          new java.lang.String[] { "Orders", },
+          northwind.Nwind.Database.class,
+          northwind.Nwind.Database.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_northwind_Order_descriptor =
+      getDescriptor().getMessageTypes().get(1);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_northwind_Order_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_northwind_Order_descriptor,
+          new java.lang.String[] { "OrderID", "CustomerID", "EmployeeID", "OrderDate", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipRegion", "ShipPostalCode", "ShipCountry", "Lines", },
+          northwind.Nwind.Order.class,
+          northwind.Nwind.Order.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_northwind_OrderLine_descriptor =
+      getDescriptor().getMessageTypes().get(2);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_northwind_OrderLine_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_northwind_OrderLine_descriptor,
+          new java.lang.String[] { "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount", },
+          northwind.Nwind.OrderLine.class,
+          northwind.Nwind.OrderLine.Builder.class);
+}

+ 942 - 0
csharp/TestBed/java/slowbcl/Slowbcl.java

@@ -0,0 +1,942 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+package slowbcl;
+
+public final class Slowbcl {
+  private Slowbcl() {}
+  public static com.google.protobuf.Descriptors.FileDescriptor
+      getDescriptor() {
+    return descriptor;
+  }
+  private static final com.google.protobuf.Descriptors.FileDescriptor
+      descriptor = buildDescriptor();
+  private static
+      com.google.protobuf.Descriptors.FileDescriptor
+      buildDescriptor() {
+    java.lang.String descriptorData =
+      "\n\rslowbcl.proto\022\007slowbcl\"\255\001\n\010TimeSpan\022\r\n" +
+      "\005value\030\001 \001(\022\0224\n\005scale\030\002 \001(\0162\037.slowbcl.Ti" +
+      "meSpan.TimeSpanScale:\004DAYS\"\\\n\rTimeSpanSc" +
+      "ale\022\010\n\004DAYS\020\000\022\t\n\005HOURS\020\001\022\013\n\007MINUTES\020\002\022\013\n" +
+      "\007SECONDS\020\003\022\020\n\014MILLISECONDS\020\004\022\n\n\006MINMAX\020\017" +
+      "\"\255\001\n\010DateTime\022\r\n\005value\030\001 \001(\022\0224\n\005scale\030\002 " +
+      "\001(\0162\037.slowbcl.DateTime.TimeSpanScale:\004DA" +
+      "YS\"\\\n\rTimeSpanScale\022\010\n\004DAYS\020\000\022\t\n\005HOURS\020\001" +
+      "\022\013\n\007MINUTES\020\002\022\013\n\007SECONDS\020\003\022\020\n\014MILLISECON" +
+      "DS\020\004\022\n\n\006MINMAX\020\017\"\036\n\004Guid\022\n\n\002lo\030\001 \001(\006\022\n\n\002" +
+      "hi\030\002 \001(\006\"4\n\007Decimal\022\n\n\002lo\030\001 \001(\004\022\n\n\002hi\030\002 " +
+      "\001(\r\022\021\n\tsignScale\030\003 \001(\rB4\302>\036Google.Protoc" +
+      "olBuffers.SlowBcl\312>\020SlowBclProtoFile";
+    try {
+      return com.google.protobuf.Descriptors.FileDescriptor
+        .internalBuildGeneratedFileFrom(descriptorData,
+          new com.google.protobuf.Descriptors.FileDescriptor[] {
+          });
+    } catch (Exception e) {
+      throw new RuntimeException(
+        "Failed to parse protocol buffer descriptor for " +
+        "\"slowbcl.proto\".", e);
+    }
+  }
+  
+  public static final class TimeSpan extends
+      com.google.protobuf.GeneratedMessage {
+    // Use TimeSpan.newBuilder() to construct.
+    private TimeSpan() {}
+    
+    private static final TimeSpan defaultInstance = new TimeSpan();
+    public static TimeSpan getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public TimeSpan getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return slowbcl.Slowbcl.internal_static_slowbcl_TimeSpan_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return slowbcl.Slowbcl.internal_static_slowbcl_TimeSpan_fieldAccessorTable;
+    }
+    
+    public static enum TimeSpanScale {
+      DAYS(0, 0),
+      HOURS(1, 1),
+      MINUTES(2, 2),
+      SECONDS(3, 3),
+      MILLISECONDS(4, 4),
+      MINMAX(5, 15),
+      ;
+      
+      
+      public final int getNumber() { return value; }
+      
+      public static TimeSpanScale valueOf(int value) {
+        switch (value) {
+          case 0: return DAYS;
+          case 1: return HOURS;
+          case 2: return MINUTES;
+          case 3: return SECONDS;
+          case 4: return MILLISECONDS;
+          case 15: return MINMAX;
+          default: return null;
+        }
+      }
+      
+      public final com.google.protobuf.Descriptors.EnumValueDescriptor
+          getValueDescriptor() {
+        return getDescriptor().getValues().get(index);
+      }
+      public final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptorForType() {
+        return getDescriptor();
+      }
+      public static final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptor() {
+        return slowbcl.Slowbcl.TimeSpan.getDescriptor().getEnumTypes().get(0);
+      }
+      
+      private static final TimeSpanScale[] VALUES = {
+        DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, MINMAX, 
+      };
+      public static TimeSpanScale valueOf(
+          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+        if (desc.getType() != getDescriptor()) {
+          throw new java.lang.IllegalArgumentException(
+            "EnumValueDescriptor is not for this type.");
+        }
+        return VALUES[desc.getIndex()];
+      }
+      private final int index;
+      private final int value;
+      private TimeSpanScale(int index, int value) {
+        this.index = index;
+        this.value = value;
+      }
+    }
+    
+    // optional sint64 value = 1;
+    private boolean hasValue;
+    private long value_ = 0L;
+    public boolean hasValue() { return hasValue; }
+    public long getValue() { return value_; }
+    
+    // optional .slowbcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS];
+    private boolean hasScale;
+    private slowbcl.Slowbcl.TimeSpan.TimeSpanScale scale_ = slowbcl.Slowbcl.TimeSpan.TimeSpanScale.DAYS;
+    public boolean hasScale() { return hasScale; }
+    public slowbcl.Slowbcl.TimeSpan.TimeSpanScale getScale() { return scale_; }
+    
+    public static slowbcl.Slowbcl.TimeSpan parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slowbcl.Slowbcl.TimeSpan parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.TimeSpan parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slowbcl.Slowbcl.TimeSpan parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.TimeSpan parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slowbcl.Slowbcl.TimeSpan parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.TimeSpan parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slowbcl.Slowbcl.TimeSpan parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(slowbcl.Slowbcl.TimeSpan prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using slowbcl.Slowbcl.TimeSpan.newBuilder()
+      private Builder() {}
+      
+      slowbcl.Slowbcl.TimeSpan result = new slowbcl.Slowbcl.TimeSpan();
+      
+      protected slowbcl.Slowbcl.TimeSpan internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new slowbcl.Slowbcl.TimeSpan();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return slowbcl.Slowbcl.TimeSpan.getDescriptor();
+      }
+      
+      public slowbcl.Slowbcl.TimeSpan getDefaultInstanceForType() {
+        return slowbcl.Slowbcl.TimeSpan.getDefaultInstance();
+      }
+      
+      public slowbcl.Slowbcl.TimeSpan build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private slowbcl.Slowbcl.TimeSpan buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public slowbcl.Slowbcl.TimeSpan buildPartial() {
+        slowbcl.Slowbcl.TimeSpan returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional sint64 value = 1;
+      public boolean hasValue() {
+        return result.hasValue();
+      }
+      public long getValue() {
+        return result.getValue();
+      }
+      public Builder setValue(long value) {
+        result.hasValue = true;
+        result.value_ = value;
+        return this;
+      }
+      public Builder clearValue() {
+        result.hasValue = false;
+        result.value_ = 0L;
+        return this;
+      }
+      
+      // optional .slowbcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS];
+      public boolean hasScale() {
+        return result.hasScale();
+      }
+      public slowbcl.Slowbcl.TimeSpan.TimeSpanScale getScale() {
+        return result.getScale();
+      }
+      public Builder setScale(slowbcl.Slowbcl.TimeSpan.TimeSpanScale value) {
+        result.hasScale = true;
+        result.scale_ = value;
+        return this;
+      }
+      public Builder clearScale() {
+        result.hasScale = false;
+        result.scale_ = slowbcl.Slowbcl.TimeSpan.TimeSpanScale.DAYS;
+        return this;
+      }
+    }
+  }
+  
+  public static final class DateTime extends
+      com.google.protobuf.GeneratedMessage {
+    // Use DateTime.newBuilder() to construct.
+    private DateTime() {}
+    
+    private static final DateTime defaultInstance = new DateTime();
+    public static DateTime getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public DateTime getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return slowbcl.Slowbcl.internal_static_slowbcl_DateTime_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return slowbcl.Slowbcl.internal_static_slowbcl_DateTime_fieldAccessorTable;
+    }
+    
+    public static enum TimeSpanScale {
+      DAYS(0, 0),
+      HOURS(1, 1),
+      MINUTES(2, 2),
+      SECONDS(3, 3),
+      MILLISECONDS(4, 4),
+      MINMAX(5, 15),
+      ;
+      
+      
+      public final int getNumber() { return value; }
+      
+      public static TimeSpanScale valueOf(int value) {
+        switch (value) {
+          case 0: return DAYS;
+          case 1: return HOURS;
+          case 2: return MINUTES;
+          case 3: return SECONDS;
+          case 4: return MILLISECONDS;
+          case 15: return MINMAX;
+          default: return null;
+        }
+      }
+      
+      public final com.google.protobuf.Descriptors.EnumValueDescriptor
+          getValueDescriptor() {
+        return getDescriptor().getValues().get(index);
+      }
+      public final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptorForType() {
+        return getDescriptor();
+      }
+      public static final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptor() {
+        return slowbcl.Slowbcl.DateTime.getDescriptor().getEnumTypes().get(0);
+      }
+      
+      private static final TimeSpanScale[] VALUES = {
+        DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, MINMAX, 
+      };
+      public static TimeSpanScale valueOf(
+          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+        if (desc.getType() != getDescriptor()) {
+          throw new java.lang.IllegalArgumentException(
+            "EnumValueDescriptor is not for this type.");
+        }
+        return VALUES[desc.getIndex()];
+      }
+      private final int index;
+      private final int value;
+      private TimeSpanScale(int index, int value) {
+        this.index = index;
+        this.value = value;
+      }
+    }
+    
+    // optional sint64 value = 1;
+    private boolean hasValue;
+    private long value_ = 0L;
+    public boolean hasValue() { return hasValue; }
+    public long getValue() { return value_; }
+    
+    // optional .slowbcl.DateTime.TimeSpanScale scale = 2 [default = DAYS];
+    private boolean hasScale;
+    private slowbcl.Slowbcl.DateTime.TimeSpanScale scale_ = slowbcl.Slowbcl.DateTime.TimeSpanScale.DAYS;
+    public boolean hasScale() { return hasScale; }
+    public slowbcl.Slowbcl.DateTime.TimeSpanScale getScale() { return scale_; }
+    
+    public static slowbcl.Slowbcl.DateTime parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slowbcl.Slowbcl.DateTime parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.DateTime parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slowbcl.Slowbcl.DateTime parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.DateTime parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slowbcl.Slowbcl.DateTime parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.DateTime parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slowbcl.Slowbcl.DateTime parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(slowbcl.Slowbcl.DateTime prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using slowbcl.Slowbcl.DateTime.newBuilder()
+      private Builder() {}
+      
+      slowbcl.Slowbcl.DateTime result = new slowbcl.Slowbcl.DateTime();
+      
+      protected slowbcl.Slowbcl.DateTime internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new slowbcl.Slowbcl.DateTime();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return slowbcl.Slowbcl.DateTime.getDescriptor();
+      }
+      
+      public slowbcl.Slowbcl.DateTime getDefaultInstanceForType() {
+        return slowbcl.Slowbcl.DateTime.getDefaultInstance();
+      }
+      
+      public slowbcl.Slowbcl.DateTime build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private slowbcl.Slowbcl.DateTime buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public slowbcl.Slowbcl.DateTime buildPartial() {
+        slowbcl.Slowbcl.DateTime returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional sint64 value = 1;
+      public boolean hasValue() {
+        return result.hasValue();
+      }
+      public long getValue() {
+        return result.getValue();
+      }
+      public Builder setValue(long value) {
+        result.hasValue = true;
+        result.value_ = value;
+        return this;
+      }
+      public Builder clearValue() {
+        result.hasValue = false;
+        result.value_ = 0L;
+        return this;
+      }
+      
+      // optional .slowbcl.DateTime.TimeSpanScale scale = 2 [default = DAYS];
+      public boolean hasScale() {
+        return result.hasScale();
+      }
+      public slowbcl.Slowbcl.DateTime.TimeSpanScale getScale() {
+        return result.getScale();
+      }
+      public Builder setScale(slowbcl.Slowbcl.DateTime.TimeSpanScale value) {
+        result.hasScale = true;
+        result.scale_ = value;
+        return this;
+      }
+      public Builder clearScale() {
+        result.hasScale = false;
+        result.scale_ = slowbcl.Slowbcl.DateTime.TimeSpanScale.DAYS;
+        return this;
+      }
+    }
+  }
+  
+  public static final class Guid extends
+      com.google.protobuf.GeneratedMessage {
+    // Use Guid.newBuilder() to construct.
+    private Guid() {}
+    
+    private static final Guid defaultInstance = new Guid();
+    public static Guid getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public Guid getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return slowbcl.Slowbcl.internal_static_slowbcl_Guid_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return slowbcl.Slowbcl.internal_static_slowbcl_Guid_fieldAccessorTable;
+    }
+    
+    // optional fixed64 lo = 1;
+    private boolean hasLo;
+    private long lo_ = 0L;
+    public boolean hasLo() { return hasLo; }
+    public long getLo() { return lo_; }
+    
+    // optional fixed64 hi = 2;
+    private boolean hasHi;
+    private long hi_ = 0L;
+    public boolean hasHi() { return hasHi; }
+    public long getHi() { return hi_; }
+    
+    public static slowbcl.Slowbcl.Guid parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slowbcl.Slowbcl.Guid parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.Guid parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slowbcl.Slowbcl.Guid parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.Guid parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slowbcl.Slowbcl.Guid parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.Guid parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slowbcl.Slowbcl.Guid parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(slowbcl.Slowbcl.Guid prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using slowbcl.Slowbcl.Guid.newBuilder()
+      private Builder() {}
+      
+      slowbcl.Slowbcl.Guid result = new slowbcl.Slowbcl.Guid();
+      
+      protected slowbcl.Slowbcl.Guid internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new slowbcl.Slowbcl.Guid();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return slowbcl.Slowbcl.Guid.getDescriptor();
+      }
+      
+      public slowbcl.Slowbcl.Guid getDefaultInstanceForType() {
+        return slowbcl.Slowbcl.Guid.getDefaultInstance();
+      }
+      
+      public slowbcl.Slowbcl.Guid build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private slowbcl.Slowbcl.Guid buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public slowbcl.Slowbcl.Guid buildPartial() {
+        slowbcl.Slowbcl.Guid returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional fixed64 lo = 1;
+      public boolean hasLo() {
+        return result.hasLo();
+      }
+      public long getLo() {
+        return result.getLo();
+      }
+      public Builder setLo(long value) {
+        result.hasLo = true;
+        result.lo_ = value;
+        return this;
+      }
+      public Builder clearLo() {
+        result.hasLo = false;
+        result.lo_ = 0L;
+        return this;
+      }
+      
+      // optional fixed64 hi = 2;
+      public boolean hasHi() {
+        return result.hasHi();
+      }
+      public long getHi() {
+        return result.getHi();
+      }
+      public Builder setHi(long value) {
+        result.hasHi = true;
+        result.hi_ = value;
+        return this;
+      }
+      public Builder clearHi() {
+        result.hasHi = false;
+        result.hi_ = 0L;
+        return this;
+      }
+    }
+  }
+  
+  public static final class Decimal extends
+      com.google.protobuf.GeneratedMessage {
+    // Use Decimal.newBuilder() to construct.
+    private Decimal() {}
+    
+    private static final Decimal defaultInstance = new Decimal();
+    public static Decimal getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public Decimal getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return slowbcl.Slowbcl.internal_static_slowbcl_Decimal_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return slowbcl.Slowbcl.internal_static_slowbcl_Decimal_fieldAccessorTable;
+    }
+    
+    // optional uint64 lo = 1;
+    private boolean hasLo;
+    private long lo_ = 0L;
+    public boolean hasLo() { return hasLo; }
+    public long getLo() { return lo_; }
+    
+    // optional uint32 hi = 2;
+    private boolean hasHi;
+    private int hi_ = 0;
+    public boolean hasHi() { return hasHi; }
+    public int getHi() { return hi_; }
+    
+    // optional uint32 signScale = 3;
+    private boolean hasSignScale;
+    private int signScale_ = 0;
+    public boolean hasSignScale() { return hasSignScale; }
+    public int getSignScale() { return signScale_; }
+    
+    public static slowbcl.Slowbcl.Decimal parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slowbcl.Slowbcl.Decimal parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.Decimal parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slowbcl.Slowbcl.Decimal parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.Decimal parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slowbcl.Slowbcl.Decimal parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static slowbcl.Slowbcl.Decimal parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slowbcl.Slowbcl.Decimal parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(slowbcl.Slowbcl.Decimal prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using slowbcl.Slowbcl.Decimal.newBuilder()
+      private Builder() {}
+      
+      slowbcl.Slowbcl.Decimal result = new slowbcl.Slowbcl.Decimal();
+      
+      protected slowbcl.Slowbcl.Decimal internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new slowbcl.Slowbcl.Decimal();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return slowbcl.Slowbcl.Decimal.getDescriptor();
+      }
+      
+      public slowbcl.Slowbcl.Decimal getDefaultInstanceForType() {
+        return slowbcl.Slowbcl.Decimal.getDefaultInstance();
+      }
+      
+      public slowbcl.Slowbcl.Decimal build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private slowbcl.Slowbcl.Decimal buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public slowbcl.Slowbcl.Decimal buildPartial() {
+        slowbcl.Slowbcl.Decimal returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional uint64 lo = 1;
+      public boolean hasLo() {
+        return result.hasLo();
+      }
+      public long getLo() {
+        return result.getLo();
+      }
+      public Builder setLo(long value) {
+        result.hasLo = true;
+        result.lo_ = value;
+        return this;
+      }
+      public Builder clearLo() {
+        result.hasLo = false;
+        result.lo_ = 0L;
+        return this;
+      }
+      
+      // optional uint32 hi = 2;
+      public boolean hasHi() {
+        return result.hasHi();
+      }
+      public int getHi() {
+        return result.getHi();
+      }
+      public Builder setHi(int value) {
+        result.hasHi = true;
+        result.hi_ = value;
+        return this;
+      }
+      public Builder clearHi() {
+        result.hasHi = false;
+        result.hi_ = 0;
+        return this;
+      }
+      
+      // optional uint32 signScale = 3;
+      public boolean hasSignScale() {
+        return result.hasSignScale();
+      }
+      public int getSignScale() {
+        return result.getSignScale();
+      }
+      public Builder setSignScale(int value) {
+        result.hasSignScale = true;
+        result.signScale_ = value;
+        return this;
+      }
+      public Builder clearSignScale() {
+        result.hasSignScale = false;
+        result.signScale_ = 0;
+        return this;
+      }
+    }
+  }
+  
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_slowbcl_TimeSpan_descriptor =
+      getDescriptor().getMessageTypes().get(0);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_slowbcl_TimeSpan_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_slowbcl_TimeSpan_descriptor,
+          new java.lang.String[] { "Value", "Scale", },
+          slowbcl.Slowbcl.TimeSpan.class,
+          slowbcl.Slowbcl.TimeSpan.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_slowbcl_DateTime_descriptor =
+      getDescriptor().getMessageTypes().get(1);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_slowbcl_DateTime_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_slowbcl_DateTime_descriptor,
+          new java.lang.String[] { "Value", "Scale", },
+          slowbcl.Slowbcl.DateTime.class,
+          slowbcl.Slowbcl.DateTime.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_slowbcl_Guid_descriptor =
+      getDescriptor().getMessageTypes().get(2);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_slowbcl_Guid_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_slowbcl_Guid_descriptor,
+          new java.lang.String[] { "Lo", "Hi", },
+          slowbcl.Slowbcl.Guid.class,
+          slowbcl.Slowbcl.Guid.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_slowbcl_Decimal_descriptor =
+      getDescriptor().getMessageTypes().get(3);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_slowbcl_Decimal_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_slowbcl_Decimal_descriptor,
+          new java.lang.String[] { "Lo", "Hi", "SignScale", },
+          slowbcl.Slowbcl.Decimal.class,
+          slowbcl.Slowbcl.Decimal.Builder.class);
+}

+ 1132 - 0
csharp/TestBed/java/slownorthwind/Slownwind.java

@@ -0,0 +1,1132 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+package slownorthwind;
+
+public final class Slownwind {
+  private Slownwind() {}
+  public static com.google.protobuf.Descriptors.FileDescriptor
+      getDescriptor() {
+    return descriptor;
+  }
+  private static final com.google.protobuf.Descriptors.FileDescriptor
+      descriptor = buildDescriptor();
+  private static
+      com.google.protobuf.Descriptors.FileDescriptor
+      buildDescriptor() {
+    java.lang.String descriptorData =
+      "\n\017slownwind.proto\022\rslownorthwind\032\rslowbc" +
+      "l.proto\"0\n\010Database\022$\n\006Orders\030\001 \003(\0132\024.sl" +
+      "ownorthwind.Order\"\216\003\n\005Order\022\017\n\007OrderID\030\001" +
+      " \001(\005\022\022\n\nCustomerID\030\002 \001(\t\022\022\n\nEmployeeID\030\003" +
+      " \001(\005\022$\n\tOrderDate\030\004 \001(\0132\021.slowbcl.DateTi" +
+      "me\022\'\n\014RequiredDate\030\005 \001(\0132\021.slowbcl.DateT" +
+      "ime\022&\n\013ShippedDate\030\006 \001(\0132\021.slowbcl.DateT" +
+      "ime\022\017\n\007ShipVia\030\007 \001(\005\022!\n\007Freight\030\010 \001(\0132\020." +
+      "slowbcl.Decimal\022\020\n\010ShipName\030\t \001(\t\022\023\n\013Shi" +
+      "pAddress\030\n \001(\t\022\020\n\010ShipCity\030\013 \001(\t\022\022\n\nShip" +
+      "Region\030\014 \001(\t\022\026\n\016ShipPostalCode\030\r \001(\t\022\023\n\013" +
+      "ShipCountry\030\016 \001(\t\022\'\n\005Lines\030\017 \003(\0132\030.slown" +
+      "orthwind.OrderLine\"x\n\tOrderLine\022\017\n\007Order" +
+      "ID\030\001 \001(\005\022\021\n\tProductID\030\002 \001(\005\022#\n\tUnitPrice" +
+      "\030\003 \001(\0132\020.slowbcl.Decimal\022\020\n\010Quantity\030\004 \001" +
+      "(\021\022\020\n\010Discount\030\005 \001(\002B)\302>\rSlowNorthwind\312>" +
+      "\026SlowNorthwindProtoFile";
+    try {
+      return com.google.protobuf.Descriptors.FileDescriptor
+        .internalBuildGeneratedFileFrom(descriptorData,
+          new com.google.protobuf.Descriptors.FileDescriptor[] {
+            slowbcl.Slowbcl.getDescriptor(),
+          });
+    } catch (Exception e) {
+      throw new RuntimeException(
+        "Failed to parse protocol buffer descriptor for " +
+        "\"slownwind.proto\".", e);
+    }
+  }
+  
+  public static final class Database extends
+      com.google.protobuf.GeneratedMessage {
+    // Use Database.newBuilder() to construct.
+    private Database() {}
+    
+    private static final Database defaultInstance = new Database();
+    public static Database getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public Database getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return slownorthwind.Slownwind.internal_static_slownorthwind_Database_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return slownorthwind.Slownwind.internal_static_slownorthwind_Database_fieldAccessorTable;
+    }
+    
+    // repeated .slownorthwind.Order Orders = 1;
+    private java.util.List<slownorthwind.Slownwind.Order> orders_ =
+      java.util.Collections.emptyList();
+    public java.util.List<slownorthwind.Slownwind.Order> getOrdersList() {
+      return orders_;
+    }
+    public int getOrdersCount() { return orders_.size(); }
+    public slownorthwind.Slownwind.Order getOrders(int index) {
+      return orders_.get(index);
+    }
+    
+    public static slownorthwind.Slownwind.Database parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slownorthwind.Slownwind.Database parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slownorthwind.Slownwind.Database parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slownorthwind.Slownwind.Database parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slownorthwind.Slownwind.Database parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slownorthwind.Slownwind.Database parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static slownorthwind.Slownwind.Database parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slownorthwind.Slownwind.Database parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(slownorthwind.Slownwind.Database prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using slownorthwind.Slownwind.Database.newBuilder()
+      private Builder() {}
+      
+      slownorthwind.Slownwind.Database result = new slownorthwind.Slownwind.Database();
+      
+      protected slownorthwind.Slownwind.Database internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new slownorthwind.Slownwind.Database();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return slownorthwind.Slownwind.Database.getDescriptor();
+      }
+      
+      public slownorthwind.Slownwind.Database getDefaultInstanceForType() {
+        return slownorthwind.Slownwind.Database.getDefaultInstance();
+      }
+      
+      public slownorthwind.Slownwind.Database build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private slownorthwind.Slownwind.Database buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public slownorthwind.Slownwind.Database buildPartial() {
+        if (result.orders_ != java.util.Collections.EMPTY_LIST) {
+          result.orders_ =
+            java.util.Collections.unmodifiableList(result.orders_);
+        }
+        slownorthwind.Slownwind.Database returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // repeated .slownorthwind.Order Orders = 1;
+      public java.util.List<slownorthwind.Slownwind.Order> getOrdersList() {
+        return java.util.Collections.unmodifiableList(result.orders_);
+      }
+      public int getOrdersCount() {
+        return result.getOrdersCount();
+      }
+      public slownorthwind.Slownwind.Order getOrders(int index) {
+        return result.getOrders(index);
+      }
+      public Builder setOrders(int index, slownorthwind.Slownwind.Order value) {
+        result.orders_.set(index, value);
+        return this;
+      }
+      public Builder setOrders(int index, slownorthwind.Slownwind.Order.Builder builderForValue) {
+        result.orders_.set(index, builderForValue.build());
+        return this;
+      }
+      public Builder addOrders(slownorthwind.Slownwind.Order value) {
+        if (result.orders_.isEmpty()) {
+          result.orders_ = new java.util.ArrayList<slownorthwind.Slownwind.Order>();
+        }
+        result.orders_.add(value);
+        return this;
+      }
+      public Builder addOrders(slownorthwind.Slownwind.Order.Builder builderForValue) {
+        if (result.orders_.isEmpty()) {
+          result.orders_ = new java.util.ArrayList<slownorthwind.Slownwind.Order>();
+        }
+        result.orders_.add(builderForValue.build());
+        return this;
+      }
+      public Builder addAllOrders(
+          java.lang.Iterable<? extends slownorthwind.Slownwind.Order> values) {
+        if (result.orders_.isEmpty()) {
+          result.orders_ = new java.util.ArrayList<slownorthwind.Slownwind.Order>();
+        }
+        super.addAll(values, result.orders_);
+        return this;
+      }
+      public Builder clearOrders() {
+        result.orders_ = java.util.Collections.emptyList();
+        return this;
+      }
+    }
+  }
+  
+  public static final class Order extends
+      com.google.protobuf.GeneratedMessage {
+    // Use Order.newBuilder() to construct.
+    private Order() {}
+    
+    private static final Order defaultInstance = new Order();
+    public static Order getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public Order getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return slownorthwind.Slownwind.internal_static_slownorthwind_Order_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return slownorthwind.Slownwind.internal_static_slownorthwind_Order_fieldAccessorTable;
+    }
+    
+    // optional int32 OrderID = 1;
+    private boolean hasOrderID;
+    private int orderID_ = 0;
+    public boolean hasOrderID() { return hasOrderID; }
+    public int getOrderID() { return orderID_; }
+    
+    // optional string CustomerID = 2;
+    private boolean hasCustomerID;
+    private java.lang.String customerID_ = "";
+    public boolean hasCustomerID() { return hasCustomerID; }
+    public java.lang.String getCustomerID() { return customerID_; }
+    
+    // optional int32 EmployeeID = 3;
+    private boolean hasEmployeeID;
+    private int employeeID_ = 0;
+    public boolean hasEmployeeID() { return hasEmployeeID; }
+    public int getEmployeeID() { return employeeID_; }
+    
+    // optional .slowbcl.DateTime OrderDate = 4;
+    private boolean hasOrderDate;
+    private slowbcl.Slowbcl.DateTime orderDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance();
+    public boolean hasOrderDate() { return hasOrderDate; }
+    public slowbcl.Slowbcl.DateTime getOrderDate() { return orderDate_; }
+    
+    // optional .slowbcl.DateTime RequiredDate = 5;
+    private boolean hasRequiredDate;
+    private slowbcl.Slowbcl.DateTime requiredDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance();
+    public boolean hasRequiredDate() { return hasRequiredDate; }
+    public slowbcl.Slowbcl.DateTime getRequiredDate() { return requiredDate_; }
+    
+    // optional .slowbcl.DateTime ShippedDate = 6;
+    private boolean hasShippedDate;
+    private slowbcl.Slowbcl.DateTime shippedDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance();
+    public boolean hasShippedDate() { return hasShippedDate; }
+    public slowbcl.Slowbcl.DateTime getShippedDate() { return shippedDate_; }
+    
+    // optional int32 ShipVia = 7;
+    private boolean hasShipVia;
+    private int shipVia_ = 0;
+    public boolean hasShipVia() { return hasShipVia; }
+    public int getShipVia() { return shipVia_; }
+    
+    // optional .slowbcl.Decimal Freight = 8;
+    private boolean hasFreight;
+    private slowbcl.Slowbcl.Decimal freight_ = slowbcl.Slowbcl.Decimal.getDefaultInstance();
+    public boolean hasFreight() { return hasFreight; }
+    public slowbcl.Slowbcl.Decimal getFreight() { return freight_; }
+    
+    // optional string ShipName = 9;
+    private boolean hasShipName;
+    private java.lang.String shipName_ = "";
+    public boolean hasShipName() { return hasShipName; }
+    public java.lang.String getShipName() { return shipName_; }
+    
+    // optional string ShipAddress = 10;
+    private boolean hasShipAddress;
+    private java.lang.String shipAddress_ = "";
+    public boolean hasShipAddress() { return hasShipAddress; }
+    public java.lang.String getShipAddress() { return shipAddress_; }
+    
+    // optional string ShipCity = 11;
+    private boolean hasShipCity;
+    private java.lang.String shipCity_ = "";
+    public boolean hasShipCity() { return hasShipCity; }
+    public java.lang.String getShipCity() { return shipCity_; }
+    
+    // optional string ShipRegion = 12;
+    private boolean hasShipRegion;
+    private java.lang.String shipRegion_ = "";
+    public boolean hasShipRegion() { return hasShipRegion; }
+    public java.lang.String getShipRegion() { return shipRegion_; }
+    
+    // optional string ShipPostalCode = 13;
+    private boolean hasShipPostalCode;
+    private java.lang.String shipPostalCode_ = "";
+    public boolean hasShipPostalCode() { return hasShipPostalCode; }
+    public java.lang.String getShipPostalCode() { return shipPostalCode_; }
+    
+    // optional string ShipCountry = 14;
+    private boolean hasShipCountry;
+    private java.lang.String shipCountry_ = "";
+    public boolean hasShipCountry() { return hasShipCountry; }
+    public java.lang.String getShipCountry() { return shipCountry_; }
+    
+    // repeated .slownorthwind.OrderLine Lines = 15;
+    private java.util.List<slownorthwind.Slownwind.OrderLine> lines_ =
+      java.util.Collections.emptyList();
+    public java.util.List<slownorthwind.Slownwind.OrderLine> getLinesList() {
+      return lines_;
+    }
+    public int getLinesCount() { return lines_.size(); }
+    public slownorthwind.Slownwind.OrderLine getLines(int index) {
+      return lines_.get(index);
+    }
+    
+    public static slownorthwind.Slownwind.Order parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slownorthwind.Slownwind.Order parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slownorthwind.Slownwind.Order parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slownorthwind.Slownwind.Order parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slownorthwind.Slownwind.Order parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slownorthwind.Slownwind.Order parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static slownorthwind.Slownwind.Order parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slownorthwind.Slownwind.Order parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(slownorthwind.Slownwind.Order prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using slownorthwind.Slownwind.Order.newBuilder()
+      private Builder() {}
+      
+      slownorthwind.Slownwind.Order result = new slownorthwind.Slownwind.Order();
+      
+      protected slownorthwind.Slownwind.Order internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new slownorthwind.Slownwind.Order();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return slownorthwind.Slownwind.Order.getDescriptor();
+      }
+      
+      public slownorthwind.Slownwind.Order getDefaultInstanceForType() {
+        return slownorthwind.Slownwind.Order.getDefaultInstance();
+      }
+      
+      public slownorthwind.Slownwind.Order build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private slownorthwind.Slownwind.Order buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public slownorthwind.Slownwind.Order buildPartial() {
+        if (result.lines_ != java.util.Collections.EMPTY_LIST) {
+          result.lines_ =
+            java.util.Collections.unmodifiableList(result.lines_);
+        }
+        slownorthwind.Slownwind.Order returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional int32 OrderID = 1;
+      public boolean hasOrderID() {
+        return result.hasOrderID();
+      }
+      public int getOrderID() {
+        return result.getOrderID();
+      }
+      public Builder setOrderID(int value) {
+        result.hasOrderID = true;
+        result.orderID_ = value;
+        return this;
+      }
+      public Builder clearOrderID() {
+        result.hasOrderID = false;
+        result.orderID_ = 0;
+        return this;
+      }
+      
+      // optional string CustomerID = 2;
+      public boolean hasCustomerID() {
+        return result.hasCustomerID();
+      }
+      public java.lang.String getCustomerID() {
+        return result.getCustomerID();
+      }
+      public Builder setCustomerID(java.lang.String value) {
+        result.hasCustomerID = true;
+        result.customerID_ = value;
+        return this;
+      }
+      public Builder clearCustomerID() {
+        result.hasCustomerID = false;
+        result.customerID_ = "";
+        return this;
+      }
+      
+      // optional int32 EmployeeID = 3;
+      public boolean hasEmployeeID() {
+        return result.hasEmployeeID();
+      }
+      public int getEmployeeID() {
+        return result.getEmployeeID();
+      }
+      public Builder setEmployeeID(int value) {
+        result.hasEmployeeID = true;
+        result.employeeID_ = value;
+        return this;
+      }
+      public Builder clearEmployeeID() {
+        result.hasEmployeeID = false;
+        result.employeeID_ = 0;
+        return this;
+      }
+      
+      // optional .slowbcl.DateTime OrderDate = 4;
+      public boolean hasOrderDate() {
+        return result.hasOrderDate();
+      }
+      public slowbcl.Slowbcl.DateTime getOrderDate() {
+        return result.getOrderDate();
+      }
+      public Builder setOrderDate(slowbcl.Slowbcl.DateTime value) {
+        result.hasOrderDate = true;
+        result.orderDate_ = value;
+        return this;
+      }
+      public Builder setOrderDate(slowbcl.Slowbcl.DateTime.Builder builderForValue) {
+        result.hasOrderDate = true;
+        result.orderDate_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeOrderDate(slowbcl.Slowbcl.DateTime value) {
+        if (result.hasOrderDate() &&
+            result.orderDate_ != slowbcl.Slowbcl.DateTime.getDefaultInstance()) {
+          result.orderDate_ =
+            slowbcl.Slowbcl.DateTime.newBuilder(result.orderDate_).mergeFrom(value).buildPartial();
+        } else {
+          result.orderDate_ = value;
+        }
+        result.hasOrderDate = true;
+        return this;
+      }
+      public Builder clearOrderDate() {
+        result.hasOrderDate = false;
+        result.orderDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance();
+        return this;
+      }
+      
+      // optional .slowbcl.DateTime RequiredDate = 5;
+      public boolean hasRequiredDate() {
+        return result.hasRequiredDate();
+      }
+      public slowbcl.Slowbcl.DateTime getRequiredDate() {
+        return result.getRequiredDate();
+      }
+      public Builder setRequiredDate(slowbcl.Slowbcl.DateTime value) {
+        result.hasRequiredDate = true;
+        result.requiredDate_ = value;
+        return this;
+      }
+      public Builder setRequiredDate(slowbcl.Slowbcl.DateTime.Builder builderForValue) {
+        result.hasRequiredDate = true;
+        result.requiredDate_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeRequiredDate(slowbcl.Slowbcl.DateTime value) {
+        if (result.hasRequiredDate() &&
+            result.requiredDate_ != slowbcl.Slowbcl.DateTime.getDefaultInstance()) {
+          result.requiredDate_ =
+            slowbcl.Slowbcl.DateTime.newBuilder(result.requiredDate_).mergeFrom(value).buildPartial();
+        } else {
+          result.requiredDate_ = value;
+        }
+        result.hasRequiredDate = true;
+        return this;
+      }
+      public Builder clearRequiredDate() {
+        result.hasRequiredDate = false;
+        result.requiredDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance();
+        return this;
+      }
+      
+      // optional .slowbcl.DateTime ShippedDate = 6;
+      public boolean hasShippedDate() {
+        return result.hasShippedDate();
+      }
+      public slowbcl.Slowbcl.DateTime getShippedDate() {
+        return result.getShippedDate();
+      }
+      public Builder setShippedDate(slowbcl.Slowbcl.DateTime value) {
+        result.hasShippedDate = true;
+        result.shippedDate_ = value;
+        return this;
+      }
+      public Builder setShippedDate(slowbcl.Slowbcl.DateTime.Builder builderForValue) {
+        result.hasShippedDate = true;
+        result.shippedDate_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeShippedDate(slowbcl.Slowbcl.DateTime value) {
+        if (result.hasShippedDate() &&
+            result.shippedDate_ != slowbcl.Slowbcl.DateTime.getDefaultInstance()) {
+          result.shippedDate_ =
+            slowbcl.Slowbcl.DateTime.newBuilder(result.shippedDate_).mergeFrom(value).buildPartial();
+        } else {
+          result.shippedDate_ = value;
+        }
+        result.hasShippedDate = true;
+        return this;
+      }
+      public Builder clearShippedDate() {
+        result.hasShippedDate = false;
+        result.shippedDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance();
+        return this;
+      }
+      
+      // optional int32 ShipVia = 7;
+      public boolean hasShipVia() {
+        return result.hasShipVia();
+      }
+      public int getShipVia() {
+        return result.getShipVia();
+      }
+      public Builder setShipVia(int value) {
+        result.hasShipVia = true;
+        result.shipVia_ = value;
+        return this;
+      }
+      public Builder clearShipVia() {
+        result.hasShipVia = false;
+        result.shipVia_ = 0;
+        return this;
+      }
+      
+      // optional .slowbcl.Decimal Freight = 8;
+      public boolean hasFreight() {
+        return result.hasFreight();
+      }
+      public slowbcl.Slowbcl.Decimal getFreight() {
+        return result.getFreight();
+      }
+      public Builder setFreight(slowbcl.Slowbcl.Decimal value) {
+        result.hasFreight = true;
+        result.freight_ = value;
+        return this;
+      }
+      public Builder setFreight(slowbcl.Slowbcl.Decimal.Builder builderForValue) {
+        result.hasFreight = true;
+        result.freight_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeFreight(slowbcl.Slowbcl.Decimal value) {
+        if (result.hasFreight() &&
+            result.freight_ != slowbcl.Slowbcl.Decimal.getDefaultInstance()) {
+          result.freight_ =
+            slowbcl.Slowbcl.Decimal.newBuilder(result.freight_).mergeFrom(value).buildPartial();
+        } else {
+          result.freight_ = value;
+        }
+        result.hasFreight = true;
+        return this;
+      }
+      public Builder clearFreight() {
+        result.hasFreight = false;
+        result.freight_ = slowbcl.Slowbcl.Decimal.getDefaultInstance();
+        return this;
+      }
+      
+      // optional string ShipName = 9;
+      public boolean hasShipName() {
+        return result.hasShipName();
+      }
+      public java.lang.String getShipName() {
+        return result.getShipName();
+      }
+      public Builder setShipName(java.lang.String value) {
+        result.hasShipName = true;
+        result.shipName_ = value;
+        return this;
+      }
+      public Builder clearShipName() {
+        result.hasShipName = false;
+        result.shipName_ = "";
+        return this;
+      }
+      
+      // optional string ShipAddress = 10;
+      public boolean hasShipAddress() {
+        return result.hasShipAddress();
+      }
+      public java.lang.String getShipAddress() {
+        return result.getShipAddress();
+      }
+      public Builder setShipAddress(java.lang.String value) {
+        result.hasShipAddress = true;
+        result.shipAddress_ = value;
+        return this;
+      }
+      public Builder clearShipAddress() {
+        result.hasShipAddress = false;
+        result.shipAddress_ = "";
+        return this;
+      }
+      
+      // optional string ShipCity = 11;
+      public boolean hasShipCity() {
+        return result.hasShipCity();
+      }
+      public java.lang.String getShipCity() {
+        return result.getShipCity();
+      }
+      public Builder setShipCity(java.lang.String value) {
+        result.hasShipCity = true;
+        result.shipCity_ = value;
+        return this;
+      }
+      public Builder clearShipCity() {
+        result.hasShipCity = false;
+        result.shipCity_ = "";
+        return this;
+      }
+      
+      // optional string ShipRegion = 12;
+      public boolean hasShipRegion() {
+        return result.hasShipRegion();
+      }
+      public java.lang.String getShipRegion() {
+        return result.getShipRegion();
+      }
+      public Builder setShipRegion(java.lang.String value) {
+        result.hasShipRegion = true;
+        result.shipRegion_ = value;
+        return this;
+      }
+      public Builder clearShipRegion() {
+        result.hasShipRegion = false;
+        result.shipRegion_ = "";
+        return this;
+      }
+      
+      // optional string ShipPostalCode = 13;
+      public boolean hasShipPostalCode() {
+        return result.hasShipPostalCode();
+      }
+      public java.lang.String getShipPostalCode() {
+        return result.getShipPostalCode();
+      }
+      public Builder setShipPostalCode(java.lang.String value) {
+        result.hasShipPostalCode = true;
+        result.shipPostalCode_ = value;
+        return this;
+      }
+      public Builder clearShipPostalCode() {
+        result.hasShipPostalCode = false;
+        result.shipPostalCode_ = "";
+        return this;
+      }
+      
+      // optional string ShipCountry = 14;
+      public boolean hasShipCountry() {
+        return result.hasShipCountry();
+      }
+      public java.lang.String getShipCountry() {
+        return result.getShipCountry();
+      }
+      public Builder setShipCountry(java.lang.String value) {
+        result.hasShipCountry = true;
+        result.shipCountry_ = value;
+        return this;
+      }
+      public Builder clearShipCountry() {
+        result.hasShipCountry = false;
+        result.shipCountry_ = "";
+        return this;
+      }
+      
+      // repeated .slownorthwind.OrderLine Lines = 15;
+      public java.util.List<slownorthwind.Slownwind.OrderLine> getLinesList() {
+        return java.util.Collections.unmodifiableList(result.lines_);
+      }
+      public int getLinesCount() {
+        return result.getLinesCount();
+      }
+      public slownorthwind.Slownwind.OrderLine getLines(int index) {
+        return result.getLines(index);
+      }
+      public Builder setLines(int index, slownorthwind.Slownwind.OrderLine value) {
+        result.lines_.set(index, value);
+        return this;
+      }
+      public Builder setLines(int index, slownorthwind.Slownwind.OrderLine.Builder builderForValue) {
+        result.lines_.set(index, builderForValue.build());
+        return this;
+      }
+      public Builder addLines(slownorthwind.Slownwind.OrderLine value) {
+        if (result.lines_.isEmpty()) {
+          result.lines_ = new java.util.ArrayList<slownorthwind.Slownwind.OrderLine>();
+        }
+        result.lines_.add(value);
+        return this;
+      }
+      public Builder addLines(slownorthwind.Slownwind.OrderLine.Builder builderForValue) {
+        if (result.lines_.isEmpty()) {
+          result.lines_ = new java.util.ArrayList<slownorthwind.Slownwind.OrderLine>();
+        }
+        result.lines_.add(builderForValue.build());
+        return this;
+      }
+      public Builder addAllLines(
+          java.lang.Iterable<? extends slownorthwind.Slownwind.OrderLine> values) {
+        if (result.lines_.isEmpty()) {
+          result.lines_ = new java.util.ArrayList<slownorthwind.Slownwind.OrderLine>();
+        }
+        super.addAll(values, result.lines_);
+        return this;
+      }
+      public Builder clearLines() {
+        result.lines_ = java.util.Collections.emptyList();
+        return this;
+      }
+    }
+  }
+  
+  public static final class OrderLine extends
+      com.google.protobuf.GeneratedMessage {
+    // Use OrderLine.newBuilder() to construct.
+    private OrderLine() {}
+    
+    private static final OrderLine defaultInstance = new OrderLine();
+    public static OrderLine getDefaultInstance() {
+      return defaultInstance;
+    }
+    
+    public OrderLine getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+    
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return slownorthwind.Slownwind.internal_static_slownorthwind_OrderLine_descriptor;
+    }
+    
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return slownorthwind.Slownwind.internal_static_slownorthwind_OrderLine_fieldAccessorTable;
+    }
+    
+    // optional int32 OrderID = 1;
+    private boolean hasOrderID;
+    private int orderID_ = 0;
+    public boolean hasOrderID() { return hasOrderID; }
+    public int getOrderID() { return orderID_; }
+    
+    // optional int32 ProductID = 2;
+    private boolean hasProductID;
+    private int productID_ = 0;
+    public boolean hasProductID() { return hasProductID; }
+    public int getProductID() { return productID_; }
+    
+    // optional .slowbcl.Decimal UnitPrice = 3;
+    private boolean hasUnitPrice;
+    private slowbcl.Slowbcl.Decimal unitPrice_ = slowbcl.Slowbcl.Decimal.getDefaultInstance();
+    public boolean hasUnitPrice() { return hasUnitPrice; }
+    public slowbcl.Slowbcl.Decimal getUnitPrice() { return unitPrice_; }
+    
+    // optional sint32 Quantity = 4;
+    private boolean hasQuantity;
+    private int quantity_ = 0;
+    public boolean hasQuantity() { return hasQuantity; }
+    public int getQuantity() { return quantity_; }
+    
+    // optional float Discount = 5;
+    private boolean hasDiscount;
+    private float discount_ = 0F;
+    public boolean hasDiscount() { return hasDiscount; }
+    public float getDiscount() { return discount_; }
+    
+    public static slownorthwind.Slownwind.OrderLine parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slownorthwind.Slownwind.OrderLine parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slownorthwind.Slownwind.OrderLine parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data).buildParsed();
+    }
+    public static slownorthwind.Slownwind.OrderLine parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return newBuilder().mergeFrom(data, extensionRegistry)
+               .buildParsed();
+    }
+    public static slownorthwind.Slownwind.OrderLine parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slownorthwind.Slownwind.OrderLine parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    public static slownorthwind.Slownwind.OrderLine parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input).buildParsed();
+    }
+    public static slownorthwind.Slownwind.OrderLine parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistry extensionRegistry)
+        throws java.io.IOException {
+      return newBuilder().mergeFrom(input, extensionRegistry)
+               .buildParsed();
+    }
+    
+    public static Builder newBuilder() { return new Builder(); }
+    public Builder newBuilderForType() { return new Builder(); }
+    public static Builder newBuilder(slownorthwind.Slownwind.OrderLine prototype) {
+      return new Builder().mergeFrom(prototype);
+    }
+    
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder> {
+      // Construct using slownorthwind.Slownwind.OrderLine.newBuilder()
+      private Builder() {}
+      
+      slownorthwind.Slownwind.OrderLine result = new slownorthwind.Slownwind.OrderLine();
+      
+      protected slownorthwind.Slownwind.OrderLine internalGetResult() {
+        return result;
+      }
+      
+      public Builder clear() {
+        result = new slownorthwind.Slownwind.OrderLine();
+        return this;
+      }
+      
+      public Builder clone() {
+        return new Builder().mergeFrom(result);
+      }
+      
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return slownorthwind.Slownwind.OrderLine.getDescriptor();
+      }
+      
+      public slownorthwind.Slownwind.OrderLine getDefaultInstanceForType() {
+        return slownorthwind.Slownwind.OrderLine.getDefaultInstance();
+      }
+      
+      public slownorthwind.Slownwind.OrderLine build() {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result);
+        }
+        return buildPartial();
+      }
+      
+      private slownorthwind.Slownwind.OrderLine buildParsed()
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        if (!isInitialized()) {
+          throw new com.google.protobuf.UninitializedMessageException(
+            result).asInvalidProtocolBufferException();
+        }
+        return buildPartial();
+      }
+      
+      public slownorthwind.Slownwind.OrderLine buildPartial() {
+        slownorthwind.Slownwind.OrderLine returnMe = result;
+        result = null;
+        return returnMe;
+      }
+      
+      
+      // optional int32 OrderID = 1;
+      public boolean hasOrderID() {
+        return result.hasOrderID();
+      }
+      public int getOrderID() {
+        return result.getOrderID();
+      }
+      public Builder setOrderID(int value) {
+        result.hasOrderID = true;
+        result.orderID_ = value;
+        return this;
+      }
+      public Builder clearOrderID() {
+        result.hasOrderID = false;
+        result.orderID_ = 0;
+        return this;
+      }
+      
+      // optional int32 ProductID = 2;
+      public boolean hasProductID() {
+        return result.hasProductID();
+      }
+      public int getProductID() {
+        return result.getProductID();
+      }
+      public Builder setProductID(int value) {
+        result.hasProductID = true;
+        result.productID_ = value;
+        return this;
+      }
+      public Builder clearProductID() {
+        result.hasProductID = false;
+        result.productID_ = 0;
+        return this;
+      }
+      
+      // optional .slowbcl.Decimal UnitPrice = 3;
+      public boolean hasUnitPrice() {
+        return result.hasUnitPrice();
+      }
+      public slowbcl.Slowbcl.Decimal getUnitPrice() {
+        return result.getUnitPrice();
+      }
+      public Builder setUnitPrice(slowbcl.Slowbcl.Decimal value) {
+        result.hasUnitPrice = true;
+        result.unitPrice_ = value;
+        return this;
+      }
+      public Builder setUnitPrice(slowbcl.Slowbcl.Decimal.Builder builderForValue) {
+        result.hasUnitPrice = true;
+        result.unitPrice_ = builderForValue.build();
+        return this;
+      }
+      public Builder mergeUnitPrice(slowbcl.Slowbcl.Decimal value) {
+        if (result.hasUnitPrice() &&
+            result.unitPrice_ != slowbcl.Slowbcl.Decimal.getDefaultInstance()) {
+          result.unitPrice_ =
+            slowbcl.Slowbcl.Decimal.newBuilder(result.unitPrice_).mergeFrom(value).buildPartial();
+        } else {
+          result.unitPrice_ = value;
+        }
+        result.hasUnitPrice = true;
+        return this;
+      }
+      public Builder clearUnitPrice() {
+        result.hasUnitPrice = false;
+        result.unitPrice_ = slowbcl.Slowbcl.Decimal.getDefaultInstance();
+        return this;
+      }
+      
+      // optional sint32 Quantity = 4;
+      public boolean hasQuantity() {
+        return result.hasQuantity();
+      }
+      public int getQuantity() {
+        return result.getQuantity();
+      }
+      public Builder setQuantity(int value) {
+        result.hasQuantity = true;
+        result.quantity_ = value;
+        return this;
+      }
+      public Builder clearQuantity() {
+        result.hasQuantity = false;
+        result.quantity_ = 0;
+        return this;
+      }
+      
+      // optional float Discount = 5;
+      public boolean hasDiscount() {
+        return result.hasDiscount();
+      }
+      public float getDiscount() {
+        return result.getDiscount();
+      }
+      public Builder setDiscount(float value) {
+        result.hasDiscount = true;
+        result.discount_ = value;
+        return this;
+      }
+      public Builder clearDiscount() {
+        result.hasDiscount = false;
+        result.discount_ = 0F;
+        return this;
+      }
+    }
+  }
+  
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_slownorthwind_Database_descriptor =
+      getDescriptor().getMessageTypes().get(0);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_slownorthwind_Database_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_slownorthwind_Database_descriptor,
+          new java.lang.String[] { "Orders", },
+          slownorthwind.Slownwind.Database.class,
+          slownorthwind.Slownwind.Database.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_slownorthwind_Order_descriptor =
+      getDescriptor().getMessageTypes().get(1);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_slownorthwind_Order_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_slownorthwind_Order_descriptor,
+          new java.lang.String[] { "OrderID", "CustomerID", "EmployeeID", "OrderDate", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipRegion", "ShipPostalCode", "ShipCountry", "Lines", },
+          slownorthwind.Slownwind.Order.class,
+          slownorthwind.Slownwind.Order.Builder.class);
+  private static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_slownorthwind_OrderLine_descriptor =
+      getDescriptor().getMessageTypes().get(2);
+  private static
+    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_slownorthwind_OrderLine_fieldAccessorTable = new
+        com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+          internal_static_slownorthwind_OrderLine_descriptor,
+          new java.lang.String[] { "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount", },
+          slownorthwind.Slownwind.OrderLine.class,
+          slownorthwind.Slownwind.OrderLine.Builder.class);
+}

+ 38 - 0
csharp/TestBed/nwind.proto

@@ -0,0 +1,38 @@
+package northwind;
+
+option csharp_namespace = "Northwind";
+option csharp_file_classname = "NorthwindProtoFile";
+
+option optimize_for = SPEED;
+
+import "bcl.proto";
+
+message Database {
+   repeated Order Orders = 1;
+}
+
+message Order {
+   optional int32 OrderID = 1;
+   optional string CustomerID = 2;
+   optional int32 EmployeeID = 3;
+   optional bcl.DateTime OrderDate = 4;
+   optional bcl.DateTime RequiredDate = 5;
+   optional bcl.DateTime ShippedDate = 6;
+   optional int32 ShipVia = 7;
+   optional bcl.Decimal Freight = 8;
+   optional string ShipName = 9;
+   optional string ShipAddress = 10;
+   optional string ShipCity = 11;
+   optional string ShipRegion = 12;
+   optional string ShipPostalCode = 13;
+   optional string ShipCountry = 14;
+   repeated OrderLine Lines = 15;
+}
+
+message OrderLine {
+   optional int32 OrderID = 1;
+   optional int32 ProductID = 2;
+   optional bcl.Decimal UnitPrice = 3;
+   optional sint32 Quantity = 4;
+   optional float Discount = 5;
+}

BIN
csharp/TestBed/nwind.proto.bin


+ 7 - 0
csharp/TestBed/obj/Debug/TestBed.csproj.FileListAbsolute.txt

@@ -0,0 +1,7 @@
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Debug\TestBed.exe
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Debug\TestBed.pdb
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Debug\Google.ProtocolBuffers.dll
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Debug\Google.ProtocolBuffers.pdb
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Debug\ResolveAssemblyReference.cache
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Debug\TestBed.exe
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Debug\TestBed.pdb

BIN
csharp/TestBed/obj/Debug/TestBed.exe


BIN
csharp/TestBed/obj/Debug/TestBed.pdb


+ 7 - 0
csharp/TestBed/obj/Release/TestBed.csproj.FileListAbsolute.txt

@@ -0,0 +1,7 @@
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Release\TestBed.exe
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Release\TestBed.pdb
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Release\Google.ProtocolBuffers.dll
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Release\Google.ProtocolBuffers.pdb
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Release\ResolveAssemblyReference.cache
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Release\TestBed.exe
+C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Release\TestBed.pdb

BIN
csharp/TestBed/obj/Release/TestBed.exe


BIN
csharp/TestBed/obj/Release/TestBed.pdb


+ 831 - 0
csharp/TestBed/output.txt

@@ -0,0 +1,831 @@
+1: "\b\210P\022\005VINET\030\005\"\004\b\242\227\001*\004\b\332\227\0012\004\b\272\227\0018\003B\006\b\330\341\023\030\bJ\031Vins et alcools ChevalierR\02259 rue de l\'AbbayeZ\005Reimsj\00551100r\a*Francez\017\b\210P\020\v\032\006\b\340\305\b\030\b \030z\017\b\210P\020*\032\006\b\320\375\005\030\b \024z\017\b\210P\020H\032\006\b\340\236\025\030\b \n"
+1: "\b\211P\022\005TOMSP\030\006\"\004\b\244\227\001*\004\b\370\227\0012\004\b\256\227\0018\001B\006\b\204\213\a\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\017\b\211P\020\016\032\006\b\220\255\v\030\b \022z\017\b\211P\0203\032\006\b\300\360\031\030\b P"
+1: "\b\212P\022\005HANAR\030\004\"\004\b\252\227\001*\004\b\342\227\0012\004\b\262\227\0018\002B\006\b\374\226(\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\212P\020)\032\006\b\310\331\004\030\b \024z\024\b\212P\0203\032\006\b\300\360\031\030\b F-\232\231\031>z\024\b\212P\020A\032\006\b\300\240\n\030\b \036-\232\231\031>"
+1: "\b\213P\022\005VICTE\030\003\"\004\b\252\227\001*\004\b\342\227\0012\004\b\270\227\0018\001B\006\b\330\235\031\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\213P\020\026\032\006\b\300\240\n\030\b \f-\315\314L=z\024\b\213P\0209\032\006\b\340\302\t\030\b \036-\315\314L=z\017\b\213P\020A\032\006\b\300\240\n\030\b ("
+1: "\b\214P\022\005SUPRD\030\004\"\004\b\254\227\001*\004\b\344\227\0012\004\b\260\227\0018\002B\006\b\350\247\037\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\024\b\214P\020\024\032\006\b\300\306\'\030\b P-\315\314L=z\024\b\214P\020!\032\006\b\240\234\001\030\b 2-\315\314L=z\017\b\214P\020<\032\006\b\200\315\020\030\b P"
+1: "\b\215P\022\005HANAR\030\003\"\004\b\256\227\001*\004\b\312\227\0012\004\b\272\227\0018\002B\006\b\304\300#\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\215P\020\037\032\006\b\240\215\006\030\b (z\017\b\215P\020\'\032\006\b\200\345\b\030\b Tz\017\b\215P\0201\032\006\b\200\342\t\030\b P"
+1: "\b\216P\022\005CHOPS\030\005\"\004\b\260\227\001*\004\b\350\227\0012\004\b\310\227\0018\002B\006\b\250\203\016\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\024\b\216P\020\030\032\006\b\240\231\002\030\b \036-\232\231\031>z\024\b\216P\0207\032\006\b\200\334\v\030\b *-\232\231\031>z\017\b\216P\020J\032\006\b\200\361\004\030\b *"
+1: "\b\217P\022\005RICSU\030\t\"\004\b\262\227\001*\004\b\352\227\0012\004\b\270\227\0018\003B\006\b\244\304Z\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\017\b\217P\020\002\032\006\b\300\243\t\030\b (z\017\b\217P\020\020\032\006\b\370\275\b\030\b Fz\017\b\217P\020$\032\006\b\300\243\t\030\b 2z\017\b\217P\020;\032\006\b\300\355\032\030\b <"
+1: "\b\220P\022\005WELLI\030\003\"\004\b\270\227\001*\004\b\360\227\0012\004\b\274\227\0018\002B\006\b\264\303\b\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\017\b\220P\0205\032\006\b\360\376\017\030\b \036z\017\b\220P\020M\032\006\b\300\254\006\030\b \030"
+1: "\b\221P\022\005HILAA\030\004\"\004\b\272\227\001*\004\b\362\227\0012\004\b\306\227\0018\003B\006\b\234\3771\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\221P\020\033\032\006\b\230\266\025\030\b 2z\017\b\221P\020\'\032\006\b\200\345\b\030\b \fz\017\b\221P\020M\032\006\b\300\254\006\030\b \036"
+1: "\b\222P\022\005ERNSH\030\001\"\004\b\274\227\001*\004\b\364\227\0012\004\b\310\227\0018\001B\006\b\254\341U\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\222P\020\002\032\006\b\300\243\t\030\b d-\315\314L>z\025\b\222P\020\005\032\006\b\220\260\n\030\b \202\001-\315\314L>z\024\b\222P\020 \032\006\b\200\320\017\030\b \f-\315\314L>"
+1: "\b\223P\022\005CENTC\030\004\"\004\b\276\227\001*\004\b\366\227\0012\004\b\314\227\0018\003B\006\b\364\375\001\030\bJ\032Centro comercial MoctezumaR\027Sierras de Granada 9993Z\fM\303\251xico D.F.j\00505022r\006Mexicoz\017\b\223P\020\025\032\006\b\200\361\004\030\b \024z\017\b\223P\020%\032\006\b\200\331\f\030\b \002"
+1: "\b\224P\022\005OTTIK\030\004\"\004\b\300\227\001*\004\b\370\227\0012\004\b\324\227\0018\001B\006\b\364\317!\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\224P\020)\032\006\b\310\331\004\030\b  -\000\000\200>z\017\b\224P\0209\032\006\b\340\302\t\030\b dz\024\b\224P\020>\032\006\b\220\206\030\030\b \036-\000\000\200>z\024\b\224P\020F\032\006\b\300\251\a\030\b *-\000\000\200>"
+1: "\b\225P\022\005QUEDE\030\004\"\004\b\300\227\001*\004\b\370\227\0012\004\b\326\227\0018\002B\006\b\244\356\001\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\225P\020\025\032\006\b\200\361\004\030\b (z\017\b\225P\020#\032\006\b\200\345\b\030\b ("
+1: "\b\226P\022\005RATTC\030\b\"\004\b\306\227\001*\004\b\376\227\0012\004\b\314\227\0018\003B\006\b\324\274\035\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\226P\020\005\032\006\b\220\260\n\030\b \030-\315\314L>z\017\b\226P\020\a\032\006\b\200\323\016\030\b \036z\017\b\226P\0208\032\006\b\200\307\022\030\b \004"
+1: "\b\227P\022\005ERNSH\030\t\"\004\b\310\227\001*\004\b\200\230\0012\004\b\330\227\0018\003B\006\b\370\222Y\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\227P\020\020\032\006\b\370\275\b\030\b x-\000\000\200>z\017\b\227P\020\030\032\006\b\240\231\002\030\b 8z\024\b\227P\020\036\032\006\b\230\321\f\030\b x-\000\000\200>z\024\b\227P\020J\032\006\b\200\361\004\030\b H-\000\000\200>"
+1: "\b\230P\022\005FOLKO\030\006\"\004\b\312\227\001*\004\b\202\230\0012\004\b\206\230\0018\003B\006\b\334\236\002\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\230P\020\002\032\006\b\300\243\t\030\b Fz\024\b\230P\020)\032\006\b\310\331\004\030\b 2-\232\231\031>"
+1: "\b\231P\022\005BLONP\030\002\"\004\b\314\227\001*\004\b\204\230\0012\004\b\360\227\0018\001B\006\b\340\336!\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\231P\020\021\032\006\b\300\205\023\030\b <z\017\b\231P\020F\032\006\b\300\251\a\030\b ("
+1: "\b\232P\022\005WARTH\030\003\"\004\b\316\227\001*\004\b\242\230\0012\004\b\330\227\0018\003B\006\b\224\332\017\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\024\b\232P\020\f\032\006\b\200\307\022\030\b \030-\315\314L="
+1: "\b\233P\022\005FRANK\030\004\"\004\b\324\227\001*\004\b\214\230\0012\004\b\344\227\0018\001B\006\b\250\247\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\233P\020(\032\006\b\270\374\b\030\b dz\025\b\233P\020;\032\006\b\300\355\032\030\b \214\001-\232\231\031>z\024\b\233P\020L\032\006\b\200\345\b\030\b \036-\232\231\031>"
+1: "\b\234P\022\005GROSR\030\b\"\004\b\326\227\001*\004\b\216\230\0012\004\b\334\227\0018\003B\006\b\364\272(\030\bJ\024GROSELLA-RestauranteR\0325\302\252 Ave. Los Palos GrandesZ\aCaracasb\002DFj\0041081r\tVenezuelaz\017\b\234P\020\035\032\006\b\260\266<\030\b \024z\017\b\234P\020H\032\006\b\360\373\020\030\b \b"
+1: "\b\235P\022\005WHITC\030\005\"\004\b\330\227\001*\004\b\364\227\0012\004\b\352\227\0018\001B\006\b\240\344\002\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\024\b\235P\020!\032\006\b\240\234\001\030\b x-\315\314L=z\024\b\235P\020H\032\006\b\360\373\020\030\b (-\315\314L="
+1: "\b\236P\022\005WARTH\030\001\"\004\b\332\227\001*\004\b\222\230\0012\004\b\334\227\0018\001B\006\b\230\253S\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\236P\020$\032\006\b\300\243\t\030\b <z\017\b\236P\020+\032\006\b\200\273\026\030\b 2"
+1: "\b\237P\022\005SPLIR\030\006\"\004\b\332\227\001*\004\b\222\230\0012\004\b\224\230\0018\002B\006\b\330\342\002\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\237P\020!\032\006\b\240\234\001\030\b 0"
+1: "\b\240P\022\005RATTC\030\006\"\004\b\334\227\001*\004\b\224\230\0012\004\b\344\227\0018\002B\006\b\314\352;\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\240P\020\024\032\006\b\300\306\'\030\b \fz\017\b\240P\020\037\032\006\b\240\215\006\030\b Pz\017\b\240P\020H\032\006\b\360\373\020\030\b 0"
+1: "\b\241P\022\005QUICK\030\003\"\004\b\342\227\001*\004\b\232\230\0012\004\b\360\227\0018\003B\006\b\374\266.\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\241P\020\n\032\006\b\300\221\017\030\b 0-\315\314L=z\024\b\241P\020\037\032\006\b\240\215\006\030\b \036-\315\314L=z\017\b\241P\020!\032\006\b\240\234\001\030\b (z\024\b\241P\020(\032\006\b\270\374\b\030\b x-\315\314L=z\024\b\241P\020L\032\006\b\200\345\b\030\b B-\315\314L="
+1: "\b\242P\022\005VINET\030\006\"\004\b\344\227\001*\004\b\234\230\0012\004\b\370\227\0018\001B\006\b\304\325\003\030\bJ\031Vins et alcools ChevalierR\02259 rue de l\'AbbayeZ\005Reimsj\00551100r\006Francez\017\b\242P\020G\032\006\b\340\277\n\030\b (z\017\b\242P\020H\032\006\b\360\373\020\030\b \016"
+1: "\b\243P\022\005MAGAA\030\001\"\004\b\346\227\001*\004\b\236\230\0012\004\b\352\227\0018\001B\006\b\364\267\020\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\024\b\243P\020\030\032\006\b\240\231\002\030\b \030-\315\314L=z\024\b\243P\020;\032\006\b\300\355\032\030\b \f-\315\314L="
+1: "\b\244P\022\005TORTU\030\b\"\004\b\350\227\001*\004\b\204\230\0012\004\b\364\227\0018\003B\006\b\240\271\b\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\244P\020\n\032\006\b\300\221\017\030\b \036z\017\b\244P\020\r\032\006\b\200\367\002\030\b \024"
+1: "\b\245P\022\005MORGK\030\002\"\004\b\352\227\001*\004\b\242\230\0012\004\b\362\227\0018\003B\006\b\344\341L\030\bJ\026Morgenstern GesundkostR\vHeerstr. 22Z\aLeipzigj\00504179r\aGermanyz\017\b\245P\020\034\032\006\b\340\233\026\030\b (z\017\b\245P\020>\032\006\b\220\206\030\030\b \030"
+1: "\b\246P\022\005BERGS\030\b\"\004\b\360\227\001*\004\b\250\230\0012\004\b\370\227\0018\002B\006\b\264\3118\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\246P\020,\032\006\b\370\272\t\030\b  z\017\b\246P\020;\032\006\b\300\355\032\030\b \036z\017\b\246P\020?\032\006\b\230\266\025\030\b \020z\017\b\246P\020I\032\006\b\300\251\a\030\b 2"
+1: "\b\247P\022\005LEHMS\030\b\"\004\b\362\227\001*\004\b\252\230\0012\004\b\370\227\0018\002B\006\b\374\341\017\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\247P\020\021\032\006\b\300\205\023\030\b \036-\000\000\200>"
+1: "\b\250P\022\005BERGS\030\002\"\004\b\364\227\001*\004\b\254\230\0012\004\b\256\230\0018\001B\006\b\310\275\005\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\250P\020\030\032\006\b\240\231\002\030\b \030z\017\b\250P\0207\032\006\b\200\334\v\030\b (z\017\b\250P\020K\032\006\b\260\344\003\030\b <"
+1: "\b\251P\022\005ROMEY\030\004\"\004\b\364\227\001*\004\b\220\230\0012\004\b\202\230\0018\001B\006\b\330\345\001\030\bJ\020Romero y tomilloR\fGran V\303\255a, 1Z\006Madridj\00528001r\005Spainz\017\b\251P\020\023\032\006\b\250\272\004\030\b \002z\017\b\251P\020\030\032\006\b\240\231\002\030\b \fz\017\b\251P\020#\032\006\b\200\345\b\030\b \b"
+1: "\b\252P\022\005ROMEY\030\004\"\004\b\366\227\001*\004\b\256\230\0012\004\b\202\230\0018\001B\006\b\264\337\a\030\bJ\020Romero y tomilloR\fGran V\303\255a, 1Z\006Madridj\00528001r\005Spainz\017\b\252P\020\036\032\006\b\230\321\f\030\b \fz\017\b\252P\0209\032\006\b\340\302\t\030\b \004"
+1: "\b\253P\022\005LILAS\030\003\"\004\b\370\227\001*\004\b\260\230\0012\004\b\206\230\0018\003B\006\b\344\3413\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\253P\020\017\032\006\b\340\310\a\030\b (z\017\b\253P\020\023\032\006\b\250\272\004\030\b $z\017\b\253P\020<\032\006\b\200\315\020\030\b Fz\017\b\253P\020H\032\006\b\360\373\020\030\b \006"
+1: "\b\254P\022\005LEHMS\030\004\"\004\b\376\227\001*\004\b\266\230\0012\004\b\216\230\0018\001B\006\b\240\335.\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\254P\020\033\032\006\b\230\266\025\030\b \036-\000\000\200>z\017\b\254P\020,\032\006\b\370\272\t\030\b *z\024\b\254P\020<\032\006\b\200\315\020\030\b (-\000\000\200>z\024\b\254P\020C\032\006\b\200\353\006\030\b \n-\000\000\200>"
+1: "\b\255P\022\005QUICK\030\001\"\004\b\200\230\001*\004\b\270\230\0012\004\b\214\230\0018\002B\006\b\254\362.\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\255P\020\001\032\006\b\200\345\b\030\b Z-\315\314L>z\024\b\255P\020(\032\006\b\270\374\b\030\b P-\315\314L>z\024\b\255P\0205\032\006\b\360\376\017\030\b H-\315\314L>"
+1: "\b\256P\022\005QUICK\030\b\"\004\b\202\230\001*\004\b\272\230\0012\004\b\224\230\0018\003B\a\b\260\365\213\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\020\b\256P\020#\032\006\b\200\345\b\030\b \310\001z\017\b\256P\020>\032\006\b\220\206\030\030\b P"
+1: "\b\257P\022\005RICAR\030\b\"\004\b\204\230\001*\004\b\274\230\0012\004\b\220\230\0018\003B\006\b\360\344\a\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\024\b\257P\020\020\032\006\b\370\275\b\030\b P-\232\231\031>z\017\b\257P\020\"\032\006\b\200\353\006\030\b (z\024\b\257P\020.\032\006\b\200\356\005\030\b \036-\232\231\031>"
+1: "\b\260P\022\005REGGC\030\004\"\004\b\206\230\001*\004\b\276\230\0012\004\b\234\230\0018\001B\006\b\204\306\004\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\260P\0206\032\006\b\370\314\003\030\b \024-\315\314\314=z\024\b\260P\020D\032\006\b\240\215\006\030\b \006-\315\314\314="
+1: "\b\261P\022\005BSBEV\030\a\"\004\b\214\230\001*\004\b\304\230\0012\004\b\220\230\0018\003B\006\b\364\362\r\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\261P\020\003\032\006\b\200\361\004\030\b <z\017\b\261P\020@\032\006\b\220\236\020\030\b \022"
+1: "\b\262P\022\005COMMI\030\b\"\004\b\216\230\001*\004\b\306\230\0012\004\b\234\230\0018\001B\006\b\310\3220\030\bJ\021Com\303\251rcio MineiroR\025Av. dos Lus\303\255adas, 23Z\tSao Paulob\002SPj\t05432-043r\006Brazilz\017\b\262P\020\005\032\006\b\220\260\n\030\b (z\017\b\262P\020\035\032\006\b\260\266<\030\b \036z\017\b\262P\0201\032\006\b\200\342\t\030\b \036z\017\b\262P\020M\032\006\b\300\254\006\030\b \024"
+1: "\b\263P\022\005QUEDE\030\006\"\004\b\216\230\001*\004\b\306\230\0012\004\b\236\230\0018\002B\006\b\200\364\003\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\024\b\263P\020\r\032\006\b\200\367\002\030\b (-\315\314\314=z\024\b\263P\020,\032\006\b\370\272\t\030\b 0-\315\314\314=z\024\b\263P\0203\032\006\b\300\360\031\030\b \004-\315\314\314="
+1: "\b\264P\022\005TRADH\030\001\"\004\b\220\230\001*\004\b\310\230\0012\004\b\232\230\0018\002B\005\b\274i\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\017\b\264P\020\024\032\006\b\300\306\'\030\b ("
+1: "\b\265P\022\005TORTU\030\001\"\004\b\222\230\001*\004\b\312\230\0012\004\b\254\230\0018\003B\006\b\330\366\f\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\265P\020\022\032\006\b\240\302\036\030\b \030z\017\b\265P\020\030\032\006\b\240\231\002\030\b \024z\017\b\265P\020?\032\006\b\230\266\025\030\b \nz\017\b\265P\020K\032\006\b\260\344\003\030\b \f"
+1: "\b\266P\022\005RATTC\030\004\"\004\b\224\230\001*\004\b\314\230\0012\004\b\240\230\0018\002B\006\b\330\360Y\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\266P\020\001\032\006\b\200\345\b\030\b $z\017\b\266P\020\021\032\006\b\300\205\023\030\b \036z\017\b\266P\020+\032\006\b\200\273\026\030\b \036z\017\b\266P\020<\032\006\b\200\315\020\030\b *z\017\b\266P\020K\032\006\b\260\344\003\030\b \f"
+1: "\b\267P\022\005VINET\030\002\"\004\b\232\230\001*\004\b\322\230\0012\004\b\252\230\0018\002B\005\b\354Y\030\bJ\031Vins et alcools ChevalierR\02259 rue de l\'AbbayeZ\005Reimsj\00551100r\006Francez\017\b\267P\0208\032\006\b\200\307\022\030\b \b"
+1: "\b\270P\022\005LILAS\030\006\"\004\b\234\230\001*\004\b\324\230\0012\004\b\254\230\0018\001B\005\b\260\t\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\270P\020\v\032\006\b\300\240\n\030\b \030z\017\b\270P\020\020\032\006\b\370\275\b\030\b <z\017\b\270P\020E\032\006\b\200\312\021\030\b \036"
+1: "\b\271P\022\005BLONP\030\005\"\004\b\236\230\001*\004\b\362\230\0012\004\b\252\230\0018\002B\006\b\270\300\003\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\271P\020\'\032\006\b\200\345\b\030\b xz\017\b\271P\020H\032\006\b\360\373\020\030\b ("
+1: "\b\272P\022\005HUNGO\030\006\"\004\b\240\230\001*\004\b\330\230\0012\004\b\254\230\0018\002B\006\b\230\326f\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\017\b\272P\020\002\032\006\b\300\243\t\030\b Pz\024\b\272P\020$\032\006\b\300\243\t\030\b P-\000\000\200>z\024\b\272P\020;\032\006\b\300\355\032\030\b <-\000\000\200>z\017\b\272P\020>\032\006\b\220\206\030\030\b \036"
+1: "\b\273P\022\005RICAR\030\004\"\004\b\242\230\001*\004\b\332\230\0012\004\b\260\230\0018\002B\006\b\200\225\022\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\273P\020\023\032\006\b\250\272\004\030\b \036z\017\b\273P\020F\032\006\b\300\251\a\030\b ("
+1: "\b\274P\022\005MAGAA\030\002\"\004\b\250\230\001*\004\b\340\230\0012\004\b\272\230\0018\002B\006\b\240\345\n\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\274P\020B\032\006\b\300\246\b\030\b <z\017\b\274P\020D\032\006\b\240\215\006\030\b ("
+1: "\b\275P\022\005WANDK\030\b\"\004\b\250\230\001*\004\b\340\230\0012\004\b\270\230\0018\002B\006\b\360\301\033\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\017\b\275P\020(\032\006\b\270\374\b\030\b \024z\017\b\275P\0208\032\006\b\200\307\022\030\b ("
+1: "\b\276P\022\005SUPRD\030\004\"\004\b\252\230\001*\004\b\342\230\0012\004\b\344\230\0018\002B\006\b\354\351\003\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\276P\020\021\032\006\b\300\205\023\030\b Pz\017\b\276P\020\034\032\006\b\340\233\026\030\b 8z\017\b\276P\020+\032\006\b\200\273\026\030\b \030"
+1: "\b\277P\022\005GODOS\030\a\"\004\b\254\230\001*\004\b\344\230\0012\004\b\272\230\0018\002B\006\b\234\350A\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\024\b\277P\020(\032\006\b\270\374\b\030\b P-\315\314\314=z\024\b\277P\020A\032\006\b\300\240\n\030\b <-\315\314\314=z\024\b\277P\020D\032\006\b\240\215\006\030\b \036-\315\314\314="
+1: "\b\300P\022\005TORTU\030\001\"\004\b\256\230\001*\004\b\346\230\0012\004\b\270\230\0018\002B\006\b\314\367&\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\300P\0201\032\006\b\200\342\t\030\b <z\017\b\300P\020;\032\006\b\300\355\032\030\b \024z\017\b\300P\020G\032\006\b\340\277\n\030\b \004"
+1: "\b\301P\022\005OLDWO\030\b\"\004\b\260\230\001*\004\b\350\230\0012\004\b\344\230\0018\003B\a\b\310\236\235\001\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\024\b\301P\020\022\032\006\b\240\302\036\030\b 2-\315\314\314=z\024\b\301P\020\035\032\006\b\260\266<\030\b 2-\315\314\314=z\024\b\301P\020\'\032\006\b\200\345\b\030\b <-\315\314\314="
+1: "\b\302P\022\005ROMEY\030\001\"\004\b\266\230\001*\004\b\356\230\0012\004\b\304\230\0018\003B\006\b\320\316\004\030\bJ\020Romero y tomilloR\fGran V\303\255a, 1Z\006Madridj\00528001r\005Spainz\017\b\302P\020\036\032\006\b\230\321\f\030\b \024z\017\b\302P\0205\032\006\b\360\376\017\030\b \024z\017\b\302P\0206\032\006\b\370\314\003\030\b \n"
+1: "\b\303P\022\005LONEP\030\002\"\004\b\270\230\001*\004\b\360\230\0012\004\b\310\230\0018\002B\005\b\340+\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\303P\020>\032\006\b\220\206\030\030\b \024z\017\b\303P\020D\032\006\b\240\215\006\030\b \006"
+1: "\b\304P\022\005ANATR\030\a\"\004\b\272\230\001*\004\b\362\230\0012\004\b\306\230\0018\003B\005\b\344}\030\bJ\"Ana Trujillo Emparedados y heladosR\036Avda. de la Constituci\303\263n 2222Z\fM\303\251xico D.F.j\00505021r\006Mexicoz\017\b\304P\020E\032\006\b\200\312\021\030\b \002z\017\b\304P\020F\032\006\b\300\251\a\030\b \n"
+1: "\b\305P\022\005HUNGO\030\003\"\004\b\274\230\001*\004\b\364\230\0012\004\b\200\231\0018\001B\006\b\250\357\034\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\017\b\305P\020\004\032\006\b\200\337\n\030\b (z\017\b\305P\020\006\032\006\b\300\232\f\030\b <z\017\b\305P\020*\032\006\b\200\353\006\030\b \004z\017\b\305P\020+\032\006\b\200\273\026\030\b (z\017\b\305P\020G\032\006\b\340\277\n\030\b \006"
+1: "\b\306P\022\005THEBI\030\b\"\004\b\276\230\001*\004\b\366\230\0012\004\b\314\230\0018\002B\006\b\340\330\n\030\bJ\016The Big CheeseR\03089 Jefferson Way Suite 2Z\bPortlandb\002ORj\00597201r\003USAz\017\b\306P\020\020\032\006\b\370\275\b\030\b \024z\017\b\306P\020>\032\006\b\220\206\030\030\b \n"
+1: "\b\307P\022\005DUMON\030\001\"\004\b\276\230\001*\004\b\332\230\0012\004\b\312\230\0018\003B\006\b\364\210\017\030\bJ\017Du monde entierR\03467, rue des Cinquante OtagesZ\006Nantesj\00544000r\006Francez\017\b\307P\020*\032\006\b\200\353\006\030\b \fz\017\b\307P\020E\032\006\b\200\312\021\030\b \016"
+1: "\b\310P\022\005WANDK\030\002\"\004\b\304\230\001*\004\b\374\230\0012\004\b\330\230\0018\002B\006\b\250\311\030\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\017\b\310P\020\034\032\006\b\340\233\026\030\b \bz\017\b\310P\020+\032\006\b\200\273\026\030\b 0z\017\b\310P\0205\032\006\b\360\376\017\030\b (z\017\b\310P\020K\032\006\b\260\344\003\030\b \024"
+1: "\b\311P\022\005QUICK\030\002\"\004\b\306\230\001*\004\b\376\230\0012\004\b\332\230\0018\002B\006\b\220\231\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\311P\020$\032\006\b\300\243\t\030\b \030"
+1: "\b\312P\022\005RATTC\030\001\"\004\b\310\230\001*\004\b\200\231\0012\004\b\332\230\0018\002B\006\b\340\241-\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\312P\020 \032\006\b\200\320\017\030\b P-\315\314\314=z\024\b\312P\020:\032\006\b\220\274\006\030\b <-\315\314\314=z\024\b\312P\020>\032\006\b\220\206\030\030\b 2-\315\314\314="
+1: "\b\313P\022\005ISLAT\030\004\"\004\b\312\230\001*\004\b\202\231\0012\004\b\330\230\0018\002B\006\b\300\276\031\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\313P\020\"\032\006\b\200\353\006\030\b \034z\017\b\313P\020F\032\006\b\300\251\a\030\b <"
+1: "\b\314P\022\005RATTC\030\001\"\004\b\314\230\001*\004\b\204\231\0012\004\b\342\230\0018\003B\006\b\274\322[\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\314P\020)\032\006\b\310\331\004\030\b \024z\020\b\314P\020>\032\006\b\220\206\030\030\b \214\001"
+1: "\b\315P\022\005LONEP\030\006\"\004\b\322\230\001*\004\b\212\231\0012\004\b\346\230\0018\001B\006\b\264\337\a\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\315P\020\001\032\006\b\200\345\b\030\b ("
+1: "\b\316P\022\005ISLAT\030\b\"\004\b\324\230\001*\004\b\214\231\0012\004\b\332\230\0018\002B\006\b\304\361\002\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\316P\020)\032\006\b\310\331\004\030\b (z\017\b\316P\020L\032\006\b\200\345\b\030\b \f"
+1: "\b\317P\022\005TORTU\030\a\"\004\b\326\230\001*\004\b\216\231\0012\004\b\350\230\0018\003B\006\b\210\257\'\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\317P\020\021\032\006\b\300\205\023\030\b \020z\017\b\317P\020\034\032\006\b\340\233\026\030\b \034z\017\b\317P\020L\032\006\b\200\345\b\030\b <"
+1: "\b\320P\022\005WARTH\030\005\"\004\b\330\230\001*\004\b\364\230\0012\004\b\366\230\0018\003B\006\b\344\214\025\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\320P\020G\032\006\b\340\277\n\030\b <"
+1: "\b\321P\022\005ISLAT\030\003\"\004\b\330\230\001*\004\b\220\231\0012\004\b\350\230\0018\002B\006\b\374\213\002\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\321P\020#\032\006\b\200\345\b\030\b \024"
+1: "\b\322P\022\005PERIC\030\a\"\004\b\332\230\001*\004\b\222\231\0012\004\b\200\231\0018\003B\005\b\240\037\030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\322P\0204\032\006\b\300\265\003\030\b ("
+1: "\b\323P\022\005KOENE\030\004\"\004\b\340\230\001*\004\b\230\231\0012\004\b\356\230\0018\001B\006\b\240\375\002\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\323P\020\017\032\006\b\340\310\a\030\b \nz\017\b\323P\020\031\032\006\b\200\353\006\030\b \bz\017\b\323P\020\'\032\006\b\200\345\b\030\b \b"
+1: "\b\324P\022\005SAVEA\030\t\"\004\b\342\230\001*\004\b\232\231\0012\004\b\346\230\0018\001B\a\b\354\343\202\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\324P\020\020\032\006\b\370\275\b\030\b *-\232\231\031>z\025\b\324P\020#\032\006\b\200\345\b\030\b \214\001-\232\231\031>z\017\b\324P\020.\032\006\b\200\356\005\030\b <z\024\b\324P\020;\032\006\b\300\355\032\030\b P-\232\231\031>z\025\b\324P\020?\032\006\b\230\266\025\030\b \240\001-\232\231\031>"
+1: "\b\325P\022\005KOENE\030\001\"\004\b\344\230\001*\004\b\200\231\0012\004\b\356\230\0018\003B\006\b\230\313\'\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\325P\020\006\032\006\b\300\232\f\030\b \fz\017\b\325P\020\r\032\006\b\200\367\002\030\b \030z\017\b\325P\020\016\032\006\b\220\255\v\030\b \022z\017\b\325P\020\037\032\006\b\240\215\006\030\b \bz\017\b\325P\020H\032\006\b\360\373\020\030\b P"
+1: "\b\326P\022\005BOLID\030\004\"\004\b\346\230\001*\004\b\236\231\0012\004\b\356\230\0018\002B\006\b\300\307/\030\bJ\032B\303\263lido Comidas preparadasR\016C/ Araquil, 67Z\006Madridj\00528023r\005Spainz\017\b\326P\020\004\032\006\b\200\337\n\030\b 0z\017\b\326P\0209\032\006\b\340\302\t\030\b  z\017\b\326P\020K\032\006\b\260\344\003\030\b d"
+1: "\b\327P\022\005FOLKO\030\002\"\004\b\350\230\001*\004\b\240\231\0012\004\b\356\230\0018\001B\006\b\200\326&\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\327P\020\002\032\006\b\300\243\t\030\b 2-\315\314L>z\024\b\327P\020\v\032\006\b\300\240\n\030\b d-\315\314L>z\024\b\327P\020\036\032\006\b\230\321\f\030\b F-\315\314L>z\024\b\327P\020:\032\006\b\220\274\006\030\b <-\315\314L>"
+1: "\b\330P\022\005FURIB\030\004\"\004\b\356\230\001*\004\b\246\231\0012\004\b\364\230\0018\003B\006\b\234\2175\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\017\b\330P\020;\032\006\b\300\355\032\030\b \022z\017\b\330P\020A\032\006\b\300\240\n\030\b Pz\017\b\330P\020D\032\006\b\240\215\006\030\b \024"
+1: "\b\331P\022\005SPLIR\030\004\"\004\b\360\230\001*\004\b\304\231\0012\004\b\200\231\0018\002B\006\b\234\376t\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\024\b\331P\020\023\032\006\b\250\272\004\030\b \024-\315\314L=z\024\b\331P\020\036\032\006\b\230\321\f\030\b \020-\315\314L=z\025\b\331P\020&\032\a\b\340\324\200\001\030\b (-\315\314L=z\024\b\331P\0208\032\006\b\200\307\022\030\b \030-\315\314L="
+1: "\b\332P\022\005LILAS\030\003\"\004\b\362\230\001*\004\b\252\231\0012\004\b\212\231\0018\001B\006\b\214\344\a\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\332P\020\032\032\006\b\250\231\017\030\b d-\232\231\031>z\024\b\332P\020H\032\006\b\360\373\020\030\b 2-\232\231\031>"
+1: "\b\333P\022\005BONAP\030\t\"\004\b\362\230\001*\004\b\306\231\0012\004\b\374\230\0018\001B\006\b\214\234\006\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\333P\0206\032\006\b\370\314\003\030\b \036"
+1: "\b\334P\022\005MEREP\030\003\"\004\b\364\230\001*\004\b\310\231\0012\004\b\374\230\0018\002B\006\b\220\240 \030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\334P\020\022\032\006\b\240\302\036\030\b P-\315\314L>z\024\b\334P\020*\032\006\b\200\353\006\030\b \024-\315\314L>z\024\b\334P\020/\032\006\b\340\321\004\030\b  -\315\314L>"
+1: "\b\335P\022\005WARTH\030\005\"\004\b\366\230\001*\004\b\256\231\0012\004\b\204\231\0018\003B\005\b\214.\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\335P\020\016\032\006\b\220\255\v\030\b \024z\024\b\335P\020\025\032\006\b\200\361\004\030\b \024-\315\314\314=z\024\b\335P\020G\032\006\b\340\277\n\030\b P-\315\314\314="
+1: "\b\336P\022\005VICTE\030\b\"\004\b\374\230\001*\004\b\264\231\0012\004\b\212\231\0018\002B\006\b\340\234\005\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\017\b\336P\0204\032\006\b\300\265\003\030\b \020z\017\b\336P\020D\032\006\b\240\215\006\030\b \024"
+1: "\b\337P\022\005HUNGO\030\a\"\004\b\376\230\001*\004\b\266\231\0012\004\b\202\231\0018\002B\006\b\354\331\031\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\337P\020\002\032\006\b\300\243\t\030\b \016-\315\314L>z\024\b\337P\020\037\032\006\b\240\215\006\030\b 2-\315\314L>z\024\b\337P\020 \032\006\b\200\320\017\030\b \f-\315\314L>z\024\b\337P\0203\032\006\b\300\360\031\030\b `-\315\314L>"
+1: "\b\340P\022\005PRINI\030\a\"\004\b\200\231\001*\004\b\270\231\0012\004\b\204\231\0018\002B\006\b\334\273\t\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\024\b\340P\020\004\032\006\b\200\337\n\030\b $-\315\314\314="
+1: "\b\341P\022\005FRANK\030\004\"\004\b\202\231\001*\004\b\272\231\0012\004\b\214\231\0018\003B\006\b\350\211B\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\341P\020\027\032\006\b\300\262\004\030\b Pz\017\b\341P\020\032\032\006\b\250\231\017\030\b 0z\017\b\341P\020$\032\006\b\300\243\t\030\b (z\017\b\341P\020%\032\006\b\200\331\f\030\b 8z\017\b\341P\020H\032\006\b\360\373\020\030\b 2"
+1: "\b\342P\022\005OLDWO\030\004\"\004\b\204\231\001*\004\b\274\231\0012\004\b\214\231\0018\003B\006\b\364\2623\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\342P\020\021\032\006\b\300\205\023\030\b (z\017\b\342P\020\036\032\006\b\230\321\f\030\b \036"
+1: "\b\343P\022\005MEREP\030\002\"\004\b\212\231\001*\004\b\302\231\0012\004\b\230\231\0018\002B\006\b\270\307\t\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\343P\020\004\032\006\b\200\337\n\030\b \024z\025\b\343P\020\021\032\006\b\300\205\023\030\b \214\001-\315\314L=z\017\b\343P\020>\032\006\b\220\206\030\030\b 8"
+1: "\b\344P\022\005BONAP\030\001\"\004\b\214\231\001*\004\b\304\231\0012\004\b\240\231\0018\003B\006\b\374\300e\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\344P\020\022\032\006\b\240\302\036\030\b (-\315\314L=z\024\b\344P\020)\032\006\b\310\331\004\030\b \030-\315\314L=z\024\b\344P\020+\032\006\b\200\273\026\030\b P-\315\314L="
+1: "\b\345P\022\005SIMOB\030\a\"\004\b\214\231\001*\004\b\304\231\0012\004\b\232\231\0018\003B\006\b\230\254\020\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\017\b\345P\020!\032\006\b\240\234\001\030\b \020z\024\b\345P\020;\032\006\b\300\355\032\030\b \022-\232\231\031>"
+1: "\b\346P\022\005FRANK\030\004\"\004\b\216\231\001*\004\b\252\231\0012\004\b\230\231\0018\002B\006\b\314\273!\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\346P\020\002\032\006\b\300\243\t\030\b 0-\315\314L>z\024\b\346P\020\037\032\006\b\240\215\006\030\b p-\315\314L>z\024\b\346P\020$\032\006\b\300\243\t\030\b P-\315\314L>z\024\b\346P\0207\032\006\b\200\334\v\030\b P-\315\314L>"
+1: "\b\347P\022\005LEHMS\030\004\"\004\b\220\231\001*\004\b\310\231\0012\004\b\234\231\0018\001B\006\b\324\256C\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\347P\020@\032\006\b\220\236\020\030\b dz\024\b\347P\020D\032\006\b\240\215\006\030\b \b-\315\314L=z\017\b\347P\020L\032\006\b\200\345\b\030\b \036"
+1: "\b\350P\022\005WHITC\030\004\"\004\b\222\231\001*\004\b\312\231\0012\004\b\232\231\0018\002B\006\b\304\233\016\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\350P\020\004\032\006\b\200\337\n\030\b Fz\025\b\350P\020\b\032\006\b\200\304\023\030\b \214\001-\000\000\200>"
+1: "\b\351P\022\005QUICK\030\002\"\004\b\230\231\001*\004\b\320\231\0012\004\b\246\231\0018\002B\a\b\350\201\230\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\020\b\351P\020\b\032\006\b\200\304\023\030\b \214\001z\020\b\351P\020\023\032\006\b\250\272\004\030\b \240\001z\017\b\351P\020*\032\006\b\200\353\006\030\b \022"
+1: "\b\352P\022\005RATTC\030\003\"\004\b\232\231\001*\004\b\356\231\0012\004\b\240\231\0018\003B\006\b\200\334V\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\352P\020\021\032\006\b\300\205\023\030\b H-\315\314\314=z\017\b\352P\0208\032\006\b\200\307\022\030\b ("
+1: "\b\353P\022\005FAMIA\030\004\"\004\b\234\231\001*\004\b\324\231\0012\004\b\240\231\0018\003B\006\b\230\362\001\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\017\b\353P\020\031\032\006\b\200\353\006\030\b \024z\024\b\353P\020\'\032\006\b\200\345\b\030\b d-\232\231\031>z\017\b\353P\020(\032\006\b\270\374\b\030\b \bz\024\b\353P\020K\032\006\b\260\344\003\030\b \f-\232\231\031>"
+1: "\b\354P\022\005WANDK\030\004\"\004\b\236\231\001*\004\b\326\231\0012\004\b\256\231\0018\002B\005\b\370<\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\354P\020\001\032\006\b\200\345\b\030\b \036-\232\231\031>z\017\b\354P\020\027\032\006\b\300\262\004\030\b 2"
+1: "\b\355P\022\005SPLIR\030\a\"\004\b\240\231\001*\004\b\330\231\0012\004\b\256\231\0018\001B\006\b\234\242\005\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\355P\0206\032\006\b\370\314\003\030\b 0"
+1: "\b\356P\022\005LAMAI\030\006\"\004\b\246\231\001*\004\b\336\231\0012\004\b\322\231\0018\002B\006\b\354\226\'\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\356P\0202\032\006\b\320\367\a\030\b \036-\315\314\314=z\024\b\356P\020E\032\006\b\200\312\021\030\b $-\315\314\314="
+1: "\b\357P\022\005ERNSH\030\001\"\004\b\246\231\001*\004\b\336\231\0012\004\b\270\231\0018\001B\006\b\204\212c\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\025\b\357P\020&\032\a\b\340\324\200\001\030\b (-\315\314L=z\017\b\357P\020)\032\006\b\310\331\004\030\b \032z\025\b\357P\020,\032\006\b\370\272\t\030\b \232\001-\315\314L=z\024\b\357P\020A\032\006\b\300\240\n\030\b \024-\315\314L="
+1: "\b\360P\022\005FURIB\030\003\"\004\b\250\231\001*\004\b\304\231\0012\004\b\264\231\0018\003B\005\b\310e\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\017\b\360P\020\030\032\006\b\240\231\002\030\b \024z\024\b\360P\0206\032\006\b\370\314\003\030\b (-\232\231\031>"
+1: "\b\361P\022\005PICCO\030\a\"\004\b\252\231\001*\004\b\342\231\0012\004\b\302\231\0018\003B\a\b\234\216\334\001\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\024\b\361P\020\v\032\006\b\300\240\n\030\b \030-\315\314L>z\025\b\361P\020&\032\a\b\340\324\200\001\030\b d-\315\314L>"
+1: "\b\362P\022\005PERIC\030\b\"\004\b\254\231\001*\004\b\344\231\0012\004\b\270\231\0018\003B\006\b\220\353 \030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\362P\020\001\032\006\b\200\345\b\030\b \030z\017\b\362P\020\035\032\006\b\260\266<\030\b \b"
+1: "\b\363P\022\005AROUT\030\006\"\004\b\256\231\001*\004\b\346\231\0012\004\b\270\231\0018\001B\006\b\254\315\031\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\363P\020\030\032\006\b\240\231\002\030\b 2z\017\b\363P\0209\032\006\b\340\302\t\030\b 2"
+1: "\b\364P\022\005WANDK\030\006\"\004\b\264\231\001*\004\b\354\231\0012\004\b\306\231\0018\002B\006\b\374\263\026\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\017\b\364P\020\037\032\006\b\240\215\006\030\b <z\017\b\364P\0207\032\006\b\200\334\v\030\b \030z\017\b\364P\020E\032\006\b\200\312\021\030\b ("
+1: "\b\365P\022\005LILAS\030\001\"\004\b\266\231\001*\004\b\356\231\0012\004\b\320\231\0018\003B\006\b\200\245\025\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\365P\020\n\032\006\b\300\221\017\030\b <-\315\314L>z\017\b\365P\020\032\032\006\b\250\231\017\030\b  z\024\b\365P\020<\032\006\b\200\315\020\030\b \020-\315\314L>"
+1: "\b\366P\022\005LAMAI\030\005\"\004\b\270\231\001*\004\b\360\231\0012\004\b\306\231\0018\001B\006\b\260\376\v\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\366P\020\030\032\006\b\240\231\002\030\b \024-\315\314L=z\024\b\366P\020\"\032\006\b\200\353\006\030\b \024-\315\314L=z\024\b\366P\020$\032\006\b\300\243\t\030\b (-\315\314L="
+1: "\b\367P\022\005SEVES\030\005\"\004\b\272\231\001*\004\b\362\231\0012\004\b\304\231\0018\003B\a\b\314\205\260\001\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\367P\020\020\032\006\b\370\275\b\030\b p-\315\314L=z\025\b\367P\020\037\032\006\b\240\215\006\030\b \214\001-\315\314L=z\025\b\367P\020<\032\006\b\200\315\020\030\b \240\001-\315\314L="
+1: "\b\370P\022\005BLONP\030\004\"\004\b\274\231\001*\004\b\364\231\0012\004\b\320\231\0018\003B\006\b\210\261P\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\370P\020\034\032\006\b\340\233\026\030\b <z\017\b\370P\020\035\032\006\b\260\266<\030\b Fz\020\b\370P\020&\032\a\b\340\324\200\001\030\b \024z\017\b\370P\0201\032\006\b\200\342\t\030\b Fz\017\b\370P\0206\032\006\b\370\314\003\030\b 8"
+1: "\b\371P\022\005QUICK\030\001\"\004\b\274\231\001*\004\b\364\231\0012\004\b\322\231\0018\002B\006\b\224\346o\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\371P\020\'\032\006\b\200\345\b\030\b l-\315\314\314=z\024\b\371P\020<\032\006\b\200\315\020\030\b n-\315\314\314="
+1: "\b\372P\022\005BONAP\030\003\"\004\b\302\231\001*\004\b\372\231\0012\004\b\310\231\0018\001B\006\b\220\317:\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\372P\020\031\032\006\b\200\353\006\030\b dz\017\b\372P\0203\032\006\b\300\360\031\030\b (z\017\b\372P\0206\032\006\b\370\314\003\030\b 0"
+1: "\b\373P\022\005DRACD\030\004\"\004\b\304\231\001*\004\b\374\231\0012\004\b\324\231\0018\003B\006\b\370\321\022\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\373P\020\037\032\006\b\240\215\006\030\b (z\017\b\373P\020K\032\006\b\260\344\003\030\b \030z\017\b\373P\020L\032\006\b\200\345\b\030\b \030"
+1: "\b\374P\022\005EASTC\030\001\"\004\b\304\231\001*\004\b\230\232\0012\004\b\324\231\0018\001B\006\b\324\366+\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\374P\020E\032\006\b\200\312\021\030\b <z\017\b\374P\020G\032\006\b\340\277\n\030\b \n"
+1: "\b\375P\022\005ANTON\030\003\"\004\b\306\231\001*\004\b\376\231\0012\004\b\320\231\0018\002B\006\b\340\266\r\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos  2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\017\b\375P\020\v\032\006\b\300\240\n\030\b 0"
+1: "\b\376P\022\005GALED\030\b\"\004\b\310\231\001*\004\b\234\232\0012\004\b\210\232\0018\002B\006\b\230\230\006\030\bJ\030Galer\303\255a del gastron\303\263moR\027Rambla de Catalu\303\261a, 23Z\tBarcelonaj\0048022r\005Spainz\017\b\376P\020A\032\006\b\300\240\n\030\b \nz\017\b\376P\020M\032\006\b\300\254\006\030\b \n"
+1: "\b\377P\022\005VAFFE\030\a\"\004\b\310\231\001*\004\b\200\232\0012\004\b\320\231\0018\003B\006\b\314\242\b\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\377P\020\"\032\006\b\200\353\006\030\b Hz\017\b\377P\0206\032\006\b\370\314\003\030\b $z\017\b\377P\020A\032\006\b\300\240\n\030\b \036z\017\b\377P\020M\032\006\b\300\254\006\030\b \016"
+1: "\b\200Q\022\005ERNSH\030\002\"\004\b\312\231\001*\004\b\202\232\0012\004\b\320\231\0018\002B\006\b\354\234>\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\200Q\020\025\032\006\b\200\361\004\030\b \n-\315\314\314=z\024\b\200Q\020\034\032\006\b\340\233\026\030\b \032-\315\314\314=z\017\b\200Q\0209\032\006\b\340\302\t\030\b 2z\024\b\200Q\020@\032\006\b\220\236\020\030\b F-\315\314\314="
+1: "\b\201Q\022\005SPLIR\030\b\"\004\b\320\231\001*\004\b\210\232\0012\004\b\336\231\0018\002B\006\b\300\267w\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\201Q\020\035\032\006\b\260\266<\030\b (z\024\b\201Q\0208\032\006\b\200\307\022\030\b $-\000\000\200>"
+1: "\b\202Q\022\005CHOPS\030\006\"\004\b\322\231\001*\004\b\212\232\0012\004\b\202\232\0018\002B\005\b\264[\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\024\b\202Q\020\001\032\006\b\200\345\b\030\b \036-\232\231\031>z\017\b\202Q\020@\032\006\b\220\236\020\030\b <z\024\b\202Q\020J\032\006\b\200\361\004\030\b (-\232\231\031>"
+1: "\b\203Q\022\005LAMAI\030\001\"\004\b\322\231\001*\004\b\212\232\0012\004\b\374\231\0018\001B\005\b\224#\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\203Q\020$\032\006\b\300\243\t\030\b \f-\315\314L>"
+1: "\b\204Q\022\005QUEEN\030\005\"\004\b\324\231\001*\004\b\214\232\0012\004\b\336\231\0018\002B\a\b\230\330\237\004\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\204Q\020\024\032\006\b\300\306\'\030\b \030-\000\000\200>z\025\b\204Q\020&\032\a\b\340\324\200\001\030\b P-\000\000\200>z\025\b\204Q\020<\032\006\b\200\315\020\030\b \214\001-\000\000\200>z\024\b\204Q\020H\032\006\b\360\373\020\030\b T-\000\000\200>"
+1: "\b\205Q\022\005HUNGO\030\004\"\004\b\326\231\001*\004\b\216\232\0012\004\b\342\231\0018\003B\006\b\360\340K\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\025\b\205Q\020:\032\006\b\220\274\006\030\b \240\001-\315\314L>z\024\b\205Q\020G\032\006\b\340\277\n\030\b d-\315\314L>"
+1: "\b\206Q\022\005WOLZA\030\001\"\004\b\326\231\001*\004\b\216\232\0012\004\b\336\231\0018\003B\006\b\350\263\002\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\206Q\020\037\032\006\b\240\215\006\030\b <z\017\b\206Q\020:\032\006\b\220\274\006\030\b \036"
+1: "\b\207Q\022\005HUNGC\030\003\"\004\b\330\231\001*\004\b\220\232\0012\004\b\336\231\0018\002B\006\b\360\243\f\030\bJ\032Hungry Coyote Import StoreR\036City Center Plaza 516 Main St.Z\005Elginb\002ORj\00597827r\003USAz\017\b\207Q\020\016\032\006\b\220\255\v\030\b \036z\017\b\207Q\0206\032\006\b\370\314\003\030\b \024"
+1: "\b\210Q\022\005MEREP\030\001\"\004\b\336\231\001*\004\b\226\232\0012\004\b\346\231\0018\002B\006\b\374\270\f\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\210Q\020\037\032\006\b\240\215\006\030\b T-\315\314L="
+1: "\b\211Q\022\005SEVES\030\001\"\004\b\336\231\001*\004\b\226\232\0012\004\b\346\231\0018\003B\006\b\224\307\r\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\211Q\020\034\032\006\b\340\233\026\030\b (-\232\231\031>z\024\b\211Q\020\'\032\006\b\200\345\b\030\b (-\232\231\031>"
+1: "\b\212Q\022\005FOLKO\030\005\"\004\b\340\231\001*\004\b\230\232\0012\004\b\362\231\0018\003B\006\b\200\251\003\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\212Q\020G\032\006\b\340\277\n\030\b \f"
+1: "\b\213Q\022\005QUEDE\030\002\"\004\b\342\231\001*\004\b\232\232\0012\004\b\346\231\0018\001B\006\b\374\275\033\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\024\b\213Q\020)\032\006\b\310\331\004\030\b \020-\315\314\314=z\024\b\213Q\020?\032\006\b\230\266\025\030\b  -\315\314\314=z\024\b\213Q\020A\032\006\b\300\240\n\030\b (-\315\314\314="
+1: "\b\214Q\022\005HUNGO\030\b\"\004\b\344\231\001*\004\b\234\232\0012\004\b\252\232\0018\003B\006\b\334\260\025\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\214Q\020\036\032\006\b\230\321\f\030\b $-\315\314\314=z\024\b\214Q\0205\032\006\b\360\376\017\030\b (-\315\314\314=z\024\b\214Q\020<\032\006\b\200\315\020\030\b \f-\315\314\314=z\017\b\214Q\020F\032\006\b\300\251\a\030\b <"
+1: "\b\215Q\022\005LILAS\030\003\"\004\b\344\231\001*\004\b\234\232\0012\004\b\346\231\0018\003B\006\b\234\360\004\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\215Q\020J\032\006\b\200\361\004\030\b \034"
+1: "\b\216Q\022\005ERNSH\030\004\"\004\b\346\231\001*\004\b\236\232\0012\004\b\354\231\0018\001B\006\b\364\3539\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\216Q\020\005\032\006\b\220\260\n\030\b @z\017\b\216Q\020\022\032\006\b\240\302\036\030\b \022z\017\b\216Q\020\035\032\006\b\260\266<\030\b \034z\017\b\216Q\020!\032\006\b\240\234\001\030\b xz\017\b\216Q\020J\032\006\b\200\361\004\030\b d"
+1: "\b\217Q\022\005AROUT\030\b\"\004\b\354\231\001*\004\b\244\232\0012\004\b\360\231\0018\003B\006\b\200\363\024\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\217Q\020\r\032\006\b\200\367\002\030\b (z\017\b\217Q\0202\032\006\b\320\367\a\030\b \036z\017\b\217Q\0208\032\006\b\200\307\022\030\b ("
+1: "\b\220Q\022\005BERGS\030\003\"\004\b\354\231\001*\004\b\244\232\0012\004\b\364\231\0018\003B\006\b\200\367f\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\220Q\020\024\032\006\b\300\306\'\030\b 8z\017\b\220Q\020<\032\006\b\200\315\020\030\b \036"
+1: "\b\221Q\022\005SPLIR\030\001\"\004\b\356\231\001*\004\b\246\232\0012\004\b\372\231\0018\002B\006\b\340\362\022\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\024\b\221Q\020\a\032\006\b\200\323\016\030\b \024-\315\314L>z\024\b\221Q\020<\032\006\b\200\315\020\030\b (-\315\314L>z\024\b\221Q\020D\032\006\b\240\215\006\030\b \020-\315\314L>"
+1: "\b\222Q\022\005FAMIA\030\t\"\004\b\360\231\001*\004\b\214\232\0012\004\b\376\231\0018\003B\006\b\374\304\b\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\017\b\222Q\020\030\032\006\b\240\231\002\030\b \036z\017\b\222Q\020\"\032\006\b\200\353\006\030\b \024"
+1: "\b\223Q\022\005SANTG\030\001\"\004\b\360\231\001*\004\b\250\232\0012\004\b\364\231\0018\002B\006\b\354\2229\030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\223Q\020\030\032\006\b\240\231\002\030\b \036z\017\b\223Q\020\034\032\006\b\340\233\026\030\b \fz\017\b\223Q\020;\032\006\b\300\355\032\030\b \030z\017\b\223Q\020G\032\006\b\340\277\n\030\b \036"
+1: "\b\224Q\022\005SEVES\030\002\"\004\b\362\231\001*\004\b\252\232\0012\004\b\364\231\0018\001B\006\b\270\243\025\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\224Q\020-\032\006\b\340\321\004\030\b \036-\315\314L>z\024\b\224Q\0204\032\006\b\300\265\003\030\b (-\315\314L>z\017\b\224Q\0205\032\006\b\360\376\017\030\b P"
+1: "\b\225Q\022\005BOTTM\030\004\"\004\b\364\231\001*\004\b\254\232\0012\004\b\374\231\0018\002B\006\b\330\370\034\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\225Q\020\n\032\006\b\300\221\017\030\b  z\017\b\225Q\0207\032\006\b\200\334\v\030\b \036z\017\b\225Q\020>\032\006\b\220\206\030\030\b (z\017\b\225Q\020F\032\006\b\300\251\a\030\b <"
+1: "\b\226Q\022\005ERNSH\030\006\"\004\b\372\231\001*\004\b\262\232\0012\004\b\200\232\0018\001B\006\b\270\221M\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\226Q\020\037\032\006\b\240\215\006\030\b x-\315\314\314=z\024\b\226Q\020#\032\006\b\200\345\b\030\b P-\315\314\314=z\017\b\226Q\020.\032\006\b\200\356\005\030\b Zz\024\b\226Q\020H\032\006\b\360\373\020\030\b 0-\315\314\314="
+1: "\b\227Q\022\005DRACD\030\003\"\004\b\372\231\001*\004\b\262\232\0012\004\b\212\232\0018\003B\006\b\344\251\003\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\227Q\020\r\032\006\b\200\367\002\030\b $"
+1: "\b\230Q\022\005PICCO\030\002\"\004\b\374\231\001*\004\b\264\232\0012\004\b\214\232\0018\003B\006\b\230\337J\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\230Q\020E\032\006\b\200\312\021\030\b d"
+1: "\b\231Q\022\005SAVEA\030\001\"\004\b\376\231\001*\004\b\266\232\0012\004\b\220\232\0018\003B\006\b\300\237M\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\231Q\020\002\032\006\b\300\243\t\030\b 2-\000\000\200>z\024\b\231Q\020\016\032\006\b\220\255\v\030\b T-\000\000\200>z\024\b\231Q\020\031\032\006\b\200\353\006\030\b \016-\000\000\200>z\025\b\231Q\020\032\032\006\b\250\231\017\030\b \214\001-\000\000\200>z\017\b\231Q\020\037\032\006\b\240\215\006\030\b @"
+1: "\b\232Q\022\005HUNGC\030\001\"\004\b\376\231\001*\004\b\266\232\0012\004\b\220\232\0018\003B\006\b\250\302\022\030\bJ\032Hungry Coyote Import StoreR\036City Center Plaza 516 Main St.Z\005Elginb\002ORj\00597827r\003USAz\017\b\232Q\020\r\032\006\b\200\367\002\030\b \024z\017\b\232Q\020>\032\006\b\220\206\030\030\b \024"
+1: "\b\233Q\022\005HILAA\030\006\"\004\b\200\232\001*\004\b\270\232\0012\004\b\220\232\0018\001B\006\b\204\307p\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\233Q\020.\032\006\b\200\356\005\030\b 8-\315\314\314=z\025\b\233Q\0205\032\006\b\360\376\017\030\b \214\001-\315\314\314=z\017\b\233Q\020E\032\006\b\200\312\021\030\b \020"
+1: "\b\234Q\022\005FRANK\030\001\"\004\b\202\232\001*\004\b\236\232\0012\004\b\226\232\0018\003B\006\b\234\316R\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\234Q\020\027\032\006\b\300\262\004\030\b Pz\017\b\234Q\020G\032\006\b\340\277\n\030\b xz\017\b\234Q\020H\032\006\b\360\373\020\030\b *"
+1: "\b\235Q\022\005PRINI\030\005\"\004\b\202\232\001*\004\b\272\232\0012\004\b\216\232\0018\001B\006\b\350\343$\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\024\b\235Q\020\025\032\006\b\200\361\004\030\b \024-\232\231\031>z\024\b\235Q\0203\032\006\b\300\360\031\030\b $-\232\231\031>"
+1: "\b\236Q\022\005SAVEA\030\002\"\004\b\210\232\001*\004\b\300\232\0012\004\b\234\232\0018\003B\006\b\320\2656\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\236Q\020#\032\006\b\200\345\b\030\b <z\025\b\236Q\0207\032\006\b\200\334\v\030\b \360\001-\315\314\314="
+1: "\b\237Q\022\005VAFFE\030\b\"\004\b\212\232\001*\004\b\246\232\0012\004\b\232\232\0018\003B\006\b\300\331\020\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\237Q\020D\032\006\b\240\215\006\030\b xz\017\b\237Q\020G\032\006\b\340\277\n\030\b <z\017\b\237Q\020L\032\006\b\200\345\b\030\b Fz\017\b\237Q\020M\032\006\b\300\254\006\030\b \034"
+1: "\b\240Q\022\005EASTC\030\001\"\004\b\214\232\001*\004\b\304\232\0012\004\b\252\232\0018\003B\006\b\204\2353\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\240Q\020\035\032\006\b\260\266<\030\b *z\017\b\240Q\020#\032\006\b\200\345\b\030\b Fz\017\b\240Q\0201\032\006\b\200\342\t\030\b <"
+1: "\b\241Q\022\005RATTC\030\001\"\004\b\214\232\001*\004\b\304\232\0012\004\b\236\232\0018\001B\006\b\254\321\a\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\241Q\020\036\032\006\b\230\321\f\030\b $z\020\b\241Q\0208\032\006\b\200\307\022\030\b \214\001z\017\b\241Q\020A\032\006\b\300\240\n\030\b (z\017\b\241Q\020G\032\006\b\340\277\n\030\b x"
+1: "\b\242Q\022\005ERNSH\030\b\"\004\b\216\232\001*\004\b\342\232\0012\004\b\236\232\0018\002B\006\b\220\267)\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\242Q\020\027\032\006\b\300\262\004\030\b xz\020\b\242Q\020?\032\006\b\230\266\025\030\b \202\001"
+1: "\b\243Q\022\005ERNSH\030\004\"\004\b\220\232\001*\004\b\310\232\0012\004\b\234\232\0018\003B\006\b\354\204-\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\243Q\020\020\032\006\b\370\275\b\030\b *-\232\231\031>z\025\b\243Q\0200\032\006\b\360\234\006\030\b \214\001-\232\231\031>"
+1: "\b\244Q\022\005MAGAA\030\002\"\004\b\220\232\001*\004\b\310\232\0012\004\b\232\232\0018\001B\006\b\224\231_\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\024\b\244Q\020\032\032\006\b\250\231\017\030\b <-\315\314L=z\024\b\244Q\020*\032\006\b\200\353\006\030\b P-\315\314L=z\024\b\244Q\0201\032\006\b\200\342\t\030\b <-\315\314L="
+1: "\b\245Q\022\005LINOD\030\001\"\004\b\226\232\001*\004\b\316\232\0012\004\b\266\232\0018\001B\006\b\250\240\025\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\245Q\020\003\032\006\b\200\361\004\030\b d"
+1: "\b\246Q\022\005QUEEN\030\a\"\004\b\230\232\001*\004\b\354\232\0012\004\b\244\232\0018\001B\006\b\320\370A\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\246Q\020\001\032\006\b\200\345\b\030\b \024z\024\b\246Q\020\025\032\006\b\200\361\004\030\b <-\315\314\314=z\024\b\246Q\020\034\032\006\b\340\233\026\030\b T-\315\314\314=z\024\b\246Q\020$\032\006\b\300\243\t\030\b \n-\315\314\314=z\024\b\246Q\020(\032\006\b\270\374\b\030\b \004-\315\314\314="
+1: "\b\247Q\022\005OTTIK\030\002\"\004\b\230\232\001*\004\b\320\232\0012\004\b\306\232\0018\002B\006\b\360\3527\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\017\b\247Q\020\v\032\006\b\300\240\n\030\b <z\017\b\247Q\020E\032\006\b\200\312\021\030\b \036z\017\b\247Q\020G\032\006\b\340\277\n\030\b \036"
+1: "\b\250Q\022\005FOLIG\030\b\"\004\b\232\232\001*\004\b\322\232\0012\004\b\246\232\0018\001B\006\b\330\357\006\030\bJ\021Folies gourmandesR\031184, chauss\303\251e de TournaiZ\005Lillej\00559000r\006Francez\017\b\250Q\020%\032\006\b\200\331\f\030\b \024z\017\b\250Q\0206\032\006\b\370\314\003\030\b \fz\017\b\250Q\020>\032\006\b\220\206\030\030\b F"
+1: "\b\251Q\022\005OCEAN\030\003\"\004\b\234\232\001*\004\b\324\232\0012\004\b\246\232\0018\001B\006\b\274\232\022\030\bJ\030Oc\303\251ano Atl\303\241ntico Ltda.R#Ing. Gustavo Moncada 8585 Piso 20-AZ\fBuenos Airesj\0041010r\tArgentinaz\017\b\251Q\020\016\032\006\b\220\255\v\030\b \030z\017\b\251Q\020\025\032\006\b\200\361\004\030\b \030"
+1: "\b\252Q\022\005BOTTM\030\003\"\004\b\236\232\001*\004\b\326\232\0012\004\b\250\232\0018\003B\006\b\300\273\001\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\252Q\020!\032\006\b\240\234\001\030\b bz\017\b\252Q\020;\032\006\b\300\355\032\030\b  "
+1: "\b\253Q\022\005BOTTM\030\t\"\004\b\236\232\001*\004\b\326\232\0012\004\b\264\232\0018\003B\006\b\324\267\016\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\253Q\020)\032\006\b\310\331\004\030\b 2-\315\314L>z\024\b\253Q\020,\032\006\b\370\272\t\030\b P-\315\314L>z\024\b\253Q\020;\032\006\b\300\355\032\030\b \022-\315\314L>"
+1: "\b\254Q\022\005WARTH\030\b\"\004\b\244\232\001*\004\b\334\232\0012\004\b\250\232\0018\002B\006\b\304\246\002\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\024\b\254Q\020\016\032\006\b\220\255\v\030\b (-\315\314\314="
+1: "\b\255Q\022\005LAMAI\030\003\"\004\b\246\232\001*\004\b\336\232\0012\004\b\252\232\0018\002B\006\b\270\261:\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\017\b\255Q\020\001\032\006\b\200\345\b\030\b 0z\017\b\255Q\020>\032\006\b\220\206\030\030\b Pz\017\b\255Q\020L\032\006\b\200\345\b\030\b \034"
+1: "\b\256Q\022\005FAMIA\030\002\"\004\b\246\232\001*\004\b\336\232\0012\004\b\254\232\0018\003B\006\b\220\216\r\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\024\b\256Q\020\023\032\006\b\250\272\004\030\b $-\315\314L=z\017\b\256Q\020!\032\006\b\240\234\001\030\b d"
+1: "\b\257Q\022\005HUNGC\030\003\"\004\b\250\232\001*\004\b\340\232\0012\004\b\272\232\0018\001B\005\b\320\017\030\bJ\032Hungry Coyote Import StoreR\036City Center Plaza 516 Main St.Z\005Elginb\002ORj\00597827r\003USAz\017\b\257Q\020\021\032\006\b\300\205\023\030\b \004z\017\b\257Q\020!\032\006\b\240\234\001\030\b ("
+1: "\b\260Q\022\005WARTH\030\b\"\004\b\252\232\001*\004\b\342\232\0012\004\b\300\232\0018\003B\006\b\200\357\r\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\260Q\020\023\032\006\b\250\272\004\030\b (z\017\b\260Q\0205\032\006\b\360\376\017\030\b \024z\017\b\260Q\0209\032\006\b\340\302\t\030\b ("
+1: "\b\261Q\022\005SIMOB\030\004\"\004\b\252\232\001*\004\b\342\232\0012\004\b\302\232\0018\003B\006\b\264\363*\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\020\b\261Q\020&\032\a\b\340\324\200\001\030\b dz\024\b\261Q\020.\032\006\b\200\356\005\030\b \004-\000\000\200>z\024\b\261Q\020D\032\006\b\240\215\006\030\b H-\000\000\200>z\017\b\261Q\020M\032\006\b\300\254\006\030\b F"
+1: "\b\262Q\022\005QUICK\030\004\"\004\b\254\232\001*\004\b\344\232\0012\004\b\272\232\0018\001B\006\b\214\333\n\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\262Q\020\002\032\006\b\300\243\t\030\b xz\017\b\262Q\020/\032\006\b\340\321\004\030\b nz\017\b\262Q\020=\032\006\b\240\365\r\030\b  z\017\b\262Q\020J\032\006\b\200\361\004\030\b \036"
+1: "\b\263Q\022\005RICSU\030\004\"\004\b\262\232\001*\004\b\352\232\0012\004\b\306\232\0018\002B\006\b\274\352S\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\263Q\020<\032\006\b\200\315\020\030\b x-\315\314L=z\024\b\263Q\020E\032\006\b\200\312\021\030\b (-\315\314L="
+1: "\b\264Q\022\005WELLI\030\003\"\004\b\264\232\001*\004\b\354\232\0012\004\b\300\232\0018\001B\006\b\360\366\032\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\264Q\020\t\032\006\b\300\256/\030\b (-\315\314\314=z\024\b\264Q\020\r\032\006\b\200\367\002\030\b \004-\315\314\314=z\024\b\264Q\020F\032\006\b\300\251\a\030\b \020-\315\314\314=z\024\b\264Q\020I\032\006\b\300\251\a\030\b (-\315\314\314="
+1: "\b\265Q\022\005QUEDE\030\b\"\004\b\264\232\001*\004\b\210\233\0012\004\b\300\232\0018\001B\006\b\254\310<\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\024\b\265Q\020\023\032\006\b\250\272\004\030\b \b-\232\231\031>z\017\b\265Q\020\032\032\006\b\250\231\017\030\b <z\024\b\265Q\0205\032\006\b\360\376\017\030\b \036-\232\231\031>z\024\b\265Q\020M\032\006\b\300\254\006\030\b \024-\232\231\031>"
+1: "\b\266Q\022\005FRANS\030\002\"\004\b\266\232\001*\004\b\356\232\0012\004\b\310\232\0018\001B\006\b\370\353\001\030\bJ\016Franchi S.p.A.R\023Via Monte Bianco 34Z\006Torinoj\00510100r\005Italyz\017\b\266Q\020\032\032\006\b\250\231\017\030\b \004"
+1: "\b\267Q\022\005GOURL\030\006\"\004\b\270\232\001*\004\b\324\232\0012\004\b\370\232\0018\003B\006\b\210\372\016\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\017\b\267Q\020\037\032\006\b\240\215\006\030\b \034z\017\b\267Q\020;\032\006\b\300\355\032\030\b ("
+1: "\b\270Q\022\005MEREP\030\a\"\004\b\270\232\001*\004\b\360\232\0012\004\b\300\232\0018\002B\a\b\364\231\342\001\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\270Q\020#\032\006\b\200\345\b\030\b x-\315\314L>z\025\b\270Q\020&\032\a\b\340\324\200\001\030\b b-\315\314L>z\024\b\270Q\020D\032\006\b\240\215\006\030\b <-\315\314L>"
+1: "\b\271Q\022\005LAMAI\030\006\"\004\b\272\232\001*\004\b\362\232\0012\004\b\344\232\0018\002B\006\b\304\353\004\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\271Q\0207\032\006\b\200\334\v\030\b \024-\000\000\200>z\024\b\271Q\020L\032\006\b\200\345\b\030\b (-\000\000\200>"
+1: "\b\272Q\022\005GALED\030\004\"\004\b\300\232\001*\004\b\370\232\0012\004\b\324\232\0018\001B\006\b\224\264\v\030\bJ\030Galer\303\255a del gastron\303\263moR\027Rambla de Catalu\303\261a, 23Z\tBarcelonaj\0048022r\005Spainz\017\b\272Q\0208\032\006\b\200\307\022\030\b \nz\017\b\272Q\020@\032\006\b\220\236\020\030\b \016"
+1: "\b\273Q\022\005PICCO\030\004\"\004\b\300\232\001*\004\b\370\232\0012\004\b\206\233\0018\002B\006\b\304\214\023\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\273Q\020\016\032\006\b\220\255\v\030\b F"
+1: "\b\274Q\022\005REGGC\030\a\"\004\b\302\232\001*\004\b\372\232\0012\004\b\320\232\0018\001B\006\b\264\342\006\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\017\b\274Q\020.\032\006\b\200\356\005\030\b ("
+1: "\b\275Q\022\005HUNGO\030\003\"\004\b\304\232\001*\004\b\230\233\0012\004\b\326\232\0018\002B\006\b\234\310\"\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\017\b\275Q\0202\032\006\b\320\367\a\030\b Pz\024\b\275Q\020?\032\006\b\230\266\025\030\b F-\000\000\200>"
+1: "\b\276Q\022\005ERNSH\030\004\"\004\b\306\232\001*\004\b\342\232\0012\004\b\316\232\0018\001B\a\b\230\202\230\002\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\276Q\020\021\032\006\b\300\205\023\030\b Z-\315\314L>z\017\b\276Q\020\025\032\006\b\200\361\004\030\b dz\017\b\276Q\0208\032\006\b\200\307\022\030\b <z\025\b\276Q\020;\032\006\b\300\355\032\030\b \214\001-\315\314L>"
+1: "\b\277Q\022\005BOTTM\030\004\"\004\b\306\232\001*\004\b\342\232\0012\004\b\326\232\0018\002B\006\b\344\372\032\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\277Q\020\021\032\006\b\300\205\023\030\b d-\000\000\200>z\024\b\277Q\020(\032\006\b\270\374\b\030\b d-\000\000\200>z\024\b\277Q\020/\032\006\b\340\321\004\030\b <-\000\000\200>"
+1: "\b\300Q\022\005SPLIR\030\003\"\004\b\310\232\001*\004\b\344\232\0012\004\b\326\232\0018\002B\006\b\210\323\002\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\300Q\020\032\032\006\b\250\231\017\030\b \024z\017\b\300Q\0206\032\006\b\370\314\003\030\b P"
+1: "\b\301Q\022\005PRINI\030\003\"\004\b\316\232\001*\004\b\206\233\0012\004\b\210\233\0018\003B\006\b\374\207-\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\017\b\301Q\0208\032\006\b\200\307\022\030\b 8"
+1: "\b\302Q\022\005FOLKO\030\003\"\004\b\316\232\001*\004\b\206\233\0012\004\b\342\232\0018\002B\006\b\200\370\n\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\302Q\020\v\032\006\b\300\240\n\030\b \fz\024\b\302Q\020L\032\006\b\200\345\b\030\b $-\232\231\031>"
+1: "\b\303Q\022\005CONSH\030\b\"\004\b\320\232\001*\004\b\244\233\0012\004\b\326\232\0018\002B\006\b\304\317\005\030\bJ\025Consolidated HoldingsR\034Berkeley Gardens 12  BreweryZ\006Londonj\aWX1 6LTr\002UKz\017\b\303Q\020\002\032\006\b\300\243\t\030\b \024z\017\b\303Q\020\026\032\006\b\300\240\n\030\b \030z\017\b\303Q\020H\032\006\b\360\373\020\030\b \024"
+1: "\b\304Q\022\005BLONP\030\003\"\004\b\322\232\001*\004\b\212\233\0012\004\b\336\232\0018\002B\006\b\210\317_\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\304Q\020.\032\006\b\200\356\005\030\b \nz\024\b\304Q\0208\032\006\b\200\307\022\030\b P-\315\314\314=z\024\b\304Q\020@\032\006\b\220\236\020\030\b <-\315\314\314=z\024\b\304Q\020K\032\006\b\260\344\003\030\b 0-\315\314\314="
+1: "\b\305Q\022\005WARTH\030\b\"\004\b\322\232\001*\004\b\212\233\0012\004\b\340\232\0018\001B\006\b\224\230\f\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\305Q\0205\032\006\b\360\376\017\030\b \036"
+1: "\b\306Q\022\005TOMSP\030\003\"\004\b\324\232\001*\004\b\214\233\0012\004\b\344\232\0018\002B\006\b\340\203\005\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\024\b\306Q\020\023\032\006\b\250\272\004\030\b \036-\315\314L>z\024\b\306Q\020\"\032\006\b\200\353\006\030\b (-\315\314L>z\024\b\306Q\0209\032\006\b\340\302\t\030\b \036-\315\314L>"
+1: "\b\307Q\022\005MEREP\030\006\"\004\b\326\232\001*\004\b\216\233\0012\004\b\334\232\0018\003B\006\b\374\275\002\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\307Q\020\f\032\006\b\200\307\022\030\b \036z\017\b\307Q\020\020\032\006\b\370\275\b\030\b  z\017\b\307Q\020@\032\006\b\220\236\020\030\b \fz\017\b\307Q\020J\032\006\b\200\361\004\030\b <"
+1: "\b\310Q\022\005SAVEA\030\004\"\004\b\334\232\001*\004\b\224\233\0012\004\b\200\233\0018\002B\006\b\224\3504\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\310Q\020\002\032\006\b\300\243\t\030\b Z-\232\231\031>z\024\b\310Q\020\020\032\006\b\370\275\b\030\b b-\232\231\031>z\024\b\310Q\020\035\032\006\b\260\266<\030\b 0-\232\231\031>z\025\b\310Q\020=\032\006\b\240\365\r\030\b \264\001-\232\231\031>"
+1: "\b\311Q\022\005OLDWO\030\003\"\004\b\334\232\001*\004\b\260\233\0012\004\b\234\233\0018\002B\006\b\330\310,\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\311Q\020\033\032\006\b\230\266\025\030\b d"
+1: "\b\312Q\022\005ERNSH\030\003\"\004\b\336\232\001*\004\b\226\233\0012\004\b\354\232\0018\002B\006\b\250\241\035\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\312Q\020\v\032\006\b\300\240\n\030\b <z\020\b\312Q\0206\032\006\b\370\314\003\030\b \240\001z\017\b\312Q\020B\032\006\b\300\246\b\030\b x"
+1: "\b\313Q\022\005REGGC\030\b\"\004\b\340\232\001*\004\b\230\233\0012\004\b\344\232\0018\001B\006\b\354\301\b\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\313Q\020\v\032\006\b\300\240\n\030\b \f-\315\314L>z\017\b\313Q\020\034\032\006\b\340\233\026\030\b \030"
+1: "\b\314Q\022\005BERGS\030\003\"\004\b\340\232\001*\004\b\230\233\0012\004\b\362\232\0018\003B\006\b\270\221\002\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\314Q\020\021\032\006\b\300\205\023\030\b \024z\017\b\314Q\020\032\032\006\b\250\231\017\030\b \036z\017\b\314Q\020#\032\006\b\200\345\b\030\b \020z\017\b\314Q\020)\032\006\b\310\331\004\030\b <"
+1: "\b\315Q\022\005BERGS\030\003\"\004\b\342\232\001*\004\b\232\233\0012\004\b\360\232\0018\001B\006\b\310\326\005\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\315Q\020\'\032\006\b\200\345\b\030\b \fz\017\b\315Q\0206\032\006\b\370\314\003\030\b \036"
+1: "\b\316Q\022\005TOMSP\030\006\"\004\b\344\232\001*\004\b\234\233\0012\004\b\356\232\0018\001B\006\b\360\372\b\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\024\b\316Q\020\023\032\006\b\250\272\004\030\b \030-\315\314\314=z\024\b\316Q\020\030\032\006\b\240\231\002\030\b (-\315\314\314=z\024\b\316Q\020\037\032\006\b\240\215\006\030\b \006-\315\314\314=z\024\b\316Q\0204\032\006\b\300\265\003\030\b \036-\315\314\314="
+1: "\b\317Q\022\005RICAR\030\004\"\004\b\344\232\001*\004\b\234\233\0012\004\b\216\233\0018\002B\006\b\210\364)\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\317Q\020\023\032\006\b\250\272\004\030\b Pz\017\b\317Q\020A\032\006\b\300\240\n\030\b Fz\017\b\317Q\020G\032\006\b\340\277\n\030\b \004"
+1: "\b\320Q\022\005RANCH\030\004\"\004\b\352\232\001*\004\b\242\233\0012\004\b\370\232\0018\002B\006\b\350\330\027\030\bJ\rRancho grandeR\026Av. del Libertador 900Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\320Q\020\032\032\006\b\250\231\017\030\b \fz\017\b\320Q\020(\032\006\b\270\374\b\030\b ("
+1: "\b\321Q\022\005BLONP\030\003\"\004\b\354\232\001*\004\b\244\233\0012\004\b\376\232\0018\002B\006\b\210\304 \030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\321Q\020\n\032\006\b\300\221\017\030\b \034z\017\b\321Q\0204\032\006\b\300\265\003\030\b (z\017\b\321Q\020>\032\006\b\220\206\030\030\b F"
+1: "\b\322Q\022\005VICTE\030\b\"\004\b\356\232\001*\004\b\246\233\0012\004\b\226\233\0018\002B\006\b\354\264\004\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\322Q\020\n\032\006\b\300\221\017\030\b (-\315\314L>z\024\b\322Q\0206\032\006\b\370\314\003\030\b \f-\315\314L>"
+1: "\b\323Q\022\005QUICK\030\004\"\004\b\356\232\001*\004\b\212\233\0012\004\b\230\233\0018\003B\006\b\324\264s\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\025\b\323Q\0207\032\006\b\200\334\v\030\b \360\001-\315\314\314=z\024\b\323Q\020@\032\006\b\220\236\020\030\b F-\315\314\314=z\024\b\323Q\020A\032\006\b\300\240\n\030\b 8-\315\314\314=z\024\b\323Q\020M\032\006\b\300\254\006\030\b n-\315\314\314="
+1: "\b\324Q\022\005SAVEA\030\b\"\004\b\360\232\001*\004\b\250\233\0012\004\b\374\232\0018\001B\006\b\350\315U\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\324Q\020\034\032\006\b\340\233\026\030\b \036z\025\b\324Q\020,\032\006\b\370\272\t\030\b \310\001-\315\314L="
+1: "\b\325Q\022\005AROUT\030\001\"\004\b\362\232\001*\004\b\252\233\0012\004\b\374\232\0018\002B\006\b\240\275\017\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\024\b\325Q\0200\032\006\b\360\234\006\030\b \036-\315\314\314=z\024\b\325Q\020F\032\006\b\300\251\a\030\b 2-\315\314\314="
+1: "\b\326Q\022\005LAMAI\030\004\"\004\b\362\232\001*\004\b\252\233\0012\004\b\372\232\0018\003B\006\b\210\326\001\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\326Q\020\020\032\006\b\370\275\b\030\b (-\315\314L>z\024\b\326Q\020!\032\006\b\240\234\001\030\b (-\315\314L>z\024\b\326Q\020.\032\006\b\200\356\005\030\b \024-\315\314L>"
+1: "\b\327Q\022\005WARTH\030\b\"\004\b\370\232\001*\004\b\314\233\0012\004\b\206\233\0018\002B\006\b\324\221n\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\327Q\020\'\032\006\b\200\345\b\030\b (z\017\b\327Q\0205\032\006\b\360\376\017\030\b dz\017\b\327Q\020=\032\006\b\240\365\r\030\b 2z\017\b\327Q\020G\032\006\b\340\277\n\030\b <"
+1: "\b\330Q\022\005KOENE\030\b\"\004\b\372\232\001*\004\b\316\233\0012\004\b\200\233\0018\002B\006\b\260\372\004\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\330Q\020\025\032\006\b\200\361\004\030\b P-\232\231\031>z\024\b\330Q\0201\032\006\b\200\342\t\030\b *-\232\231\031>"
+1: "\b\331Q\022\005KOENE\030\002\"\004\b\372\232\001*\004\b\262\233\0012\004\b\206\233\0018\001B\006\b\364\207\a\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\331Q\020;\032\006\b\300\355\032\030\b H"
+1: "\b\332Q\022\005SUPRD\030\a\"\004\b\374\232\001*\004\b\264\233\0012\004\b\210\233\0018\003B\006\b\210\341Y\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\332Q\020\032\032\006\b\250\231\017\030\b <z\017\b\332Q\020\034\032\006\b\340\233\026\030\b <z\017\b\332Q\020+\032\006\b\200\273\026\030\b (z\017\b\332Q\0208\032\006\b\200\307\022\030\b \036z\017\b\332Q\020G\032\006\b\340\277\n\030\b d"
+1: "\b\333Q\022\005VICTE\030\004\"\004\b\376\232\001*\004\b\266\233\0012\004\b\200\233\0018\002B\006\b\224\250\017\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\333Q\020\a\032\006\b\200\323\016\030\b  -\315\314L=z\024\b\333Q\020.\032\006\b\200\356\005\030\b (-\315\314L=z\017\b\333Q\020H\032\006\b\360\373\020\030\b P"
+1: "\b\334Q\022\005FOLKO\030\b\"\004\b\200\233\001*\004\b\270\233\0012\004\b\206\233\0018\001B\006\b\214\367\t\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\334Q\020D\032\006\b\240\215\006\030\b *-\000\000\200>z\024\b\334Q\020K\032\006\b\260\344\003\030\b \b-\000\000\200>"
+1: "\b\335Q\022\005LILAS\030\001\"\004\b\200\233\001*\004\b\270\233\0012\004\b\212\233\0018\003B\006\b\224\332Z\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\335Q\020\025\032\006\b\200\361\004\030\b P-\000\000\200>z\024\b\335Q\020\036\032\006\b\230\321\f\030\b 8-\000\000\200>z\024\b\335Q\0207\032\006\b\200\334\v\030\b x-\000\000\200>"
+1: "\b\336Q\022\005CONSH\030\002\"\004\b\206\233\001*\004\b\276\233\0012\004\b\244\233\0018\001B\006\b\204\342\003\030\bJ\025Consolidated HoldingsR\034Berkeley Gardens 12  BreweryZ\006Londonj\aWX1 6LTr\002UKz\017\b\336Q\020\r\032\006\b\200\367\002\030\b \002z\017\b\336Q\020\027\032\006\b\300\262\004\030\b *"
+1: "\b\337Q\022\005SUPRD\030\005\"\004\b\210\233\001*\004\b\300\233\0012\004\b\214\233\0018\003B\006\b\330\202\t\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\337Q\020\023\032\006\b\250\272\004\030\b *z\017\b\337Q\020*\032\006\b\200\353\006\030\b d"
+1: "\b\340Q\022\005FURIB\030\004\"\004\b\210\233\001*\004\b\300\233\0012\004\b\234\233\0018\002B\006\b\220\2516\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\340Q\020\004\032\006\b\200\337\n\030\b  -\315\314L>z\017\b\340Q\020+\032\006\b\200\273\026\030\b \006z\024\b\340Q\0208\032\006\b\200\307\022\030\b <-\315\314L>z\017\b\340Q\020<\032\006\b\200\315\020\030\b ("
+1: "\b\341Q\022\005VAFFE\030\001\"\004\b\212\233\001*\004\b\302\233\0012\004\b\234\233\0018\003B\006\b\240\303X\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\341Q\020\030\032\006\b\240\231\002\030\b 2z\024\b\341Q\020\035\032\006\b\260\266<\030\b $-\315\314\314=z\017\b\341Q\020(\032\006\b\270\374\b\030\b (z\024\b\341Q\020-\032\006\b\340\321\004\030\b <-\315\314\314=z\017\b\341Q\0202\032\006\b\320\367\a\030\b 2"
+1: "\b\342Q\022\005COMMI\030\004\"\004\b\214\233\001*\004\b\304\233\0012\004\b\232\233\0018\001B\006\b\204\244\a\030\bJ\021Com\303\251rcio MineiroR\025Av. dos Lus\303\255adas, 23Z\tSao Paulob\002SPj\t05432-043r\006Brazilz\017\b\342Q\020\v\032\006\b\300\240\n\030\b \024z\017\b\342Q\020.\032\006\b\200\356\005\030\b \n"
+1: "\b\343Q\022\005MAGAA\030\b\"\004\b\214\233\001*\004\b\304\233\0012\004\b\226\233\0018\002B\006\b\224\201\003\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\343Q\020\030\032\006\b\240\231\002\030\b 8z\017\b\343Q\020\031\032\006\b\200\353\006\030\b \030"
+1: "\b\344Q\022\005KOENE\030\003\"\004\b\216\233\001*\004\b\306\233\0012\004\b\230\233\0018\003B\006\b\360\366\032\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\344Q\020\036\032\006\b\230\321\f\030\b \020z\017\b\344Q\020+\032\006\b\200\273\026\030\b \036"
+1: "\b\345Q\022\005WHITC\030\001\"\004\b\224\233\001*\004\b\314\233\0012\004\b\234\233\0018\001B\006\b\310\335$\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\024\b\345Q\020\002\032\006\b\300\243\t\030\b P-\232\231\031>z\024\b\345Q\020\020\032\006\b\370\275\b\030\b F-\232\231\031>z\024\b\345Q\020,\032\006\b\370\272\t\030\b \004-\232\231\031>"
+1: "\b\346Q\022\005BONAP\030\004\"\004\b\226\233\001*\004\b\316\233\0012\004\b\234\233\0018\002B\006\b\340\263\'\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\346Q\020\022\032\006\b\240\302\036\030\b <z\017\b\346Q\020\027\032\006\b\300\262\004\030\b \036z\017\b\346Q\020@\032\006\b\220\236\020\030\b \020"
+1: "\b\347Q\022\005BSBEV\030\002\"\004\b\226\233\001*\004\b\316\233\0012\004\b\244\233\0018\003B\006\b\334\351\033\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\347Q\020\a\032\006\b\200\323\016\030\b <z\017\b\347Q\0208\032\006\b\200\307\022\030\b ("
+1: "\b\350Q\022\005SEVES\030\b\"\004\b\230\233\001*\004\b\320\233\0012\004\b\246\233\0018\001B\006\b\220\310\002\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\025\b\350Q\020\030\032\006\b\240\231\002\030\b \240\001-\315\314L=z\017\b\350Q\0203\032\006\b\300\360\031\030\b $"
+1: "\b\351Q\022\005ISLAT\030\001\"\004\b\232\233\001*\004\b\266\233\0012\004\b\252\233\0018\003B\006\b\364\376\t\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\351Q\020!\032\006\b\240\234\001\030\b \030z\017\b\351Q\020G\032\006\b\340\277\n\030\b \030"
+1: "\b\352Q\022\005PERIC\030\005\"\004\b\232\233\001*\004\b\322\233\0012\004\b\252\233\0018\002B\006\b\324\3722\030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\352Q\020\016\032\006\b\220\255\v\030\b \030z\017\b\352Q\020\034\032\006\b\340\233\026\030\b $z\017\b\352Q\020(\032\006\b\270\374\b\030\b *z\017\b\352Q\020K\032\006\b\260\344\003\030\b \024"
+1: "\b\353Q\022\005SUPRD\030\t\"\004\b\234\233\001*\004\b\324\233\0012\004\b\306\233\0018\001B\006\b\220\351)\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\024\b\353Q\020\037\032\006\b\240\215\006\030\b F-\232\231\031>z\024\b\353Q\020B\032\006\b\300\246\b\030\b x-\232\231\031>z\024\b\353Q\020L\032\006\b\200\345\b\030\b T-\232\231\031>"
+1: "\b\354Q\022\005HILAA\030\b\"\004\b\242\233\001*\004\b\332\233\0012\004\b\260\233\0018\003B\006\b\304\330\002\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\354Q\0207\032\006\b\200\334\v\030\b \004-\315\314L=z\017\b\354Q\020F\032\006\b\300\251\a\030\b \030"
+1: "\b\355Q\022\005PRINI\030\005\"\004\b\242\233\001*\004\b\332\233\0012\004\b\262\233\0018\002B\006\b\230\371\a\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\017\b\355Q\020\001\032\006\b\200\345\b\030\b \036z\024\b\355Q\020\025\032\006\b\200\361\004\030\b *-\000\000\200>z\024\b\355Q\020\'\032\006\b\200\345\b\030\b (-\000\000\200>"
+1: "\b\356Q\022\005VICTE\030\002\"\004\b\244\233\001*\004\b\300\233\0012\004\b\264\233\0018\003B\006\b\344\367\002\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\356Q\020\n\032\006\b\300\221\017\030\b (-\315\314L="
+1: "\b\357Q\022\005RATTC\030\003\"\004\b\246\233\001*\004\b\336\233\0012\004\b\252\233\0018\003B\a\b\334\332\260\003\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\020\b\357Q\020&\032\a\b\340\324\200\001\030\b <z\017\b\357Q\0205\032\006\b\360\376\017\030\b 8z\017\b\357Q\020;\032\006\b\300\355\032\030\b xz\017\b\357Q\020@\032\006\b\220\236\020\030\b <"
+1: "\b\360Q\022\005FOLIG\030\006\"\004\b\250\233\001*\004\b\340\233\0012\004\b\260\233\0018\002B\005\b\274i\030\bJ\021Folies gourmandesR\031184, chauss\303\251e de TournaiZ\005Lillej\00559000r\006Francez\017\b\360Q\020/\032\006\b\340\321\004\030\b <z\017\b\360Q\020;\032\006\b\300\355\032\030\b \030"
+1: "\b\361Q\022\005RICAR\030\b\"\004\b\250\233\001*\004\b\340\233\0012\004\b\262\233\0018\002B\006\b\344\241\'\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\361Q\0201\032\006\b\200\342\t\030\b 0z\017\b\361Q\020<\032\006\b\200\315\020\030\b P"
+1: "\b\362Q\022\005LAZYK\030\001\"\004\b\252\233\001*\004\b\342\233\0012\004\b\322\233\0018\003B\006\b\260\310\004\030\bJ\024Lazy K Kountry StoreR\02412 Orchestra TerraceZ\vWalla Wallab\002WAj\00599362r\003USAz\017\b\362Q\020(\032\006\b\270\374\b\030\b \024"
+1: "\b\363Q\022\005WHITC\030\a\"\004\b\260\233\001*\004\b\350\233\0012\004\b\360\233\0018\002B\006\b\340\251\t\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\024\b\363Q\020\"\032\006\b\200\353\006\030\b F-\315\314L=z\024\b\363Q\020M\032\006\b\300\254\006\030\b <-\315\314L="
+1: "\b\364Q\022\005BSBEV\030\003\"\004\b\260\233\001*\004\b\350\233\0012\004\b\300\233\0018\003B\006\b\300\231\004\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\364Q\020\025\032\006\b\200\361\004\030\b \034z\017\b\364Q\020(\032\006\b\270\374\b\030\b \024z\017\b\364Q\0203\032\006\b\300\360\031\030\b \006"
+1: "\b\365Q\022\005LINOD\030\004\"\004\b\262\233\001*\004\b\316\233\0012\004\b\276\233\0018\002B\006\b\224\253\'\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\365Q\020\002\032\006\b\300\243\t\030\b (-\315\314\314=z\024\b\365Q\020\003\032\006\b\200\361\004\030\b (-\315\314\314=z\024\b\365Q\0207\032\006\b\200\334\v\030\b <-\315\314\314=z\024\b\365Q\020F\032\006\b\300\251\a\030\b x-\315\314\314="
+1: "\b\366Q\022\005HILAA\030\001\"\004\b\264\233\001*\004\b\354\233\0012\004\b\302\233\0018\002B\006\b\224\321\022\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\366Q\020\v\032\006\b\300\240\n\030\b \nz\017\b\366Q\0203\032\006\b\300\360\031\030\b 2z\017\b\366Q\020J\032\006\b\200\361\004\030\b  "
+1: "\b\367Q\022\005QUEEN\030\002\"\004\b\264\233\001*\004\b\354\233\0012\004\b\270\233\0018\002B\006\b\254\260+\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\367Q\020\023\032\006\b\250\272\004\030\b \nz\017\b\367Q\020\032\032\006\b\250\231\017\030\b <z\024\b\367Q\0206\032\006\b\370\314\003\030\b 0-\000\000\200>"
+1: "\b\370Q\022\005FRANK\030\b\"\004\b\266\233\001*\004\b\356\233\0012\004\b\302\233\0018\002B\006\b\224\201\003\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\370Q\020;\032\006\b\300\355\032\030\b <z\024\b\370Q\020I\032\006\b\300\251\a\030\b (-\315\314L>"
+1: "\b\371Q\022\005PICCO\030\006\"\004\b\270\233\001*\004\b\360\233\0012\004\b\320\233\0018\002B\006\b\244\235\003\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\024\b\371Q\020\v\032\006\b\300\240\n\030\b \036-\000\000\200>z\017\b\371Q\020\020\032\006\b\370\275\b\030\b $"
+1: "\b\372Q\022\005HILAA\030\a\"\004\b\276\233\001*\004\b\366\233\0012\004\b\304\233\0018\002B\a\b\214\245\200\001\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\372Q\020;\032\006\b\300\355\032\030\b xz\017\b\372Q\020D\032\006\b\240\215\006\030\b <z\017\b\372Q\020K\032\006\b\260\344\003\030\b H"
+1: "\b\373Q\022\005FURIB\030\b\"\004\b\276\233\001*\004\b\366\233\0012\004\b\316\233\0018\003B\006\b\200\255\n\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\373Q\020,\032\006\b\370\272\t\030\b \036-\232\231\031>z\024\b\373Q\020M\032\006\b\300\254\006\030\b \016-\232\231\031>"
+1: "\b\374Q\022\005BOTTM\030\003\"\004\b\300\233\001*\004\b\370\233\0012\004\b\324\233\0018\001B\006\b\244\261&\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\374Q\020\031\032\006\b\200\353\006\030\b x-\315\314L=z\024\b\374Q\020*\032\006\b\200\353\006\030\b (-\315\314L="
+1: "\b\375Q\022\005LAMAI\030\004\"\004\b\302\233\001*\004\b\372\233\0012\004\b\322\233\0018\003B\006\b\240\277\006\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\375Q\020A\032\006\b\300\240\n\030\b \036-\315\314\314=z\024\b\375Q\020B\032\006\b\300\246\b\030\b \024-\315\314\314=z\024\b\375Q\020E\032\006\b\200\312\021\030\b \024-\315\314\314="
+1: "\b\376Q\022\005COMMI\030\004\"\004\b\302\233\001*\004\b\372\233\0012\004\b\320\233\0018\002B\006\b\274\243(\030\bJ\021Com\303\251rcio MineiroR\025Av. dos Lus\303\255adas, 23Z\tSao Paulob\002SPj\t05432-043r\006Brazilz\017\b\376Q\0208\032\006\b\200\307\022\030\b <"
+1: "\b\377Q\022\005LAUGB\030\003\"\004\b\304\233\001*\004\b\374\233\0012\004\b\324\233\0018\003B\006\b\244\353\002\030\bJ\035Laughing Bacchus Wine CellarsR\f2319 Elm St.Z\tVancouverb\002BCj\aV3F 2K1r\006Canadaz\017\b\377Q\020\027\032\006\b\300\262\004\030\b \024z\017\b\377Q\020)\032\006\b\310\331\004\030\b (z\017\b\377Q\020M\032\006\b\300\254\006\030\b \n"
+1: "\b\200R\022\005TRADH\030\a\"\004\b\306\233\001*\004\b\376\233\0012\004\b\314\233\0018\002B\006\b\364\305\034\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\024\b\200R\020\037\032\006\b\240\215\006\030\b (-\315\314L="
+1: "\b\201R\022\005LEHMS\030\a\"\004\b\306\233\001*\004\b\376\233\0012\004\b\314\233\0018\001B\006\b\364\214\026\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\201R\0208\032\006\b\200\307\022\030\b \034z\017\b\201R\020H\032\006\b\360\373\020\030\b 2z\017\b\201R\020M\032\006\b\300\254\006\030\b 2"
+1: "\b\202R\022\005HILAA\030\b\"\004\b\314\233\001*\004\b\204\234\0012\004\b\324\233\0018\002B\006\b\234\224\022\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\202R\020\030\032\006\b\310\337\002\030\b \034z\017\b\202R\020(\032\006\b\300\235\v\030\b \nz\017\b\202R\020*\032\006\b\340\305\b\030\b <"
+1: "\b\203R\022\005LILAS\030\004\"\004\b\316\233\001*\004\b\206\234\0012\004\b\336\233\0018\002B\006\b\250\242>\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\203R\020\034\032\006\b\300\352\033\030\b (z\017\b\203R\0201\032\006\b\300\232\f\030\b 2"
+1: "\b\204R\022\005LAMAI\030\006\"\004\b\320\233\001*\004\b\210\234\0012\004\b\340\233\0018\001B\006\b\260\206\032\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\204R\020\017\032\006\b\370\272\t\030\b \030-\315\314L=z\024\b\204R\020\034\032\006\b\300\352\033\030\b \020-\315\314L="
+1: "\b\205R\022\005BLAUS\030\t\"\004\b\320\233\001*\004\b\210\234\0012\004\b\336\233\0018\003B\006\b\264\263\005\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\205R\0206\032\006\b\204\306\004\030\b ("
+1: "\b\206R\022\005PERIC\030\002\"\004\b\322\233\001*\004\b\212\234\0012\004\b\370\233\0018\001B\006\b\320\247*\030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\206R\020-\032\006\b\230\346\005\030\b *z\017\b\206R\0205\032\006\b\300\202\024\030\b \fz\017\b\206R\020C\032\006\b\340\305\b\030\b <"
+1: "\b\207R\022\005HUNGO\030\006\"\004\b\324\233\001*\004\b\214\234\0012\004\b\336\233\0018\002B\006\b\350\233\n\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\020\b\207R\020\016\032\006\b\264\230\016\030\b \214\001z\017\b\207R\020A\032\006\b\304\354\f\030\b ("
+1: "\b\210R\022\005WHITC\030\004\"\004\b\324\233\001*\004\b\214\234\0012\004\b\342\233\0018\003B\006\b\304\213$\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\210R\020\002\032\006\b\260\314\v\030\b \030z\017\b\210R\020\025\032\006\b\240\215\006\030\b \030z\017\b\210R\0205\032\006\b\300\202\024\030\b \024z\017\b\210R\020=\032\006\b\310\262\021\030\b 2"
+1: "\b\211R\022\005MEREP\030\003\"\004\b\332\233\001*\004\b\222\234\0012\004\b\350\233\0018\003B\006\b\204\255\004\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\211R\020>\032\006\b\310\213\036\030\b \006"
+1: "\b\212R\022\005KOENE\030\t\"\004\b\334\233\001*\004\b\224\234\0012\004\b\376\233\0018\002B\006\b\274\367\f\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\212R\020\031\032\006\b\340\305\b\030\b $-\315\314\314=z\024\b\212R\020F\032\006\b\360\223\t\030\b \034-\315\314\314="
+1: "\b\213R\022\005ANTON\030\a\"\004\b\334\233\001*\004\b\224\234\0012\004\b\352\233\0018\001B\006\b\204\373\034\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos  2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\024\b\213R\020+\032\006\b\340\211\034\030\b \036-\232\231\031>z\024\b\213R\0200\032\006\b\214\344\a\030\b \036-\232\231\031>"
+1: "\b\214R\022\005OTTIK\030\001\"\004\b\336\233\001*\004\b\226\234\0012\004\b\224\234\0018\002B\006\b\354\205\003\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\017\b\214R\020\r\032\006\b\340\324\003\030\b \024z\017\b\214R\020\'\032\006\b\240\376\n\030\b \024"
+1: "\b\215R\022\005BLAUS\030\004\"\004\b\340\233\001*\004\b\230\234\0012\004\b\370\233\0018\001B\005\b\334\v\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\215R\020\034\032\006\b\300\352\033\030\b \006"
+1: "\b\216R\022\005SAVEA\030\006\"\004\b\342\233\001*\004\b\232\234\0012\004\b\366\233\0018\003B\a\b\214\261\340\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\216R\020\035\032\006\b\214\307K\030\b Hz\024\b\216R\020K\032\006\b\274\335\004\030\b H-\315\314\314="
+1: "\b\217R\022\005BONAP\030\004\"\004\b\342\233\001*\004\b\232\234\0012\004\b\350\233\0018\003B\a\b\340\201\326\001\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\217R\020\004\032\006\b\340\266\r\030\b d-\232\231\031>z\024\b\217R\020\a\032\006\b\340\247\022\030\b d-\232\231\031>z\024\b\217R\020\b\032\006\b\200\265\030\030\b \024-\232\231\031>"
+1: "\b\220R\022\005FAMIA\030\a\"\004\b\350\233\001*\004\b\240\234\0012\004\b\356\233\0018\002B\006\b\344\223\002\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\024\b\220R\020\030\032\006\b\310\337\002\030\b \024-\232\231\031>z\024\b\220R\020.\032\006\b\300\251\a\030\b \022-\232\231\031>z\024\b\220R\020/\032\006\b\230\346\005\030\b \f-\232\231\031>z\024\b\220R\020<\032\006\b\240\340\024\030\b \030-\232\231\031>"
+1: "\b\221R\022\005WANDK\030\a\"\004\b\352\233\001*\004\b\276\234\0012\004\b\366\233\0018\001B\006\b\364\275@\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\221R\020\025\032\006\b\240\215\006\030\b P-\315\314L>z\024\b\221R\020 \032\006\b\200\304\023\030\b d-\315\314L>z\024\b\221R\020=\032\006\b\310\262\021\030\b \036-\315\314L>"
+1: "\b\222R\022\005ERNSH\030\003\"\004\b\352\233\001*\004\b\242\234\0012\004\b\232\234\0018\002B\a\b\354\222\342\003\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\222R\020\024\032\006\b\220\2701\030\b Nz\017\b\222R\020\034\032\006\b\300\352\033\030\b Fz\020\b\222R\0208\032\006\b\340\230\027\030\b \214\001z\017\b\222R\020A\032\006\b\304\354\f\030\b Nz\017\b\222R\020K\032\006\b\274\335\004\030\b d"
+1: "\b\223R\022\005QUICK\030\002\"\004\b\354\233\001*\004\b\210\234\0012\004\b\250\234\0018\001B\006\b\234\346|\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\223R\020\t\032\006\b\220\232;\030\b  -\232\231\031>z\017\b\223R\020\020\032\006\b\244\323\n\030\b dz\020\b\223R\020\033\032\006\b\330\345\032\030\b \360\001z\024\b\223R\020!\032\006\b\250\303\001\030\b  -\232\231\031>z\025\b\223R\020<\032\006\b\240\340\024\030\b \250\001-\232\231\031>"
+1: "\b\224R\022\005HUNGO\030\002\"\004\b\356\233\001*\004\b\246\234\0012\004\b\374\233\0018\003B\006\b\330\250&\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\224R\020\022\032\006\b\350\222&\030\b 2-\315\314\314=z\025\b\224R\020)\032\006\b\364\361\005\030\b \240\001-\315\314\314=z\017\b\224R\020*\032\006\b\340\305\b\030\b ("
+1: "\b\225R\022\005NORTS\030\003\"\004\b\356\233\001*\004\b\246\234\0012\004\b\370\233\0018\003B\006\b\274\311\023\030\bJ\vNorth/SouthR\034South House 300 QueensbridgeZ\006Londonj\aSW7 1RZr\002UKz\017\b\225R\0204\032\006\b\360\242\004\030\b \fz\017\b\225R\020;\032\006\b\360\310!\030\b \bz\017\b\225R\020F\032\006\b\360\223\t\030\b \f"
+1: "\b\226R\022\005TORTU\030\004\"\004\b\360\233\001*\004\b\214\234\0012\004\b\204\234\0018\002B\a\b\374\222\205\001\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\226R\020\030\032\006\b\310\337\002\030\b \nz\020\b\226R\020&\032\a\b\370\351\240\001\030\b \036z\017\b\226R\020,\032\006\b\304\357\v\030\b \022"
+1: "\b\227R\022\005CHOPS\030\006\"\004\b\366\233\001*\004\b\256\234\0012\004\b\374\233\0018\003B\006\b\340\2008\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\024\b\227R\020\n\032\006\b\360\365\022\030\b  -\315\314L=z\017\b\227R\0208\032\006\b\340\230\027\030\b Pz\024\b\227R\020<\032\006\b\240\340\024\030\b \024-\315\314L="
+1: "\b\230R\022\005SANTG\030\a\"\004\b\370\233\001*\004\b\260\234\0012\004\b\374\233\0018\001B\006\b\304\224\b\030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\230R\020\030\032\006\b\310\337\002\030\b \020z\017\b\230R\0205\032\006\b\300\202\024\030\b \n"
+1: "\b\231R\022\005CACTU\030\b\"\004\b\370\233\001*\004\b\260\234\0012\004\b\376\233\0018\002B\006\b\250\301\n\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\231R\020#\032\006\b\240\376\n\030\b \006z\017\b\231R\020)\032\006\b\364\361\005\030\b \024z\017\b\231R\020D\032\006\b\310\320\a\030\b \f"
+1: "\b\232R\022\005LEHMS\030\004\"\004\b\372\233\001*\004\b\262\234\0012\004\b\206\234\0018\001B\006\b\264\325\033\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\232R\020\001\032\006\b\240\376\n\030\b P-\315\314L>z\017\b\232R\020\b\032\006\b\200\265\030\030\b 0z\024\b\232R\020\036\032\006\b\324\346\017\030\b (-\315\314L>z\024\b\232R\020(\032\006\b\300\235\v\030\b 2-\315\314L>"
+1: "\b\233R\022\005SEVES\030\a\"\004\b\374\233\001*\004\b\264\234\0012\004\b\266\234\0018\002B\006\b\354\260/\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\233R\020\021\032\006\b\360\346\027\030\b 2-\315\314\314=z\024\b\233R\020\024\032\006\b\220\2701\030\b \036-\315\314\314=z\024\b\233R\020%\032\006\b\240\357\017\030\b $-\315\314\314=z\024\b\233R\020)\032\006\b\364\361\005\030\b \f-\315\314\314="
+1: "\b\234R\022\005BERGS\030\001\"\004\b\374\233\001*\004\b\264\234\0012\004\b\210\234\0018\002B\a\b\234\264\225\001\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\234R\020\n\032\006\b\360\365\022\030\b \004z\017\b\234R\020\036\032\006\b\324\346\017\030\b \024z\017\b\234R\020+\032\006\b\340\211\034\030\b xz\017\b\234R\0206\032\006\b\204\306\004\030\b \036"
+1: "\b\235R\022\005BONAP\030\001\"\004\b\376\233\001*\004\b\266\234\0012\004\b\250\234\0018\002B\006\b\210\340\006\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\235R\020$\032\006\b\260\314\v\030\b <z\024\b\235R\020(\032\006\b\300\235\v\030\b \036-\315\314\314="
+1: "\b\236R\022\005WARTH\030\004\"\004\b\204\234\001*\004\b\274\234\0012\004\b\230\234\0018\002B\006\b\254\341#\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\024\b\236R\020\001\032\006\b\240\376\n\030\b \020-\232\231\031>z\017\b\236R\020\r\032\006\b\340\324\003\030\b \024z\024\b\236R\0208\032\006\b\340\230\027\030\b <-\232\231\031>"
+1: "\b\237R\022\005QUICK\030\a\"\004\b\204\234\001*\004\b\274\234\0012\004\b\210\234\0018\001B\006\b\270\311\031\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\237R\020\004\032\006\b\340\266\r\030\b d-\315\314\314=z\024\b\237R\020$\032\006\b\260\314\v\030\b <-\315\314\314="
+1: "\b\240R\022\005GREAL\030\006\"\004\b\206\234\001*\004\b\242\234\0012\004\b\214\234\0018\002B\006\b\334\205\002\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\017\b\240R\020\v\032\006\b\320\350\f\030\b \006z\024\b\240R\020!\032\006\b\250\303\001\030\b \020-\315\314L>z\017\b\240R\020H\032\006\b\340\236\025\030\b \022"
+1: "\b\241R\022\005MAISD\030\005\"\004\b\210\234\001*\004\b\300\234\0012\004\b\214\234\0018\002B\006\b\224\332(\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\017\b\241R\0207\032\006\b\200\323\016\030\b \034z\017\b\241R\020D\032\006\b\310\320\a\030\b (z\017\b\241R\020E\032\006\b\300\374\025\030\b \024"
+1: "\b\242R\022\005PICCO\030\003\"\004\b\212\234\001*\004\b\302\234\0012\004\b\222\234\0018\002B\a\b\310\205\317\001\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\242R\020\021\032\006\b\360\346\027\030\b Pz\017\b\242R\020+\032\006\b\340\211\034\030\b 2z\017\b\242R\020=\032\006\b\310\262\021\030\b (z\017\b\242R\020L\032\006\b\240\376\n\030\b d"
+1: "\b\243R\022\005OCEAN\030\a\"\004\b\212\234\001*\004\b\302\234\0012\004\b\240\234\0018\001B\006\b\260\372\004\030\bJ\030Oc\303\251ano Atl\303\241ntico Ltda.R#Ing. Gustavo Moncada 8585 Piso 20-AZ\fBuenos Airesj\0041010r\tArgentinaz\017\b\243R\020;\032\006\b\360\310!\030\b \004"
+1: "\b\244R\022\005EASTC\030\a\"\004\b\214\234\001*\004\b\304\234\0012\004\b\222\234\0018\003B\006\b\230\271-\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\244R\020\036\032\006\b\324\346\017\030\b \036z\017\b\244R\020B\032\006\b\220\260\n\030\b 0"
+1: "\b\245R\022\005FOLKO\030\b\"\004\b\222\234\001*\004\b\312\234\0012\004\b\246\234\0018\001B\006\b\320\342r\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\245R\020\004\032\006\b\340\266\r\030\b d-\315\314L=z\017\b\245R\020H\032\006\b\340\236\025\030\b 0z\024\b\245R\020I\032\006\b\360\223\t\030\b 0-\315\314L="
+1: "\b\246R\022\005LEHMS\030\b\"\004\b\222\234\001*\004\b\312\234\0012\004\b\226\234\0018\002B\006\b\350\206\021\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\246R\020\036\032\006\b\324\346\017\030\b \024z\024\b\246R\020(\032\006\b\300\235\v\030\b \024-\315\314L>z\024\b\246R\0206\032\006\b\204\306\004\030\b \024-\315\314L>"
+1: "\b\247R\022\005ANTON\030\004\"\004\b\224\234\001*\004\b\314\234\0012\004\b\244\234\0018\001B\006\b\360\305\t\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos  2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\024\b\247R\020\v\032\006\b\320\350\f\030\b d-\315\314\314=z\024\b\247R\020(\032\006\b\300\235\v\030\b \024-\315\314\314=z\024\b\247R\0209\032\006\b\270\363\v\030\b \n-\315\314\314=z\024\b\247R\020;\032\006\b\360\310!\030\b \036-\315\314\314="
+1: "\b\250R\022\005LEHMS\030\003\"\004\b\226\234\001*\004\b\316\234\0012\004\b\304\234\0018\002B\006\b\200\370#\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\250R\020\f\032\006\b\340\230\027\030\b \036-\000\000\200>z\017\b\250R\020\037\032\006\b\310\320\a\030\b (z\017\b\250R\020!\032\006\b\250\303\001\030\b <z\024\b\250R\020<\032\006\b\240\340\024\030\b F-\000\000\200>"
+1: "\b\251R\022\005RICSU\030\001\"\004\b\226\234\001*\004\b\262\234\0012\004\b\240\234\0018\001B\006\b\224\2200\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\017\b\251R\020\037\032\006\b\310\320\a\030\b <z\017\b\251R\0203\032\006\b\320\254 \030\b \fz\017\b\251R\020:\032\006\b\224\213\b\030\b (z\017\b\251R\020H\032\006\b\340\236\025\030\b *z\017\b\251R\020I\032\006\b\360\223\t\030\b \022"
+1: "\b\252R\022\005BSBEV\030\t\"\004\b\230\234\001*\004\b\320\234\0012\004\b\232\234\0018\003B\006\b\274\374\002\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\252R\020F\032\006\b\360\223\t\030\b \016z\017\b\252R\020H\032\006\b\340\236\025\030\b \002"
+1: "\b\253R\022\005BSBEV\030\006\"\004\b\232\234\001*\004\b\322\234\0012\004\b\250\234\0018\003B\006\b\320\305\a\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\253R\020\r\032\006\b\340\324\003\030\b \020z\017\b\253R\020\025\032\006\b\240\215\006\030\b \036z\017\b\253R\020!\032\006\b\250\303\001\030\b \036z\017\b\253R\0201\032\006\b\300\232\f\030\b \f"
+1: "\b\254R\022\005QUICK\030\003\"\004\b\240\234\001*\004\b\330\234\0012\004\b\322\234\0018\003B\a\b\360\201\347\004\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\254R\020\003\032\006\b\240\215\006\030\b xz\017\b\254R\020\032\032\006\b\354\207\023\030\b Pz\020\b\254R\020&\032\a\b\370\351\240\001\030\b <z\017\b\254R\020D\032\006\b\310\320\a\030\b F"
+1: "\b\255R\022\005HANAR\030\002\"\004\b\240\234\001*\004\b\330\234\0012\004\b\264\234\0018\001B\006\b\244\363)\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\024\b\255R\020\030\032\006\b\310\337\002\030\b F-\315\314\314=z\025\b\255R\020&\032\a\b\370\351\240\001\030\b \b-\315\314\314=z\024\b\255R\020A\032\006\b\304\354\f\030\b H-\315\314\314=z\024\b\255R\020G\032\006\b\330\217\r\030\b \022-\315\314\314="
+1: "\b\256R\022\005KOENE\030\001\"\004\b\242\234\001*\004\b\332\234\0012\004\b\256\234\0018\003B\006\b\274\327\006\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\256R\020\v\032\006\b\320\350\f\030\b \036-\315\314L=z\024\b\256R\0206\032\006\b\204\306\004\030\b 0-\315\314L="
+1: "\b\257R\022\005LILAS\030\b\"\004\b\244\234\001*\004\b\334\234\0012\004\b\250\234\0018\002B\006\b\244\263\035\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\257R\020\f\032\006\b\340\230\027\030\b <-\232\231\031>z\025\b\257R\020\027\032\006\b\220\277\005\030\b \214\001-\232\231\031>"
+1: "\b\260R\022\005LONEP\030\004\"\004\b\244\234\001*\004\b\334\234\0012\004\b\266\234\0018\001B\006\b\214\232\017\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\260R\020\034\032\006\b\300\352\033\030\b \016z\017\b\260R\020C\032\006\b\340\305\b\030\b \016"
+1: "\b\261R\022\005LAZYK\030\b\"\004\b\246\234\001*\004\b\336\234\0012\004\b\354\234\0018\002B\006\b\240\243\a\030\bJ\024Lazy K Kountry StoreR\02412 Orchestra TerraceZ\vWalla Wallab\002WAj\00599362r\003USAz\017\b\261R\020\v\032\006\b\320\350\f\030\b \024"
+1: "\b\262R\022\005VICTE\030\001\"\004\b\250\234\001*\004\b\340\234\0012\004\b\260\234\0018\003B\006\b\300\354v\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\017\b\262R\020\a\032\006\b\340\247\022\030\b \024z\017\b\262R\020#\032\006\b\240\376\n\030\b <z\017\b\262R\020>\032\006\b\310\213\036\030\b P"
+1: "\b\263R\022\005SEVES\030\003\"\004\b\250\234\001*\004\b\340\234\0012\004\b\274\234\0018\002B\006\b\354\363l\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\263R\020 \032\006\b\200\304\023\030\b 0-\232\231\031>z\017\b\263R\020$\032\006\b\260\314\v\030\b x"
+1: "\b\264R\022\005TOMSP\030\003\"\004\b\256\234\001*\004\b\346\234\0012\004\b\274\234\0018\002B\005\b\334o\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\024\b\264R\020\"\032\006\b\340\305\b\030\b \024-\000\000\200>z\017\b\264R\020)\032\006\b\364\361\005\030\b \034"
+1: "\b\265R\022\005QUICK\030\005\"\004\b\260\234\001*\004\b\314\234\0012\004\b\266\234\0018\001B\006\b\220\302h\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\265R\020\037\032\006\b\310\320\a\030\b n-\232\231\031>z\025\b\265R\020-\032\006\b\230\346\005\030\b \310\001-\232\231\031>z\024\b\265R\0203\032\006\b\320\254 \030\b `-\232\231\031>"
+1: "\b\266R\022\005GODOS\030\a\"\004\b\262\234\001*\004\b\352\234\0012\004\b\304\234\0018\003B\006\b\300\321\002\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\024\b\266R\020\021\032\006\b\360\346\027\030\b \020-\315\314\314=z\017\b\266R\020\023\032\006\b\340\316\005\030\b \024z\024\b\266R\020\025\032\006\b\240\215\006\030\b \f-\315\314\314=z\024\b\266R\020=\032\006\b\310\262\021\030\b \024-\315\314\314="
+1: "\b\267R\022\005FURIB\030\004\"\004\b\262\234\001*\004\b\206\235\0012\004\b\304\234\0018\003B\006\b\234\303,\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\267R\020\020\032\006\b\244\323\n\030\b P-\232\231\031>z\024\b\267R\020#\032\006\b\240\376\n\030\b (-\232\231\031>z\017\b\267R\020,\032\006\b\304\357\v\030\b P"
+1: "\b\270R\022\005HILAA\030\002\"\004\b\264\234\001*\004\b\354\234\0012\004\b\302\234\0018\001B\006\b\310\3452\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\270R\020E\032\006\b\300\374\025\030\b $z\017\b\270R\020K\032\006\b\274\335\004\030\b <"
+1: "\b\271R\022\005WARTH\030\002\"\004\b\266\234\001*\004\b\356\234\0012\004\b\276\234\0018\002B\006\b\364\236[\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\271R\020\v\032\006\b\320\350\f\030\b \036z\017\b\271R\020\020\032\006\b\244\323\n\030\b \034z\017\b\271R\020\026\032\006\b\320\350\f\030\b 0z\017\b\271R\020\037\032\006\b\310\320\a\030\b <z\017\b\271R\020#\032\006\b\240\376\n\030\b \f"
+1: "\b\272R\022\005OTTIK\030\004\"\004\b\266\234\001*\004\b\356\234\0012\004\b\302\234\0018\003B\006\b\344\352I\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\272R\020\020\032\006\b\244\323\n\030\b <-\315\314L=z\024\b\272R\020\027\032\006\b\220\277\005\030\b (-\315\314L=z\024\b\272R\020>\032\006\b\310\213\036\030\b (-\315\314L=z\024\b\272R\020M\032\006\b\320\367\a\030\b \024-\315\314L="
+1: "\b\273R\022\005SAVEA\030\006\"\004\b\274\234\001*\004\b\364\234\0012\004\b\300\234\0018\003B\a\b\344\215\232\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\273R\020\016\032\006\b\264\230\016\030\b <-\315\314L>z\024\b\273R\020\023\032\006\b\340\316\005\030\b F-\315\314L>z\024\b\273R\020\030\032\006\b\310\337\002\030\b $-\315\314L>z\024\b\273R\0203\032\006\b\320\254 \030\b (-\315\314L>z\024\b\273R\0208\032\006\b\340\230\027\030\b P-\315\314L>"
+1: "\b\274R\022\005SIMOB\030\002\"\004\b\276\234\001*\004\b\222\235\0012\004\b\322\234\0018\001B\006\b\320\375\005\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\017\b\274R\020H\032\006\b\340\236\025\030\b 0"
+1: "\b\275R\022\005LEHMS\030\t\"\004\b\276\234\001*\004\b\332\234\0012\004\b\304\234\0018\002B\006\b\240\204;\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\275R\020@\032\006\b\324\245\024\030\b <z\017\b\275R\020K\032\006\b\274\335\004\030\b ("
+1: "\b\276R\022\005AROUT\030\001\"\004\b\300\234\001*\004\b\370\234\0012\004\b\314\234\0018\002B\006\b\344\304,\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\276R\020/\032\006\b\230\346\005\030\b 2z\017\b\276R\0203\032\006\b\320\254 \030\b (z\017\b\276R\0204\032\006\b\360\242\004\030\b <z\017\b\276R\0205\032\006\b\300\202\024\030\b $z\017\b\276R\020I\032\006\b\360\223\t\030\b \006"
+1: "\b\277R\022\005BLONP\030\006\"\004\b\302\234\001*\004\b\372\234\0012\004\b\322\234\0018\001B\006\b\364\364\004\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\024\b\277R\020)\032\006\b\364\361\005\030\b \030-\315\314L=z\024\b\277R\0207\032\006\b\200\323\016\030\b $-\315\314L="
+1: "\b\300R\022\005FRANK\030\b\"\004\b\304\234\001*\004\b\374\234\0012\004\b\312\234\0018\001B\006\b\244\257\026\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\300R\020\036\032\006\b\324\346\017\030\b (z\024\b\300R\020>\032\006\b\310\213\036\030\b \036-\000\000\200>"
+1: "\b\301R\022\005FOLKO\030\002\"\004\b\304\234\001*\004\b\374\234\0012\004\b\312\234\0018\002B\a\b\324\352\223\001\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\301R\020,\032\006\b\304\357\v\030\b \024z\017\b\301R\0203\032\006\b\320\254 \030\b d"
+1: "\b\302R\022\005REGGC\030\001\"\004\b\312\234\001*\004\b\202\235\0012\004\b\320\234\0018\001B\006\b\374\200\016\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\302R\020!\032\006\b\250\303\001\030\b (-\315\314\314=z\024\b\302R\020>\032\006\b\310\213\036\030\b \024-\315\314\314="
+1: "\b\303R\022\005RICAR\030\002\"\004\b\314\234\001*\004\b\240\235\0012\004\b\350\234\0018\002B\006\b\214\361$\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\303R\020$\032\006\b\260\314\v\030\b 2z\020\b\303R\0204\032\006\b\360\242\004\030\b \214\001"
+1: "\b\304R\022\005RATTC\030\004\"\004\b\314\234\001*\004\b\204\235\0012\004\b\330\234\0018\003B\006\b\234\262\b\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\304R\020\021\032\006\b\360\346\027\030\b  -\315\314L=z\024\b\304R\020\037\032\006\b\310\320\a\030\b \f-\315\314L=z\024\b\304R\0207\032\006\b\200\323\016\030\b 2-\315\314L="
+1: "\b\305R\022\005MEREP\030\b\"\004\b\316\234\001*\004\b\206\235\0012\004\b\334\234\0018\002B\006\b\314\256\004\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\305R\020\030\032\006\b\310\337\002\030\b 2-\315\314\314=z\024\b\305R\020@\032\006\b\324\245\024\030\b $-\315\314\314="
+1: "\b\306R\022\005BLONP\030\t\"\004\b\320\234\001*\004\b\210\235\0012\004\b\334\234\0018\001B\006\b\240\3725\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\024\b\306R\020\v\032\006\b\320\350\f\030\b F-\232\231\031>z\024\b\306R\020\022\032\006\b\350\222&\030\b $-\232\231\031>z\017\b\306R\020L\032\006\b\240\376\n\030\b \024"
+1: "\b\307R\022\005HUNGO\030\001\"\004\b\320\234\001*\004\b\210\235\0012\004\b\332\234\0018\001B\006\b\364\335\024\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\307R\020\037\032\006\b\310\320\a\030\b x-\315\314L>z\017\b\307R\0203\032\006\b\320\254 \030\b \006z\024\b\307R\020;\032\006\b\360\310!\030\b P-\315\314L>"
+1: "\b\310R\022\005GALED\030\003\"\004\b\322\234\001*\004\b\212\235\0012\004\b\206\235\0018\003B\006\b\370\376\003\030\bJ\030Galer\303\255a del gastron\303\263moR\027Rambla de Catalu\303\261a, 23Z\tBarcelonaj\0048022r\005Spainz\017\b\310R\020\n\032\006\b\360\365\022\030\b \n"
+1: "\b\311R\022\005RATTC\030\005\"\004\b\330\234\001*\004\b\220\235\0012\004\b\212\235\0018\001B\006\b\350\377#\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\311R\020\037\032\006\b\310\320\a\030\b F-\315\314L>z\017\b\311R\020L\032\006\b\240\376\n\030\b <"
+1: "\b\312R\022\005MEREP\030\003\"\004\b\332\234\001*\004\b\222\235\0012\004\b\336\234\0018\003B\006\b\354\254s\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\312R\020\v\032\006\b\320\350\f\030\b \036-\315\314L=z\024\b\312R\0208\032\006\b\340\230\027\030\b x-\315\314L="
+1: "\b\313R\022\005ERNSH\030\b\"\004\b\332\234\001*\004\b\256\235\0012\004\b\374\234\0018\003B\006\b\370\363\017\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\313R\020\016\032\006\b\264\230\016\030\b \026-\232\231\031>z\024\b\313R\020*\032\006\b\340\305\b\030\b 8-\232\231\031>"
+1: "\b\314R\022\005BERGS\030\003\"\004\b\334\234\001*\004\b\224\235\0012\004\b\352\234\0018\002B\006\b\214\210G\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\314R\020\020\032\006\b\244\323\n\030\b \030-\315\314\314=z\024\b\314R\020 \032\006\b\200\304\023\030\b \024-\315\314\314=z\017\b\314R\020(\032\006\b\300\235\v\030\b dz\024\b\314R\020K\032\006\b\274\335\004\030\b \036-\315\314\314="
+1: "\b\315R\022\005ANTON\030\a\"\004\b\336\234\001*\004\b\226\235\0012\004\b\340\234\0018\003B\006\b\220\3443\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos  2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\017\b\315R\020\021\032\006\b\360\346\027\030\b $z\017\b\315R\020\"\032\006\b\340\305\b\030\b Pz\017\b\315R\0205\032\006\b\300\202\024\030\b 2"
+1: "\b\316R\022\005TRAIH\030\004\"\004\b\336\234\001*\004\b\226\235\0012\004\b\364\234\0018\002B\006\b\300\371\026\030\bJ!Trail\'s Head Gourmet ProvisionersR\021722 DaVinci Blvd.Z\bKirklandb\002WAj\00598034r\003USAz\017\b\316R\020!\032\006\b\250\303\001\030\b \034z\017\b\316R\020(\032\006\b\300\235\v\030\b \004z\017\b\316R\020>\032\006\b\310\213\036\030\b \024z\017\b\316R\020@\032\006\b\324\245\024\030\b \f"
+1: "\b\317R\022\005MORGK\030\005\"\004\b\340\234\001*\004\b\374\234\0012\004\b\364\234\0018\001B\006\b\270\334M\030\bJ\026Morgenstern GesundkostR\vHeerstr. 22Z\aLeipzigj\00504179r\aGermanyz\017\b\317R\020;\032\006\b\360\310!\030\b \030z\017\b\317R\020?\032\006\b\330\345\032\030\b \fz\017\b\317R\020H\032\006\b\340\236\025\030\b <z\017\b\317R\020L\032\006\b\240\376\n\030\b \024"
+1: "\b\320R\022\005TORTU\030\003\"\004\b\346\234\001*\004\b\202\235\0012\004\b\364\234\0018\003B\006\b\200\252\v\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\320R\020\001\032\006\b\240\376\n\030\b \024z\017\b\320R\020\037\032\006\b\310\320\a\030\b (z\017\b\320R\020,\032\006\b\304\357\v\030\b *"
+1: "\b\321R\022\005TRAIH\030\t\"\004\b\346\234\001*\004\b\272\235\0012\004\b\364\234\0018\002B\006\b\224\301\017\030\bJ!Trail\'s Head Gourmet ProvisionersR\021722 DaVinci Blvd.Z\bKirklandb\002WAj\00598034r\003USAz\017\b\321R\020\'\032\006\b\240\376\n\030\b \024z\017\b\321R\020K\032\006\b\274\335\004\030\b (z\017\b\321R\020M\032\006\b\320\367\a\030\b $"
+1: "\b\322R\022\005BSBEV\030\004\"\004\b\350\234\001*\004\b\240\235\0012\004\b\246\235\0018\003B\006\b\300\210\022\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\322R\020#\032\006\b\240\376\n\030\b (z\017\b\322R\0209\032\006\b\270\363\v\030\b \f"
+1: "\b\323R\022\005LETSS\030\001\"\004\b\352\234\001*\004\b\242\235\0012\004\b\374\234\0018\002B\006\b\324\260\b\030\bJ\021Let\'s Stop N ShopR\02387 Polk St. Suite 5Z\rSan Franciscob\002CAj\00594117r\003USAz\017\b\323R\020\017\032\006\b\370\272\t\030\b \024z\017\b\323R\020K\032\006\b\274\335\004\030\b *"
+1: "\b\324R\022\005OTTIK\030\004\"\004\b\354\234\001*\004\b\244\235\0012\004\b\366\234\0018\003B\006\b\364\250.\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\324R\020\016\032\006\b\264\230\016\030\b \036-\315\314L=z\024\b\324R\020)\032\006\b\364\361\005\030\b \022-\315\314L=z\024\b\324R\020A\032\006\b\304\354\f\030\b <-\315\314L="
+1: "\b\325R\022\005FAMIA\030\003\"\004\b\354\234\001*\004\b\244\235\0012\004\b\370\234\0018\001B\006\b\224\353\001\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\024\b\325R\020K\032\006\b\274\335\004\030\b d-\315\314L>"
+1: "\b\326R\022\005BLAUS\030\003\"\004\b\356\234\001*\004\b\246\235\0012\004\b\220\235\0018\002B\006\b\354\364\020\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\326R\0209\032\006\b\270\363\v\030\b \bz\017\b\326R\020L\032\006\b\240\376\n\030\b \034"
+1: "\b\327R\022\005WARTH\030\002\"\004\b\364\234\001*\004\b\254\235\0012\004\b\374\234\0018\002B\006\b\340\270\004\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\327R\020\035\032\006\b\214\307K\030\b \024z\024\b\327R\020<\032\006\b\240\340\024\030\b 0-\232\231\031>z\024\b\327R\020E\032\006\b\300\374\025\030\b \024-\232\231\031>"
+1: "\b\330R\022\005BLONP\030\004\"\004\b\364\234\001*\004\b\254\235\0012\004\b\374\234\0018\001B\006\b\250\214$\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\024\b\330R\020\037\032\006\b\310\320\a\030\b d-\315\314L="
+1: "\b\331R\022\005WELLI\030\a\"\004\b\366\234\001*\004\b\256\235\0012\004\b\210\235\0018\001B\006\b\324\227\b\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\017\b\331R\020/\032\006\b\230\346\005\030\b \036"
+1: "\b\332R\022\005REGGC\030\t\"\004\b\370\234\001*\004\b\260\235\0012\004\b\206\235\0018\001B\005\b\300%\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\332R\0204\032\006\b\360\242\004\030\b \b-\232\231\031>"
+1: "\b\333R\022\005QUEDE\030\001\"\004\b\370\234\001*\004\b\260\235\0012\004\b\206\235\0018\001B\006\b\260\224&\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\333R\020\032\032\006\b\354\207\023\030\b \fz\017\b\333R\020#\032\006\b\240\376\n\030\b (z\017\b\333R\020M\032\006\b\320\367\a\030\b ("
+1: "\b\334R\022\005QUICK\030\002\"\004\b\372\234\001*\004\b\262\235\0012\004\b\210\235\0018\003B\006\b\314\350v\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\334R\020\022\032\006\b\350\222&\030\b P-\315\314L>z\025\b\334R\020*\032\006\b\340\305\b\030\b \310\001-\315\314L>"
+1: "\b\335R\022\005GREAL\030\b\"\004\b\374\234\001*\004\b\264\235\0012\004\b\220\235\0018\002B\006\b\250\331\002\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\017\b\335R\020#\032\006\b\240\376\n\030\b \b"
+1: "\b\336R\022\005MEREP\030\004\"\004\b\202\235\001*\004\b\272\235\0012\004\b\220\235\0018\003B\006\b\324\251\033\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\336R\020\001\032\006\b\240\376\n\030\b (z\024\b\336R\020M\032\006\b\320\367\a\030\b x-\315\314L="
+1: "\b\337R\022\005VAFFE\030\001\"\004\b\202\235\001*\004\b\236\235\0012\004\b\224\235\0018\001B\006\b\340\220\"\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\337R\020\003\032\006\b\240\215\006\030\b \034z\017\b\337R\020\a\032\006\b\340\247\022\030\b \024z\017\b\337R\0206\032\006\b\204\306\004\030\b d"
+1: "\b\340R\022\005LEHMS\030\003\"\004\b\204\235\001*\004\b\274\235\0012\004\b\224\235\0018\001B\006\b\350\313\023\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\340R\020\017\032\006\b\370\272\t\030\b 2-\315\314L=z\024\b\340R\020\032\032\006\b\354\207\023\030\b \n-\315\314L="
+1: "\b\341R\022\005LEHMS\030\a\"\004\b\206\235\001*\004\b\276\235\0012\004\b\314\235\0018\002B\006\b\260\251j\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\341R\020\024\032\006\b\220\2701\030\b *-\315\314L>z\024\b\341R\020E\032\006\b\300\374\025\030\b (-\315\314L>z\024\b\341R\020L\032\006\b\240\376\n\030\b \b-\315\314L>"
+1: "\b\342R\022\005OLDWO\030\003\"\004\b\206\235\001*\004\b\276\235\0012\004\b\224\235\0018\002B\006\b\260\231\003\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\342R\0204\032\006\b\360\242\004\030\b 0z\017\b\342R\020:\032\006\b\224\213\b\030\b <"
+1: "\b\343R\022\005ERNSH\030\002\"\004\b\210\235\001*\004\b\300\235\0012\004\b\220\235\0018\001B\006\b\370\210;\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\343R\020#\032\006\b\240\376\n\030\b <-\000\000\200>z\025\b\343R\020=\032\006\b\310\262\021\030\b \360\001-\000\000\200>z\025\b\343R\020E\032\006\b\300\374\025\030\b \202\001-\000\000\200>"
+1: "\b\344R\022\005WHITC\030\b\"\004\b\212\235\001*\004\b\302\235\0012\004\b\312\235\0018\001B\006\b\310\374\t\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\024\b\344R\0208\032\006\b\340\230\027\030\b \n-\315\314L>z\024\b\344R\020?\032\006\b\330\345\032\030\b 0-\315\314L>z\024\b\344R\020K\032\006\b\274\335\004\030\b <-\315\314L>"
+1: "\b\345R\022\005PICCO\030\a\"\004\b\212\235\001*\004\b\302\235\0012\004\b\230\235\0018\003B\006\b\340\267\025\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\024\b\345R\020\030\032\006\b\310\337\002\030\b F-\315\314L>z\017\b\345R\0209\032\006\b\270\363\v\030\b (z\024\b\345R\020A\032\006\b\304\354\f\030\b \030-\315\314L>"
+1: "\b\346R\022\005RATTC\030\001\"\004\b\220\235\001*\004\b\310\235\0012\004\b\230\235\0018\003B\006\b\250\216\033\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\346R\020\033\032\006\b\330\345\032\030\b dz\017\b\346R\020G\032\006\b\330\217\r\030\b \022"
+1: "\b\347R\022\005BSBEV\030\006\"\004\b\222\235\001*\004\b\346\235\0012\004\b\236\235\0018\003B\006\b\230\246\022\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\347R\020>\032\006\b\310\213\036\030\b \024"
+1: "\b\350R\022\005HUNGC\030\004\"\004\b\224\235\001*\004\b\314\235\0012\004\b\236\235\0018\001B\006\b\344\305\033\030\bJ\032Hungry Coyote Import StoreR\036City Center Plaza 516 Main St.Z\005Elginb\002ORj\00597827r\003USAz\017\b\350R\0206\032\006\b\204\306\004\030\b \bz\017\b\350R\020I\032\006\b\360\223\t\030\b <"
+1: "\b\351R\022\005HILAA\030\a\"\004\b\224\235\001*\004\b\350\235\0012\004\b\240\235\0018\001B\006\b\330\312#\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\351R\020\r\032\006\b\340\324\003\030\b xz\017\b\351R\020;\032\006\b\360\310!\030\b F"
+1: "\b\352R\022\005VAFFE\030\b\"\004\b\226\235\001*\004\b\316\235\0012\004\b\240\235\0018\002B\006\b\220\344\001\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\024\b\352R\020M\032\006\b\320\367\a\030\b \n-\000\000\200>"
+1: "\b\353R\022\005SAVEA\030\b\"\004\b\230\235\001*\004\b\320\235\0012\004\b\302\235\0018\002B\006\b\224\342\035\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\353R\020\026\032\006\b\320\350\f\030\b `z\024\b\353R\0201\032\006\b\300\232\f\030\b 2-\315\314L="
+1: "\b\354R\022\005FURIB\030\001\"\004\b\230\235\001*\004\b\320\235\0012\004\b\256\235\0018\001B\006\b\350\306\004\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\354R\0200\032\006\b\214\344\a\030\b \f-\315\314\314=z\024\b\354R\020L\032\006\b\240\376\n\030\b \024-\315\314\314="
+1: "\b\355R\022\005MEREP\030\001\"\004\b\236\235\001*\004\b\326\235\0012\004\b\256\235\0018\002B\a\b\304\263\347\001\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\355R\020\020\032\006\b\244\323\n\030\b <-\315\314L=z\024\b\355R\020;\032\006\b\360\310!\030\b (-\315\314L=z\025\b\355R\020<\032\006\b\240\340\024\030\b \214\001-\315\314L=z\024\b\355R\020G\032\006\b\330\217\r\030\b \036-\315\314L="
+1: "\b\356R\022\005TRADH\030\004\"\004\b\240\235\001*\004\b\330\235\0012\004\b\262\235\0018\003B\006\b\220\2730\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\024\b\356R\020\004\032\006\b\340\266\r\030\b (-\315\314L>z\024\b\356R\0207\032\006\b\200\323\016\030\b (-\315\314L>z\024\b\356R\020>\032\006\b\310\213\036\030\b \024-\315\314L>"
+1: "\b\357R\022\005SAVEA\030\005\"\004\b\240\235\001*\004\b\330\235\0012\004\b\246\235\0018\001B\006\b\340\233z\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\357R\020\a\032\006\b\340\247\022\030\b Zz\020\b\357R\020\021\032\006\b\360\346\027\030\b \310\001z\017\b\357R\020!\032\006\b\250\303\001\030\b \034z\017\b\357R\020(\032\006\b\300\235\v\030\b Tz\017\b\357R\020H\032\006\b\340\236\025\030\b \030"
+1: "\b\360R\022\005TOMSP\030\004\"\004\b\242\235\001*\004\b\332\235\0012\004\b\264\235\0018\002B\006\b\214\373\020\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\017\b\360R\0208\032\006\b\340\230\027\030\b 8"
+1: "\b\361R\022\005DUMON\030\a\"\004\b\244\235\001*\004\b\334\235\0012\004\b\260\235\0018\002B\006\b\304\220\001\030\bJ\017Du monde entierR\03467, rue des Cinquante OtagesZ\006Nantesj\00544000r\006Francez\017\b\361R\020\001\032\006\b\240\376\n\030\b \006z\017\b\361R\020\n\032\006\b\360\365\022\030\b \024z\017\b\361R\020\025\032\006\b\240\215\006\030\b \f"
+1: "\b\362R\022\005LAMAI\030\b\"\004\b\246\235\001*\004\b\336\235\0012\004\b\276\235\0018\001B\006\b\230\254\020\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\362R\020$\032\006\b\260\314\v\030\b *-\000\000\200>"
+1: "\b\363R\022\005WOLZA\030\006\"\004\b\246\235\001*\004\b\336\235\0012\004\b\264\235\0018\002B\006\b\344\2341\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\363R\020\001\032\006\b\240\376\n\030\b \fz\017\b\363R\020\002\032\006\b\260\314\v\030\b \024z\017\b\363R\020<\032\006\b\240\340\024\030\b \036"
+1: "\b\364R\022\005SAVEA\030\001\"\004\b\254\235\001*\004\b\344\235\0012\004\b\264\235\0018\002B\a\b\240\212\314\002\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\020\b\364R\020\n\032\006\b\360\365\022\030\b \214\001z\017\b\364R\020$\032\006\b\260\314\v\030\b nz\017\b\364R\0201\032\006\b\300\232\f\030\b $z\017\b\364R\020<\032\006\b\240\340\024\030\b Pz\020\b\364R\020L\032\006\b\240\376\n\030\b \240\001"
+1: "\b\365R\022\005HILAA\030\004\"\004\b\256\235\001*\004\b\346\235\0012\004\b\264\235\0018\002B\006\b\314\371\004\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\365R\020\r\032\006\b\340\324\003\030\b \020-\315\314\314=z\017\b\365R\020K\032\006\b\274\335\004\030\b P"
+1: "\b\366R\022\005BLAUS\030\b\"\004\b\256\235\001*\004\b\346\235\0012\004\b\264\235\0018\003B\006\b\344\226\001\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\366R\020\v\032\006\b\320\350\f\030\b \034z\017\b\366R\020\025\032\006\b\240\215\006\030\b \020z\017\b\366R\020\'\032\006\b\240\376\n\030\b \n"
+1: "\b\367R\022\005WILMK\030\002\"\004\b\260\235\001*\004\b\350\235\0012\004\b\276\235\0018\003B\005\b\314:\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\367R\0207\032\006\b\200\323\016\030\b \n"
+1: "\b\370R\022\005GREAL\030\001\"\004\b\262\235\001*\004\b\352\235\0012\004\b\274\235\0018\002B\006\b\364\217G\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\025\b\370R\020&\032\a\b\370\351\240\001\030\b \036-\315\314L=z\017\b\370R\0208\032\006\b\340\230\027\030\b \034z\024\b\370R\020F\032\006\b\360\223\t\030\b \036-\315\314L=z\024\b\370R\020G\032\006\b\330\217\r\030\b \036-\315\314L="
+1: "\b\371R\022\005GREAL\030\004\"\004\b\262\235\001*\004\b\352\235\0012\004\b\272\235\0018\002B\006\b\324\247\v\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\024\b\371R\020;\032\006\b\360\310!\030\b <-\232\231\031>"
+1: "\b\372R\022\005MEREP\030\001\"\004\b\264\235\001*\004\b\210\236\0012\004\b\302\235\0018\001B\006\b\260\264^\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\020\b\372R\020\006\032\006\b\220\241\017\030\b \214\001z\017\b\372R\0208\032\006\b\340\230\027\030\b (z\017\b\372R\020D\032\006\b\310\320\a\030\b \036"
+1: "\b\373R\022\005MEREP\030\003\"\004\b\272\235\001*\004\b\362\235\0012\004\b\300\235\0018\003B\006\b\244\3117\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\373R\020\025\032\006\b\240\215\006\030\b Tz\017\b\373R\020\026\032\006\b\320\350\f\030\b P"
+1: "\b\374R\022\005LAUGB\030\002\"\004\b\274\235\001*\004\b\364\235\0012\004\b\316\235\0018\003B\005\b\270I\030\bJ\035Laughing Bacchus Wine CellarsR\f2319 Elm St.Z\tVancouverb\002BCj\aV3F 2K1r\006Canadaz\017\b\374R\020\030\032\006\b\310\337\002\030\b \nz\017\b\374R\0204\032\006\b\360\242\004\030\b \n"
+1: "\b\375R\022\005ISLAT\030\004\"\004\b\274\235\001*\004\b\364\235\0012\004\b\310\235\0018\002B\006\b\364\275\016\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\375R\020\023\032\006\b\340\316\005\030\b \nz\017\b\375R\020\027\032\006\b\220\277\005\030\b \024z\017\b\375R\020F\032\006\b\360\223\t\030\b (z\017\b\375R\020G\032\006\b\330\217\r\030\b \036"
+1: "\b\376R\022\005RICAR\030\004\"\004\b\276\235\001*\004\b\366\235\0012\004\b\310\235\0018\003B\006\b\204\216\037\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\376R\020\002\032\006\b\260\314\v\030\b (z\024\b\376R\020D\032\006\b\310\320\a\030\b $-\315\314L>"
+1: "\b\377R\022\005FRANK\030\b\"\004\b\300\235\001*\004\b\370\235\0012\004\b\312\235\0018\002B\006\b\230\250;\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\377R\020\016\032\006\b\264\230\016\030\b *z\024\b\377R\020\023\032\006\b\340\316\005\030\b \036-\315\314\314=z\024\b\377R\020\025\032\006\b\240\215\006\030\b 2-\315\314\314=z\017\b\377R\020\030\032\006\b\310\337\002\030\b \006z\024\b\377R\020#\032\006\b\240\376\n\030\b <-\315\314\314="
+1: "\b\200S\022\005THECR\030\004\"\004\b\300\235\001*\004\b\370\235\0012\004\b\330\235\0018\002B\006\b\240\3569\030\bJ\017The Cracker BoxR\02355 Grizzly Peak Rd.Z\005Butteb\002MTj\00559801r\003USAz\017\b\200S\020\034\032\006\b\300\352\033\030\b \024z\017\b\200S\020\035\032\006\b\214\307K\030\b \fz\017\b\200S\020,\032\006\b\304\357\v\030\b \024"
+1: "\b\201S\022\005ANATR\030\003\"\004\b\302\235\001*\004\b\372\235\0012\004\b\316\235\0018\001B\006\b\330\345\032\030\bJ\"Ana Trujillo Emparedados y heladosR\036Avda. de la Constituci\303\263n 2222Z\fM\303\251xico D.F.j\00505021r\006Mexicoz\017\b\201S\020\016\032\006\b\264\230\016\030\b \006z\017\b\201S\020*\032\006\b\340\305\b\030\b \nz\017\b\201S\020<\032\006\b\240\340\024\030\b \024"
+1: "\b\202S\022\005BERGS\030\001\"\004\b\310\235\001*\004\b\200\236\0012\004\b\332\235\0018\002B\006\b\224\323T\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\202S\0205\032\006\b\300\202\024\030\b \030z\017\b\202S\020<\032\006\b\240\340\024\030\b (z\017\b\202S\020G\032\006\b\330\217\r\030\b ("
+1: "\b\203S\022\005SAVEA\030\b\"\004\b\310\235\001*\004\b\234\236\0012\004\b\334\235\0018\003B\006\b\250\313A\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\203S\020>\032\006\b\310\213\036\030\b \036z\024\b\203S\020I\032\006\b\360\223\t\030\b F-\232\231\031>"
+1: "\b\204S\022\005BLONP\030\004\"\004\b\312\235\001*\004\b\202\236\0012\004\b\332\235\0018\003B\006\b\360\303\022\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\204S\020\001\032\006\b\240\376\n\030\b 2"
+1: "\b\205S\022\005GODOS\030\004\"\004\b\312\235\001*\004\b\202\236\0012\004\b\332\235\0018\003B\006\b\310\2244\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\205S\020\035\032\006\b\214\307K\030\b (z\017\b\205S\020@\032\006\b\324\245\024\030\b \022"
+1: "\b\206S\022\005KOENE\030\001\"\004\b\314\235\001*\004\b\204\236\0012\004\b\330\235\0018\002B\006\b\254\337\023\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\206S\0207\032\006\b\200\323\016\030\b \030-\315\314L=z\017\b\206S\020L\032\006\b\240\376\n\030\b F"
+1: "\b\207S\022\005LAMAI\030\b\"\004\b\316\235\001*\004\b\206\236\0012\004\b\320\235\0018\001B\005\b\374C\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\207S\020K\032\006\b\274\335\004\030\b \020-\315\314\314="
+1: "\b\210S\022\005WANDK\030\b\"\004\b\316\235\001*\004\b\206\236\0012\004\b\330\235\0018\001B\006\b\350\240\031\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\210S\020\002\032\006\b\260\314\v\030\b <-\315\314L=z\024\b\210S\020!\032\006\b\250\303\001\030\b (-\315\314L="
+1: "\b\211S\022\005ERNSH\030\a\"\004\b\320\235\001*\004\b\210\236\0012\004\b\326\235\0018\003B\a\b\370\327\243\002\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\211S\020\f\032\006\b\340\230\027\030\b H-\232\231\031>z\024\b\211S\020\r\032\006\b\340\324\003\030\b \032-\232\231\031>z\024\b\211S\020\032\032\006\b\354\207\023\030\b F-\232\231\031>z\025\b\211S\020>\032\006\b\310\213\036\030\b \240\001-\232\231\031>"
+1: "\b\212S\022\005FOLIG\030\004\"\004\b\320\235\001*\004\b\210\236\0012\004\b\334\235\0018\003B\a\b\310\274\251\002\030\bJ\021Folies gourmandesR\031184, chauss\303\251e de TournaiZ\005Lillej\00559000r\006Francez\017\b\212S\020\a\032\006\b\340\247\022\030\b Fz\017\b\212S\020\022\032\006\b\350\222&\030\b dz\017\b\212S\0203\032\006\b\320\254 \030\b \036z\017\b\212S\020K\032\006\b\274\335\004\030\b \004"
+1: "\b\213S\022\005MAGAA\030\b\"\004\b\326\235\001*\004\b\216\236\0012\004\b\334\235\0018\003B\006\b\350\373\034\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\024\b\213S\020\004\032\006\b\340\266\r\030\b \024-\315\314\314=z\024\b\213S\020\005\032\006\b\374\203\r\030\b \036-\315\314\314=z\017\b\213S\020\026\032\006\b\320\350\f\030\b P"
+1: "\b\214S\022\005WARTH\030\004\"\004\b\330\235\001*\004\b\220\236\0012\004\b\346\235\0018\001B\005\b\354Y\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\214S\020\004\032\006\b\340\266\r\030\b 2z\017\b\214S\020:\032\006\b\224\213\b\030\b \f"
+1: "\b\215S\022\005QUEEN\030\006\"\004\b\330\235\001*\004\b\220\236\0012\004\b\346\235\0018\001B\006\b\344\355z\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\215S\020\v\032\006\b\320\350\f\030\b \024z\024\b\215S\0202\032\006\b\304\365\t\030\b 2-\315\314L=z\024\b\215S\0208\032\006\b\340\230\027\030\b x-\315\314L="
+1: "\b\216S\022\005LINOD\030\003\"\004\b\332\235\001*\004\b\222\236\0012\004\b\362\235\0018\001B\006\b\220\332`\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\216S\020-\032\006\b\230\346\005\030\b (z\017\b\216S\020A\032\006\b\304\354\f\030\b *z\017\b\216S\020H\032\006\b\340\236\025\030\b x"
+1: "\b\217S\022\005SANTG\030\a\"\004\b\332\235\001*\004\b\222\236\0012\004\b\350\235\0018\003B\006\b\340\312\027\030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\217S\020\022\032\006\b\350\222&\030\b \020"
+1: "\b\220S\022\005WANDK\030\004\"\004\b\334\235\001*\004\b\224\236\0012\004\b\352\235\0018\001B\006\b\354\257\016\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\220S\020E\032\006\b\300\374\025\030\b (-\000\000\200>z\024\b\220S\020F\032\006\b\360\223\t\030\b \036-\000\000\200>"
+1: "\b\221S\022\005HILAA\030\004\"\004\b\336\235\001*\004\b\226\236\0012\004\b\346\235\0018\002B\006\b\204\320m\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\221S\020\002\032\006\b\260\314\v\030\b dz\017\b\221S\020(\032\006\b\300\235\v\030\b x"
+1: "\b\222S\022\005SIMOB\030\a\"\004\b\336\235\001*\004\b\226\236\0012\004\b\372\235\0018\003B\006\b\324\310\031\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\024\b\222S\020\025\032\006\b\240\215\006\030\b <-\315\314L>z\024\b\222S\020=\032\006\b\310\262\021\030\b (-\315\314L>"
+1: "\b\223S\022\005ALFKI\030\006\"\004\b\344\235\001*\004\b\234\236\0012\004\b\364\235\0018\001B\006\b\310\375\021\030\bJ\023Alfreds FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\024\b\223S\020\034\032\006\b\300\352\033\030\b \036-\000\000\200>z\024\b\223S\020\'\032\006\b\240\376\n\030\b *-\000\000\200>z\024\b\223S\020.\032\006\b\300\251\a\030\b \004-\000\000\200>"
+1: "\b\224S\022\005WELLI\030\003\"\004\b\344\235\001*\004\b\234\236\0012\004\b\362\235\0018\002B\005\b\370\n\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\224S\020\022\032\006\b\350\222&\030\b \b-\315\314\314=z\017\b\224S\020+\032\006\b\340\211\034\030\b (z\024\b\224S\020.\032\006\b\300\251\a\030\b *-\315\314\314="
+1: "\b\225S\022\005HANAR\030\004\"\004\b\346\235\001*\004\b\236\236\0012\004\b\364\235\0018\001B\006\b\304\311\a\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\225S\020\022\032\006\b\350\222&\030\b (z\017\b\225S\020$\032\006\b\260\314\v\030\b \036"
+1: "\b\226S\022\005HUNGO\030\t\"\004\b\350\235\001*\004\b\274\236\0012\004\b\366\235\0018\003B\006\b\304\357V\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\226S\020\001\032\006\b\240\376\n\030\b \036-\000\000\200>z\024\b\226S\020\n\032\006\b\360\365\022\030\b $-\000\000\200>z\024\b\226S\020G\032\006\b\330\217\r\030\b <-\000\000\200>z\024\b\226S\020M\032\006\b\320\367\a\030\b F-\000\000\200>"
+1: "\b\227S\022\005QUEDE\030\004\"\004\b\350\235\001*\004\b\204\236\0012\004\b\366\235\0018\002B\006\b\350\345\033\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\227S\020\023\032\006\b\340\316\005\030\b <z\017\b\227S\020\'\032\006\b\240\376\n\030\b ("
+1: "\b\230S\022\005RICAR\030\005\"\004\b\352\235\001*\004\b\276\236\0012\004\b\202\236\0018\002B\006\b\244\331\b\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\230S\020\026\032\006\b\320\350\f\030\b \036z\024\b\230S\020\030\032\006\b\310\337\002\030\b \036-\232\231\031>"
+1: "\b\231S\022\005MAISD\030\005\"\004\b\352\235\001*\004\b\242\236\0012\004\b\354\235\0018\003B\006\b\260\344\003\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\017\b\231S\020\034\032\006\b\300\352\033\030\b (z\017\b\231S\020H\032\006\b\340\236\025\030\b \036"
+1: "\b\232S\022\005FAMIA\030\005\"\004\b\354\235\001*\004\b\244\236\0012\004\b\366\235\0018\003B\006\b\244\365k\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\017\b\232S\020\036\032\006\b\324\346\017\030\b <z\024\b\232S\0205\032\006\b\300\202\024\030\b 2-\315\314L=z\017\b\232S\0206\032\006\b\204\306\004\030\b <"
+1: "\b\233S\022\005WANDK\030\b\"\004\b\362\235\001*\004\b\252\236\0012\004\b\206\236\0018\002B\006\b\260\311\f\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\233S\020\023\032\006\b\340\316\005\030\b \030-\000\000\200>z\024\b\233S\020\026\032\006\b\320\350\f\030\b (-\000\000\200>"
+1: "\b\234S\022\005GOURL\030\004\"\004\b\362\235\001*\004\b\252\236\0012\004\b\200\236\0018\002B\006\b\350\255\004\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\024\b\234S\020\036\032\006\b\324\346\017\030\b \004-\000\000\200>z\017\b\234S\020*\032\006\b\340\305\b\030\b ("
+1: "\b\235S\022\005FRANK\030\001\"\004\b\364\235\001*\004\b\254\236\0012\004\b\226\236\0018\001B\006\b\224\3658\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\235S\020\020\032\006\b\244\323\n\030\b <-\315\314\314=z\024\b\235S\020<\032\006\b\240\340\024\030\b (-\315\314\314="
+1: "\b\236S\022\005BERGS\030\005\"\004\b\364\235\001*\004\b\254\236\0012\004\b\206\236\0018\001B\006\b\230\335!\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\236S\020\004\032\006\b\340\266\r\030\b \030-\315\314\314=z\024\b\236S\020\'\032\006\b\240\376\n\030\b (-\315\314\314=z\024\b\236S\0206\032\006\b\204\306\004\030\b \f-\315\314\314="
+1: "\b\237S\022\005REGGC\030\001\"\004\b\366\235\001*\004\b\256\236\0012\004\b\206\236\0018\002B\006\b\304\330\002\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\237S\020)\032\006\b\364\361\005\030\b (-\315\314L>"
+1: "\b\240S\022\005GREAL\030\006\"\004\b\370\235\001*\004\b\260\236\0012\004\b\204\236\0018\001B\006\b\354\360\"\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\024\b\240S\020\016\032\006\b\264\230\016\030\b \006-\315\314\314=z\024\b\240S\020,\032\006\b\304\357\v\030\b 8-\315\314\314=z\024\b\240S\020/\032\006\b\230\346\005\030\b \f-\315\314\314="
+1: "\b\241S\022\005SAVEA\030\002\"\004\b\370\235\001*\004\b\260\236\0012\004\b\216\236\0018\002B\a\b\364\241\327\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\241S\020\017\032\006\b\370\272\t\030\b dz\017\b\241S\020)\032\006\b\364\361\005\030\b 0z\017\b\241S\020.\032\006\b\300\251\a\030\b Zz\017\b\241S\020/\032\006\b\230\346\005\030\b \024z\017\b\241S\0208\032\006\b\340\230\027\030\b Zz\017\b\241S\020<\032\006\b\240\340\024\030\b <"
+1: "\b\242S\022\005QUICK\030\004\"\004\b\372\235\001*\004\b\262\236\0012\004\b\200\236\0018\001B\a\b\234\241\336\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\242S\020\025\032\006\b\240\215\006\030\b xz\025\b\242S\020(\032\006\b\300\235\v\030\b \214\001-\315\314L=z\024\b\242S\020<\032\006\b\240\340\024\030\b n-\315\314L=z\025\b\242S\020M\032\006\b\320\367\a\030\b \214\001-\315\314L="
+1: "\b\243S\022\005QUEEN\030\a\"\004\b\372\235\001*\004\b\262\236\0012\004\b\204\236\0018\002B\006\b\264\312@\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\243S\020\037\032\006\b\310\320\a\030\b (-\315\314L=z\024\b\243S\020(\032\006\b\300\235\v\030\b 0-\315\314L=z\024\b\243S\020F\032\006\b\360\223\t\030\b P-\315\314L="
+1: "\b\244S\022\005HUNGC\030\b\"\004\b\200\236\001*\004\b\270\236\0012\004\b\312\236\0018\001B\006\b\304\366C\030\bJ\032Hungry Coyote Import StoreR\036City Center Plaza 516 Main St.Z\005Elginb\002ORj\00597827r\003USAz\017\b\244S\020\024\032\006\b\220\2701\030\b *"
+1: "\b\245S\022\005HUNGO\030\a\"\004\b\202\236\001*\004\b\272\236\0012\004\b\216\236\0018\003B\006\b\214\333\n\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\245S\020\'\032\006\b\240\376\n\030\b \006-\315\314L>z\024\b\245S\020:\032\006\b\224\213\b\030\b b-\315\314L>"
+1: "\b\246S\022\005LONEP\030\003\"\004\b\202\236\001*\004\b\272\236\0012\004\b\224\236\0018\002B\005\b\200d\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\246S\020D\032\006\b\310\320\a\030\b \024"
+1: "\b\247S\022\005BONAP\030\002\"\004\b\204\236\001*\004\b\240\236\0012\004\b\262\236\0018\002B\006\b\354\207E\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\247S\020(\032\006\b\300\235\v\030\b <-\315\314L=z\024\b\247S\020*\032\006\b\340\305\b\030\b <-\315\314L=z\024\b\247S\0203\032\006\b\320\254 \030\b (-\315\314L="
+1: "\b\250S\022\005FURIB\030\001\"\004\b\204\236\001*\004\b\274\236\0012\004\b\226\236\0018\003B\005\b\234c\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\250S\020\n\032\006\b\360\365\022\030\b 0-\232\231\031>z\024\b\250S\0208\032\006\b\340\230\027\030\b \030-\232\231\031>z\024\b\250S\020A\032\006\b\304\354\f\030\b \036-\232\231\031>"
+1: "\b\251S\022\005LONEP\030\001\"\004\b\206\236\001*\004\b\276\236\0012\004\b\222\236\0018\002B\006\b\274\207\020\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\251S\0203\032\006\b\320\254 \030\b (z\017\b\251S\020;\032\006\b\360\310!\030\b \002z\017\b\251S\020L\032\006\b\240\376\n\030\b \024"
+1: "\b\252S\022\005RICSU\030\a\"\004\b\210\236\001*\004\b\300\236\0012\004\b\234\236\0018\002B\a\b\350\355\215\001\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\017\b\252S\020\035\032\006\b\214\307K\030\b Hz\017\b\252S\020A\032\006\b\304\354\f\030\b \024"
+1: "\b\253S\022\005ERNSH\030\a\"\004\b\210\236\001*\004\b\300\236\0012\004\b\226\236\0018\001B\006\b\344\324/\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\253S\020E\032\006\b\300\374\025\030\b Z-\315\314L>z\024\b\253S\020G\032\006\b\330\217\r\030\b \034-\315\314L>"
+1: "\b\254S\022\005WANDK\030\001\"\004\b\216\236\001*\004\b\306\236\0012\004\b\236\236\0018\002B\006\b\210\351\034\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\254S\020\037\032\006\b\310\320\a\030\b \020-\315\314\314=z\024\b\254S\0207\032\006\b\200\323\016\030\b \b-\315\314\314=z\024\b\254S\020@\032\006\b\324\245\024\030\b \036-\315\314\314="
+1: "\b\255S\022\005SIMOB\030\002\"\004\b\216\236\001*\004\b\306\236\0012\004\b\234\236\0018\001B\006\b\274\361\016\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\017\b\255S\020$\032\006\b\260\314\v\030\b <"
+1: "\b\256S\022\005FRANK\030\004\"\004\b\220\236\001*\004\b\310\236\0012\004\b\224\236\0018\001B\006\b\360\230|\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\256S\020\027\032\006\b\220\277\005\030\b @z\017\b\256S\020.\032\006\b\300\251\a\030\b xz\017\b\256S\020C\032\006\b\340\305\b\030\b 2z\017\b\256S\020I\032\006\b\360\223\t\030\b dz\017\b\256S\020K\032\006\b\274\335\004\030\b 2"
+1: "\b\257S\022\005FRANR\030\001\"\004\b\222\236\001*\004\b\312\236\0012\004\b\240\236\0018\001B\006\b\250\302\022\030\bJ\023France restaurationR\01654, rue RoyaleZ\006Nantesj\00544000r\006Francez\017\b\257S\020\020\032\006\b\244\323\n\030\b \024z\017\b\257S\020>\032\006\b\310\213\036\030\b \024z\017\b\257S\020A\032\006\b\304\354\f\030\b \030"
+1: "\b\260S\022\005BERGS\030\t\"\004\b\222\236\001*\004\b\256\236\0012\004\b\244\236\0018\002B\006\b\274\270:\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\025\b\260S\020&\032\a\b\370\351\240\001\030\b \036-\315\314\314=z\017\b\260S\020G\032\006\b\330\217\r\030\b \030"
+1: "\b\261S\022\005WILMK\030\002\"\004\b\224\236\001*\004\b\314\236\0012\004\b\226\236\0018\001B\006\b\220\362\r\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\261S\020\020\032\006\b\244\323\n\030\b \006z\017\b\261S\020*\032\006\b\340\305\b\030\b \fz\017\b\261S\020+\032\006\b\340\211\034\030\b \f"
+1: "\b\262S\022\005ISLAT\030\004\"\004\b\224\236\001*\004\b\314\236\0012\004\b\254\236\0018\002B\005\b\250F\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\262S\020\027\032\006\b\220\277\005\030\b \n"
+1: "\b\263S\022\005FRANK\030\005\"\004\b\226\236\001*\004\b\316\236\0012\004\b\236\236\0018\002B\006\b\244\270\023\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\263S\020\016\032\006\b\264\230\016\030\b <z\017\b\263S\0205\032\006\b\300\202\024\030\b \024z\017\b\263S\020:\032\006\b\224\213\b\030\b <"
+1: "\b\264S\022\005TORTU\030\002\"\004\b\234\236\001*\004\b\324\236\0012\004\b\252\236\0018\002B\006\b\204\235\001\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\264S\020\n\032\006\b\360\365\022\030\b \004z\017\b\264S\020\023\032\006\b\340\316\005\030\b \016z\017\b\264S\020,\032\006\b\304\357\v\030\b *"
+1: "\b\265S\022\005ANTON\030\001\"\004\b\234\236\001*\004\b\324\236\0012\004\b\244\236\0018\003B\006\b\354\272\002\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos  2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\024\b\265S\020\032\032\006\b\354\207\023\030\b <-\232\231\031>z\024\b\265S\020!\032\006\b\250\303\001\030\b \020-\232\231\031>"
+1: "\b\266S\022\005SAVEA\030\a\"\004\b\236\236\001*\004\b\326\236\0012\004\b\314\236\0018\003B\a\b\210\265\355\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\020\b\266S\020\f\032\006\b\340\230\027\030\b \310\001z\017\b\266S\020!\032\006\b\250\303\001\030\b <z\020\b\266S\020)\032\006\b\364\361\005\030\b \360\001z\017\b\266S\0206\032\006\b\204\306\004\030\b <"
+1: "\b\267S\022\005BLONP\030\b\"\004\b\236\236\001*\004\b\326\236\0012\004\b\254\236\0018\003B\006\b\350\206\021\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\267S\020;\032\006\b\360\310!\030\b \030"
+1: "\b\270S\022\005OLDWO\030\001\"\004\b\240\236\001*\004\b\330\236\0012\004\b\244\236\0018\001B\006\b\364\236\020\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\024\b\270S\020\020\032\006\b\244\323\n\030\b d-\000\000\200>z\024\b\270S\020\037\032\006\b\310\320\a\030\b (-\000\000\200>z\024\b\270S\020*\032\006\b\340\305\b\030\b P-\000\000\200>"
+1: "\b\271S\022\005GREAL\030\003\"\004\b\242\236\001*\004\b\332\236\0012\004\b\254\236\0018\003B\006\b\324\273.\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\024\b\271S\020\023\032\006\b\340\316\005\030\b <-\315\314\314=z\024\b\271S\020\025\032\006\b\240\215\006\030\b \030-\315\314\314=z\017\b\271S\020@\032\006\b\324\245\024\030\b 8"
+1: "\b\272S\022\005ANTON\030\003\"\004\b\242\236\001*\004\b\332\236\0012\004\b\256\236\0018\002B\006\b\324\206\026\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos  2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\017\b\272S\020!\032\006\b\250\303\001\030\b <z\017\b\272S\020B\032\006\b\220\260\n\030\b \bz\017\b\272S\020K\032\006\b\274\335\004\030\b <"
+1: "\b\273S\022\005DUMON\030\002\"\004\b\244\236\001*\004\b\334\236\0012\004\b\256\236\0018\001B\006\b\340\327\002\030\bJ\017Du monde entierR\03467, rue des Cinquante OtagesZ\006Nantesj\00544000r\006Francez\017\b\273S\0204\032\006\b\360\242\004\030\b \022"
+1: "\b\274S\022\005OTTIK\030\003\"\004\b\244\236\001*\004\b\334\236\0012\004\b\254\236\0018\001B\006\b\254\361X\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\017\b\274S\020(\032\006\b\300\235\v\030\b (z\017\b\274S\020/\032\006\b\230\346\005\030\b Pz\017\b\274S\020<\032\006\b\240\340\024\030\b <"
+1: "\b\275S\022\005GOURL\030\004\"\004\b\252\236\001*\004\b\306\236\0012\004\b\262\236\0018\002B\006\b\334\314\024\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\017\b\275S\020\n\032\006\b\360\365\022\030\b (z\017\b\275S\020)\032\006\b\364\361\005\030\b \bz\017\b\275S\020/\032\006\b\230\346\005\030\b \036"
+1: "\b\276S\022\005PICCO\030\002\"\004\b\254\236\001*\004\b\344\236\0012\004\b\274\236\0018\001B\006\b\210\363:\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\024\b\276S\020\021\032\006\b\360\346\027\030\b <-\315\314L>z\017\b\276S\020\032\032\006\b\354\207\023\030\b \036"
+1: "\b\277S\022\005HUNGO\030\t\"\004\b\254\236\001*\004\b\344\236\0012\004\b\350\236\0018\002B\a\b\314\366\264\001\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\277S\020\t\032\006\b\220\232;\030\b d-\000\000\200>z\017\b\277S\020\035\032\006\b\214\307K\030\b \024z\024\b\277S\020$\032\006\b\260\314\v\030\b \f-\000\000\200>"
+1: "\b\300S\022\005VAFFE\030\004\"\004\b\256\236\001*\004\b\312\236\0012\004\b\272\236\0018\002B\a\b\264\306\266\001\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\024\b\300S\020\n\032\006\b\360\365\022\030\b $-\315\314\314=z\024\b\300S\020\034\032\006\b\300\352\033\030\b x-\315\314\314=z\017\b\300S\020\"\032\006\b\340\305\b\030\b \034"
+1: "\b\301S\022\005BERGS\030\001\"\004\b\256\236\001*\004\b\346\236\0012\004\b\272\236\0018\002B\006\b\270\230\b\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\301S\020\001\032\006\b\240\376\n\030\b F-\000\000\200>"
+1: "\b\302S\022\005HANAR\030\001\"\004\b\260\236\001*\004\b\350\236\0012\004\b\262\236\0018\001B\006\b\260\322\t\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\024\b\302S\0208\032\006\b\340\230\027\030\b (-\000\000\200>z\024\b\302S\020M\032\006\b\320\367\a\030\b <-\000\000\200>"
+1: "\b\303S\022\005QUICK\030\002\"\004\b\262\236\001*\004\b\206\237\0012\004\b\330\236\0018\002B\a\b\224\265\356\003\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\303S\020\001\032\006\b\240\376\n\030\b <z\017\b\303S\020\035\032\006\b\214\307K\030\b Pz\017\b\303S\020+\032\006\b\340\211\034\030\b Pz\017\b\303S\020,\032\006\b\304\357\v\030\b 0z\017\b\303S\020>\032\006\b\310\213\036\030\b `"
+1: "\b\304S\022\005ALFKI\030\004\"\004\b\262\236\001*\004\b\352\236\0012\004\b\306\236\0018\002B\006\b\230\237%\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\017\b\304S\020?\032\006\b\330\345\032\030\b ("
+1: "\b\305S\022\005WHITC\030\003\"\004\b\270\236\001*\004\b\324\236\0012\004\b\300\236\0018\003B\006\b\370\205U\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\305S\020\t\032\006\b\220\232;\030\b \fz\024\b\305S\0206\032\006\b\204\306\004\030\b x-\232\231\031>z\024\b\305S\020E\032\006\b\300\374\025\030\b <-\232\231\031>z\024\b\305S\020I\032\006\b\360\223\t\030\b \036-\232\231\031>"
+1: "\b\306S\022\005QUICK\030\b\"\004\b\270\236\001*\004\b\360\236\0012\004\b\276\236\0018\003B\a\b\360\221\363\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\020\b\306S\020\a\032\006\b\340\247\022\030\b \264\001z\017\b\306S\020;\032\006\b\360\310!\030\b 2z\017\b\306S\020F\032\006\b\360\223\t\030\b d"
+1: "\b\307S\022\005WILMK\030\a\"\004\b\272\236\001*\004\b\216\237\0012\004\b\310\236\0018\001B\006\b\240\232\n\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\307S\020\b\032\006\b\200\265\030\030\b \024z\017\b\307S\020\f\032\006\b\340\230\027\030\b \bz\017\b\307S\020\030\032\006\b\310\337\002\030\b ("
+1: "\b\310S\022\005WHITC\030\b\"\004\b\274\236\001*\004\b\220\237\0012\004\b\310\236\0018\003B\006\b\334\313>\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\310S\020\021\032\006\b\360\346\027\030\b (z\017\b\310S\020.\032\006\b\300\251\a\030\b $"
+1: "\b\311S\022\005LINOD\030\003\"\004\b\274\236\001*\004\b\364\236\0012\004\b\310\236\0018\001B\006\b\240\344\033\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\311S\020\023\032\006\b\340\316\005\030\b \016-\000\000\200>z\024\b\311S\020#\032\006\b\240\376\n\030\b \022-\000\000\200>z\024\b\311S\020:\032\006\b\224\213\b\030\b <-\000\000\200>z\024\b\311S\020F\032\006\b\360\223\t\030\b <-\000\000\200>"
+1: "\b\312S\022\005ERNSH\030\004\"\004\b\276\236\001*\004\b\366\236\0012\004\b\316\236\0018\001B\a\b\334\246\246\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\312S\020\v\032\006\b\320\350\f\030\b \036z\024\b\312S\020\021\032\006\b\360\346\027\030\b \020-\315\314L=z\024\b\312S\020\035\032\006\b\214\307K\030\b \030-\315\314L=z\025\b\312S\020A\032\006\b\304\354\f\030\b \202\001-\315\314L=z\024\b\312S\020F\032\006\b\360\223\t\030\b \020-\315\314L="
+1: "\b\313S\022\005MORGK\030\003\"\004\b\276\236\001*\004\b\366\236\0012\004\b\306\236\0018\003B\005\b\250-\030\bJ\026Morgenstern GesundkostR\vHeerstr. 22Z\aLeipzigj\00504179r\aGermanyz\017\b\313S\020/\032\006\b\230\346\005\030\b \030"
+1: "\b\314S\022\005SAVEA\030\003\"\004\b\300\236\001*\004\b\370\236\0012\004\b\314\236\0018\001B\006\b\370\335\'\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\314S\020\001\032\006\b\240\376\n\030\b \n-\315\314L>z\024\b\314S\020\"\032\006\b\340\305\b\030\b \030-\315\314L>z\024\b\314S\020D\032\006\b\310\320\a\030\b P-\315\314L>z\024\b\314S\020G\032\006\b\330\217\r\030\b x-\315\314L>"
+1: "\b\315S\022\005HUNGO\030\006\"\004\b\306\236\001*\004\b\342\236\0012\004\b\312\236\0018\003B\a\b\334\273\206\001\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\315S\020;\032\006\b\360\310!\030\b T-\232\231\031>z\024\b\315S\020G\032\006\b\330\217\r\030\b (-\232\231\031>z\024\b\315S\020L\032\006\b\240\376\n\030\b F-\232\231\031>"
+1: "\b\316S\022\005ALFKI\030\004\"\004\b\306\236\001*\004\b\232\237\0012\004\b\326\236\0018\001B\006\b\250\316\016\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\017\b\316S\020\003\032\006\b\240\215\006\030\b \fz\017\b\316S\020L\032\006\b\240\376\n\030\b \036"
+1: "\b\317S\022\005FOLKO\030\006\"\004\b\310\236\001*\004\b\200\237\0012\004\b\324\236\0018\002B\006\b\270\372\\\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\317S\020\002\032\006\b\260\314\v\030\b \nz\017\b\317S\020;\032\006\b\360\310!\030\b Fz\017\b\317S\020I\032\006\b\360\223\t\030\b F"
+1: "\b\320S\022\005QUEEN\030\006\"\004\b\310\236\001*\004\b\200\237\0012\004\b\370\236\0018\001B\006\b\270\365\002\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\320S\020\004\032\006\b\340\266\r\030\b \fz\017\b\320S\020\030\032\006\b\310\337\002\030\b Fz\017\b\320S\0200\032\006\b\214\344\a\030\b 0"
+1: "\b\321S\022\005HILAA\030\t\"\004\b\312\236\001*\004\b\202\237\0012\004\b\216\237\0018\002B\006\b\200\223\002\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\321S\020\037\032\006\b\310\320\a\030\b (z\017\b\321S\020 \032\006\b\200\304\023\030\b \b"
+1: "\b\322S\022\005OLDWO\030\b\"\004\b\314\236\001*\004\b\204\237\0012\004\b\326\236\0018\003B\006\b\214\344R\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\322S\020\020\032\006\b\244\323\n\030\b (z\017\b\322S\020+\032\006\b\340\211\034\030\b 0z\017\b\322S\020;\032\006\b\360\310!\030\b \020"
+1: "\b\323S\022\005AROUT\030\004\"\004\b\314\236\001*\004\b\350\236\0012\004\b\332\236\0018\003B\006\b\270\242\r\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\323S\0207\032\006\b\200\323\016\030\b *z\017\b\323S\0209\032\006\b\270\363\v\030\b Pz\024\b\323S\020F\032\006\b\360\223\t\030\b 8-\232\231\031>"
+1: "\b\324S\022\005THEBI\030\006\"\004\b\316\236\001*\004\b\242\237\0012\004\b\364\236\0018\002B\006\b\240\347\001\030\bJ\016The Big CheeseR\03089 Jefferson Way Suite 2Z\bPortlandb\002ORj\00597201r\003USAz\017\b\324S\020\005\032\006\b\374\203\r\030\b \bz\017\b\324S\020$\032\006\b\260\314\v\030\b \n"
+1: "\b\325S\022\005GOURL\030\001\"\004\b\316\236\001*\004\b\206\237\0012\004\b\222\237\0018\003B\a\b\340\324\200\001\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\017\b\325S\020\b\032\006\b\200\265\030\030\b Pz\017\b\325S\0203\032\006\b\320\254 \030\b 8z\017\b\325S\020<\032\006\b\240\340\024\030\b \024"
+1: "\b\326S\022\005FRANS\030\001\"\004\b\324\236\001*\004\b\214\237\0012\004\b\332\236\0018\001B\006\b\210\205\003\030\bJ\016Franchi S.p.A.R\023Via Monte Bianco 34Z\006Torinoj\00510100r\005Italyz\017\b\326S\020\023\032\006\b\340\316\005\030\b \nz\017\b\326S\020/\032\006\b\230\346\005\030\b \n"
+1: "\b\327S\022\005SAVEA\030\005\"\004\b\326\236\001*\004\b\252\237\0012\004\b\346\236\0018\002B\006\b\304\376\037\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\327S\020\023\032\006\b\340\316\005\030\b \030z\017\b\327S\020)\032\006\b\364\361\005\030\b Tz\020\b\327S\0205\032\006\b\300\202\024\030\b \360\001"
+1: "\b\330S\022\005HUNGO\030\003\"\004\b\326\236\001*\004\b\216\237\0012\004\b\352\236\0018\001B\006\b\344\3616\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\330S\0205\032\006\b\300\202\024\030\b \006-\315\314L=z\017\b\330S\0208\032\006\b\340\230\027\030\b <"
+1: "\b\331S\022\005SAVEA\030\001\"\004\b\330\236\001*\004\b\220\237\0012\004\b\334\236\0018\001B\006\b\344\372e\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\331S\020\n\032\006\b\360\365\022\030\b $z\017\b\331S\020\032\032\006\b\354\207\023\030\b <z\020\b\331S\020-\032\006\b\230\346\005\030\b \334\001z\017\b\331S\020.\032\006\b\300\251\a\030\b 0"
+1: "\b\332S\022\005SAVEA\030\005\"\004\b\330\236\001*\004\b\220\237\0012\004\b\342\236\0018\003B\006\b\244\371\016\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\332S\020\002\032\006\b\260\314\v\030\b <-\000\000\200>z\024\b\332S\020\021\032\006\b\360\346\027\030\b 6-\000\000\200>z\024\b\332S\020/\032\006\b\230\346\005\030\b d-\000\000\200>z\024\b\332S\0208\032\006\b\340\230\027\030\b $-\000\000\200>z\024\b\332S\020:\032\006\b\224\213\b\030\b \030-\000\000\200>"
+1: "\b\333S\022\005BONAP\030\003\"\004\b\332\236\001*\004\b\366\236\0012\004\b\346\236\0018\001B\006\b\300\311&\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\333S\020\n\032\006\b\360\365\022\030\b *z\017\b\333S\020G\032\006\b\330\217\r\030\b <"
+1: "\b\334S\022\005RANCH\030\004\"\004\b\334\236\001*\004\b\224\237\0012\004\b\342\236\0018\002B\006\b\244\343\r\030\bJ\rRancho grandeR\026Av. del Libertador 900Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\334S\020\025\032\006\b\240\215\006\030\b \nz\017\b\334S\0203\032\006\b\320\254 \030\b \016z\017\b\334S\020=\032\006\b\310\262\021\030\b \024"
+1: "\b\335S\022\005FRANK\030\001\"\004\b\334\236\001*\004\b\224\237\0012\004\b\346\236\0018\002B\006\b\364\224$\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\335S\020\025\032\006\b\240\215\006\030\b @-\315\314L=z\017\b\335S\0206\032\006\b\204\306\004\030\b \036z\024\b\335S\020E\032\006\b\300\374\025\030\b 2-\315\314L="
+1: "\b\336S\022\005KOENE\030\001\"\004\b\342\236\001*\004\b\232\237\0012\004\b\346\236\0018\003B\006\b\200\246h\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\336S\020\f\032\006\b\340\230\027\030\b Hz\017\b\336S\020\020\032\006\b\244\323\n\030\b (z\017\b\336S\020$\032\006\b\260\314\v\030\b Pz\017\b\336S\020>\032\006\b\310\213\036\030\b ("
+1: "\b\337S\022\005LETSS\030\b\"\004\b\342\236\001*\004\b\232\237\0012\004\b\364\236\0018\002B\006\b\340\262\037\030\bJ\021Let\'s Stop N ShopR\02387 Polk St. Suite 5Z\rSan Franciscob\002CAj\00594117r\003USAz\024\b\337S\020\022\032\006\b\350\222&\030\b \030-\000\000\200>z\024\b\337S\020\036\032\006\b\324\346\017\030\b \006-\000\000\200>z\024\b\337S\0206\032\006\b\204\306\004\030\b P-\000\000\200>"
+1: "\b\340S\022\005QUEDE\030\b\"\004\b\344\236\001*\004\b\200\237\0012\004\b\364\236\0018\002B\006\b\304\350\005\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\340S\020#\032\006\b\240\376\n\030\b *z\017\b\340S\020G\032\006\b\330\217\r\030\b \020"
+1: "\b\341S\022\005QUICK\030\005\"\004\b\346\236\001*\004\b\236\237\0012\004\b\352\236\0018\003B\006\b\360\355\035\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\341S\020,\032\006\b\304\357\v\030\b d-\315\314L="
+1: "\b\342S\022\005SAVEA\030\b\"\004\b\346\236\001*\004\b\272\237\0012\004\b\362\236\0018\001B\006\b\310\302-\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\342S\020\002\032\006\b\260\314\v\030\b \006z\017\b\342S\020\037\032\006\b\310\320\a\030\b dz\017\b\342S\020D\032\006\b\310\320\a\030\b Zz\017\b\342S\020K\032\006\b\274\335\004\030\b T"
+1: "\b\343S\022\005WHITC\030\003\"\004\b\350\236\001*\004\b\240\237\0012\004\b\234\237\0018\001B\006\b\360\240\r\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\343S\020\032\032\006\b\354\207\023\030\b \036"
+1: "\b\344S\022\005MEREP\030\b\"\004\b\350\236\001*\004\b\274\237\0012\004\b\364\236\0018\002B\006\b\334\237#\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\344S\020\n\032\006\b\360\365\022\030\b  z\017\b\344S\020=\032\006\b\310\262\021\030\b \n"
+1: "\b\345S\022\005FAMIA\030\004\"\004\b\352\236\001*\004\b\242\237\0012\004\b\364\236\0018\003B\006\b\214\316\006\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\017\b\345S\020)\032\006\b\364\361\005\030\b \030z\017\b\345S\0204\032\006\b\360\242\004\030\b \bz\017\b\345S\0207\032\006\b\200\323\016\030\b \f"
+1: "\b\346S\022\005EASTC\030\004\"\004\b\360\236\001*\004\b\214\237\0012\004\b\260\237\0018\001B\006\b\340\215\n\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\346S\020\004\032\006\b\340\266\r\030\b 2z\017\b\346S\020\v\032\006\b\320\350\f\030\b \n"
+1: "\b\347S\022\005REGGC\030\002\"\004\b\360\236\001*\004\b\250\237\0012\004\b\260\237\0018\001B\006\b\270\3576\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\347S\020\021\032\006\b\360\346\027\030\b (-\315\314L=z\024\b\347S\0208\032\006\b\340\230\027\030\b \024-\315\314L=z\024\b\347S\020;\032\006\b\360\310!\030\b \024-\315\314L="
+1: "\b\350S\022\005QUEEN\030\004\"\004\b\362\236\001*\004\b\252\237\0012\004\b\200\237\0018\002B\006\b\204\315#\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\350S\020\036\032\006\b\324\346\017\030\b \036z\017\b\350S\020(\032\006\b\300\235\v\030\b \fz\017\b\350S\0207\032\006\b\200\323\016\030\b \030z\017\b\350S\020<\032\006\b\240\340\024\030\b \036"
+1: "\b\351S\022\005LINOD\030\b\"\004\b\362\236\001*\004\b\306\237\0012\004\b\206\237\0018\003B\006\b\250\214V\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\351S\020\001\032\006\b\240\376\n\030\b dz\017\b\351S\020\025\032\006\b\240\215\006\030\b <z\017\b\351S\0202\032\006\b\304\365\t\030\b P"
+1: "\b\352S\022\005BONAP\030\005\"\004\b\364\236\001*\004\b\254\237\0012\004\b\206\237\0018\001B\006\b\360\243\f\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\352S\020\020\032\006\b\244\323\n\030\b \036-\315\314L=z\024\b\352S\020\037\032\006\b\310\320\a\030\b \006-\315\314L=z\024\b\352S\020A\032\006\b\304\354\f\030\b \024-\315\314L="
+1: "\b\353S\022\005CHOPS\030\a\"\004\b\366\236\001*\004\b\256\237\0012\004\b\206\237\0018\001B\006\b\344\376:\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\024\b\353S\020\025\032\006\b\240\215\006\030\b P-\315\314L=z\024\b\353S\0203\032\006\b\320\254 \030\b <-\315\314L="
+1: "\b\354S\022\005BONAP\030\003\"\004\b\366\236\001*\004\b\256\237\0012\004\b\370\236\0018\001B\006\b\344\255\n\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\354S\020L\032\006\b\240\376\n\030\b ("
+1: "\b\355S\022\005BERGS\030\001\"\004\b\370\236\001*\004\b\260\237\0012\004\b\376\236\0018\003B\006\b\254\232C\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\355S\020\016\032\006\b\264\230\016\030\b  z\017\b\355S\020\034\032\006\b\300\352\033\030\b (z\017\b\355S\0204\032\006\b\360\242\004\030\b 2"
+1: "\b\356S\022\005GOURL\030\002\"\004\b\370\236\001*\004\b\260\237\0012\004\b\202\237\0018\003B\005\b\254\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\017\b\356S\020\006\032\006\b\220\241\017\030\b <z\017\b\356S\020\036\032\006\b\324\346\017\030\b \036z\017\b\356S\020L\032\006\b\240\376\n\030\b ("
+1: "\b\357S\022\005LETSS\030\006\"\004\b\376\236\001*\004\b\266\237\0012\004\b\224\237\0018\002B\006\b\264\207\034\030\bJ\021Let\'s Stop N ShopR\02387 Polk St. Suite 5Z\rSan Franciscob\002CAj\00594117r\003USAz\024\b\357S\020=\032\006\b\310\262\021\030\b (-\315\314\314=z\024\b\357S\020M\032\006\b\320\367\a\030\b \004-\315\314\314="
+1: "\b\360S\022\005HUNGO\030\t\"\004\b\200\237\001*\004\b\270\237\0012\004\b\224\237\0018\002B\006\b\250\365\032\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\017\b\360S\020A\032\006\b\304\354\f\030\b Pz\017\b\360S\020K\032\006\b\274\335\004\030\b ("
+1: "\b\361S\022\005VINET\030\002\"\004\b\200\237\001*\004\b\270\237\0012\004\b\216\237\0018\002B\006\b\314\340\004\030\bJ\031Vins et alcools ChevalierR\02259 rue de l\'AbbayeZ\005Reimsj\00551100r\006Francez\017\b\361S\020\r\032\006\b\340\324\003\030\b \bz\017\b\361S\020)\032\006\b\364\361\005\030\b \030"
+1: "\b\362S\022\005SPECD\030\002\"\004\b\202\237\001*\004\b\272\237\0012\004\b\216\237\0018\001B\006\b\254\343\001\030\bJ\026Sp\303\251cialit\303\251s du mondeR\02125, rue LauristonZ\005Parisj\00575016r\006Francez\017\b\362S\020\020\032\006\b\244\323\n\030\b \006"
+1: "\b\363S\022\005VINET\030\003\"\004\b\202\237\001*\004\b\272\237\0012\004\b\214\237\0018\003B\006\b\320\341\006\030\bJ\031Vins et alcools ChevalierR\02259 rue de l\'AbbayeZ\005Reimsj\00551100r\006Francez\017\b\363S\020$\032\006\b\260\314\v\030\b \fz\017\b\363S\0204\032\006\b\360\242\004\030\b $"
+1: "\b\364S\022\005WHITC\030\004\"\004\b\204\237\001*\004\b\274\237\0012\004\b\234\237\0018\002B\006\b\360\3741\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\024\b\364S\020\034\032\006\b\300\352\033\030\b \n-\315\314L>z\024\b\364S\020#\032\006\b\240\376\n\030\b F-\315\314L>z\024\b\364S\020-\032\006\b\230\346\005\030\b P-\315\314L>z\024\b\364S\0208\032\006\b\340\230\027\030\b \034-\315\314L>"
+1: "\b\365S\022\005AROUT\030\004\"\004\b\206\237\001*\004\b\242\237\0012\004\b\216\237\0018\003B\006\b\240\330\006\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\024\b\365S\020\002\032\006\b\260\314\v\030\b \036-\315\314L>"
+1: "\b\366S\022\005BOTTM\030\003\"\004\b\206\237\001*\004\b\276\237\0012\004\b\216\237\0018\003B\a\b\264\341\224\001\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\366S\020\003\032\006\b\240\215\006\030\b (z\017\b\366S\020<\032\006\b\240\340\024\030\b dz\017\b\366S\020H\032\006\b\340\236\025\030\b F"
+1: "\b\367S\022\005AROUT\030\001\"\004\b\214\237\001*\004\b\304\237\0012\004\b\224\237\0018\002B\006\b\220\275\016\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\024\b\367S\020.\032\006\b\300\251\a\030\b 8-\315\314L="
+1: "\b\370S\022\005VAFFE\030\006\"\004\b\214\237\001*\004\b\304\237\0012\004\b\232\237\0018\001B\006\b\274\235*\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\024\b\370S\020(\032\006\b\300\235\v\030\b d-\315\314L>"
+1: "\b\371S\022\005QUICK\030\t\"\004\b\216\237\001*\004\b\306\237\0012\004\b\240\237\0018\001B\006\b\200\223\002\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\371S\020\022\032\006\b\350\222&\030\b 0z\017\b\371S\020,\032\006\b\304\357\v\030\b  z\017\b\371S\020;\032\006\b\360\310!\030\b Zz\017\b\371S\020H\032\006\b\340\236\025\030\b \016"
+1: "\b\372S\022\005CHOPS\030\001\"\004\b\220\237\001*\004\b\310\237\0012\004\b\224\237\0018\003B\006\b\274\227\023\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\017\b\372S\020\r\032\006\b\340\324\003\030\b \fz\017\b\372S\020*\032\006\b\340\305\b\030\b 8z\017\b\372S\020>\032\006\b\310\213\036\030\b \022z\017\b\372S\020E\032\006\b\300\374\025\030\b P"
+1: "\b\373S\022\005PICCO\030\006\"\004\b\220\237\001*\004\b\310\237\0012\004\b\236\237\0018\001B\006\b\264\316G\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\373S\020\037\032\006\b\310\320\a\030\b \020z\017\b\373S\020)\032\006\b\364\361\005\030\b Fz\017\b\373S\020?\032\006\b\330\345\032\030\b \022z\017\b\373S\020E\032\006\b\300\374\025\030\b <"
+1: "\b\374S\022\005SAVEA\030\003\"\004\b\222\237\001*\004\b\312\237\0012\004\b\242\237\0018\001B\a\b\374\367\215\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\374S\020\027\032\006\b\220\277\005\030\b Xz\017\b\374S\020(\032\006\b\300\235\v\030\b Pz\017\b\374S\0208\032\006\b\340\230\027\030\b 8"
+1: "\b\375S\022\005ISLAT\030\004\"\004\b\222\237\001*\004\b\312\237\0012\004\b\314\237\0018\002B\006\b\204\307%\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\375S\0208\032\006\b\340\230\027\030\b \036z\017\b\375S\020;\032\006\b\360\310!\030\b \fz\017\b\375S\020L\032\006\b\240\376\n\030\b \024"
+1: "\b\376S\022\005WARTH\030\t\"\004\b\224\237\001*\004\b\314\237\0012\004\b\232\237\0018\001B\006\b\250\2630\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\024\b\376S\020\016\032\006\b\264\230\016\030\b \n-\232\231\031>z\024\b\376S\020-\032\006\b\230\346\005\030\b P-\232\231\031>z\024\b\376S\020;\032\006\b\360\310!\030\b 2-\232\231\031>"
+1: "\b\377S\022\005RICSU\030\003\"\004\b\232\237\001*\004\b\322\237\0012\004\b\254\237\0018\003B\006\b\374\351O\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\377S\020\032\032\006\b\354\207\023\030\b \030-\315\314\314=z\017\b\377S\020\036\032\006\b\324\346\017\030\b <z\024\b\377S\0202\032\006\b\304\365\t\030\b (-\315\314\314=z\017\b\377S\020I\032\006\b\360\223\t\030\b \036"
+1: "\b\200T\022\005NORTS\030\002\"\004\b\232\237\001*\004\b\322\237\0012\004\b\242\237\0018\003B\005\b\314l\030\bJ\vNorth/SouthR\034South House 300 QueensbridgeZ\006Londonj\aSW7 1RZr\002UKz\017\b\200T\020\001\032\006\b\240\376\n\030\b \020z\017\b\200T\020E\032\006\b\300\374\025\030\b \006"
+1: "\b\201T\022\005FRANS\030\003\"\004\b\234\237\001*\004\b\324\237\0012\004\b\240\237\0018\001B\006\b\310\331\004\030\bJ\016Franchi S.p.A.R\023Via Monte Bianco 34Z\006Torinoj\00510100r\005Italyz\017\b\201T\020-\032\006\b\230\346\005\030\b \bz\017\b\201T\020J\032\006\b\240\215\006\030\b \n"
+1: "\b\202T\022\005MAGAA\030\006\"\004\b\234\237\001*\004\b\324\237\0012\004\b\240\237\0018\003B\006\b\370\271\001\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\202T\020(\032\006\b\300\235\v\030\b \006"
+1: "\b\203T\022\005BONAP\030\004\"\004\b\236\237\001*\004\b\326\237\0012\004\b\242\237\0018\002B\006\b\274\231\n\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\203T\020/\032\006\b\230\346\005\030\b <-\000\000\200>z\024\b\203T\0208\032\006\b\340\230\027\030\b <-\000\000\200>z\024\b\203T\0209\032\006\b\270\363\v\030\b \034-\000\000\200>z\024\b\203T\020E\032\006\b\300\374\025\030\b 2-\000\000\200>"
+1: "\b\204T\022\005SPLIR\030\b\"\004\b\240\237\001*\004\b\330\237\0012\004\b\252\237\0018\002B\006\b\304\327,\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\024\b\204T\020\022\032\006\b\350\222&\030\b *-\315\314L>z\024\b\204T\020$\032\006\b\260\314\v\030\b (-\315\314L>z\024\b\204T\020D\032\006\b\310\320\a\030\b \f-\315\314L>z\024\b\204T\020E\032\006\b\300\374\025\030\b (-\315\314L>"
+1: "\b\205T\022\005SAVEA\030\006\"\004\b\240\237\001*\004\b\330\237\0012\004\b\304\237\0018\001B\006\b\354\377\004\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\205T\020\"\032\006\b\340\305\b\030\b <z\017\b\205T\020;\032\006\b\360\310!\030\b \016z\017\b\205T\020>\032\006\b\310\213\036\030\b <z\017\b\205T\020@\032\006\b\324\245\024\030\b 0"
+1: "\b\206T\022\005RICSU\030\003\"\004\b\242\237\001*\004\b\332\237\0012\004\b\256\237\0018\003B\006\b\304\252T\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\017\b\206T\020\032\032\006\b\354\207\023\030\b (z\017\b\206T\0204\032\006\b\360\242\004\030\b xz\017\b\206T\020F\032\006\b\360\223\t\030\b P"
+1: "\b\207T\022\005ANATR\030\003\"\004\b\242\237\001*\004\b\332\237\0012\004\b\276\237\0018\003B\006\b\334\250\a\030\bJ\"Ana Trujillo Emparedados y heladosR\036Avda. de la Constituci\303\263n 2222Z\fM\303\251xico D.F.j\00505021r\006Mexicoz\017\b\207T\020 \032\006\b\200\304\023\030\b \024"
+1: "\b\210T\022\005MAISD\030\004\"\004\b\250\237\001*\004\b\340\237\0012\004\b\272\237\0018\001B\006\b\260\377^\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\024\b\210T\020\031\032\006\b\340\305\b\030\b \030-\000\000\200>z\017\b\210T\020\033\032\006\b\330\345\032\030\b Pz\024\b\210T\020+\032\006\b\340\211\034\030\b <-\000\000\200>"
+1: "\b\211T\022\005RATTC\030\005\"\004\b\252\237\001*\004\b\342\237\0012\004\b\266\237\0018\002B\006\b\350\261\v\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\211T\020\031\032\006\b\340\305\b\030\b F-\000\000\200>z\017\b\211T\020K\032\006\b\274\335\004\030\b $"
+1: "\b\212T\022\005FOLKO\030\003\"\004\b\252\237\001*\004\b\342\237\0012\004\b\270\237\0018\001B\a\b\350\322\310\001\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\212T\020\'\032\006\b\240\376\n\030\b  z\017\b\212T\020/\032\006\b\230\346\005\030\b <z\017\b\212T\0203\032\006\b\320\254 \030\b 8z\017\b\212T\0208\032\006\b\340\230\027\030\b x"
+1: "\b\213T\022\005FOLIG\030\003\"\004\b\254\237\001*\004\b\344\237\0012\004\b\266\237\0018\003B\006\b\374\345\026\030\bJ\021Folies gourmandesR\031184, chauss\303\251e de TournaiZ\005Lillej\00559000r\006Francez\017\b\213T\020\025\032\006\b\240\215\006\030\b Pz\017\b\213T\020\026\032\006\b\320\350\f\030\b \fz\017\b\213T\020\030\032\006\b\310\337\002\030\b ("
+1: "\b\214T\022\005ERNSH\030\006\"\004\b\254\237\001*\004\b\344\237\0012\004\b\266\237\0018\003B\006\b\244\343X\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\214T\020\003\032\006\b\240\215\006\030\b (-\315\314\314=z\025\b\214T\020\'\032\006\b\240\376\n\030\b \204\002-\315\314\314="
+1: "\b\215T\022\005QUICK\030\003\"\004\b\256\237\001*\004\b\346\237\0012\004\b\270\237\0018\003B\006\b\210\213\032\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\025\b\215T\020A\032\006\b\304\354\f\030\b \240\001-\315\314\314="
+1: "\b\216T\022\005OTTIK\030\004\"\004\b\260\237\001*\004\b\350\237\0012\004\b\270\237\0018\001B\006\b\314\224`\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\017\b\216T\020\002\032\006\b\260\314\v\030\b Pz\017\b\216T\020\a\032\006\b\340\247\022\030\b Fz\017\b\216T\020D\032\006\b\310\320\a\030\b P"
+1: "\b\217T\022\005SUPRD\030\004\"\004\b\260\237\001*\004\b\350\237\0012\004\b\304\237\0018\003B\005\b\234|\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\217T\020*\032\006\b\340\305\b\030\b \004"
+1: "\b\220T\022\005AROUT\030\003\"\004\b\266\237\001*\004\b\356\237\0012\004\b\304\237\0018\002B\006\b\240\247Y\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\220T\020\026\032\006\b\320\350\f\030\b \bz\017\b\220T\020\037\032\006\b\310\320\a\030\b dz\017\b\220T\020<\032\006\b\240\340\024\030\b \036z\017\b\220T\020G\032\006\b\330\217\r\030\b \030"
+1: "\b\221T\022\005VAFFE\030\003\"\004\b\266\237\001*\004\b\356\237\0012\004\b\276\237\0018\001B\006\b\350\332\'\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\024\b\221T\020)\032\006\b\364\361\005\030\b <-\315\314L=z\024\b\221T\0204\032\006\b\360\242\004\030\b \036-\315\314L=z\017\b\221T\020=\032\006\b\310\262\021\030\b (z\017\b\221T\020>\032\006\b\310\213\036\030\b \036"
+1: "\b\222T\022\005HANAR\030\b\"\004\b\270\237\001*\004\b\360\237\0012\004\b\310\237\0018\003B\006\b\320\237\003\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\024\b\222T\020\v\032\006\b\320\350\f\030\b \036-\000\000\200>"
+1: "\b\223T\022\005ERNSH\030\t\"\004\b\272\237\001*\004\b\362\237\0012\004\b\350\237\0018\002B\006\b\234\352\006\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\223T\020G\032\006\b\330\217\r\030\b  "
+1: "\b\224T\022\005LEHMS\030\003\"\004\b\272\237\001*\004\b\362\237\0012\004\b\314\237\0018\002B\006\b\240\3337\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\224T\020\035\032\006\b\214\307K\030\b $z\017\b\224T\020;\032\006\b\360\310!\030\b 2"
+1: "\b\225T\022\005ERNSH\030\001\"\004\b\274\237\001*\004\b\364\237\0012\004\b\306\237\0018\003B\006\b\314\355:\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\225T\020\021\032\006\b\360\346\027\030\b Bz\025\b\225T\020\037\032\006\b\310\320\a\030\b \214\001-\315\314L>z\024\b\225T\020K\032\006\b\274\335\004\030\b \016-\315\314L>"
+1: "\b\226T\022\005FOLKO\030\004\"\004\b\274\237\001*\004\b\330\237\0012\004\b\276\237\0018\001B\006\b\320\265\035\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\226T\020\037\032\006\b\310\320\a\030\b \004-\000\000\200>z\017\b\226T\020B\032\006\b\220\260\n\030\b d"
+1: "\b\227T\022\005THECR\030\a\"\004\b\276\237\001*\004\b\366\237\0012\004\b\332\237\0018\001B\006\b\204\256\f\030\bJ\017The Cracker BoxR\02355 Grizzly Peak Rd.Z\005Butteb\002MTj\00559801r\003USAz\017\b\227T\020\n\032\006\b\360\365\022\030\b \fz\017\b\227T\020C\032\006\b\340\305\b\030\b \006"
+1: "\b\230T\022\005ERNSH\030\001\"\004\b\304\237\001*\004\b\374\237\0012\004\b\312\237\0018\003B\a\b\244\307\326\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\230T\020\037\032\006\b\310\320\a\030\b  -\315\314L=z\024\b\230T\020*\032\006\b\340\305\b\030\b \030-\315\314L=z\024\b\230T\020-\032\006\b\230\346\005\030\b 6-\315\314L=z\025\b\230T\0203\032\006\b\320\254 \030\b \360\001-\315\314L="
+1: "\b\231T\022\005GOURL\030\a\"\004\b\304\237\001*\004\b\340\237\0012\004\b\216\240\0018\002B\006\b\224\353\001\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\024\b\231T\020*\032\006\b\340\305\b\030\b (-\315\314L>"
+1: "\b\232T\022\005BERGS\030\003\"\004\b\306\237\001*\004\b\376\237\0012\004\b\326\237\0018\001B\006\b\274\222\004\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\232T\020)\032\006\b\364\361\005\030\b \024"
+1: "\b\233T\022\005MORGK\030\003\"\004\b\306\237\001*\004\b\376\237\0012\004\b\200\240\0018\002B\006\b\264\275#\030\bJ\026Morgenstern GesundkostR\vHeerstr. 22Z\aLeipzigj\00504179r\aGermanyz\017\b\233T\020\020\032\006\b\244\323\n\030\b (z\017\b\233T\020>\032\006\b\310\213\036\030\b ("
+1: "\b\234T\022\005LILAS\030\002\"\004\b\306\237\001*\004\b\342\237\0012\004\b\330\237\0018\001B\006\b\264\333\031\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\234T\020F\032\006\b\360\223\t\030\b Fz\017\b\234T\020M\032\006\b\320\367\a\030\b \036"
+1: "\b\235T\022\005WARTH\030\002\"\004\b\310\237\001*\004\b\200\240\0012\004\b\314\237\0018\003B\006\b\320\323,\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\024\b\235T\0206\032\006\b\204\306\004\030\b \006-\315\314L>z\024\b\235T\0208\032\006\b\340\230\027\030\b (-\315\314L>z\017\b\235T\020J\032\006\b\240\215\006\030\b F"
+1: "\b\236T\022\005CACTU\030\t\"\004\b\310\237\001*\004\b\200\240\0012\004\b\322\237\0018\003B\005\b\370U\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\236T\020\037\032\006\b\310\320\a\030\b \002"
+1: "\b\237T\022\005HANAR\030\004\"\004\b\312\237\001*\004\b\202\240\0012\004\b\314\237\0018\002B\006\b\210\244L\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\237T\020\037\032\006\b\310\320\a\030\b \024z\020\b\237T\020&\032\a\b\370\351\240\001\030\b \n"
+1: "\b\240T\022\005MAGAA\030\004\"\004\b\312\237\001*\004\b\202\240\0012\004\b\322\237\0018\003B\006\b\344\343*\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\240T\020$\032\006\b\260\314\v\030\b <z\024\b\240T\020\'\032\006\b\240\376\n\030\b \004-\232\231\031>z\024\b\240T\020H\032\006\b\340\236\025\030\b <-\232\231\031>"
+1: "\b\241T\022\005GROSR\030\001\"\004\b\312\237\001*\004\b\202\240\0012\004\b\326\237\0018\003B\005\b\374u\030\bJ\024GROSELLA-RestauranteR\0325\302\252 Ave. Los Palos GrandesZ\aCaracasb\002DFj\0041081r\tVenezuelaz\017\b\241T\020\n\032\006\b\360\365\022\030\b \024z\017\b\241T\020K\032\006\b\274\335\004\030\b \024"
+1: "\b\242T\022\005QUEEN\030\b\"\004\b\314\237\001*\004\b\204\240\0012\004\b\324\237\0018\001B\006\b\334\325C\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\242T\020\b\032\006\b\200\265\030\030\b <-\315\314L>z\024\b\242T\020\036\032\006\b\324\346\017\030\b \036-\315\314L>z\024\b\242T\020K\032\006\b\274\335\004\030\b T-\315\314L>"
+1: "\b\243T\022\005LAMAI\030\002\"\004\b\314\237\001*\004\b\350\237\0012\004\b\332\237\0018\001B\a\b\344\305\230\001\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\243T\020\002\032\006\b\260\314\v\030\b \036-\315\314L=z\024\b\243T\020\035\032\006\b\214\307K\030\b (-\315\314L="
+1: "\b\244T\022\005QUICK\030\001\"\004\b\322\237\001*\004\b\212\240\0012\004\b\212\240\0018\002B\006\b\370\207\032\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\244T\020\023\032\006\b\340\316\005\030\b d-\315\314L=z\024\b\244T\020K\032\006\b\274\335\004\030\b P-\315\314L="
+1: "\b\245T\022\005FOLIG\030\001\"\004\b\322\237\001*\004\b\212\240\0012\004\b\344\237\0018\002B\006\b\260\263=\030\bJ\021Folies gourmandesR\031184, chauss\303\251e de TournaiZ\005Lillej\00559000r\006Francez\017\b\245T\020\022\032\006\b\350\222&\030\b <z\017\b\245T\020#\032\006\b\240\376\n\030\b \036z\017\b\245T\020?\032\006\b\330\345\032\030\b <z\017\b\245T\020D\032\006\b\310\320\a\030\b $"
+1: "\b\246T\022\005GOURL\030\006\"\004\b\322\237\001*\004\b\212\240\0012\004\b\332\237\0018\001B\006\b\274\235\021\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\024\b\246T\020\a\032\006\b\340\247\022\030\b \006-\232\231\031>z\024\b\246T\0208\032\006\b\340\230\027\030\b (-\232\231\031>"
+1: "\b\247T\022\005FRANK\030\006\"\004\b\324\237\001*\004\b\214\240\0012\004\b\346\237\0018\002B\006\b\264\244\n\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\247T\020\035\032\006\b\214\307K\030\b \034-\315\314L=z\024\b\247T\020)\032\006\b\364\361\005\030\b (-\315\314L="
+1: "\b\250T\022\005WOLZA\030\001\"\004\b\324\237\001*\004\b\214\240\0012\004\b\344\237\0018\003B\006\b\314\302\016\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\250T\020\002\032\006\b\260\314\v\030\b \024z\017\b\250T\0206\032\006\b\204\306\004\030\b \006z\017\b\250T\020D\032\006\b\310\320\a\030\b \036"
+1: "\b\251T\022\005AROUT\030\003\"\004\b\326\237\001*\004\b\216\240\0012\004\b\364\237\0018\003B\006\b\220\341\002\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\251T\020)\032\006\b\364\361\005\030\b \034z\017\b\251T\0204\032\006\b\360\242\004\030\b \020"
+1: "\b\252T\022\005QUEDE\030\006\"\004\b\326\237\001*\004\b\216\240\0012\004\b\350\237\0018\001B\006\b\364\216\r\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\024\b\252T\020\016\032\006\b\264\230\016\030\b \036-\315\314L>z\024\b\252T\0206\032\006\b\204\306\004\030\b \f-\315\314L>"
+1: "\b\253T\022\005ERNSH\030\b\"\004\b\326\237\001*\004\b\216\240\0012\004\b\214\240\0018\002B\006\b\250\247M\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\020\b\253T\020\020\032\006\b\244\323\n\030\b \202\001z\024\b\253T\020\021\032\006\b\360\346\027\030\b F-\000\000\200>"
+1: "\b\254T\022\005HILAA\030\003\"\004\b\330\237\001*\004\b\220\240\0012\004\b\200\240\0018\001B\006\b\360\227\020\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\254T\020\032\032\006\b\354\207\023\030\b *-\315\314L>z\017\b\254T\020,\032\006\b\304\357\v\030\b \024z\024\b\254T\020@\032\006\b\324\245\024\030\b F-\315\314L>z\024\b\254T\020E\032\006\b\300\374\025\030\b 0-\315\314L>"
+1: "\b\255T\022\005DRACD\030\a\"\004\b\330\237\001*\004\b\220\240\0012\004\b\356\237\0018\002B\006\b\274\255\024\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\255T\020\v\032\006\b\320\350\f\030\b ("
+1: "\b\256T\022\005ISLAT\030\002\"\004\b\332\237\001*\004\b\222\240\0012\004\b\356\237\0018\001B\006\b\204\266\001\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\256T\020>\032\006\b\310\213\036\030\b \004z\017\b\256T\020H\032\006\b\340\236\025\030\b \024"
+1: "\b\257T\022\005KOENE\030\t\"\004\b\332\237\001*\004\b\256\240\0012\004\b\356\237\0018\003B\006\b\220\343\022\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\257T\020\r\032\006\b\340\324\003\030\b (-\232\231\031>z\024\b\257T\020\030\032\006\b\310\337\002\030\b (-\232\231\031>z\017\b\257T\020;\032\006\b\360\310!\030\b 2"
+1: "\b\260T\022\005SEVES\030\001\"\004\b\332\237\001*\004\b\222\240\0012\004\b\356\237\0018\003B\006\b\300\361S\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\260T\020\v\032\006\b\320\350\f\030\b d-\315\314\314=z\024\b\260T\0203\032\006\b\320\254 \030\b \024-\315\314\314=z\024\b\260T\0206\032\006\b\204\306\004\030\b \016-\315\314\314="
+1: "\b\261T\022\005BOLID\030\004\"\004\b\340\237\001*\004\b\230\240\0012\004\b\344\237\0018\002B\006\b\224\241;\030\bJ\032B\303\263lido Comidas preparadasR\016C/ Araquil, 67Z\006Madridj\00528023r\005Spainz\024\b\261T\020\021\032\006\b\360\346\027\030\b P-\000\000\200>z\024\b\261T\020\035\032\006\b\214\307K\030\b (-\000\000\200>"
+1: "\b\262T\022\005SIMOB\030\004\"\004\b\340\237\001*\004\b\230\240\0012\004\b\350\237\0018\002B\a\b\270\202\235\001\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\024\b\262T\020\036\032\006\b\324\346\017\030\b 2-\000\000\200>z\024\b\262T\0203\032\006\b\320\254 \030\b <-\000\000\200>z\024\b\262T\0207\032\006\b\200\323\016\030\b x-\000\000\200>z\024\b\262T\020>\032\006\b\310\213\036\030\b \n-\000\000\200>"
+1: "\b\263T\022\005WELLI\030\004\"\004\b\342\237\001*\004\b\232\240\0012\004\b\360\237\0018\001B\006\b\354\332!\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\263T\020\023\032\006\b\340\316\005\030\b 0-\315\314L=z\024\b\263T\020\031\032\006\b\340\305\b\030\b \036-\315\314L=z\024\b\263T\020;\032\006\b\360\310!\030\b \036-\315\314L="
+1: "\b\264T\022\005SEVES\030\006\"\004\b\342\237\001*\004\b\232\240\0012\004\b\362\237\0018\002B\006\b\224\327\020\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\017\b\264T\020\n\032\006\b\360\365\022\030\b Hz\017\b\264T\020\034\032\006\b\300\352\033\030\b 0z\024\b\264T\0201\032\006\b\300\232\f\030\b \b-\232\231\031>"
+1: "\b\265T\022\005THEBI\030\002\"\004\b\342\237\001*\004\b\232\240\0012\004\b\366\237\0018\003B\a\b\230\356\220\001\030\bJ\016The Big CheeseR\03089 Jefferson Way Suite 2Z\bPortlandb\002ORj\00597201r\003USAz\017\b\265T\020\"\032\006\b\340\305\b\030\b \024z\020\b\265T\020&\032\a\b\370\351\240\001\030\b \024"
+1: "\b\266T\022\005VICTE\030\003\"\004\b\344\237\001*\004\b\234\240\0012\004\b\356\237\0018\002B\006\b\254\277\r\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\266T\020\002\032\006\b\260\314\v\030\b (-\000\000\200>z\017\b\266T\020A\032\006\b\304\354\f\030\b \004z\024\b\266T\020J\032\006\b\240\215\006\030\b \036-\000\000\200>"
+1: "\b\267T\022\005FRANS\030\004\"\004\b\344\237\001*\004\b\234\240\0012\004\b\240\240\0018\001B\005\b\240j\030\bJ\016Franchi S.p.A.R\023Via Monte Bianco 34Z\006Torinoj\00510100r\005Italyz\017\b\267T\020(\032\006\b\300\235\v\030\b \002"
+1: "\b\270T\022\005OLDWO\030\002\"\004\b\346\237\001*\004\b\236\240\0012\004\b\366\237\0018\003B\006\b\204\345\033\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\024\b\270T\0208\032\006\b\340\230\027\030\b (-\232\231\031>z\024\b\270T\020L\032\006\b\240\376\n\030\b d-\232\231\031>"
+1: "\b\271T\022\005WELLI\030\a\"\004\b\346\237\001*\004\b\236\240\0012\004\b\362\237\0018\001B\006\b\274\374\002\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\017\b\271T\0204\032\006\b\360\242\004\030\b ("
+1: "\b\272T\022\005LAUGB\030\002\"\004\b\346\237\001*\004\b\236\240\0012\004\b\362\237\0018\003B\006\b\244\322\002\030\bJ\035Laughing Bacchus Wine CellarsR\f2319 Elm St.Z\tVancouverb\002BCj\aV3F 2K1r\006Canadaz\017\b\272T\020\r\032\006\b\340\324\003\030\b \016z\017\b\272T\020\031\032\006\b\340\305\b\030\b \nz\017\b\272T\020F\032\006\b\360\223\t\030\b \n"
+1: "\b\273T\022\005LINOD\030\b\"\004\b\350\237\001*\004\b\240\240\0012\004\b\364\237\0018\001B\006\b\210\207\023\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\273T\020\023\032\006\b\340\316\005\030\b \036z\017\b\273T\020\027\032\006\b\220\277\005\030\b $z\017\b\273T\020(\032\006\b\300\235\v\030\b <"
+1: "\b\274T\022\005REGGC\030\005\"\004\b\350\237\001*\004\b\240\240\0012\004\b\374\237\0018\001B\006\b\250\276$\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\274T\020\037\032\006\b\310\320\a\030\b  -\315\314\314=z\024\b\274T\020H\032\006\b\340\236\025\030\b P-\315\314\314=z\017\b\274T\020M\032\006\b\320\367\a\030\b ("
+1: "\b\275T\022\005RICAR\030\001\"\004\b\356\237\001*\004\b\246\240\0012\004\b\366\237\0018\001B\006\b\310\365\034\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\024\b\275T\020\002\032\006\b\260\314\v\030\b \030-\315\314L>z\017\b\275T\020.\032\006\b\300\251\a\030\b F"
+1: "\b\276T\022\005VICTE\030\003\"\004\b\356\237\001*\004\b\246\240\0012\004\b\200\240\0018\003B\006\b\330\365O\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\017\b\276T\020)\032\006\b\364\361\005\030\b (z\024\b\276T\020+\032\006\b\340\211\034\030\b (-\232\231\031>z\024\b\276T\0200\032\006\b\214\344\a\030\b \020-\232\231\031>z\024\b\276T\020=\032\006\b\310\262\021\030\b <-\232\231\031>"
+1: "\b\277T\022\005SAVEA\030\002\"\004\b\356\237\001*\004\b\246\240\0012\004\b\200\240\0018\003B\006\b\230\366\b\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\277T\020!\032\006\b\250\303\001\030\b  "
+1: "\b\300T\022\005GREAL\030\004\"\004\b\360\237\001*\004\b\250\240\0012\004\b\252\240\0018\002B\a\b\350\250\267\003\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\025\b\300T\020&\032\a\b\370\351\240\001\030\b <-\315\314L=z\024\b\300T\020>\032\006\b\310\213\036\030\b (-\315\314L="
+1: "\b\301T\022\005KOENE\030\003\"\004\b\360\237\001*\004\b\214\240\0012\004\b\376\237\0018\002B\a\b\334\347\272\001\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\301T\020\032\032\006\b\354\207\023\030\b P-\232\231\031>z\020\b\301T\020&\032\a\b\370\351\240\001\030\b <z\024\b\301T\020(\032\006\b\300\235\v\030\b x-\232\231\031>z\024\b\301T\020>\032\006\b\310\213\036\030\b 2-\232\231\031>"
+1: "\b\302T\022\005MAGAA\030\a\"\004\b\362\237\001*\004\b\252\240\0012\004\b\374\237\0018\003B\006\b\320\373\'\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\302T\020 \032\006\b\200\304\023\030\b (z\017\b\302T\020)\032\006\b\364\361\005\030\b ("
+1: "\b\303T\022\005CACTU\030\002\"\004\b\362\237\001*\004\b\252\240\0012\004\b\204\240\0018\003B\006\b\340\207\f\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\303T\020+\032\006\b\340\211\034\030\b \016z\017\b\303T\020K\032\006\b\274\335\004\030\b ("
+1: "\b\304T\022\005RATTC\030\003\"\004\b\362\237\001*\004\b\252\240\0012\004\b\376\237\0018\002B\006\b\240\363\026\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\304T\0208\032\006\b\340\230\027\030\b <"
+1: "\b\305T\022\005SPLIR\030\001\"\004\b\364\237\001*\004\b\254\240\0012\004\b\202\240\0018\001B\006\b\320\261\026\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\305T\020#\032\006\b\240\376\n\030\b (z\017\b\305T\0203\032\006\b\320\254 \030\b \f"
+1: "\b\306T\022\005TRAIH\030\006\"\004\b\364\237\001*\004\b\254\240\0012\004\b\204\240\0018\003B\006\b\360\242\004\030\bJ!Trail\'s Head Gourmet ProvisionersR\021722 DaVinci Blvd.Z\bKirklandb\002WAj\00598034r\003USAz\017\b\306T\020>\032\006\b\310\213\036\030\b \006z\017\b\306T\020F\032\006\b\360\223\t\030\b \f"
+1: "\b\307T\022\005LILAS\030\005\"\004\b\366\237\001*\004\b\256\240\0012\004\b\376\237\0018\002B\006\b\224\212d\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\307T\020\v\032\006\b\320\350\f\030\b (-\315\314\314=z\017\b\307T\0209\032\006\b\270\363\v\030\b \036z\024\b\307T\020;\032\006\b\360\310!\030\b P-\315\314\314=z\024\b\307T\020M\032\006\b\320\367\a\030\b \036-\315\314\314="
+1: "\b\310T\022\005FOLKO\030\b\"\004\b\366\237\001*\004\b\256\240\0012\004\b\240\240\0018\001B\005\b\214`\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\310T\020)\032\006\b\364\361\005\030\b \030z\017\b\310T\020F\032\006\b\360\223\t\030\b \022"
+1: "\b\311T\022\005DRACD\030\001\"\004\b\366\237\001*\004\b\256\240\0012\004\b\200\240\0018\001B\006\b\264\2570\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\311T\020\032\032\006\b\354\207\023\030\b \030z\017\b\311T\0205\032\006\b\300\202\024\030\b ("
+1: "\b\312T\022\005BLONP\030\006\"\004\b\374\237\001*\004\b\264\240\0012\004\b\256\240\0018\001B\006\b\364\251\004\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\312T\020\037\032\006\b\310\320\a\030\b Fz\017\b\312T\0209\032\006\b\270\363\v\030\b \036"
+1: "\b\313T\022\005BONAP\030\001\"\004\b\374\237\001*\004\b\230\240\0012\004\b\256\240\0018\002B\006\b\210\344&\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\313T\020\n\032\006\b\360\365\022\030\b \036z\017\b\313T\020\'\032\006\b\240\376\n\030\b *"
+1: "\b\314T\022\005RANCH\030\t\"\004\b\376\237\001*\004\b\232\240\0012\004\b\252\240\0018\001B\006\b\324\2717\030\bJ\rRancho grandeR\026Av. del Libertador 900Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\314T\020\024\032\006\b\220\2701\030\b \nz\020\b\314T\020&\032\a\b\370\351\240\001\030\b \004"
+1: "\b\315T\022\005ISLAT\030\t\"\004\b\376\237\001*\004\b\266\240\0012\004\b\222\240\0018\001B\006\b\300\267^\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\315T\020\002\032\006\b\260\314\v\030\b \024z\017\b\315T\020\b\032\006\b\200\265\030\030\b (z\017\b\315T\020\r\032\006\b\340\324\003\030\b \024z\017\b\315T\020<\032\006\b\240\340\024\030\b *"
+1: "\b\316T\022\005TRADH\030\004\"\004\b\376\237\001*\004\b\322\240\0012\004\b\216\240\0018\002B\006\b\374\3701\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\017\b\316T\020\006\032\006\b\220\241\017\030\b \fz\017\b\316T\020\'\032\006\b\240\376\n\030\b 8z\017\b\316T\020<\032\006\b\240\340\024\030\b <z\017\b\316T\020D\032\006\b\310\320\a\030\b 0"
+1: "\b\317T\022\005SANTG\030\003\"\004\b\200\240\001*\004\b\270\240\0012\004\b\222\240\0018\002B\006\b\354\207,\030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\317T\020\023\032\006\b\340\316\005\030\b \004z\017\b\317T\020#\032\006\b\240\376\n\030\b \020z\020\b\317T\020&\032\a\b\370\351\240\001\030\b \020z\017\b\317T\020+\032\006\b\340\211\034\030\b \022"
+1: "\b\320T\022\005LAMAI\030\002\"\004\b\200\240\001*\004\b\270\240\0012\004\b\212\240\0018\002B\006\b\330\263\032\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\320T\020\r\032\006\b\340\324\003\030\b \006-\315\314L>z\024\b\320T\020\031\032\006\b\340\305\b\030\b \024-\315\314L>z\024\b\320T\020,\032\006\b\304\357\v\030\b  -\315\314L>z\017\b\320T\020@\032\006\b\324\245\024\030\b \006"
+1: "\b\321T\022\005OTTIK\030\006\"\004\b\202\240\001*\004\b\272\240\0012\004\b\222\240\0018\002B\006\b\224\321+\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\321T\020\a\032\006\b\340\247\022\030\b (-\315\314\314=z\024\b\321T\020\037\032\006\b\310\320\a\030\b \022-\315\314\314=z\024\b\321T\0205\032\006\b\300\202\024\030\b \022-\315\314\314="
+1: "\b\322T\022\005TRADH\030\001\"\004\b\202\240\001*\004\b\272\240\0012\004\b\212\240\0018\003B\006\b\310\226\022\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\024\b\322T\020\035\032\006\b\214\307K\030\b \020-\315\314L=z\024\b\322T\020\036\032\006\b\324\346\017\030\b (-\315\314L="
+1: "\b\323T\022\005ALFKI\030\001\"\004\b\202\240\001*\004\b\272\240\0012\004\b\216\240\0018\003B\006\b\204\270*\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\017\b\323T\020;\032\006\b\360\310!\030\b \036z\024\b\323T\020M\032\006\b\320\367\a\030\b \004-\315\314L>"
+1: "\b\324T\022\005ERNSH\030\a\"\004\b\204\240\001*\004\b\274\240\0012\004\b\216\240\0018\001B\a\b\220\262\373\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\324T\020\026\032\006\b\320\350\f\030\b hz\017\b\324T\020#\032\006\b\240\376\n\030\b \fz\017\b\324T\0209\032\006\b\270\363\v\030\b 0z\017\b\324T\020<\032\006\b\240\340\024\030\b xz\017\b\324T\020@\032\006\b\324\245\024\030\b <"
+1: "\b\325T\022\005BERGS\030\t\"\004\b\204\240\001*\004\b\274\240\0012\004\b\222\240\0018\003B\006\b\320\220\b\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\325T\020\r\032\006\b\340\324\003\030\b \fz\017\b\325T\020(\032\006\b\300\235\v\030\b 2z\024\b\325T\020/\032\006\b\230\346\005\030\b P-\000\000\200>z\024\b\325T\020L\032\006\b\240\376\n\030\b *-\000\000\200>"
+1: "\b\326T\022\005LINOD\030\003\"\004\b\212\240\001*\004\b\302\240\0012\004\b\222\240\0018\003B\006\b\240\227$\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\326T\020\001\032\006\b\240\376\n\030\b \b-\000\000\200>z\024\b\326T\020\022\032\006\b\350\222&\030\b 2-\000\000\200>z\024\b\326T\020$\032\006\b\260\314\v\030\b d-\000\000\200>"
+1: "\b\327T\022\005TRADH\030\003\"\004\b\212\240\001*\004\b\302\240\0012\004\b\220\240\0018\003B\006\b\374\317\025\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\024\b\327T\020:\032\006\b\224\213\b\030\b <-\315\314\314=z\024\b\327T\020H\032\006\b\340\236\025\030\b \036-\315\314\314="
+1: "\b\330T\022\005LINOD\030\004\"\004\b\212\240\001*\004\b\336\240\0012\004\b\302\240\0018\002B\006\b\334\323\001\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\330T\020\031\032\006\b\340\305\b\030\b \f-\315\314L>z\024\b\330T\020\'\032\006\b\240\376\n\030\b \024-\315\314L>"
+1: "\b\331T\022\005SUPRD\030\005\"\004\b\214\240\001*\004\b\304\240\0012\004\b\236\240\0018\002B\a\b\270\374\202\002\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\331T\020\n\032\006\b\360\365\022\030\b  z\017\b\331T\0208\032\006\b\340\230\027\030\b <z\017\b\331T\020;\032\006\b\360\310!\030\b dz\017\b\331T\020M\032\006\b\320\367\a\030\b \036"
+1: "\b\332T\022\005TORTU\030\001\"\004\b\214\240\001*\004\b\304\240\0012\004\b\236\240\0018\003B\006\b\310\233!\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\332T\020\v\032\006\b\320\350\f\030\b \036z\017\b\332T\020+\032\006\b\340\211\034\030\b \nz\017\b\332T\020D\032\006\b\310\320\a\030\b (z\017\b\332T\020F\032\006\b\360\223\t\030\b \030"
+1: "\b\333T\022\005VICTE\030\004\"\004\b\216\240\001*\004\b\306\240\0012\004\b\230\240\0018\002B\006\b\270\323\005\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\333T\0203\032\006\b\320\254 \030\b \b-\000\000\200>"
+1: "\b\334T\022\005PICCO\030\b\"\004\b\216\240\001*\004\b\306\240\0012\004\b\230\240\0018\002B\006\b\250\262\017\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\334T\020\026\032\006\b\320\350\f\030\b F"
+1: "\b\335T\022\005QUICK\030\b\"\004\b\216\240\001*\004\b\252\240\0012\004\b\240\240\0018\001B\a\b\210\377\201\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\025\b\335T\020\027\032\006\b\220\277\005\030\b \214\001-\315\314\314=z\024\b\335T\020#\032\006\b\240\376\n\030\b 2-\315\314\314=z\024\b\335T\020*\032\006\b\340\305\b\030\b T-\315\314\314=z\024\b\335T\020:\032\006\b\224\213\b\030\b x-\315\314\314=z\017\b\335T\020@\032\006\b\324\245\024\030\b `"
+1: "\b\336T\022\005SUPRD\030\002\"\004\b\220\240\001*\004\b\344\240\0012\004\b\222\240\0018\003B\006\b\370\272\"\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\336T\020\004\032\006\b\340\266\r\030\b *z\017\b\336T\020F\032\006\b\360\223\t\030\b <z\017\b\336T\020J\032\006\b\240\215\006\030\b ("
+1: "\b\337T\022\005SAVEA\030\004\"\004\b\220\240\001*\004\b\254\240\0012\004\b\266\240\0018\003B\a\b\264\313\251\002\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\025\b\337T\020\001\032\006\b\240\376\n\030\b \240\001-\315\314L>z\024\b\337T\020\023\032\006\b\340\316\005\030\b \030-\315\314L>z\024\b\337T\020%\032\006\b\240\357\017\030\b x-\315\314L>z\024\b\337T\020-\032\006\b\230\346\005\030\b H-\315\314L>z\024\b\337T\020<\032\006\b\240\340\024\030\b Z-\315\314L>z\024\b\337T\020G\032\006\b\330\217\r\030\b n-\315\314L>"
+1: "\b\340T\022\005CONSH\030\a\"\004\b\222\240\001*\004\b\312\240\0012\004\b\236\240\0018\002B\006\b\300\253\027\030\bJ\025Consolidated HoldingsR\034Berkeley Gardens 12  BreweryZ\006Londonj\aWX1 6LTr\002UKz\017\b\340T\020\005\032\006\b\374\203\r\030\b <z\017\b\340T\020\t\032\006\b\220\232;\030\b \006"
+1: "\b\341T\022\005KOENE\030\t\"\004\b\222\240\001*\004\b\312\240\0012\004\b\240\240\0018\002B\005\b\340+\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\341T\020\003\032\006\b\240\215\006\030\b bz\024\b\341T\020\032\032\006\b\354\207\023\030\b $-\232\231\031>"
+1: "\b\342T\022\005VICTE\030\001\"\004\b\222\240\001*\004\b\346\240\0012\004\b\240\240\0018\001B\006\b\374\202\036\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\342T\020\031\032\006\b\340\305\b\030\b (-\232\231\031>z\024\b\342T\020!\032\006\b\250\303\001\030\b \b-\232\231\031>z\024\b\342T\020F\032\006\b\360\223\t\030\b <-\232\231\031>"
+1: "\b\343T\022\005RICAR\030\005\"\004\b\230\240\001*\004\b\320\240\0012\004\b\246\240\0018\001B\006\b\374\376a\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\024\b\343T\020\002\032\006\b\260\314\v\030\b \n-\315\314L=z\024\b\343T\020\031\032\006\b\340\305\b\030\b \024-\315\314L=z\024\b\343T\0209\032\006\b\270\363\v\030\b \024-\315\314L=z\024\b\343T\020;\032\006\b\360\310!\030\b T-\315\314L="
+1: "\b\344T\022\005RATTC\030\b\"\004\b\230\240\001*\004\b\264\240\0012\004\b\240\240\0018\001B\006\b\324\235j\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\344T\020\002\032\006\b\260\314\v\030\b \036z\017\b\344T\020\021\032\006\b\360\346\027\030\b \fz\017\b\344T\020>\032\006\b\310\213\036\030\b d"
+1: "\b\345T\022\005BLAUS\030\t\"\004\b\232\240\001*\004\b\322\240\0012\004\b\250\240\0018\002B\006\b\274\355 \030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\345T\020\022\032\006\b\350\222&\030\b \024"
+1: "\b\346T\022\005ERNSH\030\003\"\004\b\232\240\001*\004\b\322\240\0012\004\b\254\240\0018\002B\006\b\330\225=\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\025\b\346T\020\n\032\006\b\360\365\022\030\b \310\001-\232\231\031>z\025\b\346T\020\r\032\006\b\340\324\003\030\b \202\001-\232\231\031>"
+1: "\b\347T\022\005OLDWO\030\003\"\004\b\232\240\001*\004\b\322\240\0012\004\b\252\240\0018\001B\006\b\204\255h\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\347T\020\020\032\006\b\244\323\n\030\b dz\017\b\347T\020\037\032\006\b\310\320\a\030\b \034z\017\b\347T\0208\032\006\b\340\230\027\030\b 0z\024\b\347T\020A\032\006\b\304\354\f\030\b \036-\232\231\031>"
+1: "\b\350T\022\005ANTON\030\003\"\004\b\234\240\001*\004\b\324\240\0012\004\b\266\240\0018\002B\006\b\354\324#\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos  2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\017\b\350T\020\002\032\006\b\260\314\v\030\b (z\017\b\350T\020*\032\006\b\340\305\b\030\b ("
+1: "\b\351T\022\005BERGS\030\b\"\004\b\234\240\001*\004\b\324\240\0012\004\b\256\240\0018\002B\006\b\364\241s\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\351T\020\003\032\006\b\240\215\006\030\b <z\024\b\351T\020\032\032\006\b\354\207\023\030\b F-\000\000\200>z\024\b\351T\020\035\032\006\b\214\307K\030\b \024-\000\000\200>"
+1: "\b\352T\022\005LACOR\030\002\"\004\b\236\240\001*\004\b\326\240\0012\004\b\250\240\0018\001B\006\b\254\206 \030\bJ\024La corne d\'abondanceR\02667, avenue de l\'EuropeZ\nVersaillesj\00578000r\006Francez\017\b\352T\020\a\032\006\b\340\247\022\030\b \nz\017\b\352T\020\033\032\006\b\330\345\032\030\b \024z\017\b\352T\020F\032\006\b\360\223\t\030\b \b"
+1: "\b\353T\022\005FRANK\030\001\"\004\b\236\240\001*\004\b\326\240\0012\004\b\246\240\0018\002B\006\b\250\271.\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\353T\020\030\032\006\b\310\337\002\030\b P-\000\000\200>z\024\b\353T\0206\032\006\b\204\306\004\030\b F-\000\000\200>z\024\b\353T\020@\032\006\b\324\245\024\030\b <-\000\000\200>"
+1: "\b\354T\022\005FRANR\030\003\"\004\b\236\240\001*\004\b\326\240\0012\004\b\252\240\0018\003B\006\b\330\340\v\030\bJ\023France restaurationR\01654, rue RoyaleZ\006Nantesj\00544000r\006Francez\017\b\354T\0203\032\006\b\320\254 \030\b \006z\017\b\354T\020L\032\006\b\240\376\n\030\b ("
+1: "\b\355T\022\005WHITC\030\004\"\004\b\240\240\001*\004\b\330\240\0012\004\b\304\240\0018\002B\006\b\264\216\t\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\355T\020\021\032\006\b\360\346\027\030\b Tz\017\b\355T\020\022\032\006\b\350\222&\030\b (z\017\b\355T\020\025\032\006\b\240\215\006\030\b Pz\017\b\355T\020!\032\006\b\250\303\001\030\b Fz\017\b\355T\020>\032\006\b\310\213\036\030\b \006"
+1: "\b\356T\022\005LEHMS\030\b\"\004\b\240\240\001*\004\b\364\240\0012\004\b\246\240\0018\002B\006\b\314\276 \030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\356T\020\v\032\006\b\320\350\f\030\b 2z\017\b\356T\0204\032\006\b\360\242\004\030\b \020"
+1: "\b\357T\022\005HILAA\030\004\"\004\b\246\240\001*\004\b\336\240\0012\004\b\304\240\0018\002B\006\b\210\274\022\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\357T\020\001\032\006\b\240\376\n\030\b (-\232\231\031>z\024\b\357T\020:\032\006\b\224\213\b\030\b \030-\232\231\031>"
+1: "\b\360T\022\005AROUT\030\004\"\004\b\246\240\001*\004\b\336\240\0012\004\b\264\240\0018\002B\006\b\300\355\001\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\360T\020#\032\006\b\240\376\n\030\b \bz\017\b\360T\020C\032\006\b\340\305\b\030\b \036"
+1: "\b\361T\022\005QUICK\030\002\"\004\b\246\240\001*\004\b\302\240\0012\004\b\272\240\0018\001B\a\b\270\276\324\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\025\b\361T\020&\032\a\b\370\351\240\001\030\b x-\315\314L=z\025\b\361T\020\'\032\006\b\240\376\n\030\b \240\001-\315\314L="
+1: "\b\362T\022\005BERGS\030\005\"\004\b\250\240\001*\004\b\340\240\0012\004\b\272\240\0018\001B\006\b\234\314B\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\362T\020\002\032\006\b\260\314\v\030\b *-\000\000\200>z\024\b\362T\020\030\032\006\b\310\337\002\030\b \f-\000\000\200>z\024\b\362T\020\036\032\006\b\324\346\017\030\b P-\000\000\200>"
+1: "\b\363T\022\005LONEP\030\006\"\004\b\250\240\001*\004\b\374\240\0012\004\b\270\240\0018\001B\006\b\344\226\001\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\363T\0205\032\006\b\300\202\024\030\b \006"
+1: "\b\364T\022\005QUEEN\030\a\"\004\b\252\240\001*\004\b\342\240\0012\004\b\320\240\0018\002B\006\b\374\336t\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\364T\020\032\032\006\b\354\207\023\030\b (z\017\b\364T\020#\032\006\b\240\376\n\030\b <z\024\b\364T\0201\032\006\b\300\232\f\030\b T-\315\314\314="
+1: "\b\365T\022\005SEVES\030\005\"\004\b\252\240\001*\004\b\342\240\0012\004\b\264\240\0018\001B\006\b\340\271W\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\017\b\365T\020\001\032\006\b\240\376\n\030\b Pz\017\b\365T\020\v\032\006\b\320\350\f\030\b \024z\017\b\365T\020\027\032\006\b\220\277\005\030\b dz\017\b\365T\020D\032\006\b\310\320\a\030\b ("
+1: "\b\366T\022\005WOLZA\030\005\"\004\b\252\240\001*\004\b\342\240\0012\004\b\274\240\0018\003B\006\b\320\254\a\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\366T\020#\032\006\b\240\376\n\030\b \006z\017\b\366T\0203\032\006\b\320\254 \030\b \004"
+1: "\b\367T\022\005BONAP\030\t\"\004\b\254\240\001*\004\b\344\240\0012\004\b\266\240\0018\002B\006\b\214\303D\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\367T\020\006\032\006\b\220\241\017\030\b d-\315\314L=z\024\b\367T\020\020\032\006\b\244\323\n\030\b \030-\315\314L=z\024\b\367T\020\021\032\006\b\360\346\027\030\b  -\315\314L="
+1: "\b\370T\022\005GODOS\030\005\"\004\b\254\240\001*\004\b\344\240\0012\004\b\264\240\0018\002B\006\b\360\200k\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\024\b\370T\0207\032\006\b\200\323\016\030\b \024-\315\314L=z\024\b\370T\020>\032\006\b\310\213\036\030\b (-\315\314L=z\024\b\370T\020@\032\006\b\324\245\024\030\b \036-\315\314L=z\024\b\370T\020A\032\006\b\304\354\f\030\b *-\315\314L="
+1: "\b\371T\022\005WILMK\030\004\"\004\b\256\240\001*\004\b\346\240\0012\004\b\264\240\0018\001B\005\b\210@\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\371T\020\025\032\006\b\240\215\006\030\b (z\017\b\371T\020\034\032\006\b\300\352\033\030\b \006"
+1: "\b\372T\022\005GODOS\030\005\"\004\b\256\240\001*\004\b\346\240\0012\004\b\270\240\0018\002B\006\b\330\371\v\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\372T\020\n\032\006\b\360\365\022\030\b \024"
+1: "\b\373T\022\005BERGS\030\004\"\004\b\256\240\001*\004\b\346\240\0012\004\b\340\240\0018\002B\006\b\364\340\023\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\373T\020\023\032\006\b\340\316\005\030\b 2z\024\b\373T\020/\032\006\b\230\346\005\030\b *-\315\314\314=z\017\b\373T\0201\032\006\b\300\232\f\030\b \036"
+1: "\b\374T\022\005BONAP\030\a\"\004\b\264\240\001*\004\b\354\240\0012\004\b\272\240\0018\003B\006\b\250\360$\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\374T\020.\032\006\b\300\251\a\030\b *z\017\b\374T\020@\032\006\b\324\245\024\030\b ("
+1: "\b\375T\022\005RICAR\030\001\"\004\b\264\240\001*\004\b\354\240\0012\004\b\310\240\0018\001B\006\b\270\235\027\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\024\b\375T\020\020\032\006\b\244\323\n\030\b <-\000\000\200>z\017\b\375T\020\022\032\006\b\350\222&\030\b 2"
+1: "\b\376T\022\005QUICK\030\004\"\004\b\266\240\001*\004\b\356\240\0012\004\b\272\240\0018\001B\006\b\324\277\034\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\376T\020\024\032\006\b\220\2701\030\b (-\315\314L="
+1: "\b\377T\022\005WILMK\030\003\"\004\b\266\240\001*\004\b\356\240\0012\004\b\272\240\0018\003B\006\b\210\230\005\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\377T\020(\032\006\b\300\235\v\030\b \030z\017\b\377T\020A\032\006\b\304\354\f\030\b \024z\017\b\377T\020L\032\006\b\240\376\n\030\b \024"
+1: "\b\200U\022\005FOLKO\030\a\"\004\b\266\240\001*\004\b\212\241\0012\004\b\306\240\0018\001B\006\b\344\3335\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\200U\020\027\032\006\b\220\277\005\030\b <-\315\314L>z\024\b\200U\020=\032\006\b\310\262\021\030\b <-\315\314L>z\024\b\200U\020F\032\006\b\360\223\t\030\b d-\315\314L>"
+1: "\b\201U\022\005CACTU\030\004\"\004\b\270\240\001*\004\b\360\240\0012\004\b\306\240\0018\001B\006\b\360\335\001\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\201U\020I\032\006\b\360\223\t\030\b \024"
+1: "\b\202U\022\005SAVEA\030\004\"\004\b\270\240\001*\004\b\360\240\0012\004\b\312\240\0018\003B\006\b\330\214\016\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\202U\020*\032\006\b\340\305\b\030\b 2z\024\b\202U\0201\032\006\b\300\232\f\030\b (-\232\231\031>z\024\b\202U\0206\032\006\b\204\306\004\030\b @-\232\231\031>"
+1: "\b\203U\022\005LONEP\030\b\"\004\b\272\240\001*\004\b\362\240\0012\004\b\312\240\0018\003B\005\b\264)\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\203U\020\030\032\006\b\310\337\002\030\b \020"
+1: "\b\204U\022\005LETSS\030\004\"\004\b\272\240\001*\004\b\362\240\0012\004\b\274\240\0018\002B\006\b\204\3037\030\bJ\021Let\'s Stop N ShopR\02387 Polk St. Suite 5Z\rSan Franciscob\002CAj\00594117r\003USAz\024\b\204U\020\025\032\006\b\240\215\006\030\b P-\315\314L=z\024\b\204U\0208\032\006\b\340\230\027\030\b *-\315\314L=z\024\b\204U\020A\032\006\b\304\354\f\030\b \030-\315\314L="
+1: "\b\205U\022\005SUPRD\030\006\"\004\b\272\240\001*\004\b\362\240\0012\004\b\306\240\0018\003B\006\b\320\270\003\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\205U\020\002\032\006\b\260\314\v\030\b (z\017\b\205U\020\030\032\006\b\310\337\002\030\b \030z\017\b\205U\020F\032\006\b\360\223\t\030\b <z\017\b\205U\020M\032\006\b\320\367\a\030\b 2"
+1: "\b\206U\022\005HANAR\030\001\"\004\b\274\240\001*\004\b\364\240\0012\004\b\336\240\0018\001B\006\b\354\205\003\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\020\b\206U\020\n\032\006\b\360\365\022\030\b \214\001z\017\b\206U\020\037\032\006\b\310\320\a\030\b Fz\017\b\206U\020M\032\006\b\320\367\a\030\b P"
+1: "\b\207U\022\005GALED\030\b\"\004\b\274\240\001*\004\b\364\240\0012\004\b\302\240\0018\003B\005\b\324a\030\bJ\030Galer\303\255a del gastron\303\263moR\027Rambla de Catalu\303\261a, 23Z\tBarcelonaj\0048022r\005Spainz\017\b\207U\020\031\032\006\b\340\305\b\030\b \n"
+1: "\b\210U\022\005GODOS\030\001\"\004\b\302\240\001*\004\b\372\240\0012\004\b\320\240\0018\002B\006\b\254\324\037\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\210U\020\002\032\006\b\260\314\v\030\b (z\017\b\210U\020D\032\006\b\310\320\a\030\b $"
+1: "\b\211U\022\005RATTC\030\t\"\004\b\302\240\001*\004\b\372\240\0012\004\b\320\240\0018\003B\a\b\324\242\253\001\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\211U\020\v\032\006\b\320\350\f\030\b Pz\020\b\211U\020&\032\a\b\370\351\240\001\030\b P"
+1: "\b\212U\022\005DUMON\030\a\"\004\b\302\240\001*\004\b\372\240\0012\004\b\306\240\0018\001B\006\b\260\377\023\030\bJ\017Du monde entierR\03467, rue des Cinquante OtagesZ\006Nantesj\00544000r\006Francez\017\b\212U\020\021\032\006\b\360\346\027\030\b \036z\017\b\212U\020\"\032\006\b\340\305\b\030\b \024z\017\b\212U\020)\032\006\b\364\361\005\030\b \034"
+1: "\b\213U\022\005LEHMS\030\a\"\004\b\304\240\001*\004\b\374\240\0012\004\b\310\240\0018\002B\006\b\264\267\f\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\213U\020\036\032\006\b\324\346\017\030\b \036-\315\314L="
+1: "\b\214U\022\005MAISD\030\004\"\004\b\304\240\001*\004\b\374\240\0012\004\b\310\240\0018\002B\006\b\214\264I\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\024\b\214U\020;\032\006\b\360\310!\030\b P-\315\314L="
+1: "\b\215U\022\005KOENE\030\t\"\004\b\306\240\001*\004\b\376\240\0012\004\b\312\240\0018\002B\006\b\310\274/\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\215U\020\b\032\006\b\200\265\030\030\b <z\017\b\215U\020\030\032\006\b\310\337\002\030\b \024z\017\b\215U\020\035\032\006\b\214\307K\030\b 0z\017\b\215U\020\036\032\006\b\324\346\017\030\b Fz\017\b\215U\020$\032\006\b\260\314\v\030\b ("
+1: "\b\216U\022\005SAVEA\030\001\"\004\b\306\240\001*\004\b\376\240\0012\004\b\312\240\0018\001B\006\b\324\360F\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\216U\020\r\032\006\b\340\324\003\030\b 8-\315\314L=z\024\b\216U\020E\032\006\b\300\374\025\030\b d-\315\314L=z\025\b\216U\020K\032\006\b\274\335\004\030\b \360\001-\315\314L="
+1: "\b\217U\022\005ERNSH\030\003\"\004\b\306\240\001*\004\b\376\240\0012\004\b\320\240\0018\001B\006\b\354\252c\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\020\b\217U\020\030\032\006\b\310\337\002\030\b \334\001z\017\b\217U\020\'\032\006\b\240\376\n\030\b Zz\020\b\217U\020(\032\006\b\300\235\v\030\b \266\001z\020\b\217U\020<\032\006\b\240\340\024\030\b \310\001"
+1: "\b\220U\022\005MAISD\030\a\"\004\b\310\240\001*\004\b\200\241\0012\004\b\330\240\0018\003B\006\b\224\347\023\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\017\b\220U\020-\032\006\b\230\346\005\030\b \036z\017\b\220U\0208\032\006\b\340\230\027\030\b  "
+1: "\b\221U\022\005HUNGO\030\003\"\004\b\310\240\001*\004\b\200\241\0012\004\b\324\240\0018\002B\a\b\310\257\360\002\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\020\b\221U\020\035\032\006\b\214\307K\030\b \240\001z\017\b\221U\020\036\032\006\b\324\346\017\030\b H"
+1: "\b\222U\022\005OCEAN\030\004\"\004\b\312\240\001*\004\b\202\241\0012\004\b\346\240\0018\002B\005\b\234c\030\bJ\030Oc\303\251ano Atl\303\241ntico Ltda.R#Ing. Gustavo Moncada 8585 Piso 20-AZ\fBuenos Airesj\0041010r\tArgentinaz\017\b\222U\020\r\032\006\b\340\324\003\030\b \n"
+1: "\b\223U\022\005LILAS\030\005\"\004\b\312\240\001*\004\b\202\241\0012\004\b\326\240\0018\003B\005\b\304^\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\223U\020\'\032\006\b\240\376\n\030\b \020-\232\231\031>"
+1: "\b\224U\022\005WELLI\030\001\"\004\b\312\240\001*\004\b\202\241\0012\004\b\342\240\0018\002B\006\b\330\201\001\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\224U\020F\032\006\b\360\223\t\030\b \006-\000\000\200>"
+1: "\b\225U\022\005HILAA\030\004\"\004\b\320\240\001*\004\b\210\241\0012\004\b\326\240\0018\001B\006\b\344\362%\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\225U\020)\032\006\b\364\361\005\030\b <z\017\b\225U\020G\032\006\b\330\217\r\030\b <"
+1: "\b\226U\022\005FOLKO\030\001\"\004\b\320\240\001*\004\b\210\241\0012\004\b\340\240\0018\001B\006\b\234\371\032\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\226U\0207\032\006\b\200\323\016\030\b <-\232\231\031>z\024\b\226U\020>\032\006\b\310\213\036\030\b \f-\232\231\031>"
+1: "\b\227U\022\005HANAR\030\003\"\004\b\322\240\001*\004\b\212\241\0012\004\b\342\240\0018\003B\006\b\374\263\026\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\227U\020\r\032\006\b\340\324\003\030\b Pz\017\b\227U\020A\032\006\b\304\354\f\030\b *z\017\b\227U\020D\032\006\b\310\320\a\030\b ("
+1: "\b\230U\022\005WHITC\030\003\"\004\b\322\240\001*\004\b\212\241\0012\004\b\330\240\0018\003B\006\b\274\272c\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\230U\020:\032\006\b\224\213\b\030\b \036z\017\b\230U\020>\032\006\b\310\213\036\030\b F"
+1: "\b\231U\022\005WELLI\030\t\"\004\b\322\240\001*\004\b\212\241\0012\004\b\346\240\0018\002B\006\b\360\257\b\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\231U\020\001\032\006\b\240\376\n\030\b (-\315\314L="
+1: "\b\232U\022\005WOLZA\030\004\"\004\b\324\240\001*\004\b\360\240\0012\004\b\340\240\0018\003B\006\b\364\205\020\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\232U\020=\032\006\b\310\262\021\030\b \036"
+1: "\b\233U\022\005SPECD\030\006\"\004\b\324\240\001*\004\b\214\241\0012\004\b\330\240\0018\003B\006\b\374\315\005\030\bJ\026Sp\303\251cialit\303\251s du mondeR\02125, rue LauristonZ\005Parisj\00575016r\006Francez\017\b\233U\020K\032\006\b\274\335\004\030\b \034"
+1: "\b\234U\022\005REGGC\030\004\"\004\b\326\240\001*\004\b\216\241\0012\004\b\346\240\0018\002B\006\b\200\217\024\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\234U\020\a\032\006\b\340\247\022\030\b (-\315\314L=z\024\b\234U\0204\032\006\b\360\242\004\030\b \034-\315\314L="
+1: "\b\235U\022\005SANTG\030\001\"\004\b\326\240\001*\004\b\216\241\0012\004\b\356\240\0018\002B\006\b\304\260 \030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\235U\020\a\032\006\b\340\247\022\030\b \030z\017\b\235U\020\020\032\006\b\244\323\n\030\b \036z\017\b\235U\020)\032\006\b\364\361\005\030\b \n"
+1: "\b\236U\022\005WILMK\030\001\"\004\b\326\240\001*\004\b\216\241\0012\004\b\342\240\0018\003B\006\b\254\241\027\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\236U\020\023\032\006\b\340\316\005\030\b \030z\017\b\236U\0201\032\006\b\300\232\f\030\b \024z\017\b\236U\020=\032\006\b\310\262\021\030\b \n"
+1: "\b\237U\022\005GODOS\030\003\"\004\b\326\240\001*\004\b\216\241\0012\004\b\344\240\0018\001B\006\b\314\247\027\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\237U\020\001\032\006\b\240\376\n\030\b \024z\017\b\237U\020\021\032\006\b\360\346\027\030\b \030z\017\b\237U\020C\032\006\b\340\305\b\030\b \036"
+1: "\b\240U\022\005HUNGO\030\002\"\004\b\326\240\001*\004\b\216\241\0012\004\b\376\240\0018\002B\a\b\314\307\342\002\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\240U\020\v\032\006\b\320\350\f\030\b P-\000\000\200>z\024\b\240U\020\035\032\006\b\214\307K\030\b x-\000\000\200>"
+1: "\b\241U\022\005QUEEN\030\004\"\004\b\326\240\001*\004\b\216\241\0012\004\b\342\240\0018\001B\006\b\204\226\024\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\241U\020\004\032\006\b\340\266\r\030\b <-\000\000\200>z\024\b\241U\020!\032\006\b\250\303\001\030\b P-\000\000\200>z\017\b\241U\020:\032\006\b\224\213\b\030\b \036"
+1: "\b\242U\022\005QUEEN\030\006\"\004\b\330\240\001*\004\b\220\241\0012\004\b\336\240\0018\001B\006\b\274\367\f\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\242U\020G\032\006\b\330\217\r\030\b 2"
+1: "\b\243U\022\005TORTU\030\002\"\004\b\330\240\001*\004\b\220\241\0012\004\b\336\240\0018\002B\006\b\234\222\002\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\243U\020\021\032\006\b\360\346\027\030\b \024z\017\b\243U\020!\032\006\b\250\303\001\030\b <z\017\b\243U\0206\032\006\b\204\306\004\030\b \024"
+1: "\b\244U\022\005RANCH\030\001\"\004\b\330\240\001*\004\b\220\241\0012\004\b\354\240\0018\002B\006\b\204\366&\030\bJ\rRancho grandeR\026Av. del Libertador 900Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\244U\020\020\032\006\b\244\323\n\030\b \fz\017\b\244U\020 \032\006\b\200\304\023\030\b \fz\017\b\244U\0209\032\006\b\270\363\v\030\b ("
+1: "\b\245U\022\005ROMEY\030\004\"\004\b\336\240\001*\004\b\226\241\0012\004\b\360\240\0018\002B\006\b\324\207\005\030\bJ\020Romero y tomilloR\fGran V\303\255a, 1Z\006Madridj\00528001r\005Spainz\017\b\245U\020\036\032\006\b\324\346\017\030\b \002z\017\b\245U\020<\032\006\b\240\340\024\030\b \024"
+1: "\b\246U\022\005BOTTM\030\003\"\004\b\336\240\001*\004\b\226\241\0012\004\b\360\240\0018\003B\006\b\354\346\035\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\246U\020\001\032\006\b\240\376\n\030\b x-\000\000\200>z\024\b\246U\020<\032\006\b\240\340\024\030\b 2-\000\000\200>"
+1: "\b\247U\022\005LINOD\030\002\"\004\b\336\240\001*\004\b\226\241\0012\004\b\342\240\0018\002B\006\b\360\212\f\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\247U\020\020\032\006\b\244\323\n\030\b 0z\017\b\247U\020\031\032\006\b\340\305\b\030\b 0z\017\b\247U\020(\032\006\b\300\235\v\030\b ("
+1: "\b\250U\022\005AROUT\030\004\"\004\b\340\240\001*\004\b\230\241\0012\004\b\354\240\0018\002B\006\b\244\211\022\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\250U\0202\032\006\b\304\365\t\030\b 0"
+1: "\b\251U\022\005VAFFE\030\001\"\004\b\340\240\001*\004\b\264\241\0012\004\b\354\240\0018\001B\006\b\300\333k\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\251U\020#\032\006\b\240\376\n\030\b \024z\017\b\251U\020?\032\006\b\330\345\032\030\b P"
+1: "\b\252U\022\005HANAR\030\005\"\004\b\340\240\001*\004\b\230\241\0012\004\b\344\240\0018\003B\006\b\310\245&\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\252U\020\021\032\006\b\360\346\027\030\b \036z\017\b\252U\020\030\032\006\b\310\337\002\030\b F"
+1: "\b\253U\022\005LAMAI\030\a\"\004\b\340\240\001*\004\b\264\241\0012\004\b\364\240\0018\003B\006\b\350\324)\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\253U\020*\032\006\b\340\305\b\030\b \024-\315\314L>z\024\b\253U\020+\032\006\b\340\211\034\030\b \024-\315\314L>z\024\b\253U\020C\032\006\b\340\305\b\030\b 0-\315\314L>"
+1: "\b\254U\022\005BERGS\030\003\"\004\b\342\240\001*\004\b\232\241\0012\004\b\250\241\0018\002B\006\b\300\275\\\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen  8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\254U\020\n\032\006\b\360\365\022\030\b (-\315\314\314=z\024\b\254U\020\034\032\006\b\300\352\033\030\b <-\315\314\314=z\017\b\254U\020K\032\006\b\274\335\004\030\b \f"
+1: "\b\255U\022\005HANAR\030\003\"\004\b\342\240\001*\004\b\232\241\0012\004\b\364\240\0018\001B\006\b\254\261\001\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\024\b\255U\020$\032\006\b\260\314\v\030\b 2-\232\231\031>z\024\b\255U\0204\032\006\b\360\242\004\030\b \030-\232\231\031>"
+1: "\b\256U\022\005ANATR\030\004\"\004\b\342\240\001*\004\b\232\241\0012\004\b\360\240\0018\003B\006\b\340\256\030\030\bJ\"Ana Trujillo Emparedados y heladosR\036Avda. de la Constituci\303\263n 2222Z\fM\303\251xico D.F.j\00505021r\006Mexicoz\017\b\256U\020\v\032\006\b\320\350\f\030\b \004z\017\b\256U\020\r\032\006\b\340\324\003\030\b \024z\017\b\256U\020\023\032\006\b\340\316\005\030\b \016z\017\b\256U\020H\032\006\b\340\236\025\030\b \024"
+1: "\b\257U\022\005LACOR\030\004\"\004\b\344\240\001*\004\b\234\241\0012\004\b\250\241\0018\001B\006\b\214\212\f\030\bJ\024La corne d\'abondanceR\02667, avenue de l\'EuropeZ\nVersaillesj\00578000r\006Francez\017\b\257U\020\024\032\006\b\220\2701\030\b \nz\017\b\257U\0204\032\006\b\360\242\004\030\b \nz\017\b\257U\020L\032\006\b\240\376\n\030\b ("
+1: "\b\260U\022\005GALED\030\001\"\004\b\344\240\001*\004\b\234\241\0012\004\b\376\240\0018\001B\005\b\240j\030\bJ\030Galer\303\255a del gastron\303\263moR\027Rambla de Catalu\303\261a, 23Z\tBarcelonaj\0048022r\005Spainz\017\b\260U\020/\032\006\b\230\346\005\030\b \nz\017\b\260U\020L\032\006\b\240\376\n\030\b \n"
+1: "\b\261U\022\005FRANK\030\006\"\004\b\344\240\001*\004\b\234\241\0012\004\b\362\240\0018\001B\006\b\344\332\024\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\261U\020\025\032\006\b\240\215\006\030\b xz\017\b\261U\020K\032\006\b\274\335\004\030\b bz\017\b\261U\020M\032\006\b\320\367\a\030\b \036"
+1: "\b\262U\022\005SUPRD\030\004\"\004\b\346\240\001*\004\b\272\241\0012\004\b\376\240\0018\003B\006\b\354\276\t\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\262U\020\025\032\006\b\240\215\006\030\b Hz\017\b\262U\020\033\032\006\b\330\345\032\030\b 2z\024\b\262U\0207\032\006\b\200\323\016\030\b 2-\315\314L>z\024\b\262U\020:\032\006\b\224\213\b\030\b <-\315\314L>"
+1: "\b\263U\022\005RICSU\030\004\"\004\b\346\240\001*\004\b\202\241\0012\004\b\200\241\0018\002B\006\b\300\246\b\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\263U\020\r\032\006\b\340\324\003\030\b T-\232\231\031>z\017\b\263U\0209\032\006\b\270\363\v\030\b <"
+1: "\b\264U\022\005BONAP\030\b\"\004\b\346\240\001*\004\b\236\241\0012\004\b\212\241\0018\001B\006\b\340\226R\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\264U\020\020\032\006\b\244\323\n\030\b <-\315\314\314=z\024\b\264U\020>\032\006\b\310\213\036\030\b \034-\315\314\314=z\017\b\264U\020H\032\006\b\340\236\025\030\b  z\024\b\264U\020K\032\006\b\274\335\004\030\b (-\315\314\314="
+1: "\b\265U\022\005ISLAT\030\006\"\004\b\346\240\001*\004\b\236\241\0012\004\b\372\240\0018\003B\006\b\274\206!\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\265U\0205\032\006\b\300\202\024\030\b \004z\017\b\265U\020=\032\006\b\310\262\021\030\b <"
+1: "\b\266U\022\005LEHMS\030\003\"\004\b\354\240\001*\004\b\244\241\0012\004\b\362\240\0018\003B\006\b\344\304\023\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\266U\020\006\032\006\b\220\241\017\030\b ("
+1: "\b\267U\022\005WELLI\030\004\"\004\b\354\240\001*\004\b\244\241\0012\004\b\376\240\0018\003B\006\b\374\205\035\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\017\b\267U\020\001\032\006\b\240\376\n\030\b *z\024\b\267U\020\022\032\006\b\350\222&\030\b \b-\000\000\200>z\024\b\267U\020\027\032\006\b\220\277\005\030\b \020-\000\000\200>"
+1: "\b\270U\022\005GREAL\030\003\"\004\b\354\240\001*\004\b\244\241\0012\004\b\376\240\0018\002B\006\b\240\307\024\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\024\b\270U\020$\032\006\b\260\314\v\030\b <-\315\314L>"
+1: "\b\271U\022\005CACTU\030\a\"\004\b\356\240\001*\004\b\212\241\0012\004\b\364\240\0018\003B\006\b\334\235\023\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\271U\020\034\032\006\b\300\352\033\030\b \020z\017\b\271U\020\"\032\006\b\340\305\b\030\b ("
+1: "\b\272U\022\005QUICK\030\003\"\004\b\356\240\001*\004\b\246\241\0012\004\b\372\240\0018\002B\006\b\264\273\023\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\272U\020\r\032\006\b\340\324\003\030\b (-\000\000\200>z\024\b\272U\020+\032\006\b\340\211\034\030\b 0-\000\000\200>z\024\b\272U\020<\032\006\b\240\340\024\030\b b-\000\000\200>z\024\b\272U\020G\032\006\b\330\217\r\030\b F-\000\000\200>"
+1: "\b\273U\022\005MAGAA\030\002\"\004\b\356\240\001*\004\b\246\241\0012\004\b\364\240\0018\002B\006\b\244\313.\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\024\b\273U\020\002\032\006\b\260\314\v\030\b \024-\232\231\031>z\024\b\273U\020C\032\006\b\340\305\b\030\b P-\232\231\031>"
+1: "\b\274U\022\005BONAP\030\b\"\004\b\360\240\001*\004\b\250\241\0012\004\b\210\241\0018\003B\006\b\304\210\f\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\274U\020\a\032\006\b\340\247\022\030\b \020z\017\b\274U\020\r\032\006\b\340\324\003\030\b ("
+1: "\b\275U\022\005SAVEA\030\a\"\004\b\360\240\001*\004\b\250\241\0012\004\b\202\241\0018\002B\a\b\244\321\364\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\275U\020\037\032\006\b\310\320\a\030\b X-\000\000\200>z\024\b\275U\020>\032\006\b\310\213\036\030\b <-\000\000\200>z\025\b\275U\020D\032\006\b\310\320\a\030\b \240\001-\000\000\200>z\017\b\275U\020H\032\006\b\340\236\025\030\b d"
+1: "\b\276U\022\005REGGC\030\t\"\004\b\360\240\001*\004\b\250\241\0012\004\b\376\240\0018\003B\006\b\254\372\n\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\017\b\276U\0201\032\006\b\300\232\f\030\b 8"
+1: "\b\277U\022\005BSBEV\030\004\"\004\b\360\240\001*\004\b\250\241\0012\004\b\200\241\0018\002B\006\b\304\251\001\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\277U\020\r\032\006\b\340\324\003\030\b \036z\017\b\277U\020\026\032\006\b\320\350\f\030\b *z\017\b\277U\020.\032\006\b\300\251\a\030\b \036"
+1: "\b\300U\022\005BOTTM\030\006\"\004\b\362\240\001*\004\b\216\241\0012\004\b\364\240\0018\003B\006\b\260\246 \030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\300U\020\v\032\006\b\320\350\f\030\b \n-\000\000\200>z\024\b\300U\020,\032\006\b\304\357\v\030\b $-\000\000\200>z\017\b\300U\0208\032\006\b\340\230\027\030\b $"
+1: "\b\301U\022\005MORGK\030\004\"\004\b\362\240\001*\004\b\252\241\0012\004\b\376\240\0018\001B\006\b\270\236\006\030\bJ\026Morgenstern GesundkostR\vHeerstr. 22Z\aLeipzigj\00504179r\aGermanyz\017\b\301U\020\r\032\006\b\340\324\003\030\b (z\017\b\301U\020\037\032\006\b\310\320\a\030\b \024"
+1: "\b\302U\022\005VAFFE\030\001\"\004\b\362\240\001*\004\b\252\241\0012\004\b\200\241\0018\002B\006\b\200\315\020\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\302U\020\n\032\006\b\360\365\022\030\b 2z\017\b\302U\020\030\032\006\b\310\337\002\030\b 2z\017\b\302U\020M\032\006\b\320\367\a\030\b P"
+1: "\b\303U\022\005BSBEV\030\003\"\004\b\364\240\001*\004\b\254\241\0012\004\b\372\240\0018\002B\006\b\330\376\001\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\303U\020;\032\006\b\360\310!\030\b \b"
+1: "\b\304U\022\005GODOS\030\003\"\004\b\364\240\001*\004\b\254\241\0012\004\b\200\241\0018\003B\006\b\254\243\016\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\304U\0202\032\006\b\304\365\t\030\b \022z\017\b\304U\0203\032\006\b\320\254 \030\b Pz\017\b\304U\0207\032\006\b\200\323\016\030\b \b"
+1: "\b\305U\022\005BOTTM\030\002\"\004\b\364\240\001*\004\b\254\241\0012\004\b\374\240\0018\003B\006\b\320\267-\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\305U\020\006\032\006\b\220\241\017\030\b \030z\017\b\305U\020\n\032\006\b\360\365\022\030\b <z\017\b\305U\020\021\032\006\b\360\346\027\030\b \fz\017\b\305U\020>\032\006\b\310\213\036\030\b x"
+1: "\b\306U\022\005MAGAA\030\001\"\004\b\372\240\001*\004\b\262\241\0012\004\b\210\241\0018\002B\006\b\250\303\001\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\306U\020\004\032\006\b\340\266\r\030\b \n"
+1: "\b\307U\022\005RICSU\030\t\"\004\b\372\240\001*\004\b\316\241\0012\004\b\246\241\0018\002B\006\b\224\352\022\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\307U\020!\032\006\b\250\303\001\030\b \036-\315\314L=z\024\b\307U\020)\032\006\b\364\361\005\030\b \f-\315\314L=z\024\b\307U\020K\032\006\b\274\335\004\030\b d-\315\314L="
+1: "\b\310U\022\005ALFKI\030\001\"\004\b\372\240\001*\004\b\316\241\0012\004\b\212\241\0018\001B\006\b\350\325\030\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\024\b\310U\020\006\032\006\b\220\241\017\030\b  -\315\314L=z\017\b\310U\020\034\032\006\b\300\352\033\030\b \004"
+1: "\b\311U\022\005AROUT\030\t\"\004\b\372\240\001*\004\b\226\241\0012\004\b\214\241\0018\002B\006\b\220\275\016\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\024\b\311U\020\024\032\006\b\220\2701\030\b d-\315\314L=z\024\b\311U\020\037\032\006\b\310\320\a\030\b d-\315\314L="
+1: "\b\312U\022\005LINOD\030\005\"\004\b\374\240\001*\004\b\320\241\0012\004\b\202\241\0018\001B\006\b\274\204\021\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\312U\020\020\032\006\b\244\323\n\030\b 8-\232\231\031>z\024\b\312U\020\037\032\006\b\310\320\a\030\b 2-\232\231\031>z\017\b\312U\020-\032\006\b\230\346\005\030\b <z\024\b\312U\020<\032\006\b\240\340\024\030\b 0-\232\231\031>"
+1: "\b\313U\022\005FOLKO\030\b\"\004\b\374\240\001*\004\b\264\241\0012\004\b\202\241\0018\002B\006\b\330\376\001\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\313U\020K\032\006\b\274\335\004\030\b \030-\315\314L>"
+1: "\b\314U\022\005BLAUS\030\006\"\004\b\374\240\001*\004\b\320\241\0012\004\b\202\241\0018\002B\006\b\244\240\033\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\314U\020\025\032\006\b\240\215\006\030\b \030z\017\b\314U\020/\032\006\b\230\346\005\030\b \034z\017\b\314U\0203\032\006\b\320\254 \030\b \020"
+1: "\b\315U\022\005HILAA\030\b\"\004\b\376\240\001*\004\b\266\241\0012\004\b\220\241\0018\003B\006\b\240\247@\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\315U\020\036\032\006\b\324\346\017\030\b <z\017\b\315U\020#\032\006\b\240\376\n\030\b Pz\017\b\315U\020@\032\006\b\324\245\024\030\b \020"
+1: "\b\316U\022\005OCEAN\030\a\"\004\b\376\240\001*\004\b\266\241\0012\004\b\220\241\0018\002B\006\b\360\237\036\030\bJ\030Oc\303\251ano Atl\303\241ntico Ltda.R#Ing. Gustavo Moncada 8585 Piso 20-AZ\fBuenos Airesj\0041010r\tArgentinaz\017\b\316U\020\005\032\006\b\374\203\r\030\b (z\017\b\316U\020\a\032\006\b\340\247\022\030\b \fz\017\b\316U\020H\032\006\b\340\236\025\030\b \n"
+1: "\b\317U\022\005GOURL\030\006\"\004\b\376\240\001*\004\b\322\241\0012\004\b\210\241\0018\002B\006\b\210\205\003\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\024\b\317U\020K\032\006\b\274\335\004\030\b (-\232\231\031>"
+1: "\b\320U\022\005HILAA\030\003\"\004\b\200\241\001*\004\b\234\241\0012\004\b\250\241\0018\001B\006\b\300\242\001\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\320U\020\030\032\006\b\310\337\002\030\b \024-\000\000\200>z\017\b\320U\020)\032\006\b\364\361\005\030\b 0"
+1: "\b\321U\022\005QUEEN\030\b\"\004\b\200\241\001*\004\b\270\241\0012\004\b\226\241\0018\001B\006\b\334\341?\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\321U\0204\032\006\b\360\242\004\030\b \f-\315\314L=z\017\b\321U\020L\032\006\b\240\376\n\030\b x"
+1: "\b\322U\022\005QUICK\030\b\"\004\b\200\241\001*\004\b\270\241\0012\004\b\210\241\0018\002B\a\b\214\252\250\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\322U\020\a\032\006\b\340\247\022\030\b Zz\020\b\322U\020\r\032\006\b\340\324\003\030\b \232\001z\017\b\322U\0205\032\006\b\300\202\024\030\b (z\017\b\322U\020E\032\006\b\300\374\025\030\b \022z\017\b\322U\020L\032\006\b\240\376\n\030\b X"
+1: "\b\323U\022\005FURIB\030\t\"\004\b\200\241\001*\004\b\270\241\0012\004\b\216\241\0018\003B\006\b\370\322\001\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\323U\020<\032\006\b\240\340\024\030\b \004-\232\231\031>"
+1: "\b\324U\022\005SPECD\030\003\"\004\b\202\241\001*\004\b\272\241\0012\004\b\212\241\0018\002B\006\b\310\2525\030\bJ\026Sp\303\251cialit\303\251s du mondeR\02125, rue LauristonZ\005Parisj\00575016r\006Francez\017\b\324U\020\022\032\006\b\350\222&\030\b \fz\020\b\324U\020&\032\a\b\370\351\240\001\030\b \nz\017\b\324U\020E\032\006\b\300\374\025\030\b \024"
+1: "\b\325U\022\005OLDWO\030\006\"\004\b\202\241\001*\004\b\272\241\0012\004\b\226\241\0018\003B\006\b\330\217X\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\325U\0203\032\006\b\320\254 \030\b  "
+1: "\b\326U\022\005CHOPS\030\004\"\004\b\202\241\001*\004\b\272\241\0012\004\b\250\241\0018\001B\006\b\234\314\020\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\017\b\326U\020%\032\006\b\240\357\017\030\b \020z\024\b\326U\0208\032\006\b\340\230\027\030\b \030-\232\231\031>z\024\b\326U\020>\032\006\b\310\213\036\030\b \030-\232\231\031>"
+1: "\b\327U\022\005TOMSP\030\002\"\004\b\210\241\001*\004\b\300\241\0012\004\b\234\241\0018\002B\006\b\370\374%\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\017\b\327U\020\023\032\006\b\340\316\005\030\b \030z\017\b\327U\0201\032\006\b\300\232\f\030\b P"
+1: "\b\330U\022\005ERNSH\030\001\"\004\b\210\241\001*\004\b\300\241\0012\004\b\232\241\0018\003B\006\b\220\304-\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\330U\020\f\032\006\b\340\230\027\030\b <z\017\b\330U\020\030\032\006\b\310\337\002\030\b <z\017\b\330U\020@\032\006\b\324\245\024\030\b \b"
+1: "\b\331U\022\005COMMI\030\001\"\004\b\210\241\001*\004\b\300\241\0012\004\b\226\241\0018\002B\005\b\264\020\030\bJ\021Com\303\251rcio MineiroR\025Av. dos Lus\303\255adas, 23Z\tSao Paulob\002SPj\t05432-043r\006Brazilz\017\b\331U\020.\032\006\b\300\251\a\030\b \022"
+1: "\b\332U\022\005BOLID\030\t\"\004\b\212\241\001*\004\b\246\241\0012\004\b\310\241\0018\001B\006\b\300\356\t\030\bJ\032B\303\263lido Comidas preparadasR\016C/ Araquil, 67Z\006Madridj\00528023r\005Spainz\024\b\332U\0204\032\006\b\360\242\004\030\b P-\315\314L>"
+1: "\b\333U\022\005FRANR\030\002\"\004\b\212\241\001*\004\b\302\241\0012\004\b\234\241\0018\002B\006\b\230\255J\030\bJ\023France restaurationR\01654, rue RoyaleZ\006Nantesj\00544000r\006Francez\017\b\333U\020\035\032\006\b\214\307K\030\b \034"
+1: "\b\334U\022\005LACOR\030\004\"\004\b\212\241\001*\004\b\302\241\0012\004\b\216\241\0018\002B\005\b\310\001\030\bJ\024La corne d\'abondanceR\02667, avenue de l\'EuropeZ\nVersaillesj\00578000r\006Francez\017\b\334U\020\021\032\006\b\360\346\027\030\b \fz\017\b\334U\020!\032\006\b\250\303\001\030\b \016"
+1: "\b\335U\022\005LACOR\030\006\"\004\b\212\241\001*\004\b\302\241\0012\004\b\220\241\0018\002B\006\b\224\241\t\030\bJ\024La corne d\'abondanceR\02667, avenue de l\'EuropeZ\nVersaillesj\00578000r\006Francez\017\b\335U\020\032\032\006\b\354\207\023\030\b \nz\017\b\335U\020)\032\006\b\364\361\005\030\b \fz\017\b\335U\020K\032\006\b\274\335\004\030\b \024"
+1: "\b\336U\022\005SPLIR\030\003\"\004\b\214\241\001*\004\b\250\241\0012\004\b\236\241\0018\003B\006\b\300\364\a\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\336U\020?\032\006\b\330\345\032\030\b \024"
+1: "\b\337U\022\005BOTTM\030\001\"\004\b\214\241\001*\004\b\304\241\0012\004\b\220\241\0018\003B\006\b\214\331\023\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\337U\020\b\032\006\b\200\265\030\030\b  z\017\b\337U\020K\032\006\b\274\335\004\030\b \024"
+1: "\b\340U\022\005HILAA\030\001\"\004\b\214\241\001*\004\b\340\241\0012\004\b\236\241\0018\001B\006\b\264\226\027\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\340U\020\034\032\006\b\300\352\033\030\b ("
+1: "\b\341U\022\005FOLKO\030\b\"\004\b\216\241\001*\004\b\306\241\0012\004\b\254\241\0018\003B\006\b\210\241\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\341U\020\'\032\006\b\240\376\n\030\b <z\017\b\341U\020/\032\006\b\230\346\005\030\b <z\017\b\341U\0203\032\006\b\320\254 \030\b \024z\017\b\341U\020?\032\006\b\330\345\032\030\b ("
+1: "\b\342U\022\005MAISD\030\t\"\004\b\216\241\001*\004\b\306\241\0012\004\b\306\241\0018\002B\006\b\210\204\024\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\024\b\342U\020\b\032\006\b\200\265\030\030\b (-\232\231\031>z\024\b\342U\020\025\032\006\b\240\215\006\030\b P-\232\231\031>z\017\b\342U\020(\032\006\b\300\235\v\030\b \024z\024\b\342U\020,\032\006\b\304\357\v\030\b \f-\232\231\031>"
+1: "\b\343U\022\005ERNSH\030\b\"\004\b\216\241\001*\004\b\306\241\0012\004\b\230\241\0018\002B\a\b\314\277\327\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\343U\020\a\032\006\b\340\247\022\030\b $z\017\b\343U\020\f\032\006\b\340\230\027\030\b (z\020\b\343U\020\030\032\006\b\310\337\002\030\b \240\001z\017\b\343U\020\033\032\006\b\330\345\032\030\b <z\017\b\343U\020\037\032\006\b\310\320\a\030\b 0z\017\b\343U\020?\032\006\b\330\345\032\030\b F"
+1: "\b\344U\022\005FOLKO\030\004\"\004\b\220\241\001*\004\b\344\241\0012\004\b\272\241\0018\001B\005\b\270b\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\344U\020K\032\006\b\274\335\004\030\b P-\315\314L>"
+1: "\b\345U\022\005HANAR\030\001\"\004\b\220\241\001*\004\b\310\241\0012\004\b\234\241\0018\002B\006\b\204\203v\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\020\b\345U\020&\032\a\b\370\351\240\001\030\b x"
+1: "\b\346U\022\005BOTTM\030\002\"\004\b\220\241\001*\004\b\310\241\0012\004\b\250\241\0018\001B\006\b\304\306\b\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\346U\020\a\032\006\b\340\247\022\030\b (z\017\b\346U\020+\032\006\b\340\211\034\030\b \022"
+1: "\b\347U\022\005SAVEA\030\002\"\004\b\220\241\001*\004\b\310\241\0012\004\b\244\241\0018\002B\a\b\250\252\221\003\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\025\b\347U\020\r\032\006\b\340\324\003\030\b \250\001-\232\231\031>z\017\b\347U\0209\032\006\b\270\363\v\030\b \036"
+1: "\b\350U\022\005SAVEA\030\001\"\004\b\226\241\001*\004\b\316\241\0012\004\b\236\241\0018\003B\a\b\310\365\200\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\350U\020\020\032\006\b\244\323\n\030\b nz\017\b\350U\020\030\032\006\b\310\337\002\030\b (z\017\b\350U\020$\032\006\b\260\314\v\030\b P"
+1: "\b\351U\022\005HUNGO\030\002\"\004\b\226\241\001*\004\b\316\241\0012\004\b\234\241\0018\001B\006\b\234\3557\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\351U\020\020\032\006\b\244\323\n\030\b H-\315\314\314=z\024\b\351U\020\022\032\006\b\350\222&\030\b \020-\315\314\314=z\024\b\351U\020 \032\006\b\200\304\023\030\b F-\315\314\314="
+1: "\b\352U\022\005OCEAN\030\b\"\004\b\226\241\001*\004\b\316\241\0012\004\b\302\241\0018\002B\a\b\250\374\204\001\030\bJ\030Oc\303\251ano Atl\303\241ntico Ltda.R#Ing. Gustavo Moncada 8585 Piso 20-AZ\fBuenos Airesj\0041010r\tArgentinaz\017\b\352U\020\v\032\006\b\320\350\f\030\b <z\017\b\352U\020\024\032\006\b\220\2701\030\b \036z\017\b\352U\020L\032\006\b\240\376\n\030\b \024z\017\b\352U\020M\032\006\b\320\367\a\030\b \036"
+1: "\b\353U\022\005EASTC\030\b\"\004\b\230\241\001*\004\b\320\241\0012\004\b\244\241\0018\001B\006\b\320\232q\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\353U\020\a\032\006\b\340\247\022\030\b xz\017\b\353U\020+\032\006\b\340\211\034\030\b \fz\017\b\353U\020H\032\006\b\340\236\025\030\b ("
+1: "\b\354U\022\005RATTC\030\003\"\004\b\230\241\001*\004\b\320\241\0012\004\b\254\241\0018\002B\006\b\310\250%\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\354U\020\a\032\006\b\340\247\022\030\b xz\024\b\354U\020>\032\006\b\310\213\036\030\b P-\315\314\314="
+1: "\b\355U\022\005QUEDE\030\002\"\004\b\230\241\001*\004\b\320\241\0012\004\b\234\241\0018\001B\006\b\320\233\025\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\355U\020\006\032\006\b\220\241\017\030\b Pz\017\b\355U\020\v\032\006\b\320\350\f\030\b \036z\017\b\355U\020)\032\006\b\364\361\005\030\b \b"
+1: "\b\356U\022\005ERNSH\030\002\"\004\b\232\241\001*\004\b\356\241\0012\004\b\246\241\0018\003B\006\b\244\344G\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\020\b\356U\020\025\032\006\b\240\215\006\030\b \202\001z\024\b\356U\020\"\032\006\b\340\305\b\030\b x-\232\231\031>z\025\b\356U\0207\032\006\b\200\323\016\030\b \202\001-\232\231\031>z\025\b\356U\020=\032\006\b\310\262\021\030\b \204\001-\232\231\031>"
+1: "\b\357U\022\005QUICK\030\001\"\004\b\232\241\001*\004\b\322\241\0012\004\b\246\241\0018\001B\006\b\314\300\027\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\357U\020\002\032\006\b\260\314\v\030\b d-\315\314L>z\024\b\357U\020F\032\006\b\360\223\t\030\b (-\315\314L>z\025\b\357U\020L\032\006\b\240\376\n\030\b \264\001-\315\314L>"
+1: "\b\360U\022\005THEBI\030\001\"\004\b\232\241\001*\004\b\322\241\0012\004\b\236\241\0018\003B\006\b\314\315\002\030\bJ\016The Big CheeseR\03089 Jefferson Way Suite 2Z\bPortlandb\002ORj\00597201r\003USAz\017\b\360U\020H\032\006\b\340\236\025\030\b \004"
+1: "\b\361U\022\005FOLKO\030\a\"\004\b\232\241\001*\004\b\322\241\0012\004\b\254\241\0018\003B\006\b\244\260\005\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\361U\020\035\032\006\b\214\307K\030\b d-\000\000\200>z\024\b\361U\020)\032\006\b\364\361\005\030\b F-\000\000\200>"
+1: "\b\362U\022\005VAFFE\030\002\"\004\b\234\241\001*\004\b\270\241\0012\004\b\252\241\0018\003B\006\b\304\377\'\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\024\b\362U\020;\032\006\b\360\310!\030\b $-\315\314L="
+1: "\b\363U\022\005PERIC\030\001\"\004\b\234\241\001*\004\b\324\241\0012\004\b\244\241\0018\003B\006\b\340\211\034\030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\363U\0203\032\006\b\320\254 \030\b (z\017\b\363U\020<\032\006\b\240\340\024\030\b \b"
+1: "\b\364U\022\005QUICK\030\004\"\004\b\234\241\001*\004\b\324\241\0012\004\b\254\241\0018\002B\005\b\300W\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\364U\020*\032\006\b\340\305\b\030\b P"
+1: "\b\365U\022\005LILAS\030\b\"\004\b\236\241\001*\004\b\362\241\0012\004\b\262\241\0018\002B\006\b\234\216-\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\365U\020 \032\006\b\200\304\023\030\b dz\024\b\365U\020.\032\006\b\300\251\a\030\b (-\000\000\200>z\024\b\365U\0204\032\006\b\360\242\004\030\b (-\000\000\200>"
+1: "\b\366U\022\005WOLZA\030\b\"\004\b\236\241\001*\004\b\272\241\0012\004\b\272\241\0018\002B\006\b\334\262\f\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\366U\020\030\032\006\b\310\337\002\030\b \030z\017\b\366U\020=\032\006\b\310\262\021\030\b \016z\017\b\366U\020J\032\006\b\240\215\006\030\b (z\017\b\366U\020K\032\006\b\274\335\004\030\b <"
+1: "\b\367U\022\005OTTIK\030\006\"\004\b\236\241\001*\004\b\326\241\0012\004\b\254\241\0018\002B\006\b\254\347:\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\367U\020)\032\006\b\364\361\005\030\b (-\315\314L=z\024\b\367U\0203\032\006\b\320\254 \030\b \036-\315\314L=z\024\b\367U\020M\032\006\b\320\367\a\030\b *-\315\314L="
+1: "\b\370U\022\005RATTC\030\002\"\004\b\244\241\001*\004\b\334\241\0012\004\b\264\241\0018\003B\006\b\240\322!\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\370U\020\004\032\006\b\340\266\r\030\b 2-\000\000\200>z\024\b\370U\020\030\032\006\b\310\337\002\030\b <-\000\000\200>z\017\b\370U\020M\032\006\b\320\367\a\030\b <"
+1: "\b\371U\022\005FOLKO\030\002\"\004\b\244\241\001*\004\b\334\241\0012\004\b\264\241\0018\002B\006\b\210\266x\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\371U\020\a\032\006\b\340\247\022\030\b xz\017\b\371U\020\026\032\006\b\320\350\f\030\b 2z\017\b\371U\020.\032\006\b\300\251\a\030\b 2z\017\b\371U\0207\032\006\b\200\323\016\030\b \f"
+1: "\b\372U\022\005SAVEA\030\004\"\004\b\244\241\001*\004\b\334\241\0012\004\b\270\241\0018\001B\006\b\220\224V\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\372U\020\r\032\006\b\340\324\003\030\b pz\024\b\372U\020#\032\006\b\240\376\n\030\b \036-\232\231\031>z\024\b\372U\020*\032\006\b\340\305\b\030\b 0-\232\231\031>z\017\b\372U\0207\032\006\b\200\323\016\030\b P"
+1: "\b\373U\022\005THECR\030\003\"\004\b\244\241\001*\004\b\334\241\0012\004\b\250\241\0018\003B\006\b\354\214\t\030\bJ\017The Cracker BoxR\02355 Grizzly Peak Rd.Z\005Butteb\002MTj\00559801r\003USAz\017\b\373U\020\001\032\006\b\240\376\n\030\b \bz\017\b\373U\020(\032\006\b\300\235\v\030\b \024z\017\b\373U\0204\032\006\b\360\242\004\030\b \024"
+1: "\b\374U\022\005MAISD\030\003\"\004\b\246\241\001*\004\b\336\241\0012\004\b\300\241\0018\001B\006\b\220\257\033\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\017\b\374U\020\032\032\006\b\354\207\023\030\b \fz\017\b\374U\020L\032\006\b\240\376\n\030\b \f"
+1: "\b\375U\022\005WILMK\030\002\"\004\b\246\241\001*\004\b\336\241\0012\004\b\254\241\0018\001B\005\b\314:\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\375U\020\001\032\006\b\240\376\n\030\b \004z\017\b\375U\020;\032\006\b\360\310!\030\b \024"
+1: "\b\376U\022\005GREAL\030\003\"\004\b\246\241\001*\004\b\336\241\0012\004\b\266\241\0018\002B\006\b\374\257\017\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\017\b\376U\020\001\032\006\b\240\376\n\030\b \020z\024\b\376U\020\035\032\006\b\214\307K\030\b \004-\000\000\200>"
+1: "\b\377U\022\005PRINI\030\b\"\004\b\250\241\001*\004\b\340\241\0012\004\b\262\241\0018\002B\006\b\200\270{\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\017\b\377U\020\b\032\006\b\200\265\030\030\b <z\017\b\377U\020\035\032\006\b\214\307K\030\b \024z\017\b\377U\020*\032\006\b\340\305\b\030\b \034"
+1: "\b\200V\022\005ERNSH\030\a\"\004\b\250\241\001*\004\b\340\241\0018\003B\006\b\350\2770\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\025\b\200V\020\034\032\006\b\300\352\033\030\b \214\001-\315\314L=z\025\b\200V\020\"\032\006\b\340\305\b\030\b \264\001-\315\314L=z\017\b\200V\020G\032\006\b\330\217\r\030\b *"
+1: "\b\201V\022\005GODOS\030\002\"\004\b\250\241\001*\004\b\340\241\0012\004\b\254\241\0018\001B\006\b\374\211$\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\201V\020\030\032\006\b\310\337\002\030\b \030z\024\b\201V\020$\032\006\b\260\314\v\030\b $-\000\000\200>z\017\b\201V\020<\032\006\b\240\340\024\030\b \022"
+1: "\b\202V\022\005REGGC\030\002\"\004\b\252\241\001*\004\b\342\241\0012\004\b\302\241\0018\002B\006\b\374\302\021\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\017\b\202V\020\a\032\006\b\340\247\022\030\b (z\017\b\202V\020\030\032\006\b\310\337\002\030\b \024"
+1: "\b\203V\022\005ALFKI\030\003\"\004\b\252\241\001*\004\b\342\241\0012\004\b\262\241\0018\001B\005\b\304^\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\024\b\203V\020:\032\006\b\224\213\b\030\b P-\315\314L=z\017\b\203V\020G\032\006\b\330\217\r\030\b ("
+1: "\b\204V\022\005FRANK\030\001\"\004\b\252\241\001*\004\b\306\241\0012\004\b\272\241\0018\003B\a\b\274\244\224\001\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\204V\020\023\032\006\b\340\316\005\030\b d-\315\314L=z\024\b\204V\020<\032\006\b\240\340\024\030\b H-\315\314L=z\024\b\204V\020G\032\006\b\330\217\r\030\b x-\315\314L="
+1: "\b\205V\022\005ROMEY\030\002\"\004\b\252\241\001*\004\b\342\241\0012\004\b\254\241\0018\001B\006\b\254\221\024\030\bJ\020Romero y tomilloR\fGran V\303\255a, 1Z\006Madridj\00528001r\005Spainz\017\b\205V\020\027\032\006\b\220\277\005\030\b \024z\017\b\205V\020*\032\006\b\340\305\b\030\b \bz\017\b\205V\020-\032\006\b\230\346\005\030\b (z\017\b\205V\020D\032\006\b\310\320\a\030\b \004"
+1: "\b\206V\022\005LINOD\030\002\"\004\b\254\241\001*\004\b\344\241\0012\004\b\266\241\0018\003B\006\b\340\263\016\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\206V\020)\032\006\b\364\361\005\030\b 8-\315\314\314="
+1: "\b\207V\022\005SANTG\030\002\"\004\b\254\241\001*\004\b\310\241\0012\004\b\300\241\0018\002B\006\b\370\350\002\030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\207V\020\036\032\006\b\324\346\017\030\b \036z\017\b\207V\020M\032\006\b\320\367\a\030\b $"
+1: "\b\210V\022\005AROUT\030\t\"\004\b\254\241\001*\004\b\344\241\0012\004\b\262\241\0018\002B\006\b\320\320\024\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\210V\020\037\032\006\b\310\320\a\030\b \036z\017\b\210V\020$\032\006\b\260\314\v\030\b  "
+1: "\b\211V\022\005ERNSH\030\t\"\004\b\262\241\001*\004\b\352\241\0012\004\b\300\241\0018\002B\a\b\310\256\314\003\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\211V\020\003\032\006\b\240\215\006\030\b 2z\020\b\211V\020;\032\006\b\360\310!\030\b \334\001z\017\b\211V\020F\032\006\b\360\223\t\030\b <"
+1: "\b\212V\022\005LONEP\030\004\"\004\b\262\241\001*\004\b\352\241\0012\004\b\270\241\0018\002B\006\b\224\216\a\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\212V\020\f\032\006\b\340\230\027\030\b (z\017\b\212V\020\022\032\006\b\350\222&\030\b \024z\017\b\212V\0208\032\006\b\340\230\027\030\b \n"
+1: "\b\213V\022\005RANCH\030\006\"\004\b\262\241\001*\004\b\352\241\0018\003B\006\b\324\367\001\030\bJ\rRancho grandeR\026Av. del Libertador 900Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\213V\020.\032\006\b\300\251\a\030\b \006z\017\b\213V\0201\032\006\b\300\232\f\030\b \004"
+1: "\b\214V\022\005OTTIK\030\002\"\004\b\264\241\001*\004\b\354\241\0012\004\b\270\241\0018\002B\006\b\350\266\032\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\214V\020\n\032\006\b\360\365\022\030\b 0-\232\231\031>"
+1: "\b\215V\022\005QUICK\030\003\"\004\b\264\241\001*\004\b\354\241\0012\004\b\302\241\0018\001B\a\b\230\261\265\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\215V\020\002\032\006\b\260\314\v\030\b \026-\000\000\200>z\017\b\215V\020\024\032\006\b\220\2701\030\b \036z\017\b\215V\020\032\032\006\b\354\207\023\030\b ~z\024\b\215V\0203\032\006\b\320\254 \030\b X-\000\000\200>z\017\b\215V\020H\032\006\b\340\236\025\030\b F"
+1: "\b\216V\022\005HANAR\030\t\"\004\b\264\241\001*\004\b\354\241\0012\004\b\334\241\0018\002B\006\b\354\351\003\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\216V\020\023\032\006\b\340\316\005\030\b Fz\017\b\216V\020E\032\006\b\300\374\025\030\b <"
+1: "\b\217V\022\005BSBEV\030\001\"\004\b\264\241\001*\004\b\320\241\0012\004\b\310\241\0018\002B\006\b\234\312K\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\217V\020\a\032\006\b\340\247\022\030\b \bz\017\b\217V\020+\032\006\b\340\211\034\030\b <"
+1: "\b\220V\022\005EASTC\030\004\"\004\b\266\241\001*\004\b\356\241\0012\004\b\300\241\0018\001B\006\b\260\261-\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\220V\020\032\032\006\b\354\207\023\030\b \030z\017\b\220V\020!\032\006\b\250\303\001\030\b <z\017\b\220V\020A\032\006\b\304\354\f\030\b *z\017\b\220V\020G\032\006\b\330\217\r\030\b d"
+1: "\b\221V\022\005WARTH\030\006\"\004\b\266\241\001*\004\b\356\241\0012\004\b\310\241\0018\003B\006\b\364\346\021\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\024\b\221V\020\001\032\006\b\240\376\n\030\b \024-\315\314\314=z\024\b\221V\020\r\032\006\b\340\324\003\030\b (-\315\314\314="
+1: "\b\222V\022\005FRANS\030\004\"\004\b\266\241\001*\004\b\356\241\0012\004\b\320\241\0018\001B\006\b\364\336\034\030\bJ\016Franchi S.p.A.R\023Via Monte Bianco 34Z\006Torinoj\00510100r\005Italyz\017\b\222V\020\022\032\006\b\350\222&\030\b \020z\017\b\222V\0203\032\006\b\320\254 \030\b \024"
+1: "\b\223V\022\005BOTTM\030\001\"\004\b\270\241\001*\004\b\360\241\0012\004\b\300\241\0018\001B\006\b\220\207 \030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\223V\020\030\032\006\b\310\337\002\030\b <-\000\000\200>z\024\b\223V\020>\032\006\b\310\213\036\030\b *-\000\000\200>"
+1: "\b\224V\022\005KOENE\030\002\"\004\b\270\241\001*\004\b\360\241\0012\004\b\304\241\0018\001B\006\b\334\207\022\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\224V\0207\032\006\b\200\323\016\030\b Fz\017\b\224V\020;\032\006\b\360\310!\030\b 0"
+1: "\b\225V\022\005CHOPS\030\004\"\004\b\270\241\001*\004\b\360\241\0012\004\b\316\241\0018\001B\006\b\300\231\035\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\017\b\225V\0208\032\006\b\340\230\027\030\b (z\017\b\225V\020?\032\006\b\330\345\032\030\b \030"
+1: "\b\226V\022\005SAVEA\030\a\"\004\b\272\241\001*\004\b\362\241\0012\004\b\316\241\0018\002B\a\b\254\206\373\003\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\025\b\226V\020\002\032\006\b\260\314\v\030\b \310\001-\000\000\200>z\020\b\226V\020\005\032\006\b\374\203\r\030\b \214\001z\024\b\226V\020\035\032\006\b\214\307K\030\b x-\000\000\200>z\025\b\226V\020;\032\006\b\360\310!\030\b \310\001-\000\000\200>"
+1: "\b\227V\022\005SAVEA\030\006\"\004\b\272\241\001*\004\b\362\241\0012\004\b\310\241\0018\002B\a\b\310\327\212\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\227V\020\001\032\006\b\240\376\n\030\b Zz\020\b\227V\020\r\032\006\b\340\324\003\030\b \240\001z\017\b\227V\020\030\032\006\b\310\337\002\030\b *z\017\b\227V\020@\032\006\b\324\245\024\030\b (z\017\b\227V\020G\032\006\b\330\217\r\030\b  "
+1: "\b\230V\022\005WHITC\030\002\"\004\b\272\241\001*\004\b\362\241\0012\004\b\306\241\0018\003B\a\b\314\376\361\002\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\230V\020$\032\006\b\260\314\v\030\b Fz\020\b\230V\020&\032\a\b\370\351\240\001\030\b 2z\017\b\230V\020;\032\006\b\360\310!\030\b <"
+1: "\b\231V\022\005RICSU\030\a\"\004\b\272\241\001*\004\b\362\241\0012\004\b\306\241\0018\003B\006\b\250\3343\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\025\b\231V\0205\032\006\b\300\202\024\030\b \214\001-\315\314\314=z\024\b\231V\020E\032\006\b\300\374\025\030\b H-\315\314\314="
+1: "\b\232V\022\005OLDWO\030\b\"\004\b\300\241\001*\004\b\224\242\0012\004\b\316\241\0018\001B\006\b\200\316\030\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\024\b\232V\020\025\032\006\b\240\215\006\030\b \036-\315\314\314=z\017\b\232V\020,\032\006\b\304\357\v\030\b \030z\017\b\232V\020=\032\006\b\310\262\021\030\b \f"
+1: "\b\233V\022\005SUPRD\030\002\"\004\b\300\241\001*\004\b\370\241\0012\004\b\310\241\0018\002B\005\b\244\r\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\233V\020\001\032\006\b\240\376\n\030\b \024z\017\b\233V\020#\032\006\b\240\376\n\030\b xz\017\b\233V\020*\032\006\b\340\305\b\030\b <z\017\b\233V\0206\032\006\b\204\306\004\030\b \024"
+1: "\b\234V\022\005DRACD\030\b\"\004\b\300\241\001*\004\b\370\241\0012\004\b\304\241\0018\003B\006\b\254\235[\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\234V\020\r\032\006\b\340\324\003\030\b \016z\017\b\234V\020;\032\006\b\360\310!\030\b <"
+1: "\b\235V\022\005GODOS\030\a\"\004\b\302\241\001*\004\b\372\241\0012\004\b\316\241\0018\001B\006\b\200\372\001\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\235V\020F\032\006\b\360\223\t\030\b \b"
+1: "\b\236V\022\005SUPRD\030\001\"\004\b\302\241\001*\004\b\372\241\0012\004\b\324\241\0018\002B\006\b\334\207\022\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\024\b\236V\020(\032\006\b\300\235\v\030\b \n-\315\314L>z\017\b\236V\0204\032\006\b\360\242\004\030\b \004z\017\b\236V\020G\032\006\b\330\217\r\030\b <"
+1: "\b\237V\022\005LINOD\030\001\"\004\b\302\241\001*\004\b\372\241\0018\002B\006\b\220\326\'\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\237V\020\034\032\006\b\300\352\033\030\b (z\017\b\237V\020#\032\006\b\240\376\n\030\b 0z\017\b\237V\0201\032\006\b\300\232\f\030\b xz\017\b\237V\0209\032\006\b\270\363\v\030\b 8"
+1: "\b\240V\022\005GREAL\030\004\"\004\b\304\241\001*\004\b\374\241\0018\003B\006\b\360\277\v\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\017\b\240V\020\025\032\006\b\240\215\006\030\b ("
+1: "\b\241V\022\005CHOPS\030\003\"\004\b\304\241\001*\004\b\374\241\0012\004\b\320\241\0018\002B\006\b\230\267\035\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\024\b\241V\020\002\032\006\b\260\314\v\030\b <-\315\314L>z\017\b\241V\020?\032\006\b\330\345\032\030\b <"
+1: "\b\242V\022\005COMMI\030\002\"\004\b\304\241\001*\004\b\340\241\0012\004\b\326\241\0018\001B\006\b\374\246\022\030\bJ\021Com\303\251rcio MineiroR\025Av. dos Lus\303\255adas, 23Z\tSao Paulob\002SPj\t05432-043r\006Brazilz\017\b\242V\020,\032\006\b\304\357\v\030\b \036z\017\b\242V\020=\032\006\b\310\262\021\030\b \b"
+1: "\b\243V\022\005SPECD\030\005\"\004\b\304\241\001*\004\b\374\241\0012\004\b\322\241\0018\002B\006\b\300\257\005\030\bJ\026Sp\303\251cialit\303\251s du mondeR\02125, rue LauristonZ\005Parisj\00575016r\006Francez\017\b\243V\020\v\032\006\b\320\350\f\030\b \024"
+1: "\b\244V\022\005WOLZA\030\004\"\004\b\306\241\001*\004\b\376\241\0012\004\b\326\241\0018\001B\006\b\240\251\005\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\244V\020>\032\006\b\310\213\036\030\b \030"
+1: "\b\245V\022\005BOTTM\030\006\"\004\b\306\241\001*\004\b\376\241\0018\002B\006\b\210\212+\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\245V\020!\032\006\b\250\303\001\030\b \036z\017\b\245V\0203\032\006\b\320\254 \030\b 0"
+1: "\b\246V\022\005WANDK\030\b\"\004\b\306\241\001*\004\b\376\241\0012\004\b\310\241\0018\002B\006\b\360\334+\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\246V\020\f\032\006\b\340\230\027\030\b (-\315\314L=z\024\b\246V\020 \032\006\b\200\304\023\030\b \036-\315\314L=z\024\b\246V\020#\032\006\b\240\376\n\030\b $-\315\314L="
+1: "\b\247V\022\005EASTC\030\a\"\004\b\310\241\001*\004\b\200\242\0012\004\b\326\241\0018\003B\006\b\230\272\034\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\024\b\247V\020\001\032\006\b\240\376\n\030\b 2-\000\000\200>z\024\b\247V\020\005\032\006\b\374\203\r\030\b <-\000\000\200>"
+1: "\b\250V\022\005BOTTM\030\a\"\004\b\310\241\001*\004\b\200\242\0012\004\b\324\241\0018\003B\006\b\260\334\016\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\250V\020D\032\006\b\310\320\a\030\b T"
+1: "\b\251V\022\005GOURL\030\003\"\004\b\310\241\001*\004\b\200\242\0012\004\b\334\241\0018\001B\006\b\310\213\005\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\024\b\251V\020\002\032\006\b\260\314\v\030\b \024-\315\314L>z\024\b\251V\020\f\032\006\b\340\230\027\030\b \b-\315\314L>"
+1: "\b\252V\022\005FOLKO\030\b\"\004\b\316\241\001*\004\b\206\242\0012\004\b\336\241\0018\002B\006\b\264\241$\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\252V\020L\032\006\b\240\376\n\030\b d-\315\314\314="
+1: "\b\253V\022\005LAMAI\030\a\"\004\b\316\241\001*\004\b\206\242\0018\003B\006\b\374\331\001\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\253V\020\030\032\006\b\310\337\002\030\b \024-\315\314L>"
+1: "\b\254V\022\005HANAR\030\003\"\004\b\316\241\001*\004\b\206\242\0012\004\b\326\241\0018\001B\006\b\330\206)\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\024\b\254V\020+\032\006\b\340\211\034\030\b <-\315\314L>z\024\b\254V\020=\032\006\b\310\262\021\030\b \024-\315\314L>"
+1: "\b\255V\022\005PICCO\030\002\"\004\b\316\241\001*\004\b\206\242\0012\004\b\322\241\0018\002B\006\b\304\260 \030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\024\b\255V\020\022\032\006\b\350\222&\030\b F-\315\314L>z\017\b\255V\020 \032\006\b\200\304\023\030\b (z\024\b\255V\020@\032\006\b\324\245\024\030\b 2-\315\314L>"
+1: "\b\256V\022\005CACTU\030\b\"\004\b\320\241\001*\004\b\210\242\0018\001B\005\b\344\031\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\256V\020!\032\006\b\250\303\001\030\b \024z\017\b\256V\020C\032\006\b\340\305\b\030\b ("
+1: "\b\257V\022\005HILAA\030\a\"\004\b\320\241\001*\004\b\210\242\0012\004\b\336\241\0018\002B\006\b\360\346I\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\257V\020\030\032\006\b\310\337\002\030\b \036z\017\b\257V\020\031\032\006\b\340\305\b\030\b \036z\017\b\257V\0203\032\006\b\320\254 \030\b (z\017\b\257V\0209\032\006\b\270\363\v\030\b ("
+1: "\b\260V\022\005EASTC\030\b\"\004\b\320\241\001*\004\b\354\241\0012\004\b\326\241\0018\002B\a\b\340\241\252\001\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\260V\020\a\032\006\b\340\247\022\030\b Pz\017\b\260V\0207\032\006\b\200\323\016\030\b Fz\017\b\260V\020<\032\006\b\240\340\024\030\b d"
+1: "\b\261V\022\005NORTS\030\003\"\004\b\322\241\001*\004\b\212\242\0012\004\b\326\241\0018\003B\006\b\324\302\002\030\bJ\vNorth/SouthR\034South House 300 QueensbridgeZ\006Londonj\aSW7 1RZr\002UKz\017\b\261V\020F\032\006\b\360\223\t\030\b \006"
+1: "\b\262V\022\005BLAUS\030\t\"\004\b\322\241\001*\004\b\212\242\0018\003B\006\b\350\200\023\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\262V\020\025\032\006\b\240\215\006\030\b \006z\017\b\262V\020<\032\006\b\240\340\024\030\b *z\017\b\262V\020=\032\006\b\310\262\021\030\b \b"
+1: "\b\263V\022\005RICAR\030\002\"\004\b\322\241\001*\004\b\246\242\0018\002B\006\b\220\2574\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\263V\020\r\032\006\b\340\324\003\030\b <z\017\b\263V\020\021\032\006\b\360\346\027\030\b \030z\017\b\263V\020<\032\006\b\240\340\024\030\b F"
+1: "\b\264V\022\005FRANS\030\002\"\004\b\324\241\001*\004\b\214\242\0012\004\b\334\241\0018\002B\006\b\350\331\006\030\bJ\016Franchi S.p.A.R\023Via Monte Bianco 34Z\006Torinoj\00510100r\005Italyz\017\b\264V\020<\032\006\b\240\340\024\030\b \bz\017\b\264V\020M\032\006\b\320\367\a\030\b \024"
+1: "\b\265V\022\005GREAL\030\004\"\004\b\324\241\001*\004\b\250\242\0018\003B\006\b\304\306\b\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\017\b\265V\020<\032\006\b\240\340\024\030\b \036"
+1: "\b\266V\022\005REGGC\030\004\"\004\b\324\241\001*\004\b\214\242\0018\002B\006\b\244\242\022\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\266V\0205\032\006\b\300\202\024\030\b \024-\315\314L>z\024\b\266V\020F\032\006\b\360\223\t\030\b \030-\315\314L>"
+1: "\b\267V\022\005HUNGO\030\003\"\004\b\324\241\001*\004\b\214\242\0012\004\b\340\241\0018\002B\006\b\224\3611\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\017\b\267V\020\"\032\006\b\340\305\b\030\b <z\024\b\267V\020(\032\006\b\300\235\v\030\b P-\315\314\314=z\024\b\267V\020)\032\006\b\364\361\005\030\b <-\315\314\314="
+1: "\b\270V\022\005SAVEA\030\001\"\004\b\326\241\001*\004\b\216\242\0012\004\b\334\241\0018\001B\006\b\344\256\022\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\025\b\270V\020\021\032\006\b\360\346\027\030\b \232\001-\315\314\314=z\017\b\270V\020)\032\006\b\364\361\005\030\b \030z\024\b\270V\0205\032\006\b\300\202\024\030\b 2-\315\314\314=z\024\b\270V\0207\032\006\b\200\323\016\030\b \b-\315\314\314=z\017\b\270V\020D\032\006\b\310\320\a\030\b n"
+1: "\b\271V\022\005LILAS\030\b\"\004\b\326\241\001*\004\b\216\242\0018\001B\006\b\314\360\a\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\271V\020\036\032\006\b\324\346\017\030\b \b-\000\000\200>z\024\b\271V\0206\032\006\b\204\306\004\030\b (-\000\000\200>"
+1: "\b\272V\022\005WHITC\030\a\"\004\b\326\241\001*\004\b\216\242\0012\004\b\334\241\0018\002B\006\b\340\245\033\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\272V\020\020\032\006\b\244\323\n\030\b \006z\017\b\272V\020\023\032\006\b\340\316\005\030\b Tz\017\b\272V\020\"\032\006\b\340\305\b\030\b F"
+1: "\b\273V\022\005DRACD\030\001\"\004\b\334\241\001*\004\b\370\241\0012\004\b\340\241\0018\002B\006\b\270\357\004\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\273V\020)\032\006\b\364\361\005\030\b \022"
+1: "\b\274V\022\005QUEEN\030\b\"\004\b\334\241\001*\004\b\224\242\0018\002B\006\b\334\3621\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\274V\020\034\032\006\b\300\352\033\030\b \020-\232\231\031>z\024\b\274V\020+\032\006\b\340\211\034\030\b H-\232\231\031>z\024\b\274V\020M\032\006\b\320\367\a\030\b 8-\232\231\031>"
+1: "\b\275V\022\005TORTU\030\001\"\004\b\334\241\001*\004\b\224\242\0012\004\b\340\241\0018\002B\006\b\234\310\t\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\275V\020\'\032\006\b\240\376\n\030\b ("
+1: "\b\276V\022\005LEHMS\030\002\"\004\b\336\241\001*\004\b\226\242\0018\001B\006\b\200\201S\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\276V\020\001\032\006\b\240\376\n\030\b P-\232\231\031>z\024\b\276V\020\002\032\006\b\260\314\v\030\b (-\232\231\031>z\024\b\276V\020\020\032\006\b\244\323\n\030\b <-\232\231\031>z\017\b\276V\020\037\032\006\b\310\320\a\030\b ("
+1: "\b\277V\022\005LILAS\030\001\"\004\b\336\241\001*\004\b\226\242\0018\001B\005\b\324H\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\277V\020\a\032\006\b\340\247\022\030\b \036-\315\314L=z\024\b\277V\020\r\032\006\b\340\324\003\030\b \024-\315\314L="
+1: "\b\300V\022\005ERNSH\030\004\"\004\b\336\241\001*\004\b\226\242\0018\002B\a\b\240\356\235\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\300V\020\002\032\006\b\260\314\v\030\b \020z\017\b\300V\020)\032\006\b\364\361\005\030\b Pz\017\b\300V\0202\032\006\b\304\365\t\030\b ,z\020\b\300V\020@\032\006\b\324\245\024\030\b \204\002"
+1: "\b\301V\022\005PERIC\030\002\"\004\b\336\241\001*\004\b\226\242\0018\002B\006\b\234\235\017\030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\301V\020\v\032\006\b\320\350\f\030\b \024z\017\b\301V\020\030\032\006\b\310\337\002\030\b ("
+1: "\b\302V\022\005SIMOB\030\a\"\004\b\340\241\001*\004\b\230\242\0018\002B\006\b\320\240\v\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\024\b\302V\020\020\032\006\b\244\323\n\030\b \034-\315\314L="
+1: "\b\303V\022\005RICSU\030\b\"\004\b\340\241\001*\004\b\230\242\0018\002B\006\b\314\343\003\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\303V\020\002\032\006\b\260\314\v\030\b \024-\232\231\031>z\024\b\303V\020.\032\006\b\300\251\a\030\b <-\232\231\031>z\024\b\303V\020L\032\006\b\240\376\n\030\b \004-\232\231\031>"
+1: "\b\304V\022\005BONAP\030\004\"\004\b\340\241\001*\004\b\230\242\0018\002B\006\b\320\256\027\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\304V\020\006\032\006\b\220\241\017\030\b (-\000\000\200>z\024\b\304V\020\016\032\006\b\264\230\016\030\b (-\000\000\200>z\024\b\304V\020\023\032\006\b\340\316\005\030\b \024-\000\000\200>"
+1: "\b\305V\022\005RATTC\030\001\"\004\b\340\241\001*\004\b\230\242\0018\002B\006\b\264\232\005\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\305V\020\002\032\006\b\260\314\v\030\b 0-\315\314L>z\017\b\305V\020\003\032\006\b\240\215\006\030\b \bz\017\b\305V\020\004\032\006\b\340\266\r\030\b \002z\024\b\305V\020\006\032\006\b\220\241\017\030\b \002-\n\327\243<z\024\b\305V\020\a\032\006\b\340\247\022\030\b \002-\315\314L=z\024\b\305V\020\b\032\006\b\200\265\030\030\b \004-\315\314\314=z\017\b\305V\020\n\032\006\b\360\365\022\030\b \002z\024\b\305V\020\f\032\006\b\340\230\027\030\b \004-\315\314L=z\017\b\305V\020\r\032\006\b\340\324\003\030\b \bz\024\b\305V\020\016\032\006\b\264\230\016\030\b \002-\217\302\365<z\024\b\305V\020\020\032\006\b\244\323\n\030\b \004-\217\302\365<z\024\b\305V\020\024\032\006\b\220\2701\030\b \002-\n\327#=z\017\b\305V\020\027\032\006\b\220\277\005\030\b \004z\017\b\305V\020 \032\006\b\200\304\023\030\b \002z\024\b\305V\020\'\032\006\b\240\376\n\030\b \004-\315\314L=z\017\b\305V\020)\032\006\b\364\361\005\030\b \006z\024\b\305V\020.\032\006\b\300\251\a\030\b \006-\n\327\243<z\017\b\305V\0204\032\006\b\360\242\004\030\b \004z\017\b\305V\0207\032\006\b\200\323\016\030\b \004z\024\b\305V\020<\032\006\b\240\340\024\030\b \004-\217\302u=z\024\b\305V\020@\032\006\b\324\245\024\030\b \004-\217\302\365<z\017\b\305V\020B\032\006\b\220\260\n\030\b \002z\024\b\305V\020I\032\006\b\360\223\t\030\b \004-\n\327#<z\017\b\305V\020K\032\006\b\274\335\004\030\b \bz\017\b\305V\020M\032\006\b\320\367\a\030\b \004"
+

+ 43 - 0
csharp/TestBed/slowbcl.proto

@@ -0,0 +1,43 @@
+package slowbcl;
+
+option csharp_namespace = "Google.ProtocolBuffers.SlowBcl";
+option csharp_file_classname = "SlowBclProtoFile";
+
+message TimeSpan {
+  optional sint64 value = 1; // the size of the timespan (in units of the selected scale)
+  optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan
+  enum TimeSpanScale {
+    DAYS = 0;
+    HOURS = 1;
+    MINUTES = 2;
+    SECONDS = 3;
+    MILLISECONDS = 4;
+
+    MINMAX = 15; // dubious
+  }
+}
+
+message DateTime {
+  optional sint64 value = 1; // the offset (in units of the selected scale) from 1970/01/01
+  optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan
+  enum TimeSpanScale {
+    DAYS = 0;
+    HOURS = 1;
+    MINUTES = 2;
+    SECONDS = 3;
+    MILLISECONDS = 4;
+
+    MINMAX = 15; // dubious
+  }
+}
+
+message Guid {
+  optional fixed64 lo = 1; // the first 8 bytes of the guid
+  optional fixed64 hi = 2; // the second 8 bytes of the guid
+}
+
+message Decimal {
+  optional uint64 lo = 1; // the first 64 bits of the underlying value
+  optional uint32 hi = 2; // the last 32 bis of the underlying value
+  optional uint32 signScale = 3; // the number of decimal digits, and the sign
+}

+ 36 - 0
csharp/TestBed/slownwind.proto

@@ -0,0 +1,36 @@
+package slownorthwind;
+
+option csharp_namespace = "SlowNorthwind";
+option csharp_file_classname = "SlowNorthwindProtoFile";
+
+import "slowbcl.proto";
+
+message Database {
+   repeated Order Orders = 1;
+}
+
+message Order {
+   optional int32 OrderID = 1;
+   optional string CustomerID = 2;
+   optional int32 EmployeeID = 3;
+   optional slowbcl.DateTime OrderDate = 4;
+   optional slowbcl.DateTime RequiredDate = 5;
+   optional slowbcl.DateTime ShippedDate = 6;
+   optional int32 ShipVia = 7;
+   optional slowbcl.Decimal Freight = 8;
+   optional string ShipName = 9;
+   optional string ShipAddress = 10;
+   optional string ShipCity = 11;
+   optional string ShipRegion = 12;
+   optional string ShipPostalCode = 13;
+   optional string ShipCountry = 14;
+   repeated OrderLine Lines = 15;
+}
+
+message OrderLine {
+   optional int32 OrderID = 1;
+   optional int32 ProductID = 2;
+   optional slowbcl.Decimal UnitPrice = 3;
+   optional sint32 Quantity = 4;
+   optional float Discount = 5;
+}