{
  "name": "CLibPNG",
  "version": "0.1.0",
  "summary": "libpng is the official PNG reference library.",
  "homepage": "http://www.libpng.org",
  "license": {
    "type": "libpng",
    "text": "                  This copy of the libpng notices is provided for your convenience.  In case of\n                  any discrepancy between this copy and the notices in the file png.h that is\n                  included in the libpng distribution, the latter shall prevail.\n\n                  COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:\n\n                  If you modify libpng you may insert additional notices immediately following\n                  this sentence.\n\n                  This code is released under the libpng license.\n\n                  libpng versions 1.0.7, July 1, 2000 through 1.6.27beta01, October 28, 2016 are\n                  Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are\n                  derived from libpng-1.0.6, and are distributed according to the same\n                  disclaimer and license as libpng-1.0.6 with the following individuals\n                  added to the list of Contributing Authors:\n\n                  Simon-Pierre Cadieux\n                  Eric S. Raymond\n                  Mans Rullgard\n                  Cosmin Truta\n                  Gilles Vollant\n                  James Yu\n\n                  and with the following additions to the disclaimer:\n\n                  There is no warranty against interference with your enjoyment of the\n                  library or against infringement.  There is no warranty that our\n                  efforts or the library will fulfill any of your particular purposes\n                  or needs.  This library is provided with all faults, and the entire\n                  risk of satisfactory quality, performance, accuracy, and effort is with\n                  the user.\n\n                  Some files in the \"contrib\" directory and some configure-generated\n                  files that are distributed with libpng have other copyright owners and\n                  are released under other open source licenses.\n\n                  libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are\n                  Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from\n                  libpng-0.96, and are distributed according to the same disclaimer and\n                  license as libpng-0.96, with the following individuals added to the list\n                  of Contributing Authors:\n\n                  Tom Lane\n                  Glenn Randers-Pehrson\n                  Willem van Schaik\n\n                  libpng versions 0.89, June 1996, through 0.96, May 1997, are\n                  Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,\n                  and are distributed according to the same disclaimer and license as\n                  libpng-0.88, with the following individuals added to the list of\n                  Contributing Authors:\n\n                  John Bowler\n                  Kevin Bracey\n                  Sam Bushell\n                  Magnus Holmgren\n                  Greg Roelofs\n                  Tom Tanner\n\n                  Some files in the \"scripts\" directory have other copyright owners\n                  but are released under this license.\n\n                  libpng versions 0.5, May 1995, through 0.88, January 1996, are\n                  Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n\n                  For the purposes of this copyright and license, \"Contributing Authors\"\n                  is defined as the following set of individuals:\n\n                  Andreas Dilger\n                  Dave Martindale\n                  Guy Eric Schalnat\n                  Paul Schmidt\n                  Tim Wegner\n\n                  The PNG Reference Library is supplied \"AS IS\".  The Contributing Authors\n                  and Group 42, Inc. disclaim all warranties, expressed or implied,\n                  including, without limitation, the warranties of merchantability and of\n                  fitness for any purpose.  The Contributing Authors and Group 42, Inc.\n                  assume no liability for direct, indirect, incidental, special, exemplary,\n                  or consequential damages, which may result from the use of the PNG\n                  Reference Library, even if advised of the possibility of such damage.\n\n                  Permission is hereby granted to use, copy, modify, and distribute this\n                  source code, or portions hereof, for any purpose, without fee, subject\n                  to the following restrictions:\n\n                  1. The origin of this source code must not be misrepresented.\n\n                  2. Altered versions must be plainly marked as such and must not\n                  be misrepresented as being the original source.\n\n                  3. This Copyright notice may not be removed or altered from any\n                  source or altered source distribution.\n\n                  The Contributing Authors and Group 42, Inc. specifically permit, without\n                  fee, and encourage the use of this source code as a component to\n                  supporting the PNG file format in commercial products.  If you use this\n                  source code in a product, acknowledgment is not required but would be\n                  appreciated.\n\n                  END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE.\n\n                  TRADEMARK:\n\n                  The name \"libpng\" has not been registered by the Copyright owner\n                  as a trademark in any jurisdiction.  However, because libpng has\n                  been distributed and maintained world-wide, continually since 1995,\n                  the Copyright owner claims \"common-law trademark protection\" in any\n                  jurisdiction where common-law trademark is recognized.\n\n                  OSI CERTIFICATION:\n\n                  Libpng is OSI Certified Open Source Software.  OSI Certified Open Source is\n                  a certification mark of the Open Source Initiative. OSI has not addressed\n                  the additional disclaimers inserted at version 1.0.7.\n\n                  EXPORT CONTROL:\n\n                  The Copyright owner believes that the Export Control Classification\n                  Number (ECCN) for libpng is EAR99, which means not subject to export\n                  controls or International Traffic in Arms Regulations (ITAR) because\n                  it is open source, publicly available software, that does not contain\n                  any encryption software.  See the EAR, paragraphs 734.3(b)(3) and\n                  734.7(b).\n\n                  Glenn Randers-Pehrson\n                  glennrp at users.sourceforge.net\n                  October 28, 2016\n"
  },
  "authors": "Greg Roelofs",
  "source": {
    "git": "https://github.com/WeirdMath/SwiftyHaru.git",
    "tag": "0.1.0"
  },
  "platforms": {
    "ios": "8.0",
    "osx": "10.9",
    "tvos": "9.0",
    "watchos": "2.0"
  },
  "source_files": "Sources/CLibPNG/**/*.{h,c}",
  "libraries": "z",
  "module_map": "Sources/CLibPNG/module.modulemap"
}
