GEM
  remote: https://rubygems.org/
  specs:
    CFPropertyList (3.0.2)
    activesupport (5.2.4.4)
      concurrent-ruby (~> 1.0, >= 1.0.2)
      i18n (>= 0.7, < 2)
      minitest (~> 5.1)
      tzinfo (~> 1.1)
    addressable (2.7.0)
      public_suffix (>= 2.0.2, < 5.0)
    algoliasearch (1.27.5)
      httpclient (~> 2.8, >= 2.8.3)
      json (>= 1.5.1)
    atomos (0.1.3)
    claide (1.0.3)
    cocoapods (1.10.0)
      addressable (~> 2.6)
      claide (>= 1.0.2, < 2.0)
      cocoapods-core (= 1.10.0)
      cocoapods-deintegrate (>= 1.0.3, < 2.0)
      cocoapods-downloader (>= 1.4.0, < 2.0)
      cocoapods-plugins (>= 1.0.0, < 2.0)
      cocoapods-search (>= 1.0.0, < 2.0)
      cocoapods-trunk (>= 1.4.0, < 2.0)
      cocoapods-try (>= 1.1.0, < 2.0)
      colored2 (~> 3.1)
      escape (~> 0.0.4)
      fourflusher (>= 2.3.0, < 3.0)
      gh_inspector (~> 1.0)
      molinillo (~> 0.6.6)
      nap (~> 1.0)
      ruby-macho (~> 1.4)
      xcodeproj (>= 1.19.0, < 2.0)
    cocoapods-core (1.10.0)
      activesupport (> 5.0, < 6)
      addressable (~> 2.6)
      algoliasearch (~> 1.0)
      concurrent-ruby (~> 1.1)
      fuzzy_match (~> 2.0.4)
      nap (~> 1.0)
      netrc (~> 0.11)
      public_suffix
      typhoeus (~> 1.0)
    cocoapods-deintegrate (1.0.4)
    cocoapods-downloader (1.4.0)
    cocoapods-plugins (1.0.0)
      nap
    cocoapods-search (1.0.0)
    cocoapods-trunk (1.5.0)
      nap (>= 0.8, < 2.0)
      netrc (~> 0.11)
    cocoapods-try (1.2.0)
    colored2 (3.1.2)
    concurrent-ruby (1.1.7)
    escape (0.0.4)
    ethon (0.12.0)
      ffi (>= 1.3.0)
    ffi (1.13.1)
    fourflusher (2.3.1)
    fuzzy_match (2.0.4)
    gh_inspector (1.1.3)
    httpclient (2.8.3)
    i18n (1.8.5)
      concurrent-ruby (~> 1.0)
    json (2.3.1)
    minitest (5.14.2)
    molinillo (0.6.6)
    nanaimo (0.3.0)
    nap (1.1.0)
    netrc (0.11.0)
    public_suffix (4.0.6)
    ruby-macho (1.4.0)
    thread_safe (0.3.6)
    typhoeus (1.4.0)
      ethon (>= 0.9.0)
    tzinfo (1.2.8)
      thread_safe (~> 0.1)
    xcodeproj (1.19.0)
      CFPropertyList (>= 2.3.3, < 4.0)
      atomos (~> 0.1.3)
      claide (>= 1.0.2, < 2.0)
      colored2 (~> 3.1)
      nanaimo (~> 0.3.0)

PLATFORMS
  ruby

DEPENDENCIES
  cocoapods

BUNDLED WITH
   2.1.4
