Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] [PYTHON] Python client decodes file to string and fails to write bytes #4847

Closed
5 of 6 tasks
vmorris opened this issue Dec 19, 2019 · 10 comments
Closed
5 of 6 tasks

Comments

@vmorris
Copy link

vmorris commented Dec 19, 2019

Bug Report Checklist

  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • What's the version of OpenAPI Generator used?
  • Have you search for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Bounty to sponsor the fix (example)
Description

Generating a python client (experimental and normal) and using said client in python3 breaks when downloading a file. This works in python2!

I'm using application/octet-stream with type: string and format: binary (see below).

openapi-generator version

4.2.2

OpenAPI declaration file content or url

Gist available at https://gist.github.com/vmorris/8593cdf7d96451f6ccdc994b2953ffcb

Add this snippet to the petshop documentation:

  '/pet/{petId}/downloadImage':
    get:
      tags:
        - pet
      summary: Download image of pet by ID
      description: Returns image for a single pet
      operationId: getPetImageById
      parameters:
        - name: petId
          in: path
          description: ID of pet to return image for
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: successful operation
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '400':
          description: Invalid ID supplied
        '404':
          description: Pet not found
      security:
        - api_key: []
Command line used for generation

openapi-generator-cli generate -i petshop.yaml -g python -o petshop_client

Steps to reproduce
api_instance = openapi_client.PetApi(openapi_client.ApiClient(configuration))
pet_id = 56 # int | ID of pet to return image for
api_response = api_instance.get_pet_image_by_id(pet_id)
pprint(api_response)

This gets down into openapi_client/api_client.py:__deserialize_file(self, response), where the temporary output file is opened as 'wb'. This works fine if using python 2, but in python 3, it fails with TypeError: a bytes-like object is required, not 'str'

I was able to work around this by adding _preload_content=False to the API call and then writing the data out to a file myself.

Related issues/PRs

#206

Suggest a fix

Perhaps don't decode response.data to a string when format is binary.

@auto-labeler
Copy link

auto-labeler bot commented Dec 19, 2019

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

@vmorris vmorris changed the title [BUG] Description [BUG] [PYTHON] Python client decodes file to string and fails to write bytes Dec 19, 2019
@spacether
Copy link
Contributor

spacether commented Apr 27, 2020

For file types, this has been fixed by #5679

@thall
Copy link

thall commented Jan 6, 2021

I have the same problem

@spacether
Copy link
Contributor

spacether commented Jan 6, 2021

@thall please provide a spec, headers, body content and what generator you are using, and your error message so your issue can be reproduced

@thall
Copy link

thall commented Jan 7, 2021

@spacether
Spec:

  /odd/{uuid}/tile/{tile_id}:
    get:
      tags:
      - ODD
      summary: Get tile from ODD layer with UUID by ID
      description: Get tile belonging to ODD layer with `uuid` by `tile_id`
      parameters:
      - $ref: '#/components/parameters/uuid'
      - $ref: '#/components/parameters/tile_id'
      responses:
        200:
          $ref: '#/components/responses/tile_object'
...
    tile_object:
      description: Tile with map objects, serialized to binary format
      content:
        application/octet-stream:
          schema:
            type: string
            format: binary

Client generated with:

docker run --rm -v "${PWD}:/local" --workdir /local --user ${UID}:${GROUPS[0]}
 openapitools/openapi-generator-cli generate
  --config openapi-generator-config.yaml
  --input-spec openapi.yaml
  --generator-name python
  --output integration-test

Error message:

...
  File "/home/s0000625/code/madmap_compiler/.venv/lib/python3.8/site-packages/openapi_client-1.0.0-py3.8.egg/openapi_client/api/odd_api.py", line 224, in __odd_uuid_tile_tile_id_get
    return self.call_with_http_info(**kwargs)
  File "/home/s0000625/code/madmap_compiler/.venv/lib/python3.8/site-packages/openapi_client-1.0.0-py3.8.egg/openapi_client/api_client.py", line 826, in call_with_http_info
    return self.api_client.call_api(
  File "/home/s0000625/code/madmap_compiler/.venv/lib/python3.8/site-packages/openapi_client-1.0.0-py3.8.egg/openapi_client/api_client.py", line 406, in call_api
    return self.__call_api(resource_path, method,
  File "/home/s0000625/code/madmap_compiler/.venv/lib/python3.8/site-packages/openapi_client-1.0.0-py3.8.egg/openapi_client/api_client.py", line 220, in __call_api
    response_data.data = response_data.data.decode(encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe5 in position 7: invalid continuation byte

Data returned by server:

b'\x00\x00\x01\t\x00\x00\x00\xe5\xc7\x8a\n\xce\xb3\x06\xff\xd8\x0c\xfd\xab\x0b\x01"f9\xc1\x07\x1e-y"fe\x03\x07\x1e\xa32\x11\xe9\x8d\n\xff\xb8\x06\xdc\xd4\x0c\xc8\xa8\x0b\x01"f:\xe4\x07\x1e,\x97"fe\xf8\x07\x1e\xa1\xc1\x11\xdb\xa1\x07\xe1\xde\x06\xfb\xee\x0b\xeb\xd3\x0b\x01"fTE\x07\x1e\x87\xa5"f[\x15\x07\x1e\x98_\x11\xe1\xde\x06\xd1\xcd\x06\xeb\xd3\x0b\xd2\xcc\x0b\x01"f[\x15\x07\x1e\x98_"f\\\xee\x07\x1e\x9c\xaf\x11\xd1\xcd\x06\xfa\xb5\x06\xd2\xcc\x0b\xf7\xc1\x0b\x01"f\\\xee\x07\x1e\x9c\xaf"f_\x89\x07\x1e\xa2\x86\x11\xfa\xb5\x06\xe7\x99\x05\xf7\xc1\x0b\xf0\xef\n\x01"f_\x89\x07\x1e\xa2\x86"ft\x10\x07\x1e\xc9\x99\x11\xce\xb3\x06\xfd\xa8\x05\xfd\xab\x0b\xef\xea\n\x01"fe\x03\x07\x1e\xa32"fuQ\x07\x1e\xc5\xc3\x11\xff\xb8\x06\xd4\xaf\x05\xc8\xa8\x0b\xc8\xe7\n\x01"fe\xf8\x07\x1e\xa1\xc1"fv8\x07\x1e\xc4,\x11\xc5\xa0\x0c\xd8\xb9\x06\xe3\xef\x0c\xfc\x9f\x0b\x01"fh\x04\x07\x1e\xa1\xa8"f4\x1d\x07\x1d\xe7\xfb\x11\xc4\xa1\x0c\xcc\xbf\x06\xfa\xea\x0c\xcb\x9c\x0b\x01"fh\xf5\x07\x1e\xa04"f5F\x07\x1d\xe7\xbc\x11\xd8\xb9\x06\xd1\xf1\x05\xfc\x9f\x0b\xed\xfe\n\x01"fpS\x07\x1e\xb3\xaf"fh\x04\x07\x1e\xa1\xa8\x11\xcc\xbf\x06\xda\xf7\x05\xcb\x9c\x0b\xc2\xfb\n\x01"fq>\x07\x1e\xb2&"fh\xf5\x07\x1e\xa04\x11\xd1\xf1\x05\xf8\xdb\x05\xed\xfe\n\xd3\xf4\n\x01"fr\xed\x07\x1e\xb9\x08"fpS\x07\x1e\xb3\xaf\x11\xda\xf7\x05\xc6\xe2\x05\xc2\xfb\n\xe9\xf0\n\x01"fs\xd7\x07\x1e\xb7z"fq>\x07\x1e\xb2&\x11\xe7\x99\x05\xc9\xdf\x04\xf0\xef\n\xe7\xce\n\x01"ft\x10\x07\x1e\xc9\x99"f|Y\x07\x1e\xd87\x11\xfd\xa8\x05\xf9\xc0\x04\xef\xea\n\xd5\xb4\n\x01"fuQ\x07\x1e\xc5\xc3"f\x82\xeb\x07\x1e\xdf\xc7\x11\xd4\xaf\x05\xe7\xc7\x04\xc8\xe7\n\xf2\xb0\n\x01"fv8\x07\x1e\xc4,"f\x83\xce\x07\x1e\xde\x19\x11\xd9\x9b\x06\xe1\x89\x06\xdf\xe2\n\xdb\xe1\n\x01"fwa\x07\x1e\xad\x9f"fw\xa5\x07\x1e\xa9\'\x11\xf8\xdb\x05\xd5\xb3\x05\xd3\xf4\n\xca\xe0\n\x01"fw\xf6\x07\x1e\xc3+"fr\xed\x07\x1e\xb9\x08\x11\xd5\xb3\x05\xd3\xad\x05\xca\xe0\n\xc8\xdd\n\x01"fx\xb8\x07\x1e\xc4\xad"fw\xf6\x07\x1e\xc3+\x11\xc6\xe2\x05\xea\xb9\x05\xe9\xf0\n\xe4\xdc\n\x01"fx\xdc\x07\x1e\xc1\x96"fs\xd7\x07\x1e\xb7z\x11\xea\xb9\x05\xe9\xb3\x05\xe4\xdc\n\xe1\xd9\n\x01"fy\x9f\x07\x1e\xc3\x17"fx\xdc\x07\x1e\xc1\x96\x11\xe1\x89\x06\xcd\xc5\x05\xdf\xe2\n\xc6\xd4\n\x01"fz\xfa\x07\x1e\xbe\xb3"fwa\x07\x1e\xad\x9f\x11\xc9\xdf\x04\xf0\xb8\x04\xe7\xce\n\xe9\xb8\n\x01"f|Y\x07\x1e\xd87"f\x81\xd7\x07\x1e\xe1\xd0\x11\xcd\xc5\x05\xeb\xb1\x05\xc6\xd4\n\xfd\xcb\n\x01"f}\x03\x07\x1e\xc3\x95"fz\xfa\x07\x1e\xbe\xb3\x11\xeb\xb1\x05\xdf\x94\x05\xfd\xcb\n\xcd\xbe\n\x01"f\x80s\x07\x1e\xca\xe1"f}\x03\x07\x1e\xc3\x95\x11\xf0\xb8\x04\xe5\x96\x04\xe9\xb8\n\xc1\xa5\n\x01"f\x81\xd7\x07\x1e\xe1\xd0"f\x86\xbf\x07\x1e\xea[\x11\xf9\xc0\x04\xc4\x9e\x04\xd5\xb4\n\xc5\xa1\n\x01"f\x82\xeb\x07\x1e\xdf\xc7"f\x87\xbb\x07\x1e\xe8|\x11\xe7\xc7\x04\xed\xa4\x04\xf2\xb0\n\xe5\x9d\n\x01"f\x83\xce\x07\x1e\xde\x19"f\x88\x9b\x07\x1e\xe6\xd3\x11\xe5\x96\x04\xdf\xf4\x03\xc1\xa5\n\xd9\x91\n\x01"f\x86\xbf\x07\x1e\xea["f\x8b\xa7\x07\x1e\xf2\xe1\x11\xdf\x94\x05\xf6\xdd\x04\xcd\xbe\n\xfe\xa2\n\x01"f\x87B\x07\x1e\xd8\x8a"f\x80s\x07\x1e\xca\xe1\x11\xc4\x9e\x04\xca\xfb\x03\xc5\xa1\n\xf7\x8d\n\x01"f\x87\xbb\x07\x1e\xe8|"f\x8c\x89\x07\x1e\xf16\x11\xed\xa4\x04\xf0\x81\x04\xe5\x9d\n\xd7\x8a\n\x01"f\x88\x9b\x07\x1e\xe6\xd3"f\x8di\x07\x1e\xef\x90\x11\xdf\xf4\x03\xf8\xb5\x03\xd9\x91\n\xfd\xeb\t\x01"f\x8b\xa7\x07\x1e\xf2\xe1"f\x95\x03\x07\x1f\x02\x88\x11\xd3\xad\x05\xdd\x9f\x04\xc8\xdd\n\xd6\x91\n\x01"f\x8b\xaa\x07\x1e\xe8#"fx\xb8\x07\x1e\xc4\xad\x11\xe9\xb3\x05\xcd\xa6\x04\xe1\xd9\n\xf8\x8d\n\x01"f\x8c\x88\x07\x1e\xe6s"fy\x9f\x07\x1e\xc3\x17\x11\xca\xfb\x03\xd9\xba\x03\xf7\x8d\n\xec\xe9\t\x01"f\x8c\x89\x07\x1e\xf16"f\x95\x94\x07\x1f\x01g\x11\xf0\x81\x04\xca\xc1\x03\xd7\x8a\n\xd2\xe6\t\x01"f\x8di\x07\x1e\xef\x90"f\x96n\x07\x1e\xff\xb6\x11\xf6\xdd\x04\xee\xad\x04\xfe\xa2\n\xc1\x8a\n\x01"f\x8d\x7f\x07\x1e\xe4\x92"f\x87B\x07\x1e\xd8\x8a\x11\xdd\x9f\x04\xc8\x8b\x04\xd6\x91\n\xc2\x86\n\x01"f\x8e~\x07\x1e\xed8"f\x8b\xaa\x07\x1e\xe8#\x11\xcd\xa6\x04\xfa\x91\x04\xf8\x8d\n\xe5\x82\n\x01"f\x8f[\x07\x1e\xeb\x86"f\x8c\x88\x07\x1e\xe6s\x11\xee\xad\x04\xfe\x98\x04\xc1\x8a\n\xfe\xfe\t\x01"f\x90B\x07\x1e\xe9\xc2"f\x8d\x7f\x07\x1e\xe4\x92\x11\xf8\xb5\x03\xc7\xec\x02\xfd\xeb\t\xdb\xbe\t\x01"f\x95\x03\x07\x1f\x02\x88"f\xa0e\x07\x1f\x14\xf9\x11\xd9\xba\x03\xc7\xec\x02\xec\xe9\t\xdb\xbe\t\x01"f\x95\x94\x07\x1f\x01g"f\xa0e\x07\x1f\x14\xf9\x11\xca\xc1\x03\xc0\xf3\x02\xd2\xe6\t\xf2\xba\t\x01"f\x96n\x07\x1e\xff\xb6"f\xa1N\x07\x1f\x13@\x11\xc8\x8b\x04\xc2\xcd\x03\xc2\x86\n\xf4\xe2\t\x01"f\x97L\x07\x1e\xfc\xbe"f\x8e~\x07\x1e\xed8\x11\xfa\x91\x04\xc9\xd4\x03\xe5\x82\n\xd2\xdf\t\x01"f\x98.\x07\x1e\xfa\xf7"f\x8f[\x07\x1e\xeb\x86\x11\xfe\x98\x04\xd1\xd7\x03\xfe\xfe\t\xef\xdd\t\x01"f\x98\x91\x07\x1e\xfa/"f\x90B\x07\x1e\xe9\xc2\x11\xc2\xcd\x03\xff\xad\x03\xf4\xe2\t\xc7\xd1\t\x01"f\x9b\xb9\x07\x1f\x04\x81"f\x97L\x07\x1e\xfc\xbe\x11\xc9\xd4\x03\xc0\xb5\x03\xd2\xdf\t\xe2\xcd\t\x01"f\x9c\x9e\x07\x1f\x02\xc0"f\x98.\x07\x1e\xfa\xf7\x11\xd1\xd7\x03\xc0\xb5\x03\xef\xdd\t\xe2\xcd\t\x01"f\x9c\x9e\x07\x1f\x02\xc0"f\x98\x91\x07\x1e\xfa/\x11\xff\xad\x03\xf8\x95\x03\xc7\xd1\t\xda\xc3\t\x01"f\x9f&\x07\x1f\n\x88"f\x9b\xb9\x07\x1f\x04\x81\x11\xc0\xb5\x03\xf2\x9c\x03\xe2\xcd\t\xf3\xbf\t\x01"f\xa0\r\x07\x1f\x08\xce"f\x9c\x9e\x07\x1f\x02\xc0\x11\xc7\xec\x02\xa5\xc0\x02\xdb\xbe\t\xfe\xbd\x06\x01"f\xa0e\x07\x1f\x14\xf9"g\x00\x82\x07\x1f\xc0%\x11\xc0\xf3\x02\xa8\xb9\x02\xf2\xba\t\xdd\xba\x06\x01"f\xa1N\x07\x1f\x13@"g\x01c\x07\x1f\xbeh\x11\xa5\xc0\x02\x87\xdf\x03\xfe\xbd\x06\xe0\xe3\x05\x01"g\x00\x82\x07\x1f\xc0%"g\x17 \x07\x1f\xe7\xc7\x11\xa8\xb9\x02\xa9\xd7\x03\xdd\xba\x06\xc3\xe0\x05\x01"g\x01c\x07\x1f\xbeh"g\x17\xfd\x07\x1f\xe5\xe9\x11\xf8\x95\x03\xa7\xd8\x02\xda\xc3\t\xfd\x9c\x06\x01"g\x08\xc3\x07\x1f\xc6\'"f\x9f&\x07\x1f\n\x88\x11\xf2\x9c\x03\xac\xd1\x02\xf3\xbf\t\xd9\x99\x06\x01"g\t\xa7\x07\x1f\xc4l"f\xa0\r\x07\x1f\x08\xce\x11\xa7\xd8\x02\xaa\xf3\x02\xfd\x9c\x06\xdf\x8e\x06\x01"g\x0ca\x07\x1f\xcc\xea"g\x08\xc3\x07\x1f\xc6\'\x11\xac\xd1\x02\x94\xec\x02\xd9\x99\x06\xf5\x8a\x06\x01"g\rK\x07\x1f\xcb\x14"g\t\xa7\x07\x1f\xc4l\x11\xaa\xf3\x02\xab\x9a\x03\xdf\x8e\x06\xc6\xf9\x05\x01"g\x11\xba\x07\x1f\xd6\xab"g\x0ca\x07\x1f\xcc\xea\x11\x94\xec\x02\x91\x93\x03\xf5\x8a\x06\xec\xf5\x05\x01"g\x12\x94\x07\x1f\xd4\xd1"g\rK\x07\x1f\xcb\x14\x11\x94\xec\x02\xa5\x90\x03\xf5\x8a\x06\xdc\xf4\x05\x01"g\x12\xe4\x07\x1f\xd4%"g\rK\x07\x1f\xcb\x14\x11\x87\xdf\x03\xbc\x9c\x04\xe0\xe3\x05\xf7\xc0\x05\x01"g\x17 \x07\x1f\xe7\xc7"g\x1f\xc9\x07\x1f\xf7<\x11\x87\xdf\x03\x97\x96\x04\xe0\xe3\x05\xcd\xbe\x05\x01"g\x17 \x07\x1f\xe7\xc7"g s\x07\x1f\xf5\x97\x11\xa9\xd7\x03\xa9\x8e\x04\xc3\xe0\x05\xc6\xbb\x05\x01"g\x17\xfd\x07\x1f\xe5\xe9"g!:\x07\x1f\xf3\xa9\x11\xbc\x9c\x04\x9e\xaf\x04\xf7\xc0\x05\xf9\xb5\x05\x01"g\x1f\xc9\x07\x1f\xf7<"g"\x87\x07\x1f\xfb\xde\x11\x97\x96\x04\xa9\xce\x04\xcd\xbe\x05\xf2\x92\x05\x01"g s\x07\x1f\xf5\x97"g+N\x07 \x03\xa9\x11\xa9\x8e\x04\xbe\xc6\x04\xc6\xbb\x05\xc7\x90\x05\x01"g!:\x07\x1f\xf3\xa9"g+\xf9\x07 \x01\xbe\x11\x9e\xaf\x04\x93\xd8\x04\xf9\xb5\x05\xca\x9e\x05\x01"g"\x87\x07\x1f\xfb\xde"g(v\x07 \x06\x13\x11\x93\xd8\x04\xb9\x8a\x05\xca\x9e\x05\xff\xfd\x04\x01"g(v\x07 \x06\x13"g0\x81\x07 \x12\xb9\x11\xab\x9a\x03\x9d\xa6\x04\xc6\xf9\x05\xf5\x9c\x05\x01"g(\xcb\x07\x1f\xf9\x9d"g\x11\xba\x07\x1f\xd6\xab\x11\x91\x93\x03\xa1\x9e\x04\xec\xf5\x05\xfd\x99\x05\x01"g)\x83\x07\x1f\xf7\xa1"g\x12\x94\x07\x1f\xd4\xd1\x11\xa5\x90\x03\xa8\x96\x04\xdc\xf4\x05\xc6\x97\x05\x01"g*:\x07\x1f\xf5\xa8"g\x12\xe4\x07\x1f\xd4%\x11\xa9\xce\x04\x8e\xe5\x04\xf2\x92\x05\xed\xff\x04\x01"g+N\x07 \x03\xa9"g0\x13\x07 \tN\x11\xbe\xc6\x04\x97\xdd\x04\xc7\x90\x05\xc8\xfd\x04\x01"g+\xf9\x07 \x01\xbe"g0\xb8\x07 \x07W\x11\x8e\xe5\x04\xb9\xba\x05\xed\xff\x04\xda\xaf\x04\x01"g0\x13\x07 \tN"gD&\x07 \x1e\xb9\x11\x9d\xa6\x04\xb2\xca\x04\xf5\x9c\x05\xff\xfe\x04\x01"g0A\x07 \x02\xb2"g(\xcb\x07\x1f\xf9\x9d\x11\xb9\x8a\x05\x88\xd7\x05\xff\xfd\x04\xd1\xb8\x04\x01"g0\x81\x07 \x12\xb9"gA\xef\x07 %\xc8\x11\x97\xdd\x04\x90\xb2\x05\xc8\xfd\x04\xfb\xac\x04\x01"g0\xb8\x07 \x07W"gD\xc5\x07 \x1c\x90\x11\xa1\x9e\x04\xac\xc2\x04\xfd\x99\x05\xcf\xfc\x04\x01"g0\xf1\x07 \x00\xac"g)\x83\x07\x1f\xf7\xa1\x11\xa8\x96\x04\xae\xba\x04\xc6\x97\x05\xe2\xf9\x04\x01"g1\x9e\x07\x1f\xfe\xae"g*:\x07\x1f\xf5\xa8\x11\xb2\xca\x04\xa2\x8b\x05\xff\xfe\x04\xea\xc2\x04\x01"g?V\x07 \x12\xe2"g0A\x07 \x02\xb2\x11\xac\xc2\x04\x8a\x83\x05\xcf\xfc\x04\xd6\xc0\x04\x01"g?\xea\x07 \x10\xca"g0\xf1\x07 \x00\xac\x11\xae\xba\x04\x9f\xfa\x04\xe2\xf9\x04\xfc\xbd\x04\x01"g@\x84\x07 \x0e\x9f"g1\x9e\x07\x1f\xfe\xae\x11\xa2\x8b\x05\x95\x94\x05\xea\xc2\x04\xe3\xba\x04\x01"gA]\x07 \x15\x15"g?V\x07 \x12\xe2\x11\x88\xd7\x05\x91\xe1\x05\xd1\xb8\x04\xf5\xae\x04\x01"gA\xef\x07 %\xc8"gDK\x07 (Q\x11\x8a\x83\x05\x81\x8c\x05\xd6\xc0\x04\xc3\xb8\x04\x01"gA\xfd\x07 \x13\x01"g?\xea\x07 \x10\xca\x11\x9f\xfa\x04\x83\x82\x05\xfc\xbd\x04\xc4\xb5\x04\x01"gB\xbc\x07 \x10\x83"g@\x84\x07 \x0e\x9f\x11\x83\x82\x05\xa6\x83\x05\xc4\xb5\x04\xf1\xb1\x04\x01"gC\x8f\x07 \x10\xe6"gB\xbc\x07 \x10\x83\x11\xb9\xba\x05\x88\xa1\x06\xda\xaf\x04\xe0\xce\x03\x01"gD&\x07 \x1e\xb9"g\\`\x07 8H\x11\x91\xe1\x05\xa5\xec\x05\xf5\xae\x04\xe6\xa4\x04\x01"gDK\x07 (Q"gF\xda\x07 +%\x11\x90\xb2\x05\xb0\x98\x06\xfb\xac\x04\xf7\xcb\x03\x01"gD\xc5\x07 \x1c\x90"g]\t\x07 60\x11\xa6\x83\x05\xae\x84\x05\xf1\xb1\x04\xdc\xac\x04\x01"gD\xe4\x07 \x11."gC\x8f\x07 \x10\xe6\x11\x95\x94\x05\x89\xa6\x05\xe3\xba\x04\xdd\xa9\x04\x01"gE\xa3\x07 \x19\x89"gA]\x07 \x15\x15\x11\x81\x8c\x05\xaf\x9d\x05\xc3\xb8\x04\xc3\xa7\x04\x01"gF=\x07 \x17o"gA\xfd\x07 \x13\x01\x11\xa5\xec\x05\xbc\xfa\x05\xe6\xa4\x04\xc5\x98\x04\x01"gF\xda\x07 +%"gI\xfb\x07 .\xbc\x11\xa5\xec\x05\x96\xf9\x05\xe6\xa4\x04\xe6\x97\x04\x01"gF\xda\x07 +%"gJ\x1a\x07 .V\x11\x89\xa6\x05\xae\xaf\x05\xdd\xa9\x04\xce\xa0\x04\x01"gG\xf2\x07 \x1b\xee"gE\xa3\x07 \x19\x89\x11\xaf\x9d\x05\x97\xa7\x05\xc3\xa7\x04\xf3\x9d\x04\x01"gH\x8d\x07 \x19\xd7"gF=\x07 \x17o\x11\xbc\xfa\x05\x9b\xa9\x06\xc5\x98\x04\xd6\xf1\x03\x01"gI\xfb\x07 .\xbc"gS\xaa\x07 :[\x11\x96\xf9\x05\x9f\xa3\x06\xe6\x97\x04\xd3\xef\x03\x01"gJ\x1a\x07 .V"gT-\x07 8\xdf\x11\x83\xea\x04\xae\x84\x05\xdc\xac\x04\xdc\x94\x04\x01"gJ\xe4\x07 \n\x83"gD\xe4\x07 \x11.\x11\x80\xb4\x04\x83\xea\x04\xdc\x94\x04\xc2\x83\x04\x01"gO>\x07\x1f\xfd\x00"gJ\xe4\x07 \n\x83\x11\x8a\xaf\x04\x80\xb4\x04\xc2\x83\x04\xe1\x81\x04\x01"gO\x9f\x07\x1f\xfb\xca"gO>\x07\x1f\xfd\x00\x11\xaf\xdf\x04\x8e\x9b\x05\xd4\x81\x04\xd9\xfb\x03\x01"gPJ\x07 \x16\xce"gQ\'\x07 \x07\xef\x11\xb2\xe3\x04\x8e\x9b\x05\xc5\xff\x03\xf1\xf6\x03\x01"gPJ\x07 \x16\xce"gRO\x07 \x08\xf2\x11\xa5\xcd\x04\xaf\xdf\x04\xd9\xfb\x03\xdc\xf3\x03\x01"gQ\'\x07 \x07\xef"gS$\x07 \x03e\x11\xae\xaf\x05\xa3\xd7\x05\xce\xa0\x04\xcd\xfa\x03\x01"gQs\x07 %\xe3"gG\xf2\x07 \x1b\xee\x11\x84\xe8\x04\x85\x99\x05\xc2\xfa\x03\xf9\xf1\x03\x01"gQ\x82\x07 \x16E"gS\x87\x07 \n\x04\x11\x8e\x9b\x05\xac\xb1\x05\xf6\xfe\x03\xe6\xf8\x03\x01"gQ\xda\x07 \x1cl"gPJ\x07 \x16\xce\x11\x97\xa7\x05\x81\xcf\x05\xf3\x9d\x04\xec\xf7\x03\x01"gR\x14\x07 #\xc1"gH\x8d\x07 \x19\xd7\x11\x85\x99\x05\xb9\xaf\x05\xfe\xf9\x03\xc5\xf7\x03\x01"gR;\x07 \x1b\xf9"gQ\x82\x07 \x16E\x11\xa9\xd3\x04\xb2\xe3\x04\xf1\xf6\x03\xd9\xef\x03\x01"gRO\x07 \x08\xf2"gT\'\x07 \x04\xe9\x11\xac\xb1\x05\x87\xb7\x05\xe6\xf8\x03\xcc\xf6\x03\x01"gRt\x07 \x1d\xc7"gQ\xda\x07 \x1cl\x11\xb9\xaf\x05\xbb\xb5\x05\xc5\xf7\x03\xd8\xf5\x03\x01"gR\xa8\x07 \x1d{"gR;\x07 \x1b\xf9\x11\xa1\xc8\x04\xa5\xcd\x04\xdc\xf3\x03\xd6\xf0\x03\x01"gS$\x07 \x03e"gS\xea\x07 \x02!\x11\x8c\xda\x04\x84\xe8\x04\xf9\xf1\x03\xc2\xeb\x03\x01"gS\x87\x07 \n\x04"gU>\x07 \x06\x8c\x11\x9b\xa9\x06\xa6\xdd\x06\xd6\xf1\x03\xe6\xcd\x03\x01"gS\xaa\x07 :["g\\\x9a\x07 Gf\x11\x87\xb7\x05\xb7\xbf\x05\xcc\xf6\x03\xd3\xf1\x03\x01"gS\xad\x07 \x1f\xf7"gRt\x07 \x1d\xc7\x11\xbb\xb5\x05\xb7\xbf\x05\xd8\xf5\x03\xd3\xf1\x03\x01"gS\xad\x07 \x1f\xf7"gR\xa8\x07 \x1d{\x11\x88\xcf\x04\xa9\xd3\x04\xd9\xef\x03\xe3\xec\x03\x01"gT\'\x07 \x04\xe9"gT\xdd\x07 \x03\xc8\x11\x9f\xa3\x06\xba\xd4\x06\xd3\xef\x03\xd0\xca\x03\x01"gT-\x07 8\xdf"g]p\x07 E:\x11\x96\xd6\x04\x8c\xda\x04\xc2\xeb\x03\xd9\xe8\x03\x01"gU>\x07 \x06\x8c"gU\xe7\x07 \x05\x96\x11\xb7\xbf\x05\x85\xcc\x05\xd3\xf1\x03\xca\xea\x03\x01"gUv\x07 #\x05"gS\xad\x07 \x1f\xf7\x11\xa3\xd7\x05\xb6\xe9\x05\xcd\xfa\x03\xdf\xe8\x03\x01"gU\xe1\x07 *v"gQs\x07 %\xe3\x11\x81\xcf\x05\xa0\xe1\x05\xec\xf7\x03\xf1\xe5\x03\x01"gV\x8f\x07 (`"gR\x14\x07 #\xc1\x11\x85\xcc\x05\x81\xec\x05\xca\xea\x03\xf6\xce\x03\x01"g\\J\x07 +\x01"gUv\x07 #\x05\x11\x88\xa1\x06\xac\xb9\x06\xe0\xce\x03\xc9\xb8\x03\x01"g\\`\x07 8H"ga\xf7\x07 >l\x11\xa6\xdd\x06\x9f\xe6\x06\xe6\xcd\x03\xff\xc8\x03\x01"g\\\x9a\x07 Gf"g]\xc1\x07 I\x9f\x11\xb6\xe9\x05\xb5\x86\x06\xdf\xe8\x03\xf7\xcb\x03\x01"g]\t\x07 1\xb5"gU\xe1\x07 *v\x11\xb0\x98\x06\x90\xb1\x06\xf7\xcb\x03\xe2\xb5\x03\x01"g]\t\x07 60"gb\x9e\x07 <P\x11\xba\xd4\x06\x89\xdb\x06\xd0\xca\x03\xf0\xc5\x03\x01"g]p\x07 E:"g^\x90\x07 F\xc9\x11\xa0\xe1\x05\xa5\xfe\x05\xf1\xe5\x03\xd4\xc9\x03\x01"g]\xac\x07 /\xa5"gV\x8f\x07 (`\x11\x9f\xe6\x06\xac\xf0\x06\xff\xc8\x03\xd5\xc4\x03\x01"g]\xc1\x07 I\x9f"g^\xeb\x07 L,\x11\x81\xec\x05\x88\xf5\x05\xf6\xce\x03\xd9\xc6\x03\x01"g^g\x07 -H"g\\J\x07 +\x01\x11\x89\xdb\x06\xbd\xe0\x06\xf0\xc5\x03\xe0\xc1\x03\x01"g^\x90\x07 F\xc9"g_\xa0\x07 H=\x11\xac\xf0\x06\x83\xfc\x06\xd5\xc4\x03\xf6\xbf\x03\x01"g^\xeb\x07 L,"g`\n\x07 O\x03\x11\xbd\xe0\x06\x93\xf6\x06\xe0\xc1\x03\xff\xb1\x03\x01"g_\xa0\x07 H="gc\x81\x07 M\x93\x11\xac\xb9\x06\xa8\xf3\x07\xc9\xb8\x03\xf5\x8d\x02\x01"ga\xf7\x07 >l"g\x8c\x8b\x07 l\xe8\x11\x90\xb1\x06\xa2\xeb\x07\xe2\xb5\x03\xfe\x8a\x02\x01"gb\x9e\x07 <P"g\x8dB\x07 j\xe2\x11\xb5\x86\x06\x83\xa2\x06\xf7\xcb\x03\xdc\xb1\x03\x01"gc\xa4\x07 8\x83"g]\t\x07 1\xb5\x11\xa5\xfe\x05\xb3\x99\x06\xd4\xc9\x03\xfc\xae\x03\x01"gdD\x07 6s"g]\xac\x07 /\xa5\x11\x88\xf5\x05\xb4\x90\x06\xd9\xc6\x03\xcd\xac\x03\x01"gd\xf3\x07 44"g^g\x07 -H\x11\x83\xa2\x06\xaa\x99\x07\xdc\xb1\x03\xf5\xbf\x02\x01"g\x80\x0b\x07 Vj"gc\xa4\x07 8\x83\x11\xb3\x99\x06\x98\x91\x07\xfc\xae\x03\xd5\xbd\x02\x01"g\x80\xab\x07 TX"gdD\x07 6s\x11\xb4\x90\x06\xb4\x88\x07\xcd\xac\x03\xef\xba\x02\x01"g\x81Q\x07 R4"gd\xf3\x07 44\x11\xa8\xf3\x07\x99\x93\x08\xf5\x8d\x02\xe1\xf4\x01\x01"g\x8c\x8b\x07 l\xe8"g\x92\xdf\x07 t\xd9\x11\xa2\xeb\x07\x9c\x8b\x08\xfe\x8a\x02\xe3\xf1\x01\x01"g\x8dB\x07 j\xe2"g\x93\x9d\x07 r\xdc\x11\x99\x93\x08\xbf\xe7\x08\xe1\xf4\x01\xc7\xb9\x01\x01"g\x92\xdf\x07 t\xd9"g\xa1\xb9\x07 \x89\xff\x11\x9c\x8b\x08\x8b\xe0\x08\xe3\xf1\x01\xed\xb5\x01\x01"g\x93\x9d\x07 r\xdc"g\xa2\x93\x07 \x88\x0b\x11\x88\xf5\x08\x95\xd1\t\xf3\xda\x01\xc2\x9d\x01\x01"g\x99M\x07 \x8dH"g\xa8\xbe\x07 \xa4U\x11\x96\xb6\x07\xb8\xe4\x07\xe4\xd3\x01\xc6\xc4\x01\x01"g\x9e\xfa\x07 i8"g\x9b\x1c\x07 ]\x96\x11\xb8\xe4\x07\x85\xf1\x07\xc6\xc4\x01\xfc\xbf\x01\x01"g\xa0\x04\x07 lE"g\x9e\xfa\x07 i8\x11\x83\xb2\x07\xbb\xdf\x07\xe1\xcd\x01\xf5\xbf\x01\x01"g\xa0\x0b\x07 g\xfb"g\x9c\x9f\x07 \\\x83\x11\xbb\xdf\x07\x89\xec\x07\xf5\xbf\x01\xef\xbb\x01\x01"g\xa1\x11\x07 k\t"g\xa0\x0b\x07 g\xfb\x11\xbf\xe7\x08\x96\x87\t\xc7\xb9\x01\xe0\xa4\x01\x01"g\xa1\xb9\x07 \x89\xff"g\xa6\xe0\x07 \x91\xd6\x11\x85\xf1\x07\xb4\x88\x08\xfc\xbf\x01\xd2\xb7\x01\x01"g\xa2.\x07 r4"g\xa0\x04\x07 lE\x11\x8b\xe0\x08\x9b\xff\x08\xed\xb5\x01\xc6\xa1\x01\x01"g\xa2\x93\x07 \x88\x0b"g\xa7\xba\x07 \x8f\xdb\x11\x89\xec\x07\xb6\x83\x08\xef\xbb\x01\xd3\xb3\x01\x01"g\xa3-\x07 p\xf6"g\xa1\x11\x07 k\t\x11\x96\x87\t\xb4\xa4\t\xe0\xa4\x01\xfa\x92\x01\x01"g\xa6\xe0\x07 \x91\xd6"g\xabF\x07 \x994\x11\x96\x87\t\x86\xa3\t\xe0\xa4\x01\xca\x92\x01\x01"g\xa6\xe0\x07 \x91\xd6"g\xabv\x07 \x98\xc6\x11\xb4\x88\x08\xa7\xb9\x08\xd2\xb7\x01\xd7\xa3\x01\x01"g\xa7)\x07 ~g"g\xa2.\x07 r4\x11\x9b\xff\x08\x91\x9b\t\xc6\xa1\x01\xf1\x8e\x01\x01"g\xa7\xba\x07 \x8f\xdb"g\xacO\x07 \x96\xd1\x11\xb6\x83\x08\x97\xb5\x08\xd3\xb3\x01\xd2\xa0\x01\x01"g\xa7\xee\x07 }W"g\xa3-\x07 p\xf6\x11\xa8\xd7\t\xa2\xd2\n\xe7\x9f\x01\xc9H\x01"g\xa8\x19\x07 \xa5\xe8"g\xbd\xf7\x07 \xc4\xa2\x11\x95\xd1\t\xae\xcf\n\xc2\x9d\x01\xc1G\x01"g\xa8\xbe\x07 \xa4U"g\xbe?\x07 \xc3\xee\x11\xb4\xa4\t\xa4\xc1\t\xfa\x92\x01\xd7\x82\x01\x01"g\xabF\x07 \x994"g\xafi\x07 \xa0d\x11\x86\xa3\t\xa6\xbd\t\xca\x92\x01\xe9\x80\x01\x01"g\xabv\x07 \x98\xc6"g\xaf\xd7\x07 \x9ff\x11\x91\x9b\t\xaf\xb5\t\xf1\x8e\x01\xd0}\x01"g\xacO\x07 \x96\xd1"g\xb0\xb0\x07 \x9do\x11\xaa\x99\x07\x99\xdb\x08\xf5\xbf\x02\xcc\x87\x01\x01"g\xae4\x07 \x86\xd9"g\x80\x0b\x07 Vj\x11\x98\x91\x07\x8e\xd3\x08\xd5\xbd\x02\xed\x84\x01\x01"g\xae\xd3\x07 \x84\xce"g\x80\xab\x07 TX\x11\xa4\xc1\t\xa8\xe2\t\xd7\x82\x01\xd6p\x01"g\xafi\x07 \xa0d"g\xb3\xea\x07 \xa8\xa8\x11\xb4\x88\x07\xbc\xca\x08\xef\xba\x02\xcc\x82\x01\x01"g\xaft\x07 \x82\xbc"g\x81Q\x07 R4\x11\xa6\xbd\t\x8b\xdb\t\xe9\x80\x01\xc6m\x01"g\xaf\xd7\x07 \x9ff"g\xb4\xba\x07 \xa6\xcb\x11\xaf\xb5\t\x94\xd3\t\xd0}\xeai\x01"g\xb0\xb0\x07 \x9do"g\xb5\x96\x07 \xa4\xd4\x11\xa8\xe2\t\xab\xef\t\xd6p\xeai\x01"g\xb3\xea\x07 \xa8\xa8"g\xb5\x96\x07 \xab\xeb\x11\x8b\xdb\t\xba\xff\t\xc6m\xe5T\x01"g\xb4\xba\x07 \xa6\xcb"g\xba\xdb\x07 \xaf\xfa\x11\xa7\xb9\x08\xa4\x9a\t\xd7\xa3\x01\xd8l\x01"g\xb4\xe8\x07 \x96\xa4"g\xa7)\x07 ~g\x11\x97\xb5\x08\xa4\x9a\t\xd2\xa0\x01\xd8l\x01"g\xb4\xe8\x07 \x96\xa4"g\xa7\xee\x07 }W\x11\x94\xd3\t\x85\xf8\t\xeai\xcdQ\x01"g\xb5\x96\x07 \xa4\xd4"g\xbb\xb3\x07 \xae\x05\x11\xab\xef\t\x80\xab\n\xeai\xfaI\x01"g\xb5\x96\x07 \xab\xeb"g\xbd\x86\x07 \xba\xc0\x11\xba\xff\t\xa9\x9f\n\xe5T\xcc?\x01"g\xba\xdb\x07 \xaf\xfa"g\xc04\x07 \xb7\xe9\x11\x85\xf8\t\xa5\x97\n\xcdQ\xf9;\x01"g\xbb\xb3\x07 \xae\x05"g\xc1\x07\x07 \xb5\xe5\x11\x80\xab\n\xbc\xbe\n\xfaI\xcc?\x01"g\xbd\x86\x07 \xba\xc0"g\xc04\x07 \xbf\xbc\x11\xa2\xd2\n\xa5\xe6\n\xc9H\xec9\x01"g\xbd\xf7\x07 \xc4\xa2"g\xc1\x94\x07 \xc9\xa5\x11\xae\xcf\n\xac\xe4\n\xc1G\xfc8\x01"g\xbe?\x07 \xc3\xee"g\xc1\xc4\x07 \xc9,\x11\xbc\xbe\n\xb9\xa3\x0b\xcc?\x05\x01"g\xc04\x07 \xbf\xbc"g\xd0\x05\x07 \xd8\xf9\x11\x99\xdb\x08\xa8\xb2\t\xcc\x87\x01\xed:\x01"g\xc1S\x07 \x9c\xa8"g\xae4\x07 \x86\xd9\x11\xa5\xe6\n\x87\x92\x0b\xec9\xc5\x1a\x01"g\xc1\x94\x07 \xc9\xa5"g\xc9{\x07 \xd4\x87\x11\xac\xe4\n\x87\x92\x0b\xfc8\xc5\x1a\x01"g\xc1\xc4\x07 \xc9,"g\xc9{\x07 \xd4\x87\x11\x8e\xd3\x08\xad\xaa\t\xed\x84\x01\xc38\x01"g\xc1\xfd\x07 \x9a\xad"g\xae\xd3\x07 \x84\xce\x11\xa4\x9a\t\x94\xe7\t\xd8l\xd45\x01"g\xc2\xac\x07 \xa9\xd4"g\xb4\xe8\x07 \x96\xa4\x11\xbc\xca\x08\x98\xa2\t\xcc\x82\x01\xd05\x01"g\xc2\xb0\x07 \x98\x98"g\xaft\x07 \x82\xbc\x11\x87\x92\x0b\xb3\xe3\x0b\xc5\x1a\x94"\x01"g\xc9{\x07 \xd4\x87"g\xd8\x94\x07 \xe8\xf3\x11\xa8\xb2\t\xb7\xe8\t\xed:\xe6\x12\x01"g\xcbZ\x07 \xaa7"g\xc1S\x07 \x9c\xa8\x11\xad\xaa\t\xa7\xe1\t\xc38\xf0\x0f\x01"g\xcc\x10\x07 \xa8g"g\xc1\xfd\x07 \x9a\xad\x11\x98\xa2\t\xb7\xd5\t\xd05\xc8\x0b\x01"g\xcd8\x07 \xa5w"g\xc2\xb0\x07 \x98\x98\x11\xb7\xe8\t\x9a\xfb\t\xe6\x12\xf8\x06\x01"g\xceH\x07 \xae\xda"g\xcbZ\x07 \xaa7\x11\xa7\xe1\t\x99\xf4\t\xf0\x0f\xf7\x03\x01"g\xcf\t\x07 \xad\x19"g\xcc\x10\x07 \xa8g\x11\xb7\xd5\t\xaf\xe0\t\xc8\x0b\xc4\x03\x01"g\xcf<\x07 \xa8/"g\xcd8\x07 \xa5w\x11\xb9\xa3\x0b\x8f\xca\x0c\x05\xa0|\x01"g\xd0\x05\x07 \xd8\xf9"g\xef \x07!\x02\x8f\x11\xaf\xe0\t\x9b\xe7\t\xc4\x03\xad\x01\x01"g\xd0m\x07 \xa9\xdb"g\xcf<\x07 \xa8/\x11\x9b\xe7\t\xb8\x90\n\xad\x01\xbf\x1c\x01"g\xd7?\x07 \xb48"g\xd0m\x07 \xa9\xdb\x11\xb3\xe3\x0b\xb6\xb0\x0c\x94"\xb6[\x01"g\xd8\x94\x07 \xe8\xf3"g\xe6\xf6\x07 \xfc6\x11\x94\xe7\t\x88\xf3\n\xd45\x9f0\x01"g\xdc\x1f\x07 \xcc\xc8"g\xc2\xac\x07 \xa9\xd4\x11\x9a\xfb\t\xb9\xdf\n\xf8\x06\xa93\x01"g\xdc\xe9\x07 \xc7\xf9"g\xceH\x07 \xae\xda\x11\x99\xf4\t\xa4\xd8\n\xf7\x03\xa26\x01"g\xdd\xa2\x07 \xc6$"g\xcf\t\x07 \xad\x19\x11\xb8\x90\n\x8d\xb9\n\xbf\x1c\xbe6\x01"g\xdd\xbe\x07 \xbeM"g\xd7?\x07 \xb48\x11\xb9\xdf\n\xa4\x81\x0b\xa93\x89G\x01"g\xe1\xc9\x07 \xd0d"g\xdc\xe9\x07 \xc7\xf9\x11\xa4\xd8\n\x8b\xfa\n\xa26\xbdI\x01"g\xe2}\x07 \xce\x8b"g\xdd\xa2\x07 \xc6$\x11\x88\xf3\n\x86\x9c\x0b\x9f0\xa6M\x01"g\xe3f\x07 \xd7\x06"g\xdc\x1f\x07 \xcc\xc8\x11\xa4\x81\x0b\x99\x93\x0b\x89G\x84Q\x01"g\xe4D\x07 \xd4\xd9"g\xe1\xc9\x07 \xd0d\x11\x8b\xfa\n\xb8\x8b\x0b\xbdI\x83T\x01"g\xe5\x03\x07 \xd2\xf8"g\xe2}\x07 \xce\x8b\x11\x86\x9c\x0b\x82\xe3\x0b\xa6M\xa4~\x01"g\xef\xa4\x07 \xe8\xc2"g\xe3f\x07 \xd7\x06\x11\x99\x93\x0b\x82\xe3\x0b\x84Q\xa4~\x01"g\xef\xa4\x07 \xe8\xc2"g\xe4D\x07 \xd4\xd9\x11\xb8\x8b\x0b\xa9\xdb\x0b\x83T\xb7\x81\x01\x01"g\xf0w\x07 \xe6\xe9"g\xe5\x03\x07 \xd2\xf8\x11\x82\xe3\x0b\xb6\x92\x0c\xa4~\xb2\x99\x01\x01"g\xf6r\x07 \xf4\xb6"g\xef\xa4\x07 \xe8\xc2\x11\xa9\xdb\x0b\x83\x8c\x0c\xb7\x81\x01\x82\x9d\x01\x01"g\xf7B\x07 \xf3\x03"g\xf0w\x07 \xe6\xe9\x11\xb6\x92\x0c\x8f\xa9\x0c\xb2\x99\x01\xa1\xa5\x01\x01"g\xf9a\x07 \xfaO"g\xf6r\x07 \xf4\xb6\x11\x83\x8c\x0c\xaa\xa2\x0c\x82\x9d\x01\xb4\xa8\x01\x01"g\xfa4\x07 \xf8\xaa"g\xf7B\x07 \xf3\x03\x11\x8d\xb9\n\xa1\xc1\x0b\xbe6\xa2\xc3\x01\x01"h\x00\xe2\x07 \xdf\xd2"g\xdd\xbe\x07 \xbeM\x11\xa7\xbd\x0b\x92\xbf\x0b\xa2\xc3\x01\xb4\xc6\x01\x01"h\x01\xb4\x07 \xdfg"h\x00\xe2\x07 \xdf\xd2\x11\x9f\xbb\x0b\xa7\xbd\x0b\xb4\xc6\x01\xbd\xc9\x01\x01"h\x02}\x07 \xde\xdf"h\x01\xb4\x07 \xdfg\x11\x9c\xea\x0b\x96\xf0\x0b\x9e\xd5\x01\x90\xd6\x01\x01"h\x05^\x07 \xec\x16"h\x05\x90\x07 \xea\x9c\x11\xa1\xdf\x0b\x9c\xea\x0b\x90\xd6\x01\x9c\xd8\x01\x01"h\x05\x90\x07 \xea\x9c"h\x06\x1c\x07 \xe7\xe1\x11\xa8\xd8\x0b\xa1\xdf\x0b\x9c\xd8\x01\x91\xda\x01\x01"h\x06\x1c\x07 \xe7\xe1"h\x06\x91\x07 \xe6(\x11\x96\xf0\x0b\xb2\xbc\x0c\x91\xd4\x01\x90\xde\x01\x01"h\x07\x90\x07 \xff2"h\x05^\x07 \xec\x16\x11'

@spacether
Copy link
Contributor

Thank you for providing that info! Is there a url that I can hit to get the response headers? Or could you provide them?

@thall
Copy link

thall commented Jan 7, 2021

Its not a public endpoint, but i can provide curl output:

$ curl -v http://localhost:8500/odd/e6fe4497-a3bd-4cc5-a9ad-d627ca39bc6f/tile/2954887751
*   Trying ::1:8500...
* TCP_NODELAY set
* connect to ::1 port 8500 failed: Connection refused
*   Trying 127.0.0.1:8500...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8500 (#0)
> GET /odd/e6fe4497-a3bd-4cc5-a9ad-d627ca39bc6f/tile/2954887751 HTTP/1.1
> Host: localhost:8500
> User-Agent: curl/7.68.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Length: 6791
< Content-Type: application/octet-stream
< Keep-Alive: timeout=5, max=5
< 
Warning: Binary output can mess up your terminal. Use "--output -" to tell 
Warning: curl to output it to your terminal anyway, or consider "--output 
Warning: <FILE>" to save to a file.
* Failed writing body (0 != 6791)
* Closing connection 0

Is that enough?

@spacether
Copy link
Contributor

Awesome, thanks! Yes it is. I can use that to write a test and fix it.

@spacether
Copy link
Contributor

This should be fixed by the above merge

@thall
Copy link

thall commented Jan 18, 2021

Can confirm that the patch fixes the problem. Thanks @spacether!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants