(cl:eval-when (:execute :compile-toplevel :load-toplevel)
  (cl:unless (cl:find-package "OSMPBF")
    (cl:defpackage OSMPBF (:use))))
(cl:in-package "OSMPBF")
(cl:export '(HEADER-BLOCK
             BBOX
             REQUIRED-FEATURES
             OPTIONAL-FEATURES
             WRITINGPROGRAM
             SOURCE
             OSMOSIS-REPLICATION-TIMESTAMP
             OSMOSIS-REPLICATION-SEQUENCE-NUMBER
             OSMOSIS-REPLICATION-BASE-URL
             HEADER-B-BOX
             LEFT
             RIGHT
             TOP
             BOTTOM
             PRIMITIVE-BLOCK
             STRINGTABLE
             PRIMITIVEGROUP
             GRANULARITY
             LAT-OFFSET
             LON-OFFSET
             DATE-GRANULARITY
             PRIMITIVE-GROUP
             NODES
             DENSE
             WAYS
             RELATIONS
             CHANGESETS
             STRING-TABLE
             S
             INFO
             VERSION
             TIMESTAMP
             CHANGESET
             UID
             USER-SID
             VISIBLE
             DENSE-INFO
             CHANGE-SET
             ID
             NODE
             KEYS
             VALS
             LAT
             LON
             DENSE-NODES
             DENSEINFO
             KEYS-VALS
             WAY
             REFS
             RELATION
             ROLES-SID
             MEMIDS
             TYPES))

(proto:define-schema osmformat
    (:package "OSMPBF"
     :lisp-package "OSMPBF"
     :options (:java_package "crosby.binary"))
  (proto:define-message header-block
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 2255 2266))
    ((bbox 1) :type (common-lisp:or common-lisp:null header-b-box))
    ((required-features 4) :type (protobufs:list-of common-lisp:string))
    ((optional-features 5) :type (protobufs:list-of common-lisp:string))
    ((writingprogram 16) :type (common-lisp:or common-lisp:null
                                               common-lisp:string))
    ((source 17) :type (common-lisp:or common-lisp:null common-lisp:string))
    ((osmosis-replication-timestamp 32) :type (common-lisp:or common-lisp:null
                                                              protobufs:int64))
    ((osmosis-replication-sequence-number 33) :type (common-lisp:or
                                                     common-lisp:null
                                                     protobufs:int64))
    ((osmosis-replication-base-url 34) :type (common-lisp:or common-lisp:null
                                                             common-lisp:string)))
  (proto:define-message header-b-box
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 3227 3237))
    ((left 1) :type protobufs:sint64)
    ((right 2) :type protobufs:sint64)
    ((top 3) :type protobufs:sint64)
    ((bottom 4) :type protobufs:sint64))
  (proto:define-message primitive-block
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 3516 3530))
    ((stringtable 1) :type string-table)
    ((primitivegroup 2) :type (protobufs:list-of primitive-group))
    ((granularity 17) :type (common-lisp:or common-lisp:null protobufs:int32) :default 100)
    ((lat-offset 19) :type (common-lisp:or common-lisp:null protobufs:int64) :default 0)
    ((lon-offset 20) :type (common-lisp:or common-lisp:null protobufs:int64) :default 0)
    ((date-granularity 18) :type (common-lisp:or common-lisp:null
                                                 protobufs:int32) :default 1000))
  (proto:define-message primitive-group
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 4248 4262))
    ((nodes 1) :type (protobufs:list-of node))
    ((dense 2) :type (common-lisp:or common-lisp:null dense-nodes))
    ((ways 3) :type (protobufs:list-of way))
    ((relations 4) :type (protobufs:list-of relation))
    ((changesets 5) :type (protobufs:list-of change-set)))
  (proto:define-message string-table
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 4627 4638))
    ((s 1) :type (protobufs:list-of protobufs:byte-vector)))
  (proto:define-message info
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 4743 4747))
    ((version 1) :type (common-lisp:or common-lisp:null protobufs:int32) :default -1)
    ((timestamp 2) :type (common-lisp:or common-lisp:null protobufs:int64))
    ((changeset 3) :type (common-lisp:or common-lisp:null protobufs:int64))
    ((uid 4) :type (common-lisp:or common-lisp:null protobufs:int32))
    ((user-sid 5) :type (common-lisp:or common-lisp:null protobufs:uint32))
    ((visible 6) :type (common-lisp:or common-lisp:null common-lisp:boolean)))
  (proto:define-message dense-info
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 5557 5566))
    ((version 1) :type (protobufs:list-of protobufs:int32) :packed common-lisp:t)
    ((timestamp 2) :type (protobufs:list-of protobufs:sint64) :packed common-lisp:t)
    ((changeset 3) :type (protobufs:list-of protobufs:sint64) :packed common-lisp:t)
    ((uid 4) :type (protobufs:list-of protobufs:sint32) :packed common-lisp:t)
    ((user-sid 5) :type (protobufs:list-of protobufs:sint32) :packed common-lisp:t)
    ((visible 6) :type (protobufs:list-of common-lisp:boolean) :packed common-lisp:t))
  (proto:define-message change-set
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 6510 6519))
    ((id 1) :type protobufs:int64))
  (proto:define-message node
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 6891 6895))
    ((id 1) :type protobufs:sint64)
    ((keys 2) :type (protobufs:list-of protobufs:uint32) :packed common-lisp:t)
    ((vals 3) :type (protobufs:list-of protobufs:uint32) :packed common-lisp:t)
    ((info 4) :type (common-lisp:or common-lisp:null info))
    ((lat 8) :type protobufs:sint64)
    ((lon 9) :type protobufs:sint64))
  (proto:define-message dense-nodes
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 7591 7601))
    ((id 1) :type (protobufs:list-of protobufs:sint64) :packed common-lisp:t)
    ((denseinfo 5) :type (common-lisp:or common-lisp:null dense-info))
    ((lat 8) :type (protobufs:list-of protobufs:sint64) :packed common-lisp:t)
    ((lon 9) :type (protobufs:list-of protobufs:sint64) :packed common-lisp:t)
    ((keys-vals 10) :type (protobufs:list-of protobufs:int32) :packed common-lisp:t))
  (proto:define-message way
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 8020 8023))
    ((id 1) :type protobufs:int64)
    ((keys 2) :type (protobufs:list-of protobufs:uint32) :packed common-lisp:t)
    ((vals 3) :type (protobufs:list-of protobufs:uint32) :packed common-lisp:t)
    ((info 4) :type (common-lisp:or common-lisp:null info))
    ((refs 8) :type (protobufs:list-of protobufs:sint64) :packed common-lisp:t))
  (proto:define-message relation
      (:conc-name ""
       :source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 8266 8274))
    (proto:define-enum member-type
        (:source-location (#P"/home/enikesha-ssd/dev/lisp/ocm/osmformat.proto" 8284 8294))
      (node 0)
      (way 1)
      (relation 2))
    ((id 1) :type protobufs:int64)
    ((keys 2) :type (protobufs:list-of protobufs:uint32) :packed common-lisp:t)
    ((vals 3) :type (protobufs:list-of protobufs:uint32) :packed common-lisp:t)
    ((info 4) :type (common-lisp:or common-lisp:null info))
    ((roles-sid 8) :type (protobufs:list-of protobufs:int32) :packed common-lisp:t)
    ((memids 9) :type (protobufs:list-of protobufs:sint64) :packed common-lisp:t)
    ((types 10) :type (protobufs:list-of member-type) :packed common-lisp:t)))
