--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR third_party/eigen3/LICENSE
|
--------------------------------------------------------------------------------
|
Eigen is primarily MPL2 licensed. See COPYING.MPL2 and these links:
|
http://www.mozilla.org/MPL/2.0/
|
http://www.mozilla.org/MPL/2.0/FAQ.html
|
|
Some files contain third-party code under BSD or LGPL licenses, whence
|
the other COPYING.* files here.
|
|
All the LGPL code is either LGPL 2.1-only, or LGPL 2.1-or-later.
|
For this reason, the COPYING.LGPL file contains the LGPL 2.1 text.
|
|
If you want to guarantee that the Eigen code that you are #including
|
is licensed under the MPL2 and possibly more permissive licenses (like
|
BSD), #define this preprocessor symbol: EIGEN_MPL2_ONLY
|
For example, with most compilers, you could add this to your project
|
CXXFLAGS: -DEIGEN_MPL2_ONLY
|
This will cause a compilation error to be generated if you #include
|
any code that is LGPL licensed.
|
|
----------------------------------------------------------------------
|
Following applies to:
|
./test/mapstaticmethods.cpp
|
./test/schur_real.cpp
|
./test/prec_inverse_4x4.cpp
|
./test/smallvectors.cpp
|
./test/redux.cpp
|
./test/special_numbers.cpp
|
./test/adjoint.cpp
|
./test/resize.cpp
|
./test/mixingtypes.cpp
|
./test/product_trmv.cpp
|
./test/sparse_solvers.cpp
|
./test/cholesky.cpp
|
./test/geo_quaternion.cpp
|
./test/miscmatrices.cpp
|
./test/stddeque.cpp
|
./test/integer_types.cpp
|
./test/product_large.cpp
|
./test/eigensolver_generic.cpp
|
./test/householder.cpp
|
./test/geo_orthomethods.cpp
|
./test/array_for_matrix.cpp
|
./test/sparseLM.cpp
|
./test/upperbidiagonalization.cpp
|
./test/nomalloc.cpp
|
./test/packetmath.cpp
|
./test/jacobisvd.cpp
|
./test/geo_transformations.cpp
|
./test/swap.cpp
|
./test/eigensolver_selfadjoint.cpp
|
./test/inverse.cpp
|
./test/product_selfadjoint.cpp
|
./test/product_trsolve.cpp
|
./test/product_extra.cpp
|
./test/sparse_solver.h
|
./test/mapstride.cpp
|
./test/mapped_matrix.cpp
|
./test/geo_eulerangles.cpp
|
./test/eigen2support.cpp
|
./test/denseLM.cpp
|
./test/stdvector.cpp
|
./test/nesting_ops.cpp
|
./test/sparse_permutations.cpp
|
./test/zerosized.cpp
|
./test/exceptions.cpp
|
./test/vectorwiseop.cpp
|
./test/cwiseop.cpp
|
./test/basicstuff.cpp
|
./test/product_trmm.cpp
|
./test/linearstructure.cpp
|
./test/sparse_product.cpp
|
./test/stdvector_overload.cpp
|
./test/stable_norm.cpp
|
./test/umeyama.cpp
|
./test/unalignedcount.cpp
|
./test/triangular.cpp
|
./test/product_mmtr.cpp
|
./test/sparse_basic.cpp
|
./test/sparse_vector.cpp
|
./test/meta.cpp
|
./test/real_qz.cpp
|
./test/ref.cpp
|
./test/eigensolver_complex.cpp
|
./test/cholmod_support.cpp
|
./test/conjugate_gradient.cpp
|
./test/sparse.h
|
./test/simplicial_cholesky.cpp
|
./test/bicgstab.cpp
|
./test/dynalloc.cpp
|
./test/product_notemporary.cpp
|
./test/geo_hyperplane.cpp
|
./test/lu.cpp
|
./test/qr.cpp
|
./test/hessenberg.cpp
|
./test/sizeof.cpp
|
./test/main.h
|
./test/selfadjoint.cpp
|
./test/permutationmatrices.cpp
|
./test/superlu_support.cpp
|
./test/qtvector.cpp
|
./test/geo_homogeneous.cpp
|
./test/determinant.cpp
|
./test/array_reverse.cpp
|
./test/unalignedassert.cpp
|
./test/stdlist.cpp
|
./test/product_symm.cpp
|
./test/corners.cpp
|
./test/dontalign.cpp
|
./test/visitor.cpp
|
./test/geo_alignedbox.cpp
|
./test/diagonalmatrices.cpp
|
./test/product_small.cpp
|
./test/eigensolver_generalized_real.cpp
|
./test/umfpack_support.cpp
|
./test/first_aligned.cpp
|
./test/qr_fullpivoting.cpp
|
./test/array_replicate.cpp
|
./test/geo_parametrizedline.cpp
|
./test/eigen2/eigen2_unalignedassert.cpp
|
./test/eigen2/eigen2_prec_inverse_4x4.cpp
|
./test/eigen2/eigen2_alignedbox.cpp
|
./test/eigen2/eigen2_sparse_product.cpp
|
./test/eigen2/eigen2_meta.cpp
|
./test/eigen2/eigen2_nomalloc.cpp
|
./test/eigen2/eigen2_visitor.cpp
|
./test/eigen2/eigen2_packetmath.cpp
|
./test/eigen2/eigen2_svd.cpp
|
./test/eigen2/eigen2_mixingtypes.cpp
|
./test/eigen2/eigen2_qr.cpp
|
./test/eigen2/eigen2_cwiseop.cpp
|
./test/eigen2/eigen2_geometry_with_eigen2_prefix.cpp
|
./test/eigen2/eigen2_smallvectors.cpp
|
./test/eigen2/eigen2_commainitializer.cpp
|
./test/eigen2/eigen2_sparse_solvers.cpp
|
./test/eigen2/eigen2_hyperplane.cpp
|
./test/eigen2/eigen2_eigensolver.cpp
|
./test/eigen2/eigen2_linearstructure.cpp
|
./test/eigen2/eigen2_sizeof.cpp
|
./test/eigen2/eigen2_parametrizedline.cpp
|
./test/eigen2/eigen2_lu.cpp
|
./test/eigen2/eigen2_adjoint.cpp
|
./test/eigen2/eigen2_geometry.cpp
|
./test/eigen2/eigen2_stdvector.cpp
|
./test/eigen2/eigen2_newstdvector.cpp
|
./test/eigen2/eigen2_submatrices.cpp
|
./test/eigen2/sparse.h
|
./test/eigen2/eigen2_swap.cpp
|
./test/eigen2/eigen2_triangular.cpp
|
./test/eigen2/eigen2_basicstuff.cpp
|
./test/eigen2/gsl_helper.h
|
./test/eigen2/eigen2_dynalloc.cpp
|
./test/eigen2/eigen2_array.cpp
|
./test/eigen2/eigen2_map.cpp
|
./test/eigen2/main.h
|
./test/eigen2/eigen2_miscmatrices.cpp
|
./test/eigen2/eigen2_product_large.cpp
|
./test/eigen2/eigen2_first_aligned.cpp
|
./test/eigen2/eigen2_cholesky.cpp
|
./test/eigen2/eigen2_determinant.cpp
|
./test/eigen2/eigen2_sum.cpp
|
./test/eigen2/eigen2_inverse.cpp
|
./test/eigen2/eigen2_regression.cpp
|
./test/eigen2/eigen2_product_small.cpp
|
./test/eigen2/eigen2_qtvector.cpp
|
./test/eigen2/eigen2_sparse_vector.cpp
|
./test/eigen2/product.h
|
./test/eigen2/eigen2_sparse_basic.cpp
|
./test/eigen2/eigen2_bug_132.cpp
|
./test/array.cpp
|
./test/product_syrk.cpp
|
./test/commainitializer.cpp
|
./test/conservative_resize.cpp
|
./test/qr_colpivoting.cpp
|
./test/nullary.cpp
|
./test/bandmatrix.cpp
|
./test/pastix_support.cpp
|
./test/product.h
|
./test/block.cpp
|
./test/vectorization_logic.cpp
|
./test/jacobi.cpp
|
./test/diagonal.cpp
|
./test/schur_complex.cpp
|
./test/sizeoverflow.cpp
|
./bench/BenchTimer.h
|
./bench/benchFFT.cpp
|
./bench/eig33.cpp
|
./bench/spbench/spbenchsolver.h
|
./bench/spbench/spbenchstyle.h
|
./lapack/complex_double.cpp
|
./lapack/cholesky.cpp
|
./lapack/lapack_common.h
|
./lapack/eigenvalues.cpp
|
./lapack/single.cpp
|
./lapack/lu.cpp
|
./lapack/complex_single.cpp
|
./lapack/double.cpp
|
./demos/mix_eigen_and_c/binary_library.cpp
|
./demos/mix_eigen_and_c/binary_library.h
|
./demos/mix_eigen_and_c/example.c
|
./demos/mandelbrot/mandelbrot.cpp
|
./demos/mandelbrot/mandelbrot.h
|
./demos/opengl/icosphere.cpp
|
./demos/opengl/icosphere.h
|
./demos/opengl/camera.cpp
|
./demos/opengl/quaternion_demo.h
|
./demos/opengl/camera.h
|
./demos/opengl/trackball.h
|
./demos/opengl/gpuhelper.h
|
./demos/opengl/trackball.cpp
|
./demos/opengl/gpuhelper.cpp
|
./demos/opengl/quaternion_demo.cpp
|
./debug/gdb/printers.py
|
./unsupported/test/minres.cpp
|
./unsupported/test/openglsupport.cpp
|
./unsupported/test/jacobisvd.cpp
|
./unsupported/test/dgmres.cpp
|
./unsupported/test/matrix_square_root.cpp
|
./unsupported/test/bdcsvd.cpp
|
./unsupported/test/matrix_exponential.cpp
|
./unsupported/test/forward_adolc.cpp
|
./unsupported/test/polynomialsolver.cpp
|
./unsupported/test/matrix_function.cpp
|
./unsupported/test/sparse_extra.cpp
|
./unsupported/test/matrix_functions.h
|
./unsupported/test/svd_common.h
|
./unsupported/test/FFTW.cpp
|
./unsupported/test/alignedvector3.cpp
|
./unsupported/test/autodiff.cpp
|
./unsupported/test/gmres.cpp
|
./unsupported/test/BVH.cpp
|
./unsupported/test/levenberg_marquardt.cpp
|
./unsupported/test/matrix_power.cpp
|
./unsupported/test/kronecker_product.cpp
|
./unsupported/test/splines.cpp
|
./unsupported/test/polynomialutils.cpp
|
./unsupported/bench/bench_svd.cpp
|
./unsupported/Eigen/IterativeSolvers
|
./unsupported/Eigen/src/IterativeSolvers/DGMRES.h
|
./unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h
|
./unsupported/Eigen/src/IterativeSolvers/GMRES.h
|
./unsupported/Eigen/src/IterativeSolvers/IncompleteCholesky.h
|
./unsupported/Eigen/src/IterativeSolvers/Scaling.h
|
./unsupported/Eigen/src/IterativeSolvers/MINRES.h
|
./unsupported/Eigen/src/SparseExtra/RandomSetter.h
|
./unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h
|
./unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h
|
./unsupported/Eigen/src/SparseExtra/MarketIO.h
|
./unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h
|
./unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h
|
./unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h
|
./unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h
|
./unsupported/Eigen/src/BVH/BVAlgorithms.h
|
./unsupported/Eigen/src/BVH/KdBVH.h
|
./unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h
|
./unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h
|
./unsupported/Eigen/src/AutoDiff/AutoDiffVector.h
|
./unsupported/Eigen/src/Splines/Spline.h
|
./unsupported/Eigen/src/Splines/SplineFitting.h
|
./unsupported/Eigen/src/Splines/SplineFwd.h
|
./unsupported/Eigen/src/SVD/JacobiSVD.h
|
./unsupported/Eigen/src/SVD/BDCSVD.h
|
./unsupported/Eigen/src/SVD/SVDBase.h
|
./unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
|
./unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h
|
./unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h
|
./unsupported/Eigen/src/MatrixFunctions/StemFunction.h
|
./unsupported/Eigen/src/MatrixFunctions/MatrixPower.h
|
./unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h
|
./unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h
|
./unsupported/Eigen/src/MoreVectorization/MathFunctions.h
|
./unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h
|
./unsupported/Eigen/src/FFT/ei_fftw_impl.h
|
./unsupported/Eigen/src/FFT/ei_kissfft_impl.h
|
./unsupported/Eigen/src/Polynomials/PolynomialSolver.h
|
./unsupported/Eigen/src/Polynomials/Companion.h
|
./unsupported/Eigen/src/Polynomials/PolynomialUtils.h
|
./unsupported/Eigen/src/NumericalDiff/NumericalDiff.h
|
./unsupported/Eigen/src/Skyline/SkylineProduct.h
|
./unsupported/Eigen/src/Skyline/SkylineMatrixBase.h
|
./unsupported/Eigen/src/Skyline/SkylineStorage.h
|
./unsupported/Eigen/src/Skyline/SkylineUtil.h
|
./unsupported/Eigen/src/Skyline/SkylineInplaceLU.h
|
./unsupported/Eigen/src/Skyline/SkylineMatrix.h
|
./unsupported/Eigen/SparseExtra
|
./unsupported/Eigen/AdolcForward
|
./unsupported/Eigen/KroneckerProduct
|
./unsupported/Eigen/NonLinearOptimization
|
./unsupported/Eigen/BVH
|
./unsupported/Eigen/OpenGLSupport
|
./unsupported/Eigen/ArpackSupport
|
./unsupported/Eigen/AutoDiff
|
./unsupported/Eigen/Splines
|
./unsupported/Eigen/MPRealSupport
|
./unsupported/Eigen/MatrixFunctions
|
./unsupported/Eigen/MoreVectorization
|
./unsupported/Eigen/LevenbergMarquardt
|
./unsupported/Eigen/AlignedVector3
|
./unsupported/Eigen/FFT
|
./unsupported/Eigen/Polynomials
|
./unsupported/Eigen/NumericalDiff
|
./unsupported/Eigen/Skyline
|
./COPYING.README
|
./COPYING.README
|
./LICENSE
|
./LICENSE
|
./LICENSE
|
./Eigen/Eigen2Support
|
./Eigen/src/Eigen2Support/VectorBlock.h
|
./Eigen/src/Eigen2Support/Cwise.h
|
./Eigen/src/Eigen2Support/Minor.h
|
./Eigen/src/Eigen2Support/Lazy.h
|
./Eigen/src/Eigen2Support/Memory.h
|
./Eigen/src/Eigen2Support/MathFunctions.h
|
./Eigen/src/Eigen2Support/Geometry/AlignedBox.h
|
./Eigen/src/Eigen2Support/Geometry/Hyperplane.h
|
./Eigen/src/Eigen2Support/Geometry/Quaternion.h
|
./Eigen/src/Eigen2Support/Geometry/Rotation2D.h
|
./Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h
|
./Eigen/src/Eigen2Support/Geometry/RotationBase.h
|
./Eigen/src/Eigen2Support/Geometry/Translation.h
|
./Eigen/src/Eigen2Support/Geometry/Scaling.h
|
./Eigen/src/Eigen2Support/Geometry/AngleAxis.h
|
./Eigen/src/Eigen2Support/Geometry/Transform.h
|
./Eigen/src/Eigen2Support/TriangularSolver.h
|
./Eigen/src/Eigen2Support/LU.h
|
./Eigen/src/Eigen2Support/QR.h
|
./Eigen/src/Eigen2Support/SVD.h
|
./Eigen/src/Eigen2Support/Meta.h
|
./Eigen/src/Eigen2Support/Block.h
|
./Eigen/src/Eigen2Support/Macros.h
|
./Eigen/src/Eigen2Support/LeastSquares.h
|
./Eigen/src/Eigen2Support/CwiseOperators.h
|
./Eigen/src/Jacobi/Jacobi.h
|
./Eigen/src/misc/Kernel.h
|
./Eigen/src/misc/SparseSolve.h
|
./Eigen/src/misc/Solve.h
|
./Eigen/src/misc/Image.h
|
./Eigen/src/SparseCore/SparseColEtree.h
|
./Eigen/src/SparseCore/SparseTranspose.h
|
./Eigen/src/SparseCore/SparseUtil.h
|
./Eigen/src/SparseCore/SparseCwiseBinaryOp.h
|
./Eigen/src/SparseCore/SparseDiagonalProduct.h
|
./Eigen/src/SparseCore/SparseProduct.h
|
./Eigen/src/SparseCore/SparseDot.h
|
./Eigen/src/SparseCore/SparseCwiseUnaryOp.h
|
./Eigen/src/SparseCore/SparseSparseProductWithPruning.h
|
./Eigen/src/SparseCore/SparseBlock.h
|
./Eigen/src/SparseCore/SparseDenseProduct.h
|
./Eigen/src/SparseCore/CompressedStorage.h
|
./Eigen/src/SparseCore/SparseMatrixBase.h
|
./Eigen/src/SparseCore/MappedSparseMatrix.h
|
./Eigen/src/SparseCore/SparseTriangularView.h
|
./Eigen/src/SparseCore/SparseView.h
|
./Eigen/src/SparseCore/SparseFuzzy.h
|
./Eigen/src/SparseCore/TriangularSolver.h
|
./Eigen/src/SparseCore/SparseSelfAdjointView.h
|
./Eigen/src/SparseCore/SparseMatrix.h
|
./Eigen/src/SparseCore/SparseVector.h
|
./Eigen/src/SparseCore/AmbiVector.h
|
./Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
|
./Eigen/src/SparseCore/SparseRedux.h
|
./Eigen/src/SparseCore/SparsePermutation.h
|
./Eigen/src/Eigenvalues/RealSchur.h
|
./Eigen/src/Eigenvalues/ComplexEigenSolver.h
|
./Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
|
./Eigen/src/Eigenvalues/ComplexSchur.h
|
./Eigen/src/Eigenvalues/RealQZ.h
|
./Eigen/src/Eigenvalues/EigenSolver.h
|
./Eigen/src/Eigenvalues/HessenbergDecomposition.h
|
./Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
|
./Eigen/src/Eigenvalues/Tridiagonalization.h
|
./Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
|
./Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
|
./Eigen/src/SuperLUSupport/SuperLUSupport.h
|
./Eigen/src/StlSupport/StdDeque.h
|
./Eigen/src/StlSupport/StdVector.h
|
./Eigen/src/StlSupport/StdList.h
|
./Eigen/src/StlSupport/details.h
|
./Eigen/src/SparseQR/SparseQR.h
|
./Eigen/src/LU/Inverse.h
|
./Eigen/src/LU/arch/Inverse_SSE.h
|
./Eigen/src/LU/Determinant.h
|
./Eigen/src/LU/PartialPivLU.h
|
./Eigen/src/LU/FullPivLU.h
|
./Eigen/src/UmfPackSupport/UmfPackSupport.h
|
./Eigen/src/OrderingMethods/Ordering.h
|
./Eigen/src/OrderingMethods/Eigen_Colamd.h
|
./Eigen/src/QR/HouseholderQR.h
|
./Eigen/src/QR/ColPivHouseholderQR.h
|
./Eigen/src/QR/FullPivHouseholderQR.h
|
./Eigen/src/SVD/JacobiSVD.h
|
./Eigen/src/SVD/UpperBidiagonalization.h
|
./Eigen/src/Geometry/OrthoMethods.h
|
./Eigen/src/Geometry/AlignedBox.h
|
./Eigen/src/Geometry/Hyperplane.h
|
./Eigen/src/Geometry/Quaternion.h
|
./Eigen/src/Geometry/EulerAngles.h
|
./Eigen/src/Geometry/Rotation2D.h
|
./Eigen/src/Geometry/ParametrizedLine.h
|
./Eigen/src/Geometry/RotationBase.h
|
./Eigen/src/Geometry/arch/Geometry_SSE.h
|
./Eigen/src/Geometry/Umeyama.h
|
./Eigen/src/Geometry/Homogeneous.h
|
./Eigen/src/Geometry/Translation.h
|
./Eigen/src/Geometry/Scaling.h
|
./Eigen/src/Geometry/AngleAxis.h
|
./Eigen/src/Geometry/Transform.h
|
./Eigen/src/plugins/BlockMethods.h
|
./Eigen/src/plugins/CommonCwiseUnaryOps.h
|
./Eigen/src/plugins/CommonCwiseBinaryOps.h
|
./Eigen/src/plugins/MatrixCwiseUnaryOps.h
|
./Eigen/src/plugins/MatrixCwiseBinaryOps.h
|
./Eigen/src/Householder/Householder.h
|
./Eigen/src/Householder/HouseholderSequence.h
|
./Eigen/src/Householder/BlockHouseholder.h
|
./Eigen/src/Core/VectorBlock.h
|
./Eigen/src/Core/Matrix.h
|
./Eigen/src/Core/Ref.h
|
./Eigen/src/Core/SelfAdjointView.h
|
./Eigen/src/Core/MathFunctions.h
|
./Eigen/src/Core/GlobalFunctions.h
|
./Eigen/src/Core/MapBase.h
|
./Eigen/src/Core/EigenBase.h
|
./Eigen/src/Core/GenericPacketMath.h
|
./Eigen/src/Core/NestByValue.h
|
./Eigen/src/Core/CwiseUnaryOp.h
|
./Eigen/src/Core/SolveTriangular.h
|
./Eigen/src/Core/Fuzzy.h
|
./Eigen/src/Core/Visitor.h
|
./Eigen/src/Core/Map.h
|
./Eigen/src/Core/NoAlias.h
|
./Eigen/src/Core/Diagonal.h
|
./Eigen/src/Core/StableNorm.h
|
./Eigen/src/Core/CoreIterators.h
|
./Eigen/src/Core/products/Parallelizer.h
|
./Eigen/src/Core/products/SelfadjointMatrixVector.h
|
./Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
|
./Eigen/src/Core/products/TriangularSolverMatrix.h
|
./Eigen/src/Core/products/GeneralMatrixMatrix.h
|
./Eigen/src/Core/products/SelfadjointProduct.h
|
./Eigen/src/Core/products/CoeffBasedProduct.h
|
./Eigen/src/Core/products/TriangularMatrixVector.h
|
./Eigen/src/Core/products/SelfadjointMatrixMatrix.h
|
./Eigen/src/Core/products/TriangularSolverVector.h
|
./Eigen/src/Core/products/SelfadjointRank2Update.h
|
./Eigen/src/Core/products/GeneralBlockPanelKernel.h
|
./Eigen/src/Core/products/GeneralMatrixVector.h
|
./Eigen/src/Core/products/TriangularMatrixMatrix.h
|
./Eigen/src/Core/Reverse.h
|
./Eigen/src/Core/BooleanRedux.h
|
./Eigen/src/Core/Replicate.h
|
./Eigen/src/Core/arch/AltiVec/PacketMath.h
|
./Eigen/src/Core/arch/AltiVec/Complex.h
|
./Eigen/src/Core/arch/SSE/PacketMath.h
|
./Eigen/src/Core/arch/SSE/Complex.h
|
./Eigen/src/Core/arch/SSE/MathFunctions.h
|
./Eigen/src/Core/arch/NEON/PacketMath.h
|
./Eigen/src/Core/arch/NEON/Complex.h
|
./Eigen/src/Core/arch/Default/Settings.h
|
./Eigen/src/Core/CwiseUnaryView.h
|
./Eigen/src/Core/Array.h
|
./Eigen/src/Core/ArrayWrapper.h
|
./Eigen/src/Core/Swap.h
|
./Eigen/src/Core/Transpositions.h
|
./Eigen/src/Core/Random.h
|
./Eigen/src/Core/IO.h
|
./Eigen/src/Core/SelfCwiseBinaryOp.h
|
./Eigen/src/Core/VectorwiseOp.h
|
./Eigen/src/Core/Select.h
|
./Eigen/src/Core/ArrayBase.h
|
./Eigen/src/Core/DenseCoeffsBase.h
|
./Eigen/src/Core/DiagonalProduct.h
|
./Eigen/src/Core/Assign.h
|
./Eigen/src/Core/Redux.h
|
./Eigen/src/Core/ForceAlignedAccess.h
|
./Eigen/src/Core/BandMatrix.h
|
./Eigen/src/Core/PlainObjectBase.h
|
./Eigen/src/Core/DenseBase.h
|
./Eigen/src/Core/Flagged.h
|
./Eigen/src/Core/CwiseBinaryOp.h
|
./Eigen/src/Core/ProductBase.h
|
./Eigen/src/Core/TriangularMatrix.h
|
./Eigen/src/Core/Transpose.h
|
./Eigen/src/Core/DiagonalMatrix.h
|
./Eigen/src/Core/Dot.h
|
./Eigen/src/Core/Functors.h
|
./Eigen/src/Core/PermutationMatrix.h
|
./Eigen/src/Core/NumTraits.h
|
./Eigen/src/Core/MatrixBase.h
|
./Eigen/src/Core/DenseStorage.h
|
./Eigen/src/Core/util/Memory.h
|
./Eigen/src/Core/util/StaticAssert.h
|
./Eigen/src/Core/util/BlasUtil.h
|
./Eigen/src/Core/util/MatrixMapper.h
|
./Eigen/src/Core/util/XprHelper.h
|
./Eigen/src/Core/util/ForwardDeclarations.h
|
./Eigen/src/Core/util/Meta.h
|
./Eigen/src/Core/util/Macros.h
|
./Eigen/src/Core/util/Constants.h
|
./Eigen/src/Core/CwiseNullaryOp.h
|
./Eigen/src/Core/Block.h
|
./Eigen/src/Core/GeneralProduct.h
|
./Eigen/src/Core/CommaInitializer.h
|
./Eigen/src/Core/ReturnByValue.h
|
./Eigen/src/Core/Stride.h
|
./Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
|
./Eigen/src/SparseLU/SparseLU_column_dfs.h
|
./Eigen/src/SparseLU/SparseLU_panel_dfs.h
|
./Eigen/src/SparseLU/SparseLU_relax_snode.h
|
./Eigen/src/SparseLU/SparseLU_panel_bmod.h
|
./Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
|
./Eigen/src/SparseLU/SparseLU_Utils.h
|
./Eigen/src/SparseLU/SparseLU_gemm_kernel.h
|
./Eigen/src/SparseLU/SparseLU_kernel_bmod.h
|
./Eigen/src/SparseLU/SparseLU_pivotL.h
|
./Eigen/src/SparseLU/SparseLU_Memory.h
|
./Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
|
./Eigen/src/SparseLU/SparseLUImpl.h
|
./Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
|
./Eigen/src/SparseLU/SparseLU_Structs.h
|
./Eigen/src/SparseLU/SparseLU.h
|
./Eigen/src/SparseLU/SparseLU_column_bmod.h
|
./Eigen/src/SparseLU/SparseLU_pruneL.h
|
./Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
|
./Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
|
./Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
|
./Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
|
./Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
|
./Eigen/src/SparseCholesky/SimplicialCholesky.h
|
./Eigen/src/Cholesky/LDLT.h
|
./Eigen/src/Cholesky/LLT.h
|
./Eigen/src/CholmodSupport/CholmodSupport.h
|
./Eigen/src/PaStiXSupport/PaStiXSupport.h
|
./Eigen/src/MetisSupport/MetisSupport.h
|
./Eigen/StdVector
|
./Eigen/Core
|
./Eigen/OrderingMethods
|
./Eigen/SparseLU
|
./Eigen/StdList
|
./Eigen/StdDeque
|
./Eigen/SparseCholesky
|
./Eigen/SparseCore
|
./scripts/relicense.py
|
./scripts/relicense.py
|
./blas/BandTriangularSolver.h
|
./blas/PackedTriangularMatrixVector.h
|
./blas/complex_double.cpp
|
./blas/level2_real_impl.h
|
./blas/level1_cplx_impl.h
|
./blas/level1_impl.h
|
./blas/level1_real_impl.h
|
./blas/level3_impl.h
|
./blas/single.cpp
|
./blas/level2_cplx_impl.h
|
./blas/PackedSelfadjointProduct.h
|
./blas/Rank2Update.h
|
./blas/complex_single.cpp
|
./blas/PackedTriangularSolverVector.h
|
./blas/double.cpp
|
./blas/common.h
|
./blas/level2_impl.h
|
./blas/GeneralRank1Update.h
|
|
Mozilla Public License Version 2.0
|
==================================
|
|
1. Definitions
|
--------------
|
|
1.1. "Contributor"
|
means each individual or legal entity that creates, contributes to
|
the creation of, or owns Covered Software.
|
|
1.2. "Contributor Version"
|
means the combination of the Contributions of others (if any) used
|
by a Contributor and that particular Contributor's Contribution.
|
|
1.3. "Contribution"
|
means Covered Software of a particular Contributor.
|
|
1.4. "Covered Software"
|
means Source Code Form to which the initial Contributor has attached
|
the notice in Exhibit A, the Executable Form of such Source Code
|
Form, and Modifications of such Source Code Form, in each case
|
including portions thereof.
|
|
1.5. "Incompatible With Secondary Licenses"
|
means
|
|
(a) that the initial Contributor has attached the notice described
|
in Exhibit B to the Covered Software; or
|
|
(b) that the Covered Software was made available under the terms of
|
version 1.1 or earlier of the License, but not also under the
|
terms of a Secondary License.
|
|
1.6. "Executable Form"
|
means any form of the work other than Source Code Form.
|
|
1.7. "Larger Work"
|
means a work that combines Covered Software with other material, in
|
a separate file or files, that is not Covered Software.
|
|
1.8. "License"
|
means this document.
|
|
1.9. "Licensable"
|
means having the right to grant, to the maximum extent possible,
|
whether at the time of the initial grant or subsequently, any and
|
all of the rights conveyed by this License.
|
|
1.10. "Modifications"
|
means any of the following:
|
|
(a) any file in Source Code Form that results from an addition to,
|
deletion from, or modification of the contents of Covered
|
Software; or
|
|
(b) any new file in Source Code Form that contains any Covered
|
Software.
|
|
1.11. "Patent Claims" of a Contributor
|
means any patent claim(s), including without limitation, method,
|
process, and apparatus claims, in any patent Licensable by such
|
Contributor that would be infringed, but for the grant of the
|
License, by the making, using, selling, offering for sale, having
|
made, import, or transfer of either its Contributions or its
|
Contributor Version.
|
|
1.12. "Secondary License"
|
means either the GNU General Public License, Version 2.0, the GNU
|
Lesser General Public License, Version 2.1, the GNU Affero General
|
Public License, Version 3.0, or any later versions of those
|
licenses.
|
|
1.13. "Source Code Form"
|
means the form of the work preferred for making modifications.
|
|
1.14. "You" (or "Your")
|
means an individual or a legal entity exercising rights under this
|
License. For legal entities, "You" includes any entity that
|
controls, is controlled by, or is under common control with You. For
|
purposes of this definition, "control" means (a) the power, direct
|
or indirect, to cause the direction or management of such entity,
|
whether by contract or otherwise, or (b) ownership of more than
|
fifty percent (50%) of the outstanding shares or beneficial
|
ownership of such entity.
|
|
2. License Grants and Conditions
|
--------------------------------
|
|
2.1. Grants
|
|
Each Contributor hereby grants You a world-wide, royalty-free,
|
non-exclusive license:
|
|
(a) under intellectual property rights (other than patent or trademark)
|
Licensable by such Contributor to use, reproduce, make available,
|
modify, display, perform, distribute, and otherwise exploit its
|
Contributions, either on an unmodified basis, with Modifications, or
|
as part of a Larger Work; and
|
|
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
for sale, have made, import, and otherwise transfer either its
|
Contributions or its Contributor Version.
|
|
2.2. Effective Date
|
|
The licenses granted in Section 2.1 with respect to any Contribution
|
become effective for each Contribution on the date the Contributor first
|
distributes such Contribution.
|
|
2.3. Limitations on Grant Scope
|
|
The licenses granted in this Section 2 are the only rights granted under
|
this License. No additional rights or licenses will be implied from the
|
distribution or licensing of Covered Software under this License.
|
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
Contributor:
|
|
(a) for any code that a Contributor has removed from Covered Software;
|
or
|
|
(b) for infringements caused by: (i) Your and any other third party's
|
modifications of Covered Software, or (ii) the combination of its
|
Contributions with other software (except as part of its Contributor
|
Version); or
|
|
(c) under Patent Claims infringed by Covered Software in the absence of
|
its Contributions.
|
|
This License does not grant any rights in the trademarks, service marks,
|
or logos of any Contributor (except as may be necessary to comply with
|
the notice requirements in Section 3.4).
|
|
2.4. Subsequent Licenses
|
|
No Contributor makes additional grants as a result of Your choice to
|
distribute the Covered Software under a subsequent version of this
|
License (see Section 10.2) or under the terms of a Secondary License (if
|
permitted under the terms of Section 3.3).
|
|
2.5. Representation
|
|
Each Contributor represents that the Contributor believes its
|
Contributions are its original creation(s) or it has sufficient rights
|
to grant the rights to its Contributions conveyed by this License.
|
|
2.6. Fair Use
|
|
This License is not intended to limit any rights You have under
|
applicable copyright doctrines of fair use, fair dealing, or other
|
equivalents.
|
|
2.7. Conditions
|
|
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
in Section 2.1.
|
|
3. Responsibilities
|
-------------------
|
|
3.1. Distribution of Source Form
|
|
All distribution of Covered Software in Source Code Form, including any
|
Modifications that You create or to which You contribute, must be under
|
the terms of this License. You must inform recipients that the Source
|
Code Form of the Covered Software is governed by the terms of this
|
License, and how they can obtain a copy of this License. You may not
|
attempt to alter or restrict the recipients' rights in the Source Code
|
Form.
|
|
3.2. Distribution of Executable Form
|
|
If You distribute Covered Software in Executable Form then:
|
|
(a) such Covered Software must also be made available in Source Code
|
Form, as described in Section 3.1, and You must inform recipients of
|
the Executable Form how they can obtain a copy of such Source Code
|
Form by reasonable means in a timely manner, at a charge no more
|
than the cost of distribution to the recipient; and
|
|
(b) You may distribute such Executable Form under the terms of this
|
License, or sublicense it under different terms, provided that the
|
license for the Executable Form does not attempt to limit or alter
|
the recipients' rights in the Source Code Form under this License.
|
|
3.3. Distribution of a Larger Work
|
|
You may create and distribute a Larger Work under terms of Your choice,
|
provided that You also comply with the requirements of this License for
|
the Covered Software. If the Larger Work is a combination of Covered
|
Software with a work governed by one or more Secondary Licenses, and the
|
Covered Software is not Incompatible With Secondary Licenses, this
|
License permits You to additionally distribute such Covered Software
|
under the terms of such Secondary License(s), so that the recipient of
|
the Larger Work may, at their option, further distribute the Covered
|
Software under the terms of either this License or such Secondary
|
License(s).
|
|
3.4. Notices
|
|
You may not remove or alter the substance of any license notices
|
(including copyright notices, patent notices, disclaimers of warranty,
|
or limitations of liability) contained within the Source Code Form of
|
the Covered Software, except that You may alter any license notices to
|
the extent required to remedy known factual inaccuracies.
|
|
3.5. Application of Additional Terms
|
|
You may choose to offer, and to charge a fee for, warranty, support,
|
indemnity or liability obligations to one or more recipients of Covered
|
Software. However, You may do so only on Your own behalf, and not on
|
behalf of any Contributor. You must make it absolutely clear that any
|
such warranty, support, indemnity, or liability obligation is offered by
|
You alone, and You hereby agree to indemnify every Contributor for any
|
liability incurred by such Contributor as a result of warranty, support,
|
indemnity or liability terms You offer. You may include additional
|
disclaimers of warranty and limitations of liability specific to any
|
jurisdiction.
|
|
4. Inability to Comply Due to Statute or Regulation
|
---------------------------------------------------
|
|
If it is impossible for You to comply with any of the terms of this
|
License with respect to some or all of the Covered Software due to
|
statute, judicial order, or regulation then You must: (a) comply with
|
the terms of this License to the maximum extent possible; and (b)
|
describe the limitations and the code they affect. Such description must
|
be placed in a text file included with all distributions of the Covered
|
Software under this License. Except to the extent prohibited by statute
|
or regulation, such description must be sufficiently detailed for a
|
recipient of ordinary skill to be able to understand it.
|
|
5. Termination
|
--------------
|
|
5.1. The rights granted under this License will terminate automatically
|
if You fail to comply with any of its terms. However, if You become
|
compliant, then the rights granted under this License from a particular
|
Contributor are reinstated (a) provisionally, unless and until such
|
Contributor explicitly and finally terminates Your grants, and (b) on an
|
ongoing basis, if such Contributor fails to notify You of the
|
non-compliance by some reasonable means prior to 60 days after You have
|
come back into compliance. Moreover, Your grants from a particular
|
Contributor are reinstated on an ongoing basis if such Contributor
|
notifies You of the non-compliance by some reasonable means, this is the
|
first time You have received notice of non-compliance with this License
|
from such Contributor, and You become compliant prior to 30 days after
|
Your receipt of the notice.
|
|
5.2. If You initiate litigation against any entity by asserting a patent
|
infringement claim (excluding declaratory judgment actions,
|
counter-claims, and cross-claims) alleging that a Contributor Version
|
directly or indirectly infringes any patent, then the rights granted to
|
You by any and all Contributors for the Covered Software under Section
|
2.1 of this License shall terminate.
|
|
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
end user license agreements (excluding distributors and resellers) which
|
have been validly granted by You or Your distributors under this License
|
prior to termination shall survive termination.
|
|
************************************************************************
|
* *
|
* 6. Disclaimer of Warranty *
|
* ------------------------- *
|
* *
|
* Covered Software is provided under this License on an "as is" *
|
* basis, without warranty of any kind, either expressed, implied, or *
|
* statutory, including, without limitation, warranties that the *
|
* Covered Software is free of defects, merchantable, fit for a *
|
* particular purpose or non-infringing. The entire risk as to the *
|
* quality and performance of the Covered Software is with You. *
|
* Should any Covered Software prove defective in any respect, You *
|
* (not any Contributor) assume the cost of any necessary servicing, *
|
* repair, or correction. This disclaimer of warranty constitutes an *
|
* essential part of this License. No use of any Covered Software is *
|
* authorized under this License except under this disclaimer. *
|
* *
|
************************************************************************
|
|
************************************************************************
|
* *
|
* 7. Limitation of Liability *
|
* -------------------------- *
|
* *
|
* Under no circumstances and under no legal theory, whether tort *
|
* (including negligence), contract, or otherwise, shall any *
|
* Contributor, or anyone who distributes Covered Software as *
|
* permitted above, be liable to You for any direct, indirect, *
|
* special, incidental, or consequential damages of any character *
|
* including, without limitation, damages for lost profits, loss of *
|
* goodwill, work stoppage, computer failure or malfunction, or any *
|
* and all other commercial damages or losses, even if such party *
|
* shall have been informed of the possibility of such damages. This *
|
* limitation of liability shall not apply to liability for death or *
|
* personal injury resulting from such party's negligence to the *
|
* extent applicable law prohibits such limitation. Some *
|
* jurisdictions do not allow the exclusion or limitation of *
|
* incidental or consequential damages, so this exclusion and *
|
* limitation may not apply to You. *
|
* *
|
************************************************************************
|
|
8. Litigation
|
-------------
|
|
Any litigation relating to this License may be brought only in the
|
courts of a jurisdiction where the defendant maintains its principal
|
place of business and such litigation shall be governed by laws of that
|
jurisdiction, without reference to its conflict-of-law provisions.
|
Nothing in this Section shall prevent a party's ability to bring
|
cross-claims or counter-claims.
|
|
9. Miscellaneous
|
----------------
|
|
This License represents the complete agreement concerning the subject
|
matter hereof. If any provision of this License is held to be
|
unenforceable, such provision shall be reformed only to the extent
|
necessary to make it enforceable. Any law or regulation which provides
|
that the language of a contract shall be construed against the drafter
|
shall not be used to construe this License against a Contributor.
|
|
10. Versions of the License
|
---------------------------
|
|
10.1. New Versions
|
|
Mozilla Foundation is the license steward. Except as provided in Section
|
10.3, no one other than the license steward has the right to modify or
|
publish new versions of this License. Each version will be given a
|
distinguishing version number.
|
|
10.2. Effect of New Versions
|
|
You may distribute the Covered Software under the terms of the version
|
of the License under which You originally received the Covered Software,
|
or under the terms of any subsequent version published by the license
|
steward.
|
|
10.3. Modified Versions
|
|
If you create software not governed by this License, and you want to
|
create a new license for such software, you may create and use a
|
modified version of this License if you rename the license and remove
|
any references to the name of the license steward (except to note that
|
such modified license differs from this License).
|
|
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
Licenses
|
|
If You choose to distribute Source Code Form that is Incompatible With
|
Secondary Licenses under the terms of this version of the License, the
|
notice described in Exhibit B of this License must be attached.
|
|
Exhibit A - Source Code Form License Notice
|
-------------------------------------------
|
|
This Source Code Form is subject to the terms of the Mozilla Public
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
If it is not possible or desirable to put the notice in a particular
|
file, then You may include the notice in a location (such as a LICENSE
|
file in a relevant directory) where a recipient would be likely to look
|
for such a notice.
|
|
You may add additional accurate notices of copyright ownership.
|
|
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
---------------------------------------------------------
|
|
This Source Code Form is "Incompatible With Secondary Licenses", as
|
defined by the Mozilla Public License, v. 2.0.
|
|
----------------------------------------------------------------------
|
Following applies to:
|
./doc/UsingIntelMKL.dox
|
./doc/UsingIntelMKL.dox
|
./Eigen/src/Eigenvalues/ComplexSchur_MKL.h
|
./Eigen/src/Eigenvalues/ComplexSchur_MKL.h
|
./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
|
./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
|
./Eigen/src/Eigenvalues/RealSchur_MKL.h
|
./Eigen/src/Eigenvalues/RealSchur_MKL.h
|
./Eigen/src/LU/arch/Inverse_SSE.h
|
./Eigen/src/LU/arch/Inverse_SSE.h
|
./Eigen/src/LU/PartialPivLU_MKL.h
|
./Eigen/src/LU/PartialPivLU_MKL.h
|
./Eigen/src/QR/HouseholderQR_MKL.h
|
./Eigen/src/QR/HouseholderQR_MKL.h
|
./Eigen/src/QR/ColPivHouseholderQR_MKL.h
|
./Eigen/src/QR/ColPivHouseholderQR_MKL.h
|
./Eigen/src/SVD/JacobiSVD_MKL.h
|
./Eigen/src/SVD/JacobiSVD_MKL.h
|
./Eigen/src/PardisoSupport/PardisoSupport.h
|
./Eigen/src/PardisoSupport/PardisoSupport.h
|
./Eigen/src/Core/Assign_MKL.h
|
./Eigen/src/Core/Assign_MKL.h
|
./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
|
./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
|
./Eigen/src/Core/products/GeneralMatrixVector_MKL.h
|
./Eigen/src/Core/products/GeneralMatrixVector_MKL.h
|
./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
|
./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
|
./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
|
./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
|
./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
|
./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
|
./Eigen/src/Core/products/TriangularMatrixVector_MKL.h
|
./Eigen/src/Core/products/TriangularMatrixVector_MKL.h
|
./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
|
./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
|
./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
|
./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
|
./Eigen/src/Core/util/MKL_support.h
|
./Eigen/src/Core/util/MKL_support.h
|
./Eigen/src/Cholesky/LLT_MKL.h
|
./Eigen/src/Cholesky/LLT_MKL.h
|
|
/*
|
Copyright (c) 2011, Intel Corporation. All rights reserved.
|
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions
|
are met:
|
|
* Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer. *
|
Redistributions in binary form must reproduce the above copyright
|
notice, this list of conditions and the following disclaimer in the
|
documentation and/or other materials provided with the
|
distribution. * Neither the name of Intel Corporation nor the
|
names of its contributors may be used to endorse or promote
|
products derived from this software without specific prior written
|
permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
*/
|
|
|
----------------------------------------------------------------------
|
Following applies to:
|
./unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h
|
./unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h
|
./unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h
|
./unsupported/Eigen/src/LevenbergMarquardt/LMpar.h
|
./unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h
|
|
Minpack Copyright Notice (1999) University of Chicago. All rights
|
reserved
|
|
Redistribution and use in source and binary forms, with or
|
without modification, are permitted provided that the
|
following conditions are met:
|
|
1. Redistributions of source code must retain the above
|
copyright notice, this list of conditions and the following
|
disclaimer.
|
|
2. Redistributions in binary form must reproduce the above
|
copyright notice, this list of conditions and the following
|
disclaimer in the documentation and/or other materials
|
provided with the distribution.
|
|
3. The end-user documentation included with the
|
redistribution, if any, must include the following
|
acknowledgment:
|
|
"This product includes software developed by the
|
University of Chicago, as Operator of Argonne National
|
Laboratory.
|
|
Alternately, this acknowledgment may appear in the software
|
itself, if and wherever such third-party acknowledgments
|
normally appear.
|
|
4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
|
WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
|
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
|
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
|
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
|
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
|
OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
|
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
|
USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
|
THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
|
DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
|
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
|
BE CORRECTED.
|
|
5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
|
HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
|
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
|
INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
|
ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
|
PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
|
SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
|
(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
|
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
|
POSSIBILITY OF SUCH LOSS OR DAMAGES.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR third_party/eigen3/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR third_party/fft2d/LICENSE
|
--------------------------------------------------------------------------------
|
Copyright(C) 1997,2001 Takuya OOURA (email: ooura@kurims.kyoto-u.ac.jp).
|
You may use, copy, modify this code for any purpose and
|
without fee. You may distribute this ORIGINAL package.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR third_party/fft2d/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR third_party/icu/data/LICENSE
|
--------------------------------------------------------------------------------
|
COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)
|
|
Copyright © 1991-2018 Unicode, Inc. All rights reserved.
|
Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
|
|
Permission is hereby granted, free of charge, to any person obtaining
|
a copy of the Unicode data files and any associated documentation
|
(the "Data Files") or Unicode software and any associated documentation
|
(the "Software") to deal in the Data Files or Software
|
without restriction, including without limitation the rights to use,
|
copy, modify, merge, publish, distribute, and/or sell copies of
|
the Data Files or Software, and to permit persons to whom the Data Files
|
or Software are furnished to do so, provided that either
|
(a) this copyright and permission notice appear with all copies
|
of the Data Files or Software, or
|
(b) this copyright and permission notice appear in associated
|
Documentation.
|
|
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
|
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
|
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
|
Except as contained in this notice, the name of a copyright holder
|
shall not be used in advertising or otherwise to promote the sale,
|
use or other dealings in these Data Files or Software without prior
|
written authorization of the copyright holder.
|
|
---------------------
|
|
Third-Party Software Licenses
|
|
This section contains third-party software notices and/or additional
|
terms for licensed third-party software components included within ICU
|
libraries.
|
|
1. ICU License - ICU 1.8.1 to ICU 57.1
|
|
COPYRIGHT AND PERMISSION NOTICE
|
|
Copyright (c) 1995-2016 International Business Machines Corporation and others
|
All rights reserved.
|
|
Permission is hereby granted, free of charge, to any person obtaining
|
a copy of this software and associated documentation files (the
|
"Software"), to deal in the Software without restriction, including
|
without limitation the rights to use, copy, modify, merge, publish,
|
distribute, and/or sell copies of the Software, and to permit persons
|
to whom the Software is furnished to do so, provided that the above
|
copyright notice(s) and this permission notice appear in all copies of
|
the Software and that both the above copyright notice(s) and this
|
permission notice appear in supporting documentation.
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
|
SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
|
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
|
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
Except as contained in this notice, the name of a copyright holder
|
shall not be used in advertising or otherwise to promote the sale, use
|
or other dealings in this Software without prior written authorization
|
of the copyright holder.
|
|
All trademarks and registered trademarks mentioned herein are the
|
property of their respective owners.
|
|
2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
|
|
# The Google Chrome software developed by Google is licensed under
|
# the BSD license. Other software included in this distribution is
|
# provided under other licenses, as set forth below.
|
#
|
# The BSD License
|
# http://opensource.org/licenses/bsd-license.php
|
# Copyright (C) 2006-2008, Google Inc.
|
#
|
# All rights reserved.
|
#
|
# Redistribution and use in source and binary forms, with or without
|
# modification, are permitted provided that the following conditions are met:
|
#
|
# Redistributions of source code must retain the above copyright notice,
|
# this list of conditions and the following disclaimer.
|
# Redistributions in binary form must reproduce the above
|
# copyright notice, this list of conditions and the following
|
# disclaimer in the documentation and/or other materials provided with
|
# the distribution.
|
# Neither the name of Google Inc. nor the names of its
|
# contributors may be used to endorse or promote products derived from
|
# this software without specific prior written permission.
|
#
|
#
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
#
|
#
|
# The word list in cjdict.txt are generated by combining three word lists
|
# listed below with further processing for compound word breaking. The
|
# frequency is generated with an iterative training against Google web
|
# corpora.
|
#
|
# * Libtabe (Chinese)
|
# - https://sourceforge.net/project/?group_id=1519
|
# - Its license terms and conditions are shown below.
|
#
|
# * IPADIC (Japanese)
|
# - http://chasen.aist-nara.ac.jp/chasen/distribution.html
|
# - Its license terms and conditions are shown below.
|
#
|
# ---------COPYING.libtabe ---- BEGIN--------------------
|
#
|
# /*
|
# * Copyright (c) 1999 TaBE Project.
|
# * Copyright (c) 1999 Pai-Hsiang Hsiao.
|
# * All rights reserved.
|
# *
|
# * Redistribution and use in source and binary forms, with or without
|
# * modification, are permitted provided that the following conditions
|
# * are met:
|
# *
|
# * . Redistributions of source code must retain the above copyright
|
# * notice, this list of conditions and the following disclaimer.
|
# * . Redistributions in binary form must reproduce the above copyright
|
# * notice, this list of conditions and the following disclaimer in
|
# * the documentation and/or other materials provided with the
|
# * distribution.
|
# * . Neither the name of the TaBE Project nor the names of its
|
# * contributors may be used to endorse or promote products derived
|
# * from this software without specific prior written permission.
|
# *
|
# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
# * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
# * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
# * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
# * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
# * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
# * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
# * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
# * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
# * OF THE POSSIBILITY OF SUCH DAMAGE.
|
# */
|
#
|
# /*
|
# * Copyright (c) 1999 Computer Systems and Communication Lab,
|
# * Institute of Information Science, Academia
|
# * Sinica. All rights reserved.
|
# *
|
# * Redistribution and use in source and binary forms, with or without
|
# * modification, are permitted provided that the following conditions
|
# * are met:
|
# *
|
# * . Redistributions of source code must retain the above copyright
|
# * notice, this list of conditions and the following disclaimer.
|
# * . Redistributions in binary form must reproduce the above copyright
|
# * notice, this list of conditions and the following disclaimer in
|
# * the documentation and/or other materials provided with the
|
# * distribution.
|
# * . Neither the name of the Computer Systems and Communication Lab
|
# * nor the names of its contributors may be used to endorse or
|
# * promote products derived from this software without specific
|
# * prior written permission.
|
# *
|
# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
# * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
# * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
# * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
# * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
# * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
# * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
# * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
# * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
# * OF THE POSSIBILITY OF SUCH DAMAGE.
|
# */
|
#
|
# Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
|
# University of Illinois
|
# c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4
|
#
|
# ---------------COPYING.libtabe-----END--------------------------------
|
#
|
#
|
# ---------------COPYING.ipadic-----BEGIN-------------------------------
|
#
|
# Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
|
# and Technology. All Rights Reserved.
|
#
|
# Use, reproduction, and distribution of this software is permitted.
|
# Any copy of this software, whether in its original form or modified,
|
# must include both the above copyright notice and the following
|
# paragraphs.
|
#
|
# Nara Institute of Science and Technology (NAIST),
|
# the copyright holders, disclaims all warranties with regard to this
|
# software, including all implied warranties of merchantability and
|
# fitness, in no event shall NAIST be liable for
|
# any special, indirect or consequential damages or any damages
|
# whatsoever resulting from loss of use, data or profits, whether in an
|
# action of contract, negligence or other tortuous action, arising out
|
# of or in connection with the use or performance of this software.
|
#
|
# A large portion of the dictionary entries
|
# originate from ICOT Free Software. The following conditions for ICOT
|
# Free Software applies to the current dictionary as well.
|
#
|
# Each User may also freely distribute the Program, whether in its
|
# original form or modified, to any third party or parties, PROVIDED
|
# that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
|
# on, or be attached to, the Program, which is distributed substantially
|
# in the same form as set out herein and that such intended
|
# distribution, if actually made, will neither violate or otherwise
|
# contravene any of the laws and regulations of the countries having
|
# jurisdiction over the User or the intended distribution itself.
|
#
|
# NO WARRANTY
|
#
|
# The program was produced on an experimental basis in the course of the
|
# research and development conducted during the project and is provided
|
# to users as so produced on an experimental basis. Accordingly, the
|
# program is provided without any warranty whatsoever, whether express,
|
# implied, statutory or otherwise. The term "warranty" used herein
|
# includes, but is not limited to, any warranty of the quality,
|
# performance, merchantability and fitness for a particular purpose of
|
# the program and the nonexistence of any infringement or violation of
|
# any right of any third party.
|
#
|
# Each user of the program will agree and understand, and be deemed to
|
# have agreed and understood, that there is no warranty whatsoever for
|
# the program and, accordingly, the entire risk arising from or
|
# otherwise connected with the program is assumed by the user.
|
#
|
# Therefore, neither ICOT, the copyright holder, or any other
|
# organization that participated in or was otherwise related to the
|
# development of the program and their respective officials, directors,
|
# officers and other employees shall be held liable for any and all
|
# damages, including, without limitation, general, special, incidental
|
# and consequential damages, arising out of or otherwise in connection
|
# with the use or inability to use the program or any product, material
|
# or result produced or otherwise obtained by using the program,
|
# regardless of whether they have been advised of, or otherwise had
|
# knowledge of, the possibility of such damages at any time during the
|
# project or thereafter. Each user will be deemed to have agreed to the
|
# foregoing by his or her commencement of use of the program. The term
|
# "use" as used herein includes, but is not limited to, the use,
|
# modification, copying and distribution of the program and the
|
# production of secondary products from the program.
|
#
|
# In the case where the program, whether in its original form or
|
# modified, was distributed or delivered to or received by a user from
|
# any person, organization or entity other than ICOT, unless it makes or
|
# grants independently of ICOT any specific warranty to the user in
|
# writing, such person, organization or entity, will also be exempted
|
# from and not be held liable to the user for any such damages as noted
|
# above as far as the program is concerned.
|
#
|
# ---------------COPYING.ipadic-----END----------------------------------
|
|
3. Lao Word Break Dictionary Data (laodict.txt)
|
|
# Copyright (c) 2013 International Business Machines Corporation
|
# and others. All Rights Reserved.
|
#
|
# Project: http://code.google.com/p/lao-dictionary/
|
# Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt
|
# License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt
|
# (copied below)
|
#
|
# This file is derived from the above dictionary, with slight
|
# modifications.
|
# ----------------------------------------------------------------------
|
# Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
|
# All rights reserved.
|
#
|
# Redistribution and use in source and binary forms, with or without
|
# modification,
|
# are permitted provided that the following conditions are met:
|
#
|
#
|
# Redistributions of source code must retain the above copyright notice, this
|
# list of conditions and the following disclaimer. Redistributions in
|
# binary form must reproduce the above copyright notice, this list of
|
# conditions and the following disclaimer in the documentation and/or
|
# other materials provided with the distribution.
|
#
|
#
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
# --------------------------------------------------------------------------
|
|
4. Burmese Word Break Dictionary Data (burmesedict.txt)
|
|
# Copyright (c) 2014 International Business Machines Corporation
|
# and others. All Rights Reserved.
|
#
|
# This list is part of a project hosted at:
|
# github.com/kanyawtech/myanmar-karen-word-lists
|
#
|
# --------------------------------------------------------------------------
|
# Copyright (c) 2013, LeRoy Benjamin Sharon
|
# All rights reserved.
|
#
|
# Redistribution and use in source and binary forms, with or without
|
# modification, are permitted provided that the following conditions
|
# are met: Redistributions of source code must retain the above
|
# copyright notice, this list of conditions and the following
|
# disclaimer. Redistributions in binary form must reproduce the
|
# above copyright notice, this list of conditions and the following
|
# disclaimer in the documentation and/or other materials provided
|
# with the distribution.
|
#
|
# Neither the name Myanmar Karen Word Lists, nor the names of its
|
# contributors may be used to endorse or promote products derived
|
# from this software without specific prior written permission.
|
#
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
|
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
# SUCH DAMAGE.
|
# --------------------------------------------------------------------------
|
|
5. Time Zone Database
|
|
ICU uses the public domain data and code derived from Time Zone
|
Database for its time zone support. The ownership of the TZ database
|
is explained in BCP 175: Procedure for Maintaining the Time Zone
|
Database section 7.
|
|
# 7. Database Ownership
|
#
|
# The TZ database itself is not an IETF Contribution or an IETF
|
# document. Rather it is a pre-existing and regularly updated work
|
# that is in the public domain, and is intended to remain in the
|
# public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
|
# not apply to the TZ Database or contributions that individuals make
|
# to it. Should any claims be made and substantiated against the TZ
|
# Database, the organization that is providing the IANA
|
# Considerations defined in this RFC, under the memorandum of
|
# understanding with the IETF, currently ICANN, may act in accordance
|
# with all competent court orders. No ownership claims will be made
|
# by ICANN or the IETF Trust on the database or the code. Any person
|
# making a contribution to the database or code waives all rights to
|
# future claims in that contribution or in the TZ Database.
|
|
6. Google double-conversion
|
|
Copyright 2006-2011, the V8 project authors. All rights reserved.
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions are
|
met:
|
|
* Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above
|
copyright notice, this list of conditions and the following
|
disclaimer in the documentation and/or other materials provided
|
with the distribution.
|
* Neither the name of Google Inc. nor the names of its
|
contributors may be used to endorse or promote products derived
|
from this software without specific prior written permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR third_party/icu/data/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/boringssl/LICENSE
|
--------------------------------------------------------------------------------
|
BoringSSL is a fork of OpenSSL. As such, large parts of it fall under OpenSSL
|
licensing. Files that are completely new have a Google copyright and an ISC
|
license. This license is reproduced at the bottom of this file.
|
|
Contributors to BoringSSL are required to follow the CLA rules for Chromium:
|
https://cla.developers.google.com/clas
|
|
Files in third_party/ have their own licenses, as described therein. The MIT
|
license, for third_party/fiat, which, unlike other third_party directories, is
|
compiled into non-test libraries, is included below.
|
|
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the
|
OpenSSL License and the original SSLeay license apply to the toolkit. See below
|
for the actual license texts. Actually both licenses are BSD-style Open Source
|
licenses. In case of any license issues related to OpenSSL please contact
|
openssl-core@openssl.org.
|
|
The following are Google-internal bug numbers where explicit permission from
|
some authors is recorded for use of their work. (This is purely for our own
|
record keeping.)
|
27287199
|
27287880
|
27287883
|
|
OpenSSL License
|
---------------
|
|
/* ====================================================================
|
* Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions
|
* are met:
|
*
|
* 1. Redistributions of source code must retain the above copyright
|
* notice, this list of conditions and the following disclaimer.
|
*
|
* 2. Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in
|
* the documentation and/or other materials provided with the
|
* distribution.
|
*
|
* 3. All advertising materials mentioning features or use of this
|
* software must display the following acknowledgment:
|
* "This product includes software developed by the OpenSSL Project
|
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
*
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
* endorse or promote products derived from this software without
|
* prior written permission. For written permission, please contact
|
* openssl-core@openssl.org.
|
*
|
* 5. Products derived from this software may not be called "OpenSSL"
|
* nor may "OpenSSL" appear in their names without prior written
|
* permission of the OpenSSL Project.
|
*
|
* 6. Redistributions of any form whatsoever must retain the following
|
* acknowledgment:
|
* "This product includes software developed by the OpenSSL Project
|
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
*
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
* ====================================================================
|
*
|
* This product includes cryptographic software written by Eric Young
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
* Hudson (tjh@cryptsoft.com).
|
*
|
*/
|
|
Original SSLeay License
|
-----------------------
|
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
* All rights reserved.
|
*
|
* This package is an SSL implementation written
|
* by Eric Young (eay@cryptsoft.com).
|
* The implementation was written so as to conform with Netscapes SSL.
|
*
|
* This library is free for commercial and non-commercial use as long as
|
* the following conditions are aheared to. The following conditions
|
* apply to all code found in this distribution, be it the RC4, RSA,
|
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
* included with this distribution is covered by the same copyright terms
|
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
*
|
* Copyright remains Eric Young's, and as such any Copyright notices in
|
* the code are not to be removed.
|
* If this package is used in a product, Eric Young should be given attribution
|
* as the author of the parts of the library used.
|
* This can be in the form of a textual message at program startup or
|
* in documentation (online or textual) provided with the package.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions
|
* are met:
|
* 1. Redistributions of source code must retain the copyright
|
* notice, this list of conditions and the following disclaimer.
|
* 2. Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in the
|
* documentation and/or other materials provided with the distribution.
|
* 3. All advertising materials mentioning features or use of this software
|
* must display the following acknowledgement:
|
* "This product includes cryptographic software written by
|
* Eric Young (eay@cryptsoft.com)"
|
* The word 'cryptographic' can be left out if the rouines from the library
|
* being used are not cryptographic related :-).
|
* 4. If you include any Windows specific code (or a derivative thereof) from
|
* the apps directory (application code) you must include an acknowledgement:
|
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
*
|
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* SUCH DAMAGE.
|
*
|
* The licence and distribution terms for any publically available version or
|
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
* copied and put under another distribution licence
|
* [including the GNU Public Licence.]
|
*/
|
|
|
ISC license used for completely new code in BoringSSL:
|
|
/* Copyright (c) 2015, Google Inc.
|
*
|
* Permission to use, copy, modify, and/or distribute this software for any
|
* purpose with or without fee is hereby granted, provided that the above
|
* copyright notice and this permission notice appear in all copies.
|
*
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
|
|
|
The code in third_party/fiat carries the MIT license:
|
|
Copyright (c) 2015-2016 the fiat-crypto authors (see
|
https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS).
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
of this software and associated documentation files (the "Software"), to deal
|
in the Software without restriction, including without limitation the rights
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
copies of the Software, and to permit persons to whom the Software is
|
furnished to do so, subject to the following conditions:
|
|
The above copyright notice and this permission notice shall be included in all
|
copies or substantial portions of the Software.
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
SOFTWARE.
|
|
|
Licenses for support code
|
-------------------------
|
|
Parts of the TLS test suite are under the Go license. This code is not included
|
in BoringSSL (i.e. libcrypto and libssl) when compiled, however, so
|
distributing code linked against BoringSSL does not trigger this license:
|
|
Copyright (c) 2009 The Go Authors. All rights reserved.
|
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions are
|
met:
|
|
* Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above
|
copyright notice, this list of conditions and the following disclaimer
|
in the documentation and/or other materials provided with the
|
distribution.
|
* Neither the name of Google Inc. nor the names of its
|
contributors may be used to endorse or promote products derived from
|
this software without specific prior written permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
BoringSSL uses the Chromium test infrastructure to run a continuous build,
|
trybots etc. The scripts which manage this, and the script for generating build
|
metadata, are under the Chromium license. Distributing code linked against
|
BoringSSL does not trigger this license.
|
|
Copyright 2015 The Chromium Authors. All rights reserved.
|
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions are
|
met:
|
|
* Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above
|
copyright notice, this list of conditions and the following disclaimer
|
in the documentation and/or other materials provided with the
|
distribution.
|
* Neither the name of Google Inc. nor the names of its
|
contributors may be used to endorse or promote products derived from
|
this software without specific prior written permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/boringssl/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/com_google_protobuf/LICENSE
|
--------------------------------------------------------------------------------
|
Copyright 2008 Google Inc. All rights reserved.
|
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions are
|
met:
|
|
* Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above
|
copyright notice, this list of conditions and the following disclaimer
|
in the documentation and/or other materials provided with the
|
distribution.
|
* Neither the name of Google Inc. nor the names of its
|
contributors may be used to endorse or promote products derived from
|
this software without specific prior written permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
Code generated by the Protocol Buffer compiler is owned by the owner
|
of the input file used when generating it. This code is not
|
standalone and requires a support library to be linked with it. This
|
support library is itself covered by the above license.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/com_google_protobuf/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/com_googlesource_code_re2/LICENSE
|
--------------------------------------------------------------------------------
|
// Copyright (c) 2009 The RE2 Authors. All rights reserved.
|
//
|
// Redistribution and use in source and binary forms, with or without
|
// modification, are permitted provided that the following conditions are
|
// met:
|
//
|
// * Redistributions of source code must retain the above copyright
|
// notice, this list of conditions and the following disclaimer.
|
// * Redistributions in binary form must reproduce the above
|
// copyright notice, this list of conditions and the following disclaimer
|
// in the documentation and/or other materials provided with the
|
// distribution.
|
// * Neither the name of Google Inc. nor the names of its
|
// contributors may be used to endorse or promote products derived from
|
// this software without specific prior written permission.
|
//
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/com_googlesource_code_re2/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/curl/COPYING
|
--------------------------------------------------------------------------------
|
COPYRIGHT AND PERMISSION NOTICE
|
|
Copyright (c) 1996 - 2022, Daniel Stenberg, <daniel@haxx.se>, and many
|
contributors, see the THANKS file.
|
|
All rights reserved.
|
|
Permission to use, copy, modify, and distribute this software for any purpose
|
with or without fee is hereby granted, provided that the above copyright
|
notice and this permission notice appear in all copies.
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
|
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
OR OTHER DEALINGS IN THE SOFTWARE.
|
|
Except as contained in this notice, the name of a copyright holder shall not
|
be used in advertising or otherwise to promote the sale, use or other dealings
|
in this Software without prior written authorization of the copyright holder.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/curl/COPYING
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/double_conversion/LICENSE
|
--------------------------------------------------------------------------------
|
Copyright 2006-2011, the V8 project authors. All rights reserved.
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions are
|
met:
|
|
* Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above
|
copyright notice, this list of conditions and the following
|
disclaimer in the documentation and/or other materials provided
|
with the distribution.
|
* Neither the name of Google Inc. nor the names of its
|
contributors may be used to endorse or promote products derived
|
from this software without specific prior written permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/double_conversion/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/eigen_archive/COPYING.MPL2
|
--------------------------------------------------------------------------------
|
Mozilla Public License Version 2.0
|
==================================
|
|
1. Definitions
|
--------------
|
|
1.1. "Contributor"
|
means each individual or legal entity that creates, contributes to
|
the creation of, or owns Covered Software.
|
|
1.2. "Contributor Version"
|
means the combination of the Contributions of others (if any) used
|
by a Contributor and that particular Contributor's Contribution.
|
|
1.3. "Contribution"
|
means Covered Software of a particular Contributor.
|
|
1.4. "Covered Software"
|
means Source Code Form to which the initial Contributor has attached
|
the notice in Exhibit A, the Executable Form of such Source Code
|
Form, and Modifications of such Source Code Form, in each case
|
including portions thereof.
|
|
1.5. "Incompatible With Secondary Licenses"
|
means
|
|
(a) that the initial Contributor has attached the notice described
|
in Exhibit B to the Covered Software; or
|
|
(b) that the Covered Software was made available under the terms of
|
version 1.1 or earlier of the License, but not also under the
|
terms of a Secondary License.
|
|
1.6. "Executable Form"
|
means any form of the work other than Source Code Form.
|
|
1.7. "Larger Work"
|
means a work that combines Covered Software with other material, in
|
a separate file or files, that is not Covered Software.
|
|
1.8. "License"
|
means this document.
|
|
1.9. "Licensable"
|
means having the right to grant, to the maximum extent possible,
|
whether at the time of the initial grant or subsequently, any and
|
all of the rights conveyed by this License.
|
|
1.10. "Modifications"
|
means any of the following:
|
|
(a) any file in Source Code Form that results from an addition to,
|
deletion from, or modification of the contents of Covered
|
Software; or
|
|
(b) any new file in Source Code Form that contains any Covered
|
Software.
|
|
1.11. "Patent Claims" of a Contributor
|
means any patent claim(s), including without limitation, method,
|
process, and apparatus claims, in any patent Licensable by such
|
Contributor that would be infringed, but for the grant of the
|
License, by the making, using, selling, offering for sale, having
|
made, import, or transfer of either its Contributions or its
|
Contributor Version.
|
|
1.12. "Secondary License"
|
means either the GNU General Public License, Version 2.0, the GNU
|
Lesser General Public License, Version 2.1, the GNU Affero General
|
Public License, Version 3.0, or any later versions of those
|
licenses.
|
|
1.13. "Source Code Form"
|
means the form of the work preferred for making modifications.
|
|
1.14. "You" (or "Your")
|
means an individual or a legal entity exercising rights under this
|
License. For legal entities, "You" includes any entity that
|
controls, is controlled by, or is under common control with You. For
|
purposes of this definition, "control" means (a) the power, direct
|
or indirect, to cause the direction or management of such entity,
|
whether by contract or otherwise, or (b) ownership of more than
|
fifty percent (50%) of the outstanding shares or beneficial
|
ownership of such entity.
|
|
2. License Grants and Conditions
|
--------------------------------
|
|
2.1. Grants
|
|
Each Contributor hereby grants You a world-wide, royalty-free,
|
non-exclusive license:
|
|
(a) under intellectual property rights (other than patent or trademark)
|
Licensable by such Contributor to use, reproduce, make available,
|
modify, display, perform, distribute, and otherwise exploit its
|
Contributions, either on an unmodified basis, with Modifications, or
|
as part of a Larger Work; and
|
|
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
for sale, have made, import, and otherwise transfer either its
|
Contributions or its Contributor Version.
|
|
2.2. Effective Date
|
|
The licenses granted in Section 2.1 with respect to any Contribution
|
become effective for each Contribution on the date the Contributor first
|
distributes such Contribution.
|
|
2.3. Limitations on Grant Scope
|
|
The licenses granted in this Section 2 are the only rights granted under
|
this License. No additional rights or licenses will be implied from the
|
distribution or licensing of Covered Software under this License.
|
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
Contributor:
|
|
(a) for any code that a Contributor has removed from Covered Software;
|
or
|
|
(b) for infringements caused by: (i) Your and any other third party's
|
modifications of Covered Software, or (ii) the combination of its
|
Contributions with other software (except as part of its Contributor
|
Version); or
|
|
(c) under Patent Claims infringed by Covered Software in the absence of
|
its Contributions.
|
|
This License does not grant any rights in the trademarks, service marks,
|
or logos of any Contributor (except as may be necessary to comply with
|
the notice requirements in Section 3.4).
|
|
2.4. Subsequent Licenses
|
|
No Contributor makes additional grants as a result of Your choice to
|
distribute the Covered Software under a subsequent version of this
|
License (see Section 10.2) or under the terms of a Secondary License (if
|
permitted under the terms of Section 3.3).
|
|
2.5. Representation
|
|
Each Contributor represents that the Contributor believes its
|
Contributions are its original creation(s) or it has sufficient rights
|
to grant the rights to its Contributions conveyed by this License.
|
|
2.6. Fair Use
|
|
This License is not intended to limit any rights You have under
|
applicable copyright doctrines of fair use, fair dealing, or other
|
equivalents.
|
|
2.7. Conditions
|
|
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
in Section 2.1.
|
|
3. Responsibilities
|
-------------------
|
|
3.1. Distribution of Source Form
|
|
All distribution of Covered Software in Source Code Form, including any
|
Modifications that You create or to which You contribute, must be under
|
the terms of this License. You must inform recipients that the Source
|
Code Form of the Covered Software is governed by the terms of this
|
License, and how they can obtain a copy of this License. You may not
|
attempt to alter or restrict the recipients' rights in the Source Code
|
Form.
|
|
3.2. Distribution of Executable Form
|
|
If You distribute Covered Software in Executable Form then:
|
|
(a) such Covered Software must also be made available in Source Code
|
Form, as described in Section 3.1, and You must inform recipients of
|
the Executable Form how they can obtain a copy of such Source Code
|
Form by reasonable means in a timely manner, at a charge no more
|
than the cost of distribution to the recipient; and
|
|
(b) You may distribute such Executable Form under the terms of this
|
License, or sublicense it under different terms, provided that the
|
license for the Executable Form does not attempt to limit or alter
|
the recipients' rights in the Source Code Form under this License.
|
|
3.3. Distribution of a Larger Work
|
|
You may create and distribute a Larger Work under terms of Your choice,
|
provided that You also comply with the requirements of this License for
|
the Covered Software. If the Larger Work is a combination of Covered
|
Software with a work governed by one or more Secondary Licenses, and the
|
Covered Software is not Incompatible With Secondary Licenses, this
|
License permits You to additionally distribute such Covered Software
|
under the terms of such Secondary License(s), so that the recipient of
|
the Larger Work may, at their option, further distribute the Covered
|
Software under the terms of either this License or such Secondary
|
License(s).
|
|
3.4. Notices
|
|
You may not remove or alter the substance of any license notices
|
(including copyright notices, patent notices, disclaimers of warranty,
|
or limitations of liability) contained within the Source Code Form of
|
the Covered Software, except that You may alter any license notices to
|
the extent required to remedy known factual inaccuracies.
|
|
3.5. Application of Additional Terms
|
|
You may choose to offer, and to charge a fee for, warranty, support,
|
indemnity or liability obligations to one or more recipients of Covered
|
Software. However, You may do so only on Your own behalf, and not on
|
behalf of any Contributor. You must make it absolutely clear that any
|
such warranty, support, indemnity, or liability obligation is offered by
|
You alone, and You hereby agree to indemnify every Contributor for any
|
liability incurred by such Contributor as a result of warranty, support,
|
indemnity or liability terms You offer. You may include additional
|
disclaimers of warranty and limitations of liability specific to any
|
jurisdiction.
|
|
4. Inability to Comply Due to Statute or Regulation
|
---------------------------------------------------
|
|
If it is impossible for You to comply with any of the terms of this
|
License with respect to some or all of the Covered Software due to
|
statute, judicial order, or regulation then You must: (a) comply with
|
the terms of this License to the maximum extent possible; and (b)
|
describe the limitations and the code they affect. Such description must
|
be placed in a text file included with all distributions of the Covered
|
Software under this License. Except to the extent prohibited by statute
|
or regulation, such description must be sufficiently detailed for a
|
recipient of ordinary skill to be able to understand it.
|
|
5. Termination
|
--------------
|
|
5.1. The rights granted under this License will terminate automatically
|
if You fail to comply with any of its terms. However, if You become
|
compliant, then the rights granted under this License from a particular
|
Contributor are reinstated (a) provisionally, unless and until such
|
Contributor explicitly and finally terminates Your grants, and (b) on an
|
ongoing basis, if such Contributor fails to notify You of the
|
non-compliance by some reasonable means prior to 60 days after You have
|
come back into compliance. Moreover, Your grants from a particular
|
Contributor are reinstated on an ongoing basis if such Contributor
|
notifies You of the non-compliance by some reasonable means, this is the
|
first time You have received notice of non-compliance with this License
|
from such Contributor, and You become compliant prior to 30 days after
|
Your receipt of the notice.
|
|
5.2. If You initiate litigation against any entity by asserting a patent
|
infringement claim (excluding declaratory judgment actions,
|
counter-claims, and cross-claims) alleging that a Contributor Version
|
directly or indirectly infringes any patent, then the rights granted to
|
You by any and all Contributors for the Covered Software under Section
|
2.1 of this License shall terminate.
|
|
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
end user license agreements (excluding distributors and resellers) which
|
have been validly granted by You or Your distributors under this License
|
prior to termination shall survive termination.
|
|
************************************************************************
|
* *
|
* 6. Disclaimer of Warranty *
|
* ------------------------- *
|
* *
|
* Covered Software is provided under this License on an "as is" *
|
* basis, without warranty of any kind, either expressed, implied, or *
|
* statutory, including, without limitation, warranties that the *
|
* Covered Software is free of defects, merchantable, fit for a *
|
* particular purpose or non-infringing. The entire risk as to the *
|
* quality and performance of the Covered Software is with You. *
|
* Should any Covered Software prove defective in any respect, You *
|
* (not any Contributor) assume the cost of any necessary servicing, *
|
* repair, or correction. This disclaimer of warranty constitutes an *
|
* essential part of this License. No use of any Covered Software is *
|
* authorized under this License except under this disclaimer. *
|
* *
|
************************************************************************
|
|
************************************************************************
|
* *
|
* 7. Limitation of Liability *
|
* -------------------------- *
|
* *
|
* Under no circumstances and under no legal theory, whether tort *
|
* (including negligence), contract, or otherwise, shall any *
|
* Contributor, or anyone who distributes Covered Software as *
|
* permitted above, be liable to You for any direct, indirect, *
|
* special, incidental, or consequential damages of any character *
|
* including, without limitation, damages for lost profits, loss of *
|
* goodwill, work stoppage, computer failure or malfunction, or any *
|
* and all other commercial damages or losses, even if such party *
|
* shall have been informed of the possibility of such damages. This *
|
* limitation of liability shall not apply to liability for death or *
|
* personal injury resulting from such party's negligence to the *
|
* extent applicable law prohibits such limitation. Some *
|
* jurisdictions do not allow the exclusion or limitation of *
|
* incidental or consequential damages, so this exclusion and *
|
* limitation may not apply to You. *
|
* *
|
************************************************************************
|
|
8. Litigation
|
-------------
|
|
Any litigation relating to this License may be brought only in the
|
courts of a jurisdiction where the defendant maintains its principal
|
place of business and such litigation shall be governed by laws of that
|
jurisdiction, without reference to its conflict-of-law provisions.
|
Nothing in this Section shall prevent a party's ability to bring
|
cross-claims or counter-claims.
|
|
9. Miscellaneous
|
----------------
|
|
This License represents the complete agreement concerning the subject
|
matter hereof. If any provision of this License is held to be
|
unenforceable, such provision shall be reformed only to the extent
|
necessary to make it enforceable. Any law or regulation which provides
|
that the language of a contract shall be construed against the drafter
|
shall not be used to construe this License against a Contributor.
|
|
10. Versions of the License
|
---------------------------
|
|
10.1. New Versions
|
|
Mozilla Foundation is the license steward. Except as provided in Section
|
10.3, no one other than the license steward has the right to modify or
|
publish new versions of this License. Each version will be given a
|
distinguishing version number.
|
|
10.2. Effect of New Versions
|
|
You may distribute the Covered Software under the terms of the version
|
of the License under which You originally received the Covered Software,
|
or under the terms of any subsequent version published by the license
|
steward.
|
|
10.3. Modified Versions
|
|
If you create software not governed by this License, and you want to
|
create a new license for such software, you may create and use a
|
modified version of this License if you rename the license and remove
|
any references to the name of the license steward (except to note that
|
such modified license differs from this License).
|
|
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
Licenses
|
|
If You choose to distribute Source Code Form that is Incompatible With
|
Secondary Licenses under the terms of this version of the License, the
|
notice described in Exhibit B of this License must be attached.
|
|
Exhibit A - Source Code Form License Notice
|
-------------------------------------------
|
|
This Source Code Form is subject to the terms of the Mozilla Public
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
If it is not possible or desirable to put the notice in a particular
|
file, then You may include the notice in a location (such as a LICENSE
|
file in a relevant directory) where a recipient would be likely to look
|
for such a notice.
|
|
You may add additional accurate notices of copyright ownership.
|
|
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
---------------------------------------------------------
|
|
This Source Code Form is "Incompatible With Secondary Licenses", as
|
defined by the Mozilla Public License, v. 2.0.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/eigen_archive/COPYING.MPL2
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/farmhash_archive/COPYING
|
--------------------------------------------------------------------------------
|
// Copyright (c) 2014 Google, Inc.
|
//
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
// of this software and associated documentation files (the "Software"), to deal
|
// in the Software without restriction, including without limitation the rights
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
// copies of the Software, and to permit persons to whom the Software is
|
// furnished to do so, subject to the following conditions:
|
//
|
// The above copyright notice and this permission notice shall be included in
|
// all copies or substantial portions of the Software.
|
//
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
// THE SOFTWARE.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/farmhash_archive/COPYING
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/fft2d/readme2d.txt
|
--------------------------------------------------------------------------------
|
General Purpose 2D,3D FFT (Fast Fourier Transform) Package
|
|
Files
|
alloc.c : 2D-array Allocation
|
alloc.h : 2D-array Allocation
|
fft4f2d.c : 2D FFT Package in C - Version I (radix 4, 2)
|
fft4f2d.f : 2D FFT Package in Fortran - Version I (radix 4, 2)
|
fftsg.c : 1D FFT Package in C - Fast Version (Split-Radix)
|
fftsg.f : 1D FFT Package in Fortran - Fast Version (Split-Radix)
|
fftsg2d.c : 2D FFT Package in C - Version II (Split-Radix)
|
fftsg2d.f : 2D FFT Package in Fortran - Version II (Split-Radix)
|
fftsg3d.c : 3D FFT Package in C - Version II (Split-Radix)
|
fftsg3d.f : 3D FFT Package in Fortran - Version II (Split-Radix)
|
shrtdct.c : 8x8, 16x16 DCT Package
|
sample2d/
|
Makefile : for gcc, cc
|
Makefile.f77: for Fortran
|
Makefile.pth: Pthread version
|
fft4f2dt.c : Test Program for "fft4f2d.c"
|
fft4f2dt.f : Test Program for "fft4f2d.f"
|
fftsg2dt.c : Test Program for "fftsg2d.c"
|
fftsg2dt.f : Test Program for "fftsg2d.f"
|
fftsg3dt.c : Test Program for "fftsg3d.c"
|
fftsg3dt.f : Test Program for "fftsg3d.f"
|
shrtdctt.c : Test Program for "shrtdct.c"
|
|
Difference of Files
|
C and Fortran versions are equal and
|
the same routines are in each version.
|
---- Difference between "fft4f2d.*" and "fftsg2d.*" ----
|
"fft4f2d.*" are optimized for the old machines that
|
don't have the large size CPU cache.
|
"fftsg2d.*", "fftsg3d.*" use 1D FFT routines in "fftsg.*".
|
"fftsg2d.*", "fftsg3d.*" are optimized for the machines that
|
have the multi-level (L1,L2,etc) cache.
|
|
Routines in the Package
|
in fft4f2d.*, fftsg2d.*
|
cdft2d: 2-dim Complex Discrete Fourier Transform
|
rdft2d: 2-dim Real Discrete Fourier Transform
|
ddct2d: 2-dim Discrete Cosine Transform
|
ddst2d: 2-dim Discrete Sine Transform
|
rdft2dsort: rdft2d input/output ordering (fftsg2d.*)
|
in fftsg3d.*
|
cdft3d: 3-dim Complex Discrete Fourier Transform
|
rdft3d: 3-dim Real Discrete Fourier Transform
|
ddct3d: 3-dim Discrete Cosine Transform
|
ddst3d: 3-dim Discrete Sine Transform
|
rdft3dsort: rdft3d input/output ordering
|
in fftsg.*
|
cdft: 1-dim Complex Discrete Fourier Transform
|
rdft: 1-dim Real Discrete Fourier Transform
|
ddct: 1-dim Discrete Cosine Transform
|
ddst: 1-dim Discrete Sine Transform
|
dfct: 1-dim Real Symmetric DFT
|
dfst: 1-dim Real Anti-symmetric DFT
|
(these routines are called by fftsg2d.*, fftsg3d.*)
|
in shrtdct.c
|
ddct8x8s : Normalized 8x8 DCT
|
ddct16x16s: Normalized 16x16 DCT
|
(faster than ddct2d())
|
|
Usage
|
Brief explanations are in block comments of each packages.
|
The examples are given in the test programs.
|
|
Copyright
|
Copyright(C) 1997,2001 Takuya OOURA (email: ooura@kurims.kyoto-u.ac.jp).
|
You may use, copy, modify this code for any purpose and
|
without fee. You may distribute this ORIGINAL package.
|
|
History
|
...
|
Nov. 2001 : Add 3D-FFT routines
|
Dec. 2006 : Fix a documentation bug in "fftsg3d.*"
|
Dec. 2006 : Fix a minor bug in "fftsg.f"
|
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/fft2d/readme2d.txt
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/gemmlowp/LICENSE
|
--------------------------------------------------------------------------------
|
|
Apache License
|
Version 2.0, January 2004
|
http://www.apache.org/licenses/
|
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
1. Definitions.
|
|
"License" shall mean the terms and conditions for use, reproduction,
|
and distribution as defined by Sections 1 through 9 of this document.
|
|
"Licensor" shall mean the copyright owner or entity authorized by
|
the copyright owner that is granting the License.
|
|
"Legal Entity" shall mean the union of the acting entity and all
|
other entities that control, are controlled by, or are under common
|
control with that entity. For the purposes of this definition,
|
"control" means (i) the power, direct or indirect, to cause the
|
direction or management of such entity, whether by contract or
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
"You" (or "Your") shall mean an individual or Legal Entity
|
exercising permissions granted by this License.
|
|
"Source" form shall mean the preferred form for making modifications,
|
including but not limited to software source code, documentation
|
source, and configuration files.
|
|
"Object" form shall mean any form resulting from mechanical
|
transformation or translation of a Source form, including but
|
not limited to compiled object code, generated documentation,
|
and conversions to other media types.
|
|
"Work" shall mean the work of authorship, whether in Source or
|
Object form, made available under the License, as indicated by a
|
copyright notice that is included in or attached to the work
|
(an example is provided in the Appendix below).
|
|
"Derivative Works" shall mean any work, whether in Source or Object
|
form, that is based on (or derived from) the Work and for which the
|
editorial revisions, annotations, elaborations, or other modifications
|
represent, as a whole, an original work of authorship. For the purposes
|
of this License, Derivative Works shall not include works that remain
|
separable from, or merely link (or bind by name) to the interfaces of,
|
the Work and Derivative Works thereof.
|
|
"Contribution" shall mean any work of authorship, including
|
the original version of the Work and any modifications or additions
|
to that Work or Derivative Works thereof, that is intentionally
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
or by an individual or Legal Entity authorized to submit on behalf of
|
the copyright owner. For the purposes of this definition, "submitted"
|
means any form of electronic, verbal, or written communication sent
|
to the Licensor or its representatives, including but not limited to
|
communication on electronic mailing lists, source code control systems,
|
and issue tracking systems that are managed by, or on behalf of, the
|
Licensor for the purpose of discussing and improving the Work, but
|
excluding communication that is conspicuously marked or otherwise
|
designated in writing by the copyright owner as "Not a Contribution."
|
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
on behalf of whom a Contribution has been received by Licensor and
|
subsequently incorporated within the Work.
|
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
copyright license to reproduce, prepare Derivative Works of,
|
publicly display, publicly perform, sublicense, and distribute the
|
Work and such Derivative Works in Source or Object form.
|
|
3. Grant of Patent License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
(except as stated in this section) patent license to make, have made,
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
where such license applies only to those patent claims licensable
|
by such Contributor that are necessarily infringed by their
|
Contribution(s) alone or by combination of their Contribution(s)
|
with the Work to which such Contribution(s) was submitted. If You
|
institute patent litigation against any entity (including a
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
or a Contribution incorporated within the Work constitutes direct
|
or contributory patent infringement, then any patent licenses
|
granted to You under this License for that Work shall terminate
|
as of the date such litigation is filed.
|
|
4. Redistribution. You may reproduce and distribute copies of the
|
Work or Derivative Works thereof in any medium, with or without
|
modifications, and in Source or Object form, provided that You
|
meet the following conditions:
|
|
(a) You must give any other recipients of the Work or
|
Derivative Works a copy of this License; and
|
|
(b) You must cause any modified files to carry prominent notices
|
stating that You changed the files; and
|
|
(c) You must retain, in the Source form of any Derivative Works
|
that You distribute, all copyright, patent, trademark, and
|
attribution notices from the Source form of the Work,
|
excluding those notices that do not pertain to any part of
|
the Derivative Works; and
|
|
(d) If the Work includes a "NOTICE" text file as part of its
|
distribution, then any Derivative Works that You distribute must
|
include a readable copy of the attribution notices contained
|
within such NOTICE file, excluding those notices that do not
|
pertain to any part of the Derivative Works, in at least one
|
of the following places: within a NOTICE text file distributed
|
as part of the Derivative Works; within the Source form or
|
documentation, if provided along with the Derivative Works; or,
|
within a display generated by the Derivative Works, if and
|
wherever such third-party notices normally appear. The contents
|
of the NOTICE file are for informational purposes only and
|
do not modify the License. You may add Your own attribution
|
notices within Derivative Works that You distribute, alongside
|
or as an addendum to the NOTICE text from the Work, provided
|
that such additional attribution notices cannot be construed
|
as modifying the License.
|
|
You may add Your own copyright statement to Your modifications and
|
may provide additional or different license terms and conditions
|
for use, reproduction, or distribution of Your modifications, or
|
for any such Derivative Works as a whole, provided Your use,
|
reproduction, and distribution of the Work otherwise complies with
|
the conditions stated in this License.
|
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
any Contribution intentionally submitted for inclusion in the Work
|
by You to the Licensor shall be under the terms and conditions of
|
this License, without any additional terms or conditions.
|
Notwithstanding the above, nothing herein shall supersede or modify
|
the terms of any separate license agreement you may have executed
|
with Licensor regarding such Contributions.
|
|
6. Trademarks. This License does not grant permission to use the trade
|
names, trademarks, service marks, or product names of the Licensor,
|
except as required for reasonable and customary use in describing the
|
origin of the Work and reproducing the content of the NOTICE file.
|
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
agreed to in writing, Licensor provides the Work (and each
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
implied, including, without limitation, any warranties or conditions
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
appropriateness of using or redistributing the Work and assume any
|
risks associated with Your exercise of permissions under this License.
|
|
8. Limitation of Liability. In no event and under no legal theory,
|
whether in tort (including negligence), contract, or otherwise,
|
unless required by applicable law (such as deliberate and grossly
|
negligent acts) or agreed to in writing, shall any Contributor be
|
liable to You for damages, including any direct, indirect, special,
|
incidental, or consequential damages of any character arising as a
|
result of this License or out of the use or inability to use the
|
Work (including but not limited to damages for loss of goodwill,
|
work stoppage, computer failure or malfunction, or any and all
|
other commercial damages or losses), even if such Contributor
|
has been advised of the possibility of such damages.
|
|
9. Accepting Warranty or Additional Liability. While redistributing
|
the Work or Derivative Works thereof, You may choose to offer,
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
or other liability obligations and/or rights consistent with this
|
License. However, in accepting such obligations, You may act only
|
on Your own behalf and on Your sole responsibility, not on behalf
|
of any other Contributor, and only if You agree to indemnify,
|
defend, and hold each Contributor harmless for any liability
|
incurred by, or claims asserted against, such Contributor by reason
|
of your accepting any such warranty or additional liability.
|
|
END OF TERMS AND CONDITIONS
|
|
APPENDIX: How to apply the Apache License to your work.
|
|
To apply the Apache License to your work, attach the following
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
replaced with your own identifying information. (Don't include
|
the brackets!) The text should be enclosed in the appropriate
|
comment syntax for the file format. We also recommend that a
|
file or class name and description of purpose be included on the
|
same "printed page" as the copyright notice for easier
|
identification within third-party archives.
|
|
Copyright [yyyy] [name of copyright owner]
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
you may not use this file except in compliance with the License.
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
distributed under the License is distributed on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
See the License for the specific language governing permissions and
|
limitations under the License.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/gemmlowp/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/gif/COPYING
|
--------------------------------------------------------------------------------
|
The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
of this software and associated documentation files (the "Software"), to deal
|
in the Software without restriction, including without limitation the rights
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
copies of the Software, and to permit persons to whom the Software is
|
furnished to do so, subject to the following conditions:
|
|
The above copyright notice and this permission notice shall be included in
|
all copies or substantial portions of the Software.
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
THE SOFTWARE.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/gif/COPYING
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/highwayhash/LICENSE
|
--------------------------------------------------------------------------------
|
|
Apache License
|
Version 2.0, January 2004
|
http://www.apache.org/licenses/
|
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
1. Definitions.
|
|
"License" shall mean the terms and conditions for use, reproduction,
|
and distribution as defined by Sections 1 through 9 of this document.
|
|
"Licensor" shall mean the copyright owner or entity authorized by
|
the copyright owner that is granting the License.
|
|
"Legal Entity" shall mean the union of the acting entity and all
|
other entities that control, are controlled by, or are under common
|
control with that entity. For the purposes of this definition,
|
"control" means (i) the power, direct or indirect, to cause the
|
direction or management of such entity, whether by contract or
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
"You" (or "Your") shall mean an individual or Legal Entity
|
exercising permissions granted by this License.
|
|
"Source" form shall mean the preferred form for making modifications,
|
including but not limited to software source code, documentation
|
source, and configuration files.
|
|
"Object" form shall mean any form resulting from mechanical
|
transformation or translation of a Source form, including but
|
not limited to compiled object code, generated documentation,
|
and conversions to other media types.
|
|
"Work" shall mean the work of authorship, whether in Source or
|
Object form, made available under the License, as indicated by a
|
copyright notice that is included in or attached to the work
|
(an example is provided in the Appendix below).
|
|
"Derivative Works" shall mean any work, whether in Source or Object
|
form, that is based on (or derived from) the Work and for which the
|
editorial revisions, annotations, elaborations, or other modifications
|
represent, as a whole, an original work of authorship. For the purposes
|
of this License, Derivative Works shall not include works that remain
|
separable from, or merely link (or bind by name) to the interfaces of,
|
the Work and Derivative Works thereof.
|
|
"Contribution" shall mean any work of authorship, including
|
the original version of the Work and any modifications or additions
|
to that Work or Derivative Works thereof, that is intentionally
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
or by an individual or Legal Entity authorized to submit on behalf of
|
the copyright owner. For the purposes of this definition, "submitted"
|
means any form of electronic, verbal, or written communication sent
|
to the Licensor or its representatives, including but not limited to
|
communication on electronic mailing lists, source code control systems,
|
and issue tracking systems that are managed by, or on behalf of, the
|
Licensor for the purpose of discussing and improving the Work, but
|
excluding communication that is conspicuously marked or otherwise
|
designated in writing by the copyright owner as "Not a Contribution."
|
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
on behalf of whom a Contribution has been received by Licensor and
|
subsequently incorporated within the Work.
|
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
copyright license to reproduce, prepare Derivative Works of,
|
publicly display, publicly perform, sublicense, and distribute the
|
Work and such Derivative Works in Source or Object form.
|
|
3. Grant of Patent License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
(except as stated in this section) patent license to make, have made,
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
where such license applies only to those patent claims licensable
|
by such Contributor that are necessarily infringed by their
|
Contribution(s) alone or by combination of their Contribution(s)
|
with the Work to which such Contribution(s) was submitted. If You
|
institute patent litigation against any entity (including a
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
or a Contribution incorporated within the Work constitutes direct
|
or contributory patent infringement, then any patent licenses
|
granted to You under this License for that Work shall terminate
|
as of the date such litigation is filed.
|
|
4. Redistribution. You may reproduce and distribute copies of the
|
Work or Derivative Works thereof in any medium, with or without
|
modifications, and in Source or Object form, provided that You
|
meet the following conditions:
|
|
(a) You must give any other recipients of the Work or
|
Derivative Works a copy of this License; and
|
|
(b) You must cause any modified files to carry prominent notices
|
stating that You changed the files; and
|
|
(c) You must retain, in the Source form of any Derivative Works
|
that You distribute, all copyright, patent, trademark, and
|
attribution notices from the Source form of the Work,
|
excluding those notices that do not pertain to any part of
|
the Derivative Works; and
|
|
(d) If the Work includes a "NOTICE" text file as part of its
|
distribution, then any Derivative Works that You distribute must
|
include a readable copy of the attribution notices contained
|
within such NOTICE file, excluding those notices that do not
|
pertain to any part of the Derivative Works, in at least one
|
of the following places: within a NOTICE text file distributed
|
as part of the Derivative Works; within the Source form or
|
documentation, if provided along with the Derivative Works; or,
|
within a display generated by the Derivative Works, if and
|
wherever such third-party notices normally appear. The contents
|
of the NOTICE file are for informational purposes only and
|
do not modify the License. You may add Your own attribution
|
notices within Derivative Works that You distribute, alongside
|
or as an addendum to the NOTICE text from the Work, provided
|
that such additional attribution notices cannot be construed
|
as modifying the License.
|
|
You may add Your own copyright statement to Your modifications and
|
may provide additional or different license terms and conditions
|
for use, reproduction, or distribution of Your modifications, or
|
for any such Derivative Works as a whole, provided Your use,
|
reproduction, and distribution of the Work otherwise complies with
|
the conditions stated in this License.
|
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
any Contribution intentionally submitted for inclusion in the Work
|
by You to the Licensor shall be under the terms and conditions of
|
this License, without any additional terms or conditions.
|
Notwithstanding the above, nothing herein shall supersede or modify
|
the terms of any separate license agreement you may have executed
|
with Licensor regarding such Contributions.
|
|
6. Trademarks. This License does not grant permission to use the trade
|
names, trademarks, service marks, or product names of the Licensor,
|
except as required for reasonable and customary use in describing the
|
origin of the Work and reproducing the content of the NOTICE file.
|
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
agreed to in writing, Licensor provides the Work (and each
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
implied, including, without limitation, any warranties or conditions
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
appropriateness of using or redistributing the Work and assume any
|
risks associated with Your exercise of permissions under this License.
|
|
8. Limitation of Liability. In no event and under no legal theory,
|
whether in tort (including negligence), contract, or otherwise,
|
unless required by applicable law (such as deliberate and grossly
|
negligent acts) or agreed to in writing, shall any Contributor be
|
liable to You for damages, including any direct, indirect, special,
|
incidental, or consequential damages of any character arising as a
|
result of this License or out of the use or inability to use the
|
Work (including but not limited to damages for loss of goodwill,
|
work stoppage, computer failure or malfunction, or any and all
|
other commercial damages or losses), even if such Contributor
|
has been advised of the possibility of such damages.
|
|
9. Accepting Warranty or Additional Liability. While redistributing
|
the Work or Derivative Works thereof, You may choose to offer,
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
or other liability obligations and/or rights consistent with this
|
License. However, in accepting such obligations, You may act only
|
on Your own behalf and on Your sole responsibility, not on behalf
|
of any other Contributor, and only if You agree to indemnify,
|
defend, and hold each Contributor harmless for any liability
|
incurred by, or claims asserted against, such Contributor by reason
|
of your accepting any such warranty or additional liability.
|
|
END OF TERMS AND CONDITIONS
|
|
APPENDIX: How to apply the Apache License to your work.
|
|
To apply the Apache License to your work, attach the following
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
replaced with your own identifying information. (Don't include
|
the brackets!) The text should be enclosed in the appropriate
|
comment syntax for the file format. We also recommend that a
|
file or class name and description of purpose be included on the
|
same "printed page" as the copyright notice for easier
|
identification within third-party archives.
|
|
Copyright [yyyy] [name of copyright owner]
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
you may not use this file except in compliance with the License.
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
distributed under the License is distributed on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
See the License for the specific language governing permissions and
|
limitations under the License.
|
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/highwayhash/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/icu/icu4c/LICENSE
|
--------------------------------------------------------------------------------
|
COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later)
|
|
Copyright © 1991-2020 Unicode, Inc. All rights reserved.
|
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
|
|
Permission is hereby granted, free of charge, to any person obtaining
|
a copy of the Unicode data files and any associated documentation
|
(the "Data Files") or Unicode software and any associated documentation
|
(the "Software") to deal in the Data Files or Software
|
without restriction, including without limitation the rights to use,
|
copy, modify, merge, publish, distribute, and/or sell copies of
|
the Data Files or Software, and to permit persons to whom the Data Files
|
or Software are furnished to do so, provided that either
|
(a) this copyright and permission notice appear with all copies
|
of the Data Files or Software, or
|
(b) this copyright and permission notice appear in associated
|
Documentation.
|
|
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
|
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
|
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
|
Except as contained in this notice, the name of a copyright holder
|
shall not be used in advertising or otherwise to promote the sale,
|
use or other dealings in these Data Files or Software without prior
|
written authorization of the copyright holder.
|
|
---------------------
|
|
Third-Party Software Licenses
|
|
This section contains third-party software notices and/or additional
|
terms for licensed third-party software components included within ICU
|
libraries.
|
|
1. ICU License - ICU 1.8.1 to ICU 57.1
|
|
COPYRIGHT AND PERMISSION NOTICE
|
|
Copyright (c) 1995-2016 International Business Machines Corporation and others
|
All rights reserved.
|
|
Permission is hereby granted, free of charge, to any person obtaining
|
a copy of this software and associated documentation files (the
|
"Software"), to deal in the Software without restriction, including
|
without limitation the rights to use, copy, modify, merge, publish,
|
distribute, and/or sell copies of the Software, and to permit persons
|
to whom the Software is furnished to do so, provided that the above
|
copyright notice(s) and this permission notice appear in all copies of
|
the Software and that both the above copyright notice(s) and this
|
permission notice appear in supporting documentation.
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
|
SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
|
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
|
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
Except as contained in this notice, the name of a copyright holder
|
shall not be used in advertising or otherwise to promote the sale, use
|
or other dealings in this Software without prior written authorization
|
of the copyright holder.
|
|
All trademarks and registered trademarks mentioned herein are the
|
property of their respective owners.
|
|
2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
|
|
# The Google Chrome software developed by Google is licensed under
|
# the BSD license. Other software included in this distribution is
|
# provided under other licenses, as set forth below.
|
#
|
# The BSD License
|
# http://opensource.org/licenses/bsd-license.php
|
# Copyright (C) 2006-2008, Google Inc.
|
#
|
# All rights reserved.
|
#
|
# Redistribution and use in source and binary forms, with or without
|
# modification, are permitted provided that the following conditions are met:
|
#
|
# Redistributions of source code must retain the above copyright notice,
|
# this list of conditions and the following disclaimer.
|
# Redistributions in binary form must reproduce the above
|
# copyright notice, this list of conditions and the following
|
# disclaimer in the documentation and/or other materials provided with
|
# the distribution.
|
# Neither the name of Google Inc. nor the names of its
|
# contributors may be used to endorse or promote products derived from
|
# this software without specific prior written permission.
|
#
|
#
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
#
|
#
|
# The word list in cjdict.txt are generated by combining three word lists
|
# listed below with further processing for compound word breaking. The
|
# frequency is generated with an iterative training against Google web
|
# corpora.
|
#
|
# * Libtabe (Chinese)
|
# - https://sourceforge.net/project/?group_id=1519
|
# - Its license terms and conditions are shown below.
|
#
|
# * IPADIC (Japanese)
|
# - http://chasen.aist-nara.ac.jp/chasen/distribution.html
|
# - Its license terms and conditions are shown below.
|
#
|
# ---------COPYING.libtabe ---- BEGIN--------------------
|
#
|
# /*
|
# * Copyright (c) 1999 TaBE Project.
|
# * Copyright (c) 1999 Pai-Hsiang Hsiao.
|
# * All rights reserved.
|
# *
|
# * Redistribution and use in source and binary forms, with or without
|
# * modification, are permitted provided that the following conditions
|
# * are met:
|
# *
|
# * . Redistributions of source code must retain the above copyright
|
# * notice, this list of conditions and the following disclaimer.
|
# * . Redistributions in binary form must reproduce the above copyright
|
# * notice, this list of conditions and the following disclaimer in
|
# * the documentation and/or other materials provided with the
|
# * distribution.
|
# * . Neither the name of the TaBE Project nor the names of its
|
# * contributors may be used to endorse or promote products derived
|
# * from this software without specific prior written permission.
|
# *
|
# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
# * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
# * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
# * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
# * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
# * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
# * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
# * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
# * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
# * OF THE POSSIBILITY OF SUCH DAMAGE.
|
# */
|
#
|
# /*
|
# * Copyright (c) 1999 Computer Systems and Communication Lab,
|
# * Institute of Information Science, Academia
|
# * Sinica. All rights reserved.
|
# *
|
# * Redistribution and use in source and binary forms, with or without
|
# * modification, are permitted provided that the following conditions
|
# * are met:
|
# *
|
# * . Redistributions of source code must retain the above copyright
|
# * notice, this list of conditions and the following disclaimer.
|
# * . Redistributions in binary form must reproduce the above copyright
|
# * notice, this list of conditions and the following disclaimer in
|
# * the documentation and/or other materials provided with the
|
# * distribution.
|
# * . Neither the name of the Computer Systems and Communication Lab
|
# * nor the names of its contributors may be used to endorse or
|
# * promote products derived from this software without specific
|
# * prior written permission.
|
# *
|
# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
# * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
# * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
# * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
# * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
# * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
# * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
# * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
# * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
# * OF THE POSSIBILITY OF SUCH DAMAGE.
|
# */
|
#
|
# Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
|
# University of Illinois
|
# c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4
|
#
|
# ---------------COPYING.libtabe-----END--------------------------------
|
#
|
#
|
# ---------------COPYING.ipadic-----BEGIN-------------------------------
|
#
|
# Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
|
# and Technology. All Rights Reserved.
|
#
|
# Use, reproduction, and distribution of this software is permitted.
|
# Any copy of this software, whether in its original form or modified,
|
# must include both the above copyright notice and the following
|
# paragraphs.
|
#
|
# Nara Institute of Science and Technology (NAIST),
|
# the copyright holders, disclaims all warranties with regard to this
|
# software, including all implied warranties of merchantability and
|
# fitness, in no event shall NAIST be liable for
|
# any special, indirect or consequential damages or any damages
|
# whatsoever resulting from loss of use, data or profits, whether in an
|
# action of contract, negligence or other tortuous action, arising out
|
# of or in connection with the use or performance of this software.
|
#
|
# A large portion of the dictionary entries
|
# originate from ICOT Free Software. The following conditions for ICOT
|
# Free Software applies to the current dictionary as well.
|
#
|
# Each User may also freely distribute the Program, whether in its
|
# original form or modified, to any third party or parties, PROVIDED
|
# that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
|
# on, or be attached to, the Program, which is distributed substantially
|
# in the same form as set out herein and that such intended
|
# distribution, if actually made, will neither violate or otherwise
|
# contravene any of the laws and regulations of the countries having
|
# jurisdiction over the User or the intended distribution itself.
|
#
|
# NO WARRANTY
|
#
|
# The program was produced on an experimental basis in the course of the
|
# research and development conducted during the project and is provided
|
# to users as so produced on an experimental basis. Accordingly, the
|
# program is provided without any warranty whatsoever, whether express,
|
# implied, statutory or otherwise. The term "warranty" used herein
|
# includes, but is not limited to, any warranty of the quality,
|
# performance, merchantability and fitness for a particular purpose of
|
# the program and the nonexistence of any infringement or violation of
|
# any right of any third party.
|
#
|
# Each user of the program will agree and understand, and be deemed to
|
# have agreed and understood, that there is no warranty whatsoever for
|
# the program and, accordingly, the entire risk arising from or
|
# otherwise connected with the program is assumed by the user.
|
#
|
# Therefore, neither ICOT, the copyright holder, or any other
|
# organization that participated in or was otherwise related to the
|
# development of the program and their respective officials, directors,
|
# officers and other employees shall be held liable for any and all
|
# damages, including, without limitation, general, special, incidental
|
# and consequential damages, arising out of or otherwise in connection
|
# with the use or inability to use the program or any product, material
|
# or result produced or otherwise obtained by using the program,
|
# regardless of whether they have been advised of, or otherwise had
|
# knowledge of, the possibility of such damages at any time during the
|
# project or thereafter. Each user will be deemed to have agreed to the
|
# foregoing by his or her commencement of use of the program. The term
|
# "use" as used herein includes, but is not limited to, the use,
|
# modification, copying and distribution of the program and the
|
# production of secondary products from the program.
|
#
|
# In the case where the program, whether in its original form or
|
# modified, was distributed or delivered to or received by a user from
|
# any person, organization or entity other than ICOT, unless it makes or
|
# grants independently of ICOT any specific warranty to the user in
|
# writing, such person, organization or entity, will also be exempted
|
# from and not be held liable to the user for any such damages as noted
|
# above as far as the program is concerned.
|
#
|
# ---------------COPYING.ipadic-----END----------------------------------
|
|
3. Lao Word Break Dictionary Data (laodict.txt)
|
|
# Copyright (c) 2013 International Business Machines Corporation
|
# and others. All Rights Reserved.
|
#
|
# Project: https://github.com/veer66/lao-dictionary
|
# Dictionary: https://github.com/veer66/lao-dictionary/blob/master/Lao-Dictionary.txt
|
# License: https://github.com/veer66/lao-dictionary/blob/master/Lao-Dictionary-LICENSE.txt
|
# (copied below)
|
#
|
# This file is derived from the above dictionary, with slight
|
# modifications.
|
# ----------------------------------------------------------------------
|
# Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
|
# All rights reserved.
|
#
|
# Redistribution and use in source and binary forms, with or without
|
# modification,
|
# are permitted provided that the following conditions are met:
|
#
|
#
|
# Redistributions of source code must retain the above copyright notice, this
|
# list of conditions and the following disclaimer. Redistributions in
|
# binary form must reproduce the above copyright notice, this list of
|
# conditions and the following disclaimer in the documentation and/or
|
# other materials provided with the distribution.
|
#
|
#
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
# --------------------------------------------------------------------------
|
|
4. Burmese Word Break Dictionary Data (burmesedict.txt)
|
|
# Copyright (c) 2014 International Business Machines Corporation
|
# and others. All Rights Reserved.
|
#
|
# This list is part of a project hosted at:
|
# github.com/kanyawtech/myanmar-karen-word-lists
|
#
|
# --------------------------------------------------------------------------
|
# Copyright (c) 2013, LeRoy Benjamin Sharon
|
# All rights reserved.
|
#
|
# Redistribution and use in source and binary forms, with or without
|
# modification, are permitted provided that the following conditions
|
# are met: Redistributions of source code must retain the above
|
# copyright notice, this list of conditions and the following
|
# disclaimer. Redistributions in binary form must reproduce the
|
# above copyright notice, this list of conditions and the following
|
# disclaimer in the documentation and/or other materials provided
|
# with the distribution.
|
#
|
# Neither the name Myanmar Karen Word Lists, nor the names of its
|
# contributors may be used to endorse or promote products derived
|
# from this software without specific prior written permission.
|
#
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
|
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
# SUCH DAMAGE.
|
# --------------------------------------------------------------------------
|
|
5. Time Zone Database
|
|
ICU uses the public domain data and code derived from Time Zone
|
Database for its time zone support. The ownership of the TZ database
|
is explained in BCP 175: Procedure for Maintaining the Time Zone
|
Database section 7.
|
|
# 7. Database Ownership
|
#
|
# The TZ database itself is not an IETF Contribution or an IETF
|
# document. Rather it is a pre-existing and regularly updated work
|
# that is in the public domain, and is intended to remain in the
|
# public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
|
# not apply to the TZ Database or contributions that individuals make
|
# to it. Should any claims be made and substantiated against the TZ
|
# Database, the organization that is providing the IANA
|
# Considerations defined in this RFC, under the memorandum of
|
# understanding with the IETF, currently ICANN, may act in accordance
|
# with all competent court orders. No ownership claims will be made
|
# by ICANN or the IETF Trust on the database or the code. Any person
|
# making a contribution to the database or code waives all rights to
|
# future claims in that contribution or in the TZ Database.
|
|
6. Google double-conversion
|
|
Copyright 2006-2011, the V8 project authors. All rights reserved.
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions are
|
met:
|
|
* Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above
|
copyright notice, this list of conditions and the following
|
disclaimer in the documentation and/or other materials provided
|
with the distribution.
|
* Neither the name of Google Inc. nor the names of its
|
contributors may be used to endorse or promote products derived
|
from this software without specific prior written permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/icu/icu4c/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/libjpeg_turbo/LICENSE.md
|
--------------------------------------------------------------------------------
|
libjpeg-turbo Licenses
|
======================
|
|
libjpeg-turbo is covered by three compatible BSD-style open source licenses:
|
|
- The IJG (Independent JPEG Group) License, which is listed in
|
[README.ijg](README.ijg)
|
|
This license applies to the libjpeg API library and associated programs
|
(any code inherited from libjpeg, and any modifications to that code.)
|
|
- The Modified (3-clause) BSD License, which is listed below
|
|
This license covers the TurboJPEG API library and associated programs, as
|
well as the build system.
|
|
- The [zlib License](https://opensource.org/licenses/Zlib)
|
|
This license is a subset of the other two, and it covers the libjpeg-turbo
|
SIMD extensions.
|
|
|
Complying with the libjpeg-turbo Licenses
|
=========================================
|
|
This section provides a roll-up of the libjpeg-turbo licensing terms, to the
|
best of our understanding.
|
|
1. If you are distributing a modified version of the libjpeg-turbo source,
|
then:
|
|
1. You cannot alter or remove any existing copyright or license notices
|
from the source.
|
|
**Origin**
|
- Clause 1 of the IJG License
|
- Clause 1 of the Modified BSD License
|
- Clauses 1 and 3 of the zlib License
|
|
2. You must add your own copyright notice to the header of each source
|
file you modified, so others can tell that you modified that file (if
|
there is not an existing copyright header in that file, then you can
|
simply add a notice stating that you modified the file.)
|
|
**Origin**
|
- Clause 1 of the IJG License
|
- Clause 2 of the zlib License
|
|
3. You must include the IJG README file, and you must not alter any of the
|
copyright or license text in that file.
|
|
**Origin**
|
- Clause 1 of the IJG License
|
|
2. If you are distributing only libjpeg-turbo binaries without the source, or
|
if you are distributing an application that statically links with
|
libjpeg-turbo, then:
|
|
1. Your product documentation must include a message stating:
|
|
This software is based in part on the work of the Independent JPEG
|
Group.
|
|
**Origin**
|
- Clause 2 of the IJG license
|
|
2. If your binary distribution includes or uses the TurboJPEG API, then
|
your product documentation must include the text of the Modified BSD
|
License (see below.)
|
|
**Origin**
|
- Clause 2 of the Modified BSD License
|
|
3. You cannot use the name of the IJG or The libjpeg-turbo Project or the
|
contributors thereof in advertising, publicity, etc.
|
|
**Origin**
|
- IJG License
|
- Clause 3 of the Modified BSD License
|
|
4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be
|
free of defects, nor do we accept any liability for undesirable
|
consequences resulting from your use of the software.
|
|
**Origin**
|
- IJG License
|
- Modified BSD License
|
- zlib License
|
|
|
The Modified (3-clause) BSD License
|
===================================
|
|
Copyright (C)2009-2021 D. R. Commander. All Rights Reserved.<br>
|
Copyright (C)2015 Viktor Szathmáry. All Rights Reserved.
|
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions are met:
|
|
- Redistributions of source code must retain the above copyright notice,
|
this list of conditions and the following disclaimer.
|
- Redistributions in binary form must reproduce the above copyright notice,
|
this list of conditions and the following disclaimer in the documentation
|
and/or other materials provided with the distribution.
|
- Neither the name of the libjpeg-turbo Project nor the names of its
|
contributors may be used to endorse or promote products derived from this
|
software without specific prior written permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
POSSIBILITY OF SUCH DAMAGE.
|
|
|
Why Three Licenses?
|
===================
|
|
The zlib License could have been used instead of the Modified (3-clause) BSD
|
License, and since the IJG License effectively subsumes the distribution
|
conditions of the zlib License, this would have effectively placed
|
libjpeg-turbo binary distributions under the IJG License. However, the IJG
|
License specifically refers to the Independent JPEG Group and does not extend
|
attribution and endorsement protections to other entities. Thus, it was
|
desirable to choose a license that granted us the same protections for new code
|
that were granted to the IJG for code derived from their software.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/libjpeg_turbo/LICENSE.md
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/llvm-project/llvm/LICENSE.TXT
|
--------------------------------------------------------------------------------
|
==============================================================================
|
The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
|
==============================================================================
|
|
Apache License
|
Version 2.0, January 2004
|
http://www.apache.org/licenses/
|
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
1. Definitions.
|
|
"License" shall mean the terms and conditions for use, reproduction,
|
and distribution as defined by Sections 1 through 9 of this document.
|
|
"Licensor" shall mean the copyright owner or entity authorized by
|
the copyright owner that is granting the License.
|
|
"Legal Entity" shall mean the union of the acting entity and all
|
other entities that control, are controlled by, or are under common
|
control with that entity. For the purposes of this definition,
|
"control" means (i) the power, direct or indirect, to cause the
|
direction or management of such entity, whether by contract or
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
"You" (or "Your") shall mean an individual or Legal Entity
|
exercising permissions granted by this License.
|
|
"Source" form shall mean the preferred form for making modifications,
|
including but not limited to software source code, documentation
|
source, and configuration files.
|
|
"Object" form shall mean any form resulting from mechanical
|
transformation or translation of a Source form, including but
|
not limited to compiled object code, generated documentation,
|
and conversions to other media types.
|
|
"Work" shall mean the work of authorship, whether in Source or
|
Object form, made available under the License, as indicated by a
|
copyright notice that is included in or attached to the work
|
(an example is provided in the Appendix below).
|
|
"Derivative Works" shall mean any work, whether in Source or Object
|
form, that is based on (or derived from) the Work and for which the
|
editorial revisions, annotations, elaborations, or other modifications
|
represent, as a whole, an original work of authorship. For the purposes
|
of this License, Derivative Works shall not include works that remain
|
separable from, or merely link (or bind by name) to the interfaces of,
|
the Work and Derivative Works thereof.
|
|
"Contribution" shall mean any work of authorship, including
|
the original version of the Work and any modifications or additions
|
to that Work or Derivative Works thereof, that is intentionally
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
or by an individual or Legal Entity authorized to submit on behalf of
|
the copyright owner. For the purposes of this definition, "submitted"
|
means any form of electronic, verbal, or written communication sent
|
to the Licensor or its representatives, including but not limited to
|
communication on electronic mailing lists, source code control systems,
|
and issue tracking systems that are managed by, or on behalf of, the
|
Licensor for the purpose of discussing and improving the Work, but
|
excluding communication that is conspicuously marked or otherwise
|
designated in writing by the copyright owner as "Not a Contribution."
|
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
on behalf of whom a Contribution has been received by Licensor and
|
subsequently incorporated within the Work.
|
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
copyright license to reproduce, prepare Derivative Works of,
|
publicly display, publicly perform, sublicense, and distribute the
|
Work and such Derivative Works in Source or Object form.
|
|
3. Grant of Patent License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
(except as stated in this section) patent license to make, have made,
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
where such license applies only to those patent claims licensable
|
by such Contributor that are necessarily infringed by their
|
Contribution(s) alone or by combination of their Contribution(s)
|
with the Work to which such Contribution(s) was submitted. If You
|
institute patent litigation against any entity (including a
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
or a Contribution incorporated within the Work constitutes direct
|
or contributory patent infringement, then any patent licenses
|
granted to You under this License for that Work shall terminate
|
as of the date such litigation is filed.
|
|
4. Redistribution. You may reproduce and distribute copies of the
|
Work or Derivative Works thereof in any medium, with or without
|
modifications, and in Source or Object form, provided that You
|
meet the following conditions:
|
|
(a) You must give any other recipients of the Work or
|
Derivative Works a copy of this License; and
|
|
(b) You must cause any modified files to carry prominent notices
|
stating that You changed the files; and
|
|
(c) You must retain, in the Source form of any Derivative Works
|
that You distribute, all copyright, patent, trademark, and
|
attribution notices from the Source form of the Work,
|
excluding those notices that do not pertain to any part of
|
the Derivative Works; and
|
|
(d) If the Work includes a "NOTICE" text file as part of its
|
distribution, then any Derivative Works that You distribute must
|
include a readable copy of the attribution notices contained
|
within such NOTICE file, excluding those notices that do not
|
pertain to any part of the Derivative Works, in at least one
|
of the following places: within a NOTICE text file distributed
|
as part of the Derivative Works; within the Source form or
|
documentation, if provided along with the Derivative Works; or,
|
within a display generated by the Derivative Works, if and
|
wherever such third-party notices normally appear. The contents
|
of the NOTICE file are for informational purposes only and
|
do not modify the License. You may add Your own attribution
|
notices within Derivative Works that You distribute, alongside
|
or as an addendum to the NOTICE text from the Work, provided
|
that such additional attribution notices cannot be construed
|
as modifying the License.
|
|
You may add Your own copyright statement to Your modifications and
|
may provide additional or different license terms and conditions
|
for use, reproduction, or distribution of Your modifications, or
|
for any such Derivative Works as a whole, provided Your use,
|
reproduction, and distribution of the Work otherwise complies with
|
the conditions stated in this License.
|
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
any Contribution intentionally submitted for inclusion in the Work
|
by You to the Licensor shall be under the terms and conditions of
|
this License, without any additional terms or conditions.
|
Notwithstanding the above, nothing herein shall supersede or modify
|
the terms of any separate license agreement you may have executed
|
with Licensor regarding such Contributions.
|
|
6. Trademarks. This License does not grant permission to use the trade
|
names, trademarks, service marks, or product names of the Licensor,
|
except as required for reasonable and customary use in describing the
|
origin of the Work and reproducing the content of the NOTICE file.
|
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
agreed to in writing, Licensor provides the Work (and each
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
implied, including, without limitation, any warranties or conditions
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
appropriateness of using or redistributing the Work and assume any
|
risks associated with Your exercise of permissions under this License.
|
|
8. Limitation of Liability. In no event and under no legal theory,
|
whether in tort (including negligence), contract, or otherwise,
|
unless required by applicable law (such as deliberate and grossly
|
negligent acts) or agreed to in writing, shall any Contributor be
|
liable to You for damages, including any direct, indirect, special,
|
incidental, or consequential damages of any character arising as a
|
result of this License or out of the use or inability to use the
|
Work (including but not limited to damages for loss of goodwill,
|
work stoppage, computer failure or malfunction, or any and all
|
other commercial damages or losses), even if such Contributor
|
has been advised of the possibility of such damages.
|
|
9. Accepting Warranty or Additional Liability. While redistributing
|
the Work or Derivative Works thereof, You may choose to offer,
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
or other liability obligations and/or rights consistent with this
|
License. However, in accepting such obligations, You may act only
|
on Your own behalf and on Your sole responsibility, not on behalf
|
of any other Contributor, and only if You agree to indemnify,
|
defend, and hold each Contributor harmless for any liability
|
incurred by, or claims asserted against, such Contributor by reason
|
of your accepting any such warranty or additional liability.
|
|
END OF TERMS AND CONDITIONS
|
|
APPENDIX: How to apply the Apache License to your work.
|
|
To apply the Apache License to your work, attach the following
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
replaced with your own identifying information. (Don't include
|
the brackets!) The text should be enclosed in the appropriate
|
comment syntax for the file format. We also recommend that a
|
file or class name and description of purpose be included on the
|
same "printed page" as the copyright notice for easier
|
identification within third-party archives.
|
|
Copyright [yyyy] [name of copyright owner]
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
you may not use this file except in compliance with the License.
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
distributed under the License is distributed on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
See the License for the specific language governing permissions and
|
limitations under the License.
|
|
|
---- LLVM Exceptions to the Apache 2.0 License ----
|
|
As an exception, if, as a result of your compiling your source code, portions
|
of this Software are embedded into an Object form of such source code, you
|
may redistribute such embedded portions in such Object form without complying
|
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
|
|
In addition, if you combine or link compiled forms of this Software with
|
software that is licensed under the GPLv2 ("Combined Software") and if a
|
court of competent jurisdiction determines that the patent provision (Section
|
3), the indemnity provision (Section 9) or other Section of the License
|
conflicts with the conditions of the GPLv2, you may retroactively and
|
prospectively choose to deem waived or otherwise exclude such Section(s) of
|
the License, but only in their entirety and only with respect to the Combined
|
Software.
|
|
==============================================================================
|
Software from third parties included in the LLVM Project:
|
==============================================================================
|
The LLVM Project contains third party software which is under different license
|
terms. All such code will be identified clearly using at least one of two
|
mechanisms:
|
1) It will be in a separate directory tree with its own `LICENSE.txt` or
|
`LICENSE` file at the top containing the specific license and restrictions
|
which apply to that software, or
|
2) It will contain specific license and restriction terms at the top of every
|
file.
|
|
==============================================================================
|
Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
|
==============================================================================
|
University of Illinois/NCSA
|
Open Source License
|
|
Copyright (c) 2003-2019 University of Illinois at Urbana-Champaign.
|
All rights reserved.
|
|
Developed by:
|
|
LLVM Team
|
|
University of Illinois at Urbana-Champaign
|
|
http://llvm.org
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
this software and associated documentation files (the "Software"), to deal with
|
the Software without restriction, including without limitation the rights to
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
of the Software, and to permit persons to whom the Software is furnished to do
|
so, subject to the following conditions:
|
|
* Redistributions of source code must retain the above copyright notice,
|
this list of conditions and the following disclaimers.
|
|
* Redistributions in binary form must reproduce the above copyright notice,
|
this list of conditions and the following disclaimers in the
|
documentation and/or other materials provided with the distribution.
|
|
* Neither the names of the LLVM Team, University of Illinois at
|
Urbana-Champaign, nor the names of its contributors may be used to
|
endorse or promote products derived from this Software without specific
|
prior written permission.
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
|
SOFTWARE.
|
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/llvm-project/llvm/LICENSE.TXT
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/llvm-project/mlir/LICENSE.TXT
|
--------------------------------------------------------------------------------
|
==============================================================================
|
The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
|
==============================================================================
|
|
Apache License
|
Version 2.0, January 2004
|
http://www.apache.org/licenses/
|
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
1. Definitions.
|
|
"License" shall mean the terms and conditions for use, reproduction,
|
and distribution as defined by Sections 1 through 9 of this document.
|
|
"Licensor" shall mean the copyright owner or entity authorized by
|
the copyright owner that is granting the License.
|
|
"Legal Entity" shall mean the union of the acting entity and all
|
other entities that control, are controlled by, or are under common
|
control with that entity. For the purposes of this definition,
|
"control" means (i) the power, direct or indirect, to cause the
|
direction or management of such entity, whether by contract or
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
"You" (or "Your") shall mean an individual or Legal Entity
|
exercising permissions granted by this License.
|
|
"Source" form shall mean the preferred form for making modifications,
|
including but not limited to software source code, documentation
|
source, and configuration files.
|
|
"Object" form shall mean any form resulting from mechanical
|
transformation or translation of a Source form, including but
|
not limited to compiled object code, generated documentation,
|
and conversions to other media types.
|
|
"Work" shall mean the work of authorship, whether in Source or
|
Object form, made available under the License, as indicated by a
|
copyright notice that is included in or attached to the work
|
(an example is provided in the Appendix below).
|
|
"Derivative Works" shall mean any work, whether in Source or Object
|
form, that is based on (or derived from) the Work and for which the
|
editorial revisions, annotations, elaborations, or other modifications
|
represent, as a whole, an original work of authorship. For the purposes
|
of this License, Derivative Works shall not include works that remain
|
separable from, or merely link (or bind by name) to the interfaces of,
|
the Work and Derivative Works thereof.
|
|
"Contribution" shall mean any work of authorship, including
|
the original version of the Work and any modifications or additions
|
to that Work or Derivative Works thereof, that is intentionally
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
or by an individual or Legal Entity authorized to submit on behalf of
|
the copyright owner. For the purposes of this definition, "submitted"
|
means any form of electronic, verbal, or written communication sent
|
to the Licensor or its representatives, including but not limited to
|
communication on electronic mailing lists, source code control systems,
|
and issue tracking systems that are managed by, or on behalf of, the
|
Licensor for the purpose of discussing and improving the Work, but
|
excluding communication that is conspicuously marked or otherwise
|
designated in writing by the copyright owner as "Not a Contribution."
|
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
on behalf of whom a Contribution has been received by Licensor and
|
subsequently incorporated within the Work.
|
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
copyright license to reproduce, prepare Derivative Works of,
|
publicly display, publicly perform, sublicense, and distribute the
|
Work and such Derivative Works in Source or Object form.
|
|
3. Grant of Patent License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
(except as stated in this section) patent license to make, have made,
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
where such license applies only to those patent claims licensable
|
by such Contributor that are necessarily infringed by their
|
Contribution(s) alone or by combination of their Contribution(s)
|
with the Work to which such Contribution(s) was submitted. If You
|
institute patent litigation against any entity (including a
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
or a Contribution incorporated within the Work constitutes direct
|
or contributory patent infringement, then any patent licenses
|
granted to You under this License for that Work shall terminate
|
as of the date such litigation is filed.
|
|
4. Redistribution. You may reproduce and distribute copies of the
|
Work or Derivative Works thereof in any medium, with or without
|
modifications, and in Source or Object form, provided that You
|
meet the following conditions:
|
|
(a) You must give any other recipients of the Work or
|
Derivative Works a copy of this License; and
|
|
(b) You must cause any modified files to carry prominent notices
|
stating that You changed the files; and
|
|
(c) You must retain, in the Source form of any Derivative Works
|
that You distribute, all copyright, patent, trademark, and
|
attribution notices from the Source form of the Work,
|
excluding those notices that do not pertain to any part of
|
the Derivative Works; and
|
|
(d) If the Work includes a "NOTICE" text file as part of its
|
distribution, then any Derivative Works that You distribute must
|
include a readable copy of the attribution notices contained
|
within such NOTICE file, excluding those notices that do not
|
pertain to any part of the Derivative Works, in at least one
|
of the following places: within a NOTICE text file distributed
|
as part of the Derivative Works; within the Source form or
|
documentation, if provided along with the Derivative Works; or,
|
within a display generated by the Derivative Works, if and
|
wherever such third-party notices normally appear. The contents
|
of the NOTICE file are for informational purposes only and
|
do not modify the License. You may add Your own attribution
|
notices within Derivative Works that You distribute, alongside
|
or as an addendum to the NOTICE text from the Work, provided
|
that such additional attribution notices cannot be construed
|
as modifying the License.
|
|
You may add Your own copyright statement to Your modifications and
|
may provide additional or different license terms and conditions
|
for use, reproduction, or distribution of Your modifications, or
|
for any such Derivative Works as a whole, provided Your use,
|
reproduction, and distribution of the Work otherwise complies with
|
the conditions stated in this License.
|
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
any Contribution intentionally submitted for inclusion in the Work
|
by You to the Licensor shall be under the terms and conditions of
|
this License, without any additional terms or conditions.
|
Notwithstanding the above, nothing herein shall supersede or modify
|
the terms of any separate license agreement you may have executed
|
with Licensor regarding such Contributions.
|
|
6. Trademarks. This License does not grant permission to use the trade
|
names, trademarks, service marks, or product names of the Licensor,
|
except as required for reasonable and customary use in describing the
|
origin of the Work and reproducing the content of the NOTICE file.
|
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
agreed to in writing, Licensor provides the Work (and each
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
implied, including, without limitation, any warranties or conditions
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
appropriateness of using or redistributing the Work and assume any
|
risks associated with Your exercise of permissions under this License.
|
|
8. Limitation of Liability. In no event and under no legal theory,
|
whether in tort (including negligence), contract, or otherwise,
|
unless required by applicable law (such as deliberate and grossly
|
negligent acts) or agreed to in writing, shall any Contributor be
|
liable to You for damages, including any direct, indirect, special,
|
incidental, or consequential damages of any character arising as a
|
result of this License or out of the use or inability to use the
|
Work (including but not limited to damages for loss of goodwill,
|
work stoppage, computer failure or malfunction, or any and all
|
other commercial damages or losses), even if such Contributor
|
has been advised of the possibility of such damages.
|
|
9. Accepting Warranty or Additional Liability. While redistributing
|
the Work or Derivative Works thereof, You may choose to offer,
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
or other liability obligations and/or rights consistent with this
|
License. However, in accepting such obligations, You may act only
|
on Your own behalf and on Your sole responsibility, not on behalf
|
of any other Contributor, and only if You agree to indemnify,
|
defend, and hold each Contributor harmless for any liability
|
incurred by, or claims asserted against, such Contributor by reason
|
of your accepting any such warranty or additional liability.
|
|
END OF TERMS AND CONDITIONS
|
|
APPENDIX: How to apply the Apache License to your work.
|
|
To apply the Apache License to your work, attach the following
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
replaced with your own identifying information. (Don't include
|
the brackets!) The text should be enclosed in the appropriate
|
comment syntax for the file format. We also recommend that a
|
file or class name and description of purpose be included on the
|
same "printed page" as the copyright notice for easier
|
identification within third-party archives.
|
|
Copyright [yyyy] [name of copyright owner]
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
you may not use this file except in compliance with the License.
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
distributed under the License is distributed on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
See the License for the specific language governing permissions and
|
limitations under the License.
|
|
|
---- LLVM Exceptions to the Apache 2.0 License ----
|
|
As an exception, if, as a result of your compiling your source code, portions
|
of this Software are embedded into an Object form of such source code, you
|
may redistribute such embedded portions in such Object form without complying
|
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
|
|
In addition, if you combine or link compiled forms of this Software with
|
software that is licensed under the GPLv2 ("Combined Software") and if a
|
court of competent jurisdiction determines that the patent provision (Section
|
3), the indemnity provision (Section 9) or other Section of the License
|
conflicts with the conditions of the GPLv2, you may retroactively and
|
prospectively choose to deem waived or otherwise exclude such Section(s) of
|
the License, but only in their entirety and only with respect to the Combined
|
Software.
|
|
==============================================================================
|
Software from third parties included in the LLVM Project:
|
==============================================================================
|
The LLVM Project contains third party software which is under different license
|
terms. All such code will be identified clearly using at least one of two
|
mechanisms:
|
1) It will be in a separate directory tree with its own `LICENSE.txt` or
|
`LICENSE` file at the top containing the specific license and restrictions
|
which apply to that software, or
|
2) It will contain specific license and restriction terms at the top of every
|
file.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/llvm-project/mlir/LICENSE.TXT
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/lmdb/LICENSE
|
--------------------------------------------------------------------------------
|
The OpenLDAP Public License
|
Version 2.8, 17 August 2003
|
|
Redistribution and use of this software and associated documentation
|
("Software"), with or without modification, are permitted provided
|
that the following conditions are met:
|
|
1. Redistributions in source form must retain copyright statements
|
and notices,
|
|
2. Redistributions in binary form must reproduce applicable copyright
|
statements and notices, this list of conditions, and the following
|
disclaimer in the documentation and/or other materials provided
|
with the distribution, and
|
|
3. Redistributions must contain a verbatim copy of this document.
|
|
The OpenLDAP Foundation may revise this license from time to time.
|
Each revision is distinguished by a version number. You may use
|
this Software under terms of this license revision or under the
|
terms of any subsequent revision of the license.
|
|
THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
|
CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
|
OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
POSSIBILITY OF SUCH DAMAGE.
|
|
The names of the authors and copyright holders must not be used in
|
advertising or otherwise to promote the sale, use or other dealing
|
in this Software without specific, written prior permission. Title
|
to copyright in this Software shall at all times remain with copyright
|
holders.
|
|
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
|
|
Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
|
California, USA. All Rights Reserved. Permission to copy and
|
distribute verbatim copies of this document is granted.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/lmdb/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/local_config_tensorrt/LICENSE
|
--------------------------------------------------------------------------------
|
Copyright 2018 The TensorFlow Authors. All rights reserved.
|
|
Apache License
|
Version 2.0, January 2004
|
http://www.apache.org/licenses/
|
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
1. Definitions.
|
|
"License" shall mean the terms and conditions for use, reproduction,
|
and distribution as defined by Sections 1 through 9 of this document.
|
|
"Licensor" shall mean the copyright owner or entity authorized by
|
the copyright owner that is granting the License.
|
|
"Legal Entity" shall mean the union of the acting entity and all
|
other entities that control, are controlled by, or are under common
|
control with that entity. For the purposes of this definition,
|
"control" means (i) the power, direct or indirect, to cause the
|
direction or management of such entity, whether by contract or
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
"You" (or "Your") shall mean an individual or Legal Entity
|
exercising permissions granted by this License.
|
|
"Source" form shall mean the preferred form for making modifications,
|
including but not limited to software source code, documentation
|
source, and configuration files.
|
|
"Object" form shall mean any form resulting from mechanical
|
transformation or translation of a Source form, including but
|
not limited to compiled object code, generated documentation,
|
and conversions to other media types.
|
|
"Work" shall mean the work of authorship, whether in Source or
|
Object form, made available under the License, as indicated by a
|
copyright notice that is included in or attached to the work
|
(an example is provided in the Appendix below).
|
|
"Derivative Works" shall mean any work, whether in Source or Object
|
form, that is based on (or derived from) the Work and for which the
|
editorial revisions, annotations, elaborations, or other modifications
|
represent, as a whole, an original work of authorship. For the purposes
|
of this License, Derivative Works shall not include works that remain
|
separable from, or merely link (or bind by name) to the interfaces of,
|
the Work and Derivative Works thereof.
|
|
"Contribution" shall mean any work of authorship, including
|
the original version of the Work and any modifications or additions
|
to that Work or Derivative Works thereof, that is intentionally
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
or by an individual or Legal Entity authorized to submit on behalf of
|
the copyright owner. For the purposes of this definition, "submitted"
|
means any form of electronic, verbal, or written communication sent
|
to the Licensor or its representatives, including but not limited to
|
communication on electronic mailing lists, source code control systems,
|
and issue tracking systems that are managed by, or on behalf of, the
|
Licensor for the purpose of discussing and improving the Work, but
|
excluding communication that is conspicuously marked or otherwise
|
designated in writing by the copyright owner as "Not a Contribution."
|
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
on behalf of whom a Contribution has been received by Licensor and
|
subsequently incorporated within the Work.
|
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
copyright license to reproduce, prepare Derivative Works of,
|
publicly display, publicly perform, sublicense, and distribute the
|
Work and such Derivative Works in Source or Object form.
|
|
3. Grant of Patent License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
(except as stated in this section) patent license to make, have made,
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
where such license applies only to those patent claims licensable
|
by such Contributor that are necessarily infringed by their
|
Contribution(s) alone or by combination of their Contribution(s)
|
with the Work to which such Contribution(s) was submitted. If You
|
institute patent litigation against any entity (including a
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
or a Contribution incorporated within the Work constitutes direct
|
or contributory patent infringement, then any patent licenses
|
granted to You under this License for that Work shall terminate
|
as of the date such litigation is filed.
|
|
4. Redistribution. You may reproduce and distribute copies of the
|
Work or Derivative Works thereof in any medium, with or without
|
modifications, and in Source or Object form, provided that You
|
meet the following conditions:
|
|
(a) You must give any other recipients of the Work or
|
Derivative Works a copy of this License; and
|
|
(b) You must cause any modified files to carry prominent notices
|
stating that You changed the files; and
|
|
(c) You must retain, in the Source form of any Derivative Works
|
that You distribute, all copyright, patent, trademark, and
|
attribution notices from the Source form of the Work,
|
excluding those notices that do not pertain to any part of
|
the Derivative Works; and
|
|
(d) If the Work includes a "NOTICE" text file as part of its
|
distribution, then any Derivative Works that You distribute must
|
include a readable copy of the attribution notices contained
|
within such NOTICE file, excluding those notices that do not
|
pertain to any part of the Derivative Works, in at least one
|
of the following places: within a NOTICE text file distributed
|
as part of the Derivative Works; within the Source form or
|
documentation, if provided along with the Derivative Works; or,
|
within a display generated by the Derivative Works, if and
|
wherever such third-party notices normally appear. The contents
|
of the NOTICE file are for informational purposes only and
|
do not modify the License. You may add Your own attribution
|
notices within Derivative Works that You distribute, alongside
|
or as an addendum to the NOTICE text from the Work, provided
|
that such additional attribution notices cannot be construed
|
as modifying the License.
|
|
You may add Your own copyright statement to Your modifications and
|
may provide additional or different license terms and conditions
|
for use, reproduction, or distribution of Your modifications, or
|
for any such Derivative Works as a whole, provided Your use,
|
reproduction, and distribution of the Work otherwise complies with
|
the conditions stated in this License.
|
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
any Contribution intentionally submitted for inclusion in the Work
|
by You to the Licensor shall be under the terms and conditions of
|
this License, without any additional terms or conditions.
|
Notwithstanding the above, nothing herein shall supersede or modify
|
the terms of any separate license agreement you may have executed
|
with Licensor regarding such Contributions.
|
|
6. Trademarks. This License does not grant permission to use the trade
|
names, trademarks, service marks, or product names of the Licensor,
|
except as required for reasonable and customary use in describing the
|
origin of the Work and reproducing the content of the NOTICE file.
|
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
agreed to in writing, Licensor provides the Work (and each
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
implied, including, without limitation, any warranties or conditions
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
appropriateness of using or redistributing the Work and assume any
|
risks associated with Your exercise of permissions under this License.
|
|
8. Limitation of Liability. In no event and under no legal theory,
|
whether in tort (including negligence), contract, or otherwise,
|
unless required by applicable law (such as deliberate and grossly
|
negligent acts) or agreed to in writing, shall any Contributor be
|
liable to You for damages, including any direct, indirect, special,
|
incidental, or consequential damages of any character arising as a
|
result of this License or out of the use or inability to use the
|
Work (including but not limited to damages for loss of goodwill,
|
work stoppage, computer failure or malfunction, or any and all
|
other commercial damages or losses), even if such Contributor
|
has been advised of the possibility of such damages.
|
|
9. Accepting Warranty or Additional Liability. While redistributing
|
the Work or Derivative Works thereof, You may choose to offer,
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
or other liability obligations and/or rights consistent with this
|
License. However, in accepting such obligations, You may act only
|
on Your own behalf and on Your sole responsibility, not on behalf
|
of any other Contributor, and only if You agree to indemnify,
|
defend, and hold each Contributor harmless for any liability
|
incurred by, or claims asserted against, such Contributor by reason
|
of your accepting any such warranty or additional liability.
|
|
END OF TERMS AND CONDITIONS
|
|
APPENDIX: How to apply the Apache License to your work.
|
|
To apply the Apache License to your work, attach the following
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
replaced with your own identifying information. (Don't include
|
the brackets!) The text should be enclosed in the appropriate
|
comment syntax for the file format. We also recommend that a
|
file or class name and description of purpose be included on the
|
same "printed page" as the copyright notice for easier
|
identification within third-party archives.
|
|
Copyright 2018, The TensorFlow Authors.
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
you may not use this file except in compliance with the License.
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
distributed under the License is distributed on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
See the License for the specific language governing permissions and
|
limitations under the License.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/local_config_tensorrt/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/nasm/LICENSE
|
--------------------------------------------------------------------------------
|
NASM is now licensed under the 2-clause BSD license, also known as the
|
simplified BSD license.
|
|
Copyright 1996-2010 the NASM Authors - All rights reserved.
|
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following
|
conditions are met:
|
|
* Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above
|
copyright notice, this list of conditions and the following
|
disclaimer in the documentation and/or other materials provided
|
with the distribution.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/nasm/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/nsync/LICENSE
|
--------------------------------------------------------------------------------
|
|
Apache License
|
Version 2.0, January 2004
|
http://www.apache.org/licenses/
|
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
1. Definitions.
|
|
"License" shall mean the terms and conditions for use, reproduction,
|
and distribution as defined by Sections 1 through 9 of this document.
|
|
"Licensor" shall mean the copyright owner or entity authorized by
|
the copyright owner that is granting the License.
|
|
"Legal Entity" shall mean the union of the acting entity and all
|
other entities that control, are controlled by, or are under common
|
control with that entity. For the purposes of this definition,
|
"control" means (i) the power, direct or indirect, to cause the
|
direction or management of such entity, whether by contract or
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
"You" (or "Your") shall mean an individual or Legal Entity
|
exercising permissions granted by this License.
|
|
"Source" form shall mean the preferred form for making modifications,
|
including but not limited to software source code, documentation
|
source, and configuration files.
|
|
"Object" form shall mean any form resulting from mechanical
|
transformation or translation of a Source form, including but
|
not limited to compiled object code, generated documentation,
|
and conversions to other media types.
|
|
"Work" shall mean the work of authorship, whether in Source or
|
Object form, made available under the License, as indicated by a
|
copyright notice that is included in or attached to the work
|
(an example is provided in the Appendix below).
|
|
"Derivative Works" shall mean any work, whether in Source or Object
|
form, that is based on (or derived from) the Work and for which the
|
editorial revisions, annotations, elaborations, or other modifications
|
represent, as a whole, an original work of authorship. For the purposes
|
of this License, Derivative Works shall not include works that remain
|
separable from, or merely link (or bind by name) to the interfaces of,
|
the Work and Derivative Works thereof.
|
|
"Contribution" shall mean any work of authorship, including
|
the original version of the Work and any modifications or additions
|
to that Work or Derivative Works thereof, that is intentionally
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
or by an individual or Legal Entity authorized to submit on behalf of
|
the copyright owner. For the purposes of this definition, "submitted"
|
means any form of electronic, verbal, or written communication sent
|
to the Licensor or its representatives, including but not limited to
|
communication on electronic mailing lists, source code control systems,
|
and issue tracking systems that are managed by, or on behalf of, the
|
Licensor for the purpose of discussing and improving the Work, but
|
excluding communication that is conspicuously marked or otherwise
|
designated in writing by the copyright owner as "Not a Contribution."
|
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
on behalf of whom a Contribution has been received by Licensor and
|
subsequently incorporated within the Work.
|
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
copyright license to reproduce, prepare Derivative Works of,
|
publicly display, publicly perform, sublicense, and distribute the
|
Work and such Derivative Works in Source or Object form.
|
|
3. Grant of Patent License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
(except as stated in this section) patent license to make, have made,
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
where such license applies only to those patent claims licensable
|
by such Contributor that are necessarily infringed by their
|
Contribution(s) alone or by combination of their Contribution(s)
|
with the Work to which such Contribution(s) was submitted. If You
|
institute patent litigation against any entity (including a
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
or a Contribution incorporated within the Work constitutes direct
|
or contributory patent infringement, then any patent licenses
|
granted to You under this License for that Work shall terminate
|
as of the date such litigation is filed.
|
|
4. Redistribution. You may reproduce and distribute copies of the
|
Work or Derivative Works thereof in any medium, with or without
|
modifications, and in Source or Object form, provided that You
|
meet the following conditions:
|
|
(a) You must give any other recipients of the Work or
|
Derivative Works a copy of this License; and
|
|
(b) You must cause any modified files to carry prominent notices
|
stating that You changed the files; and
|
|
(c) You must retain, in the Source form of any Derivative Works
|
that You distribute, all copyright, patent, trademark, and
|
attribution notices from the Source form of the Work,
|
excluding those notices that do not pertain to any part of
|
the Derivative Works; and
|
|
(d) If the Work includes a "NOTICE" text file as part of its
|
distribution, then any Derivative Works that You distribute must
|
include a readable copy of the attribution notices contained
|
within such NOTICE file, excluding those notices that do not
|
pertain to any part of the Derivative Works, in at least one
|
of the following places: within a NOTICE text file distributed
|
as part of the Derivative Works; within the Source form or
|
documentation, if provided along with the Derivative Works; or,
|
within a display generated by the Derivative Works, if and
|
wherever such third-party notices normally appear. The contents
|
of the NOTICE file are for informational purposes only and
|
do not modify the License. You may add Your own attribution
|
notices within Derivative Works that You distribute, alongside
|
or as an addendum to the NOTICE text from the Work, provided
|
that such additional attribution notices cannot be construed
|
as modifying the License.
|
|
You may add Your own copyright statement to Your modifications and
|
may provide additional or different license terms and conditions
|
for use, reproduction, or distribution of Your modifications, or
|
for any such Derivative Works as a whole, provided Your use,
|
reproduction, and distribution of the Work otherwise complies with
|
the conditions stated in this License.
|
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
any Contribution intentionally submitted for inclusion in the Work
|
by You to the Licensor shall be under the terms and conditions of
|
this License, without any additional terms or conditions.
|
Notwithstanding the above, nothing herein shall supersede or modify
|
the terms of any separate license agreement you may have executed
|
with Licensor regarding such Contributions.
|
|
6. Trademarks. This License does not grant permission to use the trade
|
names, trademarks, service marks, or product names of the Licensor,
|
except as required for reasonable and customary use in describing the
|
origin of the Work and reproducing the content of the NOTICE file.
|
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
agreed to in writing, Licensor provides the Work (and each
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
implied, including, without limitation, any warranties or conditions
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
appropriateness of using or redistributing the Work and assume any
|
risks associated with Your exercise of permissions under this License.
|
|
8. Limitation of Liability. In no event and under no legal theory,
|
whether in tort (including negligence), contract, or otherwise,
|
unless required by applicable law (such as deliberate and grossly
|
negligent acts) or agreed to in writing, shall any Contributor be
|
liable to You for damages, including any direct, indirect, special,
|
incidental, or consequential damages of any character arising as a
|
result of this License or out of the use or inability to use the
|
Work (including but not limited to damages for loss of goodwill,
|
work stoppage, computer failure or malfunction, or any and all
|
other commercial damages or losses), even if such Contributor
|
has been advised of the possibility of such damages.
|
|
9. Accepting Warranty or Additional Liability. While redistributing
|
the Work or Derivative Works thereof, You may choose to offer,
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
or other liability obligations and/or rights consistent with this
|
License. However, in accepting such obligations, You may act only
|
on Your own behalf and on Your sole responsibility, not on behalf
|
of any other Contributor, and only if You agree to indemnify,
|
defend, and hold each Contributor harmless for any liability
|
incurred by, or claims asserted against, such Contributor by reason
|
of your accepting any such warranty or additional liability.
|
|
END OF TERMS AND CONDITIONS
|
|
APPENDIX: How to apply the Apache License to your work.
|
|
To apply the Apache License to your work, attach the following
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
replaced with your own identifying information. (Don't include
|
the brackets!) The text should be enclosed in the appropriate
|
comment syntax for the file format. We also recommend that a
|
file or class name and description of purpose be included on the
|
same "printed page" as the copyright notice for easier
|
identification within third-party archives.
|
|
Copyright [yyyy] [name of copyright owner]
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
you may not use this file except in compliance with the License.
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
distributed under the License is distributed on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
See the License for the specific language governing permissions and
|
limitations under the License.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/nsync/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/png/LICENSE
|
--------------------------------------------------------------------------------
|
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
|
=========================================
|
|
PNG Reference Library License version 2
|
---------------------------------------
|
|
* Copyright (c) 1995-2019 The PNG Reference Library Authors.
|
* Copyright (c) 2018-2019 Cosmin Truta.
|
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
|
* Copyright (c) 1996-1997 Andreas Dilger.
|
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
|
|
The software is supplied "as is", without warranty of any kind,
|
express or implied, including, without limitation, the warranties
|
of merchantability, fitness for a particular purpose, title, and
|
non-infringement. In no event shall the Copyright owners, or
|
anyone distributing the software, be liable for any damages or
|
other liability, whether in contract, tort or otherwise, arising
|
from, out of, or in connection with the software, or the use or
|
other dealings in the software, even if advised of the possibility
|
of such damage.
|
|
Permission is hereby granted to use, copy, modify, and distribute
|
this software, or portions hereof, for any purpose, without fee,
|
subject to the following restrictions:
|
|
1. The origin of this software must not be misrepresented; you
|
must not claim that you wrote the original software. If you
|
use this software in a product, an acknowledgment in the product
|
documentation would be appreciated, but is not required.
|
|
2. Altered source versions must be plainly marked as such, and must
|
not be misrepresented as being the original software.
|
|
3. This Copyright notice may not be removed or altered from any
|
source or altered source distribution.
|
|
|
PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
|
-----------------------------------------------------------------------
|
|
libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are
|
Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
|
derived from libpng-1.0.6, and are distributed according to the same
|
disclaimer and license as libpng-1.0.6 with the following individuals
|
added to the list of Contributing Authors:
|
|
Simon-Pierre Cadieux
|
Eric S. Raymond
|
Mans Rullgard
|
Cosmin Truta
|
Gilles Vollant
|
James Yu
|
Mandar Sahastrabuddhe
|
Google Inc.
|
Vadim Barkov
|
|
and with the following additions to the disclaimer:
|
|
There is no warranty against interference with your enjoyment of
|
the library or against infringement. There is no warranty that our
|
efforts or the library will fulfill any of your particular purposes
|
or needs. This library is provided with all faults, and the entire
|
risk of satisfactory quality, performance, accuracy, and effort is
|
with the user.
|
|
Some files in the "contrib" directory and some configure-generated
|
files that are distributed with libpng have other copyright owners, and
|
are released under other open source licenses.
|
|
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
|
Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
|
libpng-0.96, and are distributed according to the same disclaimer and
|
license as libpng-0.96, with the following individuals added to the
|
list of Contributing Authors:
|
|
Tom Lane
|
Glenn Randers-Pehrson
|
Willem van Schaik
|
|
libpng versions 0.89, June 1996, through 0.96, May 1997, are
|
Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
|
and are distributed according to the same disclaimer and license as
|
libpng-0.88, with the following individuals added to the list of
|
Contributing Authors:
|
|
John Bowler
|
Kevin Bracey
|
Sam Bushell
|
Magnus Holmgren
|
Greg Roelofs
|
Tom Tanner
|
|
Some files in the "scripts" directory have other copyright owners,
|
but are released under this license.
|
|
libpng versions 0.5, May 1995, through 0.88, January 1996, are
|
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
|
|
For the purposes of this copyright and license, "Contributing Authors"
|
is defined as the following set of individuals:
|
|
Andreas Dilger
|
Dave Martindale
|
Guy Eric Schalnat
|
Paul Schmidt
|
Tim Wegner
|
|
The PNG Reference Library is supplied "AS IS". The Contributing
|
Authors and Group 42, Inc. disclaim all warranties, expressed or
|
implied, including, without limitation, the warranties of
|
merchantability and of fitness for any purpose. The Contributing
|
Authors and Group 42, Inc. assume no liability for direct, indirect,
|
incidental, special, exemplary, or consequential damages, which may
|
result from the use of the PNG Reference Library, even if advised of
|
the possibility of such damage.
|
|
Permission is hereby granted to use, copy, modify, and distribute this
|
source code, or portions hereof, for any purpose, without fee, subject
|
to the following restrictions:
|
|
1. The origin of this source code must not be misrepresented.
|
|
2. Altered versions must be plainly marked as such and must not
|
be misrepresented as being the original source.
|
|
3. This Copyright notice may not be removed or altered from any
|
source or altered source distribution.
|
|
The Contributing Authors and Group 42, Inc. specifically permit,
|
without fee, and encourage the use of this source code as a component
|
to supporting the PNG file format in commercial products. If you use
|
this source code in a product, acknowledgment is not required but would
|
be appreciated.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/png/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/snappy/COPYING
|
--------------------------------------------------------------------------------
|
Copyright 2011, Google Inc.
|
All rights reserved.
|
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions are
|
met:
|
|
* Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above
|
copyright notice, this list of conditions and the following disclaimer
|
in the documentation and/or other materials provided with the
|
distribution.
|
* Neither the name of Google Inc. nor the names of its
|
contributors may be used to endorse or promote products derived from
|
this software without specific prior written permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
===
|
|
Some of the benchmark data in testdata/ is licensed differently:
|
|
- fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and
|
is licensed under the Creative Commons Attribution 3.0 license
|
(CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/
|
for more information.
|
|
- kppkn.gtb is taken from the Gaviota chess tablebase set, and
|
is licensed under the MIT License. See
|
https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1
|
for more information.
|
|
- paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper
|
“Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA
|
Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro,
|
which is licensed under the CC-BY license. See
|
http://www.ploscompbiol.org/static/license for more ifnormation.
|
|
- alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project
|
Gutenberg. The first three have expired copyrights and are in the public
|
domain; the latter does not have expired copyright, but is still in the
|
public domain according to the license information
|
(http://www.gutenberg.org/ebooks/53).
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/snappy/COPYING
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/zlib/zlib.h
|
--------------------------------------------------------------------------------
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
version 1.2.12, March 11th, 2022
|
|
Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
|
|
This software is provided 'as-is', without any express or implied
|
warranty. In no event will the authors be held liable for any damages
|
arising from the use of this software.
|
|
Permission is granted to anyone to use this software for any purpose,
|
including commercial applications, and to alter it and redistribute it
|
freely, subject to the following restrictions:
|
|
1. The origin of this software must not be misrepresented; you must not
|
claim that you wrote the original software. If you use this software
|
in a product, an acknowledgment in the product documentation would be
|
appreciated but is not required.
|
2. Altered source versions must be plainly marked as such, and must not be
|
misrepresented as being the original software.
|
3. This notice may not be removed or altered from any source distribution.
|
|
Jean-loup Gailly Mark Adler
|
jloup@gzip.org madler@alumni.caltech.edu
|
|
|
The data format used by the zlib library is described by RFCs (Request for
|
Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950
|
(zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).
|
*/
|
|
#ifndef ZLIB_H
|
#define ZLIB_H
|
|
#include "zconf.h"
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
#define ZLIB_VERSION "1.2.12"
|
#define ZLIB_VERNUM 0x12c0
|
#define ZLIB_VER_MAJOR 1
|
#define ZLIB_VER_MINOR 2
|
#define ZLIB_VER_REVISION 12
|
#define ZLIB_VER_SUBREVISION 0
|
|
/*
|
The 'zlib' compression library provides in-memory compression and
|
decompression functions, including integrity checks of the uncompressed data.
|
This version of the library supports only one compression method (deflation)
|
but other algorithms will be added later and will have the same stream
|
interface.
|
|
Compression can be done in a single step if the buffers are large enough,
|
or can be done by repeated calls of the compression function. In the latter
|
case, the application must provide more input and/or consume the output
|
(providing more output space) before each call.
|
|
The compressed data format used by default by the in-memory functions is
|
the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
|
around a deflate stream, which is itself documented in RFC 1951.
|
|
The library also supports reading and writing files in gzip (.gz) format
|
with an interface similar to that of stdio using the functions that start
|
with "gz". The gzip format is different from the zlib format. gzip is a
|
gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
|
|
This library can optionally read and write gzip and raw deflate streams in
|
memory as well.
|
|
The zlib format was designed to be compact and fast for use in memory
|
and on communications channels. The gzip format was designed for single-
|
file compression on file systems, has a larger header than zlib to maintain
|
directory information, and uses a different, slower check method than zlib.
|
|
The library does not install any signal handler. The decoder checks
|
the consistency of the compressed data, so the library should never crash
|
even in the case of corrupted input.
|
*/
|
|
typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
|
typedef void (*free_func) OF((voidpf opaque, voidpf address));
|
|
struct internal_state;
|
|
typedef struct z_stream_s {
|
z_const Bytef *next_in; /* next input byte */
|
uInt avail_in; /* number of bytes available at next_in */
|
uLong total_in; /* total number of input bytes read so far */
|
|
Bytef *next_out; /* next output byte will go here */
|
uInt avail_out; /* remaining free space at next_out */
|
uLong total_out; /* total number of bytes output so far */
|
|
z_const char *msg; /* last error message, NULL if no error */
|
struct internal_state FAR *state; /* not visible by applications */
|
|
alloc_func zalloc; /* used to allocate the internal state */
|
free_func zfree; /* used to free the internal state */
|
voidpf opaque; /* private data object passed to zalloc and zfree */
|
|
int data_type; /* best guess about the data type: binary or text
|
for deflate, or the decoding state for inflate */
|
uLong adler; /* Adler-32 or CRC-32 value of the uncompressed data */
|
uLong reserved; /* reserved for future use */
|
} z_stream;
|
|
typedef z_stream FAR *z_streamp;
|
|
/*
|
gzip header information passed to and from zlib routines. See RFC 1952
|
for more details on the meanings of these fields.
|
*/
|
typedef struct gz_header_s {
|
int text; /* true if compressed data believed to be text */
|
uLong time; /* modification time */
|
int xflags; /* extra flags (not used when writing a gzip file) */
|
int os; /* operating system */
|
Bytef *extra; /* pointer to extra field or Z_NULL if none */
|
uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
|
uInt extra_max; /* space at extra (only when reading header) */
|
Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
|
uInt name_max; /* space at name (only when reading header) */
|
Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
|
uInt comm_max; /* space at comment (only when reading header) */
|
int hcrc; /* true if there was or will be a header crc */
|
int done; /* true when done reading gzip header (not used
|
when writing a gzip file) */
|
} gz_header;
|
|
typedef gz_header FAR *gz_headerp;
|
|
/*
|
The application must update next_in and avail_in when avail_in has dropped
|
to zero. It must update next_out and avail_out when avail_out has dropped
|
to zero. The application must initialize zalloc, zfree and opaque before
|
calling the init function. All other fields are set by the compression
|
library and must not be updated by the application.
|
|
The opaque value provided by the application will be passed as the first
|
parameter for calls of zalloc and zfree. This can be useful for custom
|
memory management. The compression library attaches no meaning to the
|
opaque value.
|
|
zalloc must return Z_NULL if there is not enough memory for the object.
|
If zlib is used in a multi-threaded application, zalloc and zfree must be
|
thread safe. In that case, zlib is thread-safe. When zalloc and zfree are
|
Z_NULL on entry to the initialization function, they are set to internal
|
routines that use the standard library functions malloc() and free().
|
|
On 16-bit systems, the functions zalloc and zfree must be able to allocate
|
exactly 65536 bytes, but will not be required to allocate more than this if
|
the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers
|
returned by zalloc for objects of exactly 65536 bytes *must* have their
|
offset normalized to zero. The default allocation function provided by this
|
library ensures this (see zutil.c). To reduce memory requirements and avoid
|
any allocation of 64K objects, at the expense of compression ratio, compile
|
the library with -DMAX_WBITS=14 (see zconf.h).
|
|
The fields total_in and total_out can be used for statistics or progress
|
reports. After compression, total_in holds the total size of the
|
uncompressed data and may be saved for use by the decompressor (particularly
|
if the decompressor wants to decompress everything in a single step).
|
*/
|
|
/* constants */
|
|
#define Z_NO_FLUSH 0
|
#define Z_PARTIAL_FLUSH 1
|
#define Z_SYNC_FLUSH 2
|
#define Z_FULL_FLUSH 3
|
#define Z_FINISH 4
|
#define Z_BLOCK 5
|
#define Z_TREES 6
|
/* Allowed flush values; see deflate() and inflate() below for details */
|
|
#define Z_OK 0
|
#define Z_STREAM_END 1
|
#define Z_NEED_DICT 2
|
#define Z_ERRNO (-1)
|
#define Z_STREAM_ERROR (-2)
|
#define Z_DATA_ERROR (-3)
|
#define Z_MEM_ERROR (-4)
|
#define Z_BUF_ERROR (-5)
|
#define Z_VERSION_ERROR (-6)
|
/* Return codes for the compression/decompression functions. Negative values
|
* are errors, positive values are used for special but normal events.
|
*/
|
|
#define Z_NO_COMPRESSION 0
|
#define Z_BEST_SPEED 1
|
#define Z_BEST_COMPRESSION 9
|
#define Z_DEFAULT_COMPRESSION (-1)
|
/* compression levels */
|
|
#define Z_FILTERED 1
|
#define Z_HUFFMAN_ONLY 2
|
#define Z_RLE 3
|
#define Z_FIXED 4
|
#define Z_DEFAULT_STRATEGY 0
|
/* compression strategy; see deflateInit2() below for details */
|
|
#define Z_BINARY 0
|
#define Z_TEXT 1
|
#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
|
#define Z_UNKNOWN 2
|
/* Possible values of the data_type field for deflate() */
|
|
#define Z_DEFLATED 8
|
/* The deflate compression method (the only one supported in this version) */
|
|
#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
|
|
#define zlib_version zlibVersion()
|
/* for compatibility with versions < 1.0.2 */
|
|
|
/* basic functions */
|
|
ZEXTERN const char * ZEXPORT zlibVersion OF((void));
|
/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
|
If the first character differs, the library code actually used is not
|
compatible with the zlib.h header file used by the application. This check
|
is automatically made by deflateInit and inflateInit.
|
*/
|
|
/*
|
ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
|
|
Initializes the internal stream state for compression. The fields
|
zalloc, zfree and opaque must be initialized before by the caller. If
|
zalloc and zfree are set to Z_NULL, deflateInit updates them to use default
|
allocation functions.
|
|
The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
|
1 gives best speed, 9 gives best compression, 0 gives no compression at all
|
(the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION
|
requests a default compromise between speed and compression (currently
|
equivalent to level 6).
|
|
deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
memory, Z_STREAM_ERROR if level is not a valid compression level, or
|
Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
|
with the version assumed by the caller (ZLIB_VERSION). msg is set to null
|
if there is no error message. deflateInit does not perform any compression:
|
this will be done by deflate().
|
*/
|
|
|
ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
|
/*
|
deflate compresses as much data as possible, and stops when the input
|
buffer becomes empty or the output buffer becomes full. It may introduce
|
some output latency (reading input without producing any output) except when
|
forced to flush.
|
|
The detailed semantics are as follows. deflate performs one or both of the
|
following actions:
|
|
- Compress more input starting at next_in and update next_in and avail_in
|
accordingly. If not all input can be processed (because there is not
|
enough room in the output buffer), next_in and avail_in are updated and
|
processing will resume at this point for the next call of deflate().
|
|
- Generate more output starting at next_out and update next_out and avail_out
|
accordingly. This action is forced if the parameter flush is non zero.
|
Forcing flush frequently degrades the compression ratio, so this parameter
|
should be set only when necessary. Some output may be provided even if
|
flush is zero.
|
|
Before the call of deflate(), the application should ensure that at least
|
one of the actions is possible, by providing more input and/or consuming more
|
output, and updating avail_in or avail_out accordingly; avail_out should
|
never be zero before the call. The application can consume the compressed
|
output when it wants, for example when the output buffer is full (avail_out
|
== 0), or after each call of deflate(). If deflate returns Z_OK and with
|
zero avail_out, it must be called again after making room in the output
|
buffer because there might be more output pending. See deflatePending(),
|
which can be used if desired to determine whether or not there is more ouput
|
in that case.
|
|
Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
|
decide how much data to accumulate before producing output, in order to
|
maximize compression.
|
|
If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
|
flushed to the output buffer and the output is aligned on a byte boundary, so
|
that the decompressor can get all input data available so far. (In
|
particular avail_in is zero after the call if enough output space has been
|
provided before the call.) Flushing may degrade compression for some
|
compression algorithms and so it should be used only when necessary. This
|
completes the current deflate block and follows it with an empty stored block
|
that is three bits plus filler bits to the next byte, followed by four bytes
|
(00 00 ff ff).
|
|
If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the
|
output buffer, but the output is not aligned to a byte boundary. All of the
|
input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
|
This completes the current deflate block and follows it with an empty fixed
|
codes block that is 10 bits long. This assures that enough bytes are output
|
in order for the decompressor to finish the block before the empty fixed
|
codes block.
|
|
If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
|
for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
|
seven bits of the current block are held to be written as the next byte after
|
the next deflate block is completed. In this case, the decompressor may not
|
be provided enough bits at this point in order to complete decompression of
|
the data provided so far to the compressor. It may need to wait for the next
|
block to be emitted. This is for advanced applications that need to control
|
the emission of deflate blocks.
|
|
If flush is set to Z_FULL_FLUSH, all output is flushed as with
|
Z_SYNC_FLUSH, and the compression state is reset so that decompression can
|
restart from this point if previous compressed data has been damaged or if
|
random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
|
compression.
|
|
If deflate returns with avail_out == 0, this function must be called again
|
with the same value of the flush parameter and more output space (updated
|
avail_out), until the flush is complete (deflate returns with non-zero
|
avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
|
avail_out is greater than six to avoid repeated flush markers due to
|
avail_out == 0 on return.
|
|
If the parameter flush is set to Z_FINISH, pending input is processed,
|
pending output is flushed and deflate returns with Z_STREAM_END if there was
|
enough output space. If deflate returns with Z_OK or Z_BUF_ERROR, this
|
function must be called again with Z_FINISH and more output space (updated
|
avail_out) but no more input data, until it returns with Z_STREAM_END or an
|
error. After deflate has returned Z_STREAM_END, the only possible operations
|
on the stream are deflateReset or deflateEnd.
|
|
Z_FINISH can be used in the first deflate call after deflateInit if all the
|
compression is to be done in a single step. In order to complete in one
|
call, avail_out must be at least the value returned by deflateBound (see
|
below). Then deflate is guaranteed to return Z_STREAM_END. If not enough
|
output space is provided, deflate will not return Z_STREAM_END, and it must
|
be called again as described above.
|
|
deflate() sets strm->adler to the Adler-32 checksum of all input read
|
so far (that is, total_in bytes). If a gzip stream is being generated, then
|
strm->adler will be the CRC-32 checksum of the input read so far. (See
|
deflateInit2 below.)
|
|
deflate() may update strm->data_type if it can make a good guess about
|
the input data type (Z_BINARY or Z_TEXT). If in doubt, the data is
|
considered binary. This field is only for information purposes and does not
|
affect the compression algorithm in any manner.
|
|
deflate() returns Z_OK if some progress has been made (more input
|
processed or more output produced), Z_STREAM_END if all input has been
|
consumed and all output has been produced (only when flush is set to
|
Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
|
if next_in or next_out was Z_NULL or the state was inadvertently written over
|
by the application), or Z_BUF_ERROR if no progress is possible (for example
|
avail_in or avail_out was zero). Note that Z_BUF_ERROR is not fatal, and
|
deflate() can be called again with more input and more output space to
|
continue compressing.
|
*/
|
|
|
ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
|
/*
|
All dynamically allocated data structures for this stream are freed.
|
This function discards any unprocessed input and does not flush any pending
|
output.
|
|
deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
|
stream state was inconsistent, Z_DATA_ERROR if the stream was freed
|
prematurely (some input or output was discarded). In the error case, msg
|
may be set but then points to a static string (which must not be
|
deallocated).
|
*/
|
|
|
/*
|
ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
|
|
Initializes the internal stream state for decompression. The fields
|
next_in, avail_in, zalloc, zfree and opaque must be initialized before by
|
the caller. In the current version of inflate, the provided input is not
|
read or consumed. The allocation of a sliding window will be deferred to
|
the first call of inflate (if the decompression does not complete on the
|
first call). If zalloc and zfree are set to Z_NULL, inflateInit updates
|
them to use default allocation functions.
|
|
inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
|
version assumed by the caller, or Z_STREAM_ERROR if the parameters are
|
invalid, such as a null pointer to the structure. msg is set to null if
|
there is no error message. inflateInit does not perform any decompression.
|
Actual decompression will be done by inflate(). So next_in, and avail_in,
|
next_out, and avail_out are unused and unchanged. The current
|
implementation of inflateInit() does not process any header information --
|
that is deferred until inflate() is called.
|
*/
|
|
|
ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
|
/*
|
inflate decompresses as much data as possible, and stops when the input
|
buffer becomes empty or the output buffer becomes full. It may introduce
|
some output latency (reading input without producing any output) except when
|
forced to flush.
|
|
The detailed semantics are as follows. inflate performs one or both of the
|
following actions:
|
|
- Decompress more input starting at next_in and update next_in and avail_in
|
accordingly. If not all input can be processed (because there is not
|
enough room in the output buffer), then next_in and avail_in are updated
|
accordingly, and processing will resume at this point for the next call of
|
inflate().
|
|
- Generate more output starting at next_out and update next_out and avail_out
|
accordingly. inflate() provides as much output as possible, until there is
|
no more input data or no more space in the output buffer (see below about
|
the flush parameter).
|
|
Before the call of inflate(), the application should ensure that at least
|
one of the actions is possible, by providing more input and/or consuming more
|
output, and updating the next_* and avail_* values accordingly. If the
|
caller of inflate() does not provide both available input and available
|
output space, it is possible that there will be no progress made. The
|
application can consume the uncompressed output when it wants, for example
|
when the output buffer is full (avail_out == 0), or after each call of
|
inflate(). If inflate returns Z_OK and with zero avail_out, it must be
|
called again after making room in the output buffer because there might be
|
more output pending.
|
|
The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH,
|
Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much
|
output as possible to the output buffer. Z_BLOCK requests that inflate()
|
stop if and when it gets to the next deflate block boundary. When decoding
|
the zlib or gzip format, this will cause inflate() to return immediately
|
after the header and before the first block. When doing a raw inflate,
|
inflate() will go ahead and process the first block, and will return when it
|
gets to the end of that block, or when it runs out of data.
|
|
The Z_BLOCK option assists in appending to or combining deflate streams.
|
To assist in this, on return inflate() always sets strm->data_type to the
|
number of unused bits in the last byte taken from strm->next_in, plus 64 if
|
inflate() is currently decoding the last block in the deflate stream, plus
|
128 if inflate() returned immediately after decoding an end-of-block code or
|
decoding the complete header up to just before the first byte of the deflate
|
stream. The end-of-block will not be indicated until all of the uncompressed
|
data from that block has been written to strm->next_out. The number of
|
unused bits may in general be greater than seven, except when bit 7 of
|
data_type is set, in which case the number of unused bits will be less than
|
eight. data_type is set as noted here every time inflate() returns for all
|
flush options, and so can be used to determine the amount of currently
|
consumed input in bits.
|
|
The Z_TREES option behaves as Z_BLOCK does, but it also returns when the
|
end of each deflate block header is reached, before any actual data in that
|
block is decoded. This allows the caller to determine the length of the
|
deflate block header for later use in random access within a deflate block.
|
256 is added to the value of strm->data_type when inflate() returns
|
immediately after reaching the end of the deflate block header.
|
|
inflate() should normally be called until it returns Z_STREAM_END or an
|
error. However if all decompression is to be performed in a single step (a
|
single call of inflate), the parameter flush should be set to Z_FINISH. In
|
this case all pending input is processed and all pending output is flushed;
|
avail_out must be large enough to hold all of the uncompressed data for the
|
operation to complete. (The size of the uncompressed data may have been
|
saved by the compressor for this purpose.) The use of Z_FINISH is not
|
required to perform an inflation in one step. However it may be used to
|
inform inflate that a faster approach can be used for the single inflate()
|
call. Z_FINISH also informs inflate to not maintain a sliding window if the
|
stream completes, which reduces inflate's memory footprint. If the stream
|
does not complete, either because not all of the stream is provided or not
|
enough output space is provided, then a sliding window will be allocated and
|
inflate() can be called again to continue the operation as if Z_NO_FLUSH had
|
been used.
|
|
In this implementation, inflate() always flushes as much output as
|
possible to the output buffer, and always uses the faster approach on the
|
first call. So the effects of the flush parameter in this implementation are
|
on the return value of inflate() as noted below, when inflate() returns early
|
when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of
|
memory for a sliding window when Z_FINISH is used.
|
|
If a preset dictionary is needed after this call (see inflateSetDictionary
|
below), inflate sets strm->adler to the Adler-32 checksum of the dictionary
|
chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
|
strm->adler to the Adler-32 checksum of all output produced so far (that is,
|
total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
|
below. At the end of the stream, inflate() checks that its computed Adler-32
|
checksum is equal to that saved by the compressor and returns Z_STREAM_END
|
only if the checksum is correct.
|
|
inflate() can decompress and check either zlib-wrapped or gzip-wrapped
|
deflate data. The header type is detected automatically, if requested when
|
initializing with inflateInit2(). Any information contained in the gzip
|
header is not retained unless inflateGetHeader() is used. When processing
|
gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output
|
produced so far. The CRC-32 is checked against the gzip trailer, as is the
|
uncompressed length, modulo 2^32.
|
|
inflate() returns Z_OK if some progress has been made (more input processed
|
or more output produced), Z_STREAM_END if the end of the compressed data has
|
been reached and all uncompressed output has been produced, Z_NEED_DICT if a
|
preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
|
corrupted (input stream not conforming to the zlib format or incorrect check
|
value, in which case strm->msg points to a string with a more specific
|
error), Z_STREAM_ERROR if the stream structure was inconsistent (for example
|
next_in or next_out was Z_NULL, or the state was inadvertently written over
|
by the application), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR
|
if no progress was possible or if there was not enough room in the output
|
buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
|
inflate() can be called again with more input and more output space to
|
continue decompressing. If Z_DATA_ERROR is returned, the application may
|
then call inflateSync() to look for a good compression block if a partial
|
recovery of the data is to be attempted.
|
*/
|
|
|
ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
|
/*
|
All dynamically allocated data structures for this stream are freed.
|
This function discards any unprocessed input and does not flush any pending
|
output.
|
|
inflateEnd returns Z_OK if success, or Z_STREAM_ERROR if the stream state
|
was inconsistent.
|
*/
|
|
|
/* Advanced functions */
|
|
/*
|
The following functions are needed only in some special applications.
|
*/
|
|
/*
|
ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
|
int level,
|
int method,
|
int windowBits,
|
int memLevel,
|
int strategy));
|
|
This is another version of deflateInit with more compression options. The
|
fields zalloc, zfree and opaque must be initialized before by the caller.
|
|
The method parameter is the compression method. It must be Z_DEFLATED in
|
this version of the library.
|
|
The windowBits parameter is the base two logarithm of the window size
|
(the size of the history buffer). It should be in the range 8..15 for this
|
version of the library. Larger values of this parameter result in better
|
compression at the expense of memory usage. The default value is 15 if
|
deflateInit is used instead.
|
|
For the current implementation of deflate(), a windowBits value of 8 (a
|
window size of 256 bytes) is not supported. As a result, a request for 8
|
will result in 9 (a 512-byte window). In that case, providing 8 to
|
inflateInit2() will result in an error when the zlib header with 9 is
|
checked against the initialization of inflate(). The remedy is to not use 8
|
with deflateInit2() with this initialization, or at least in that case use 9
|
with inflateInit2().
|
|
windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
|
determines the window size. deflate() will then generate raw deflate data
|
with no zlib header or trailer, and will not compute a check value.
|
|
windowBits can also be greater than 15 for optional gzip encoding. Add
|
16 to windowBits to write a simple gzip header and trailer around the
|
compressed data instead of a zlib wrapper. The gzip header will have no
|
file name, no extra data, no comment, no modification time (set to zero), no
|
header crc, and the operating system will be set to the appropriate value,
|
if the operating system was determined at compile time. If a gzip stream is
|
being written, strm->adler is a CRC-32 instead of an Adler-32.
|
|
For raw deflate or gzip encoding, a request for a 256-byte window is
|
rejected as invalid, since only the zlib header provides a means of
|
transmitting the window size to the decompressor.
|
|
The memLevel parameter specifies how much memory should be allocated
|
for the internal compression state. memLevel=1 uses minimum memory but is
|
slow and reduces compression ratio; memLevel=9 uses maximum memory for
|
optimal speed. The default value is 8. See zconf.h for total memory usage
|
as a function of windowBits and memLevel.
|
|
The strategy parameter is used to tune the compression algorithm. Use the
|
value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
|
filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
|
string match), or Z_RLE to limit match distances to one (run-length
|
encoding). Filtered data consists mostly of small values with a somewhat
|
random distribution. In this case, the compression algorithm is tuned to
|
compress them better. The effect of Z_FILTERED is to force more Huffman
|
coding and less string matching; it is somewhat intermediate between
|
Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as
|
fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The
|
strategy parameter only affects the compression ratio but not the
|
correctness of the compressed output even if it is not set appropriately.
|
Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler
|
decoder for special applications.
|
|
deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid
|
method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is
|
incompatible with the version assumed by the caller (ZLIB_VERSION). msg is
|
set to null if there is no error message. deflateInit2 does not perform any
|
compression: this will be done by deflate().
|
*/
|
|
ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
|
const Bytef *dictionary,
|
uInt dictLength));
|
/*
|
Initializes the compression dictionary from the given byte sequence
|
without producing any compressed output. When using the zlib format, this
|
function must be called immediately after deflateInit, deflateInit2 or
|
deflateReset, and before any call of deflate. When doing raw deflate, this
|
function must be called either before any call of deflate, or immediately
|
after the completion of a deflate block, i.e. after all input has been
|
consumed and all output has been delivered when using any of the flush
|
options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The
|
compressor and decompressor must use exactly the same dictionary (see
|
inflateSetDictionary).
|
|
The dictionary should consist of strings (byte sequences) that are likely
|
to be encountered later in the data to be compressed, with the most commonly
|
used strings preferably put towards the end of the dictionary. Using a
|
dictionary is most useful when the data to be compressed is short and can be
|
predicted with good accuracy; the data can then be compressed better than
|
with the default empty dictionary.
|
|
Depending on the size of the compression data structures selected by
|
deflateInit or deflateInit2, a part of the dictionary may in effect be
|
discarded, for example if the dictionary is larger than the window size
|
provided in deflateInit or deflateInit2. Thus the strings most likely to be
|
useful should be put at the end of the dictionary, not at the front. In
|
addition, the current implementation of deflate will use at most the window
|
size minus 262 bytes of the provided dictionary.
|
|
Upon return of this function, strm->adler is set to the Adler-32 value
|
of the dictionary; the decompressor may later use this value to determine
|
which dictionary has been used by the compressor. (The Adler-32 value
|
applies to the whole dictionary even if only a subset of the dictionary is
|
actually used by the compressor.) If a raw deflate was requested, then the
|
Adler-32 value is not computed and strm->adler is not set.
|
|
deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
|
parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
|
inconsistent (for example if deflate has already been called for this stream
|
or if not at a block boundary for raw deflate). deflateSetDictionary does
|
not perform any compression: this will be done by deflate().
|
*/
|
|
ZEXTERN int ZEXPORT deflateGetDictionary OF((z_streamp strm,
|
Bytef *dictionary,
|
uInt *dictLength));
|
/*
|
Returns the sliding dictionary being maintained by deflate. dictLength is
|
set to the number of bytes in the dictionary, and that many bytes are copied
|
to dictionary. dictionary must have enough space, where 32768 bytes is
|
always enough. If deflateGetDictionary() is called with dictionary equal to
|
Z_NULL, then only the dictionary length is returned, and nothing is copied.
|
Similary, if dictLength is Z_NULL, then it is not set.
|
|
deflateGetDictionary() may return a length less than the window size, even
|
when more than the window size in input has been provided. It may return up
|
to 258 bytes less in that case, due to how zlib's implementation of deflate
|
manages the sliding window and lookahead for matches, where matches can be
|
up to 258 bytes long. If the application needs the last window-size bytes of
|
input, then that would need to be saved by the application outside of zlib.
|
|
deflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
|
stream state is inconsistent.
|
*/
|
|
ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
|
z_streamp source));
|
/*
|
Sets the destination stream as a complete copy of the source stream.
|
|
This function can be useful when several compression strategies will be
|
tried, for example when there are several ways of pre-processing the input
|
data with a filter. The streams that will be discarded should then be freed
|
by calling deflateEnd. Note that deflateCopy duplicates the internal
|
compression state which can be quite large, so this strategy is slow and can
|
consume lots of memory.
|
|
deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
|
enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
|
(such as zalloc being Z_NULL). msg is left unchanged in both source and
|
destination.
|
*/
|
|
ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
|
/*
|
This function is equivalent to deflateEnd followed by deflateInit, but
|
does not free and reallocate the internal compression state. The stream
|
will leave the compression level and any other attributes that may have been
|
set unchanged.
|
|
deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
|
stream state was inconsistent (such as zalloc or state being Z_NULL).
|
*/
|
|
ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
|
int level,
|
int strategy));
|
/*
|
Dynamically update the compression level and compression strategy. The
|
interpretation of level and strategy is as in deflateInit2(). This can be
|
used to switch between compression and straight copy of the input data, or
|
to switch to a different kind of input data requiring a different strategy.
|
If the compression approach (which is a function of the level) or the
|
strategy is changed, and if there have been any deflate() calls since the
|
state was initialized or reset, then the input available so far is
|
compressed with the old level and strategy using deflate(strm, Z_BLOCK).
|
There are three approaches for the compression levels 0, 1..3, and 4..9
|
respectively. The new level and strategy will take effect at the next call
|
of deflate().
|
|
If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does
|
not have enough output space to complete, then the parameter change will not
|
take effect. In this case, deflateParams() can be called again with the
|
same parameters and more output space to try again.
|
|
In order to assure a change in the parameters on the first try, the
|
deflate stream should be flushed using deflate() with Z_BLOCK or other flush
|
request until strm.avail_out is not zero, before calling deflateParams().
|
Then no more input data should be provided before the deflateParams() call.
|
If this is done, the old level and strategy will be applied to the data
|
compressed before deflateParams(), and the new level and strategy will be
|
applied to the the data compressed after deflateParams().
|
|
deflateParams returns Z_OK on success, Z_STREAM_ERROR if the source stream
|
state was inconsistent or if a parameter was invalid, or Z_BUF_ERROR if
|
there was not enough output space to complete the compression of the
|
available input data before a change in the strategy or approach. Note that
|
in the case of a Z_BUF_ERROR, the parameters are not changed. A return
|
value of Z_BUF_ERROR is not fatal, in which case deflateParams() can be
|
retried with more output space.
|
*/
|
|
ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
|
int good_length,
|
int max_lazy,
|
int nice_length,
|
int max_chain));
|
/*
|
Fine tune deflate's internal compression parameters. This should only be
|
used by someone who understands the algorithm used by zlib's deflate for
|
searching for the best matching string, and even then only by the most
|
fanatic optimizer trying to squeeze out the last compressed bit for their
|
specific input data. Read the deflate.c source code for the meaning of the
|
max_lazy, good_length, nice_length, and max_chain parameters.
|
|
deflateTune() can be called after deflateInit() or deflateInit2(), and
|
returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
|
*/
|
|
ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
|
uLong sourceLen));
|
/*
|
deflateBound() returns an upper bound on the compressed size after
|
deflation of sourceLen bytes. It must be called after deflateInit() or
|
deflateInit2(), and after deflateSetHeader(), if used. This would be used
|
to allocate an output buffer for deflation in a single pass, and so would be
|
called before deflate(). If that first deflate() call is provided the
|
sourceLen input bytes, an output buffer allocated to the size returned by
|
deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed
|
to return Z_STREAM_END. Note that it is possible for the compressed size to
|
be larger than the value returned by deflateBound() if flush options other
|
than Z_FINISH or Z_NO_FLUSH are used.
|
*/
|
|
ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm,
|
unsigned *pending,
|
int *bits));
|
/*
|
deflatePending() returns the number of bytes and bits of output that have
|
been generated, but not yet provided in the available output. The bytes not
|
provided would be due to the available output space having being consumed.
|
The number of bits of output not provided are between 0 and 7, where they
|
await more bits to join them in order to fill out a full byte. If pending
|
or bits are Z_NULL, then those values are not set.
|
|
deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source
|
stream state was inconsistent.
|
*/
|
|
ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
|
int bits,
|
int value));
|
/*
|
deflatePrime() inserts bits in the deflate output stream. The intent
|
is that this function is used to start off the deflate output with the bits
|
leftover from a previous deflate stream when appending to it. As such, this
|
function can only be used for raw deflate, and must be used before the first
|
deflate() call after a deflateInit2() or deflateReset(). bits must be less
|
than or equal to 16, and that many of the least significant bits of value
|
will be inserted in the output.
|
|
deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough
|
room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the
|
source stream state was inconsistent.
|
*/
|
|
ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
|
gz_headerp head));
|
/*
|
deflateSetHeader() provides gzip header information for when a gzip
|
stream is requested by deflateInit2(). deflateSetHeader() may be called
|
after deflateInit2() or deflateReset() and before the first call of
|
deflate(). The text, time, os, extra field, name, and comment information
|
in the provided gz_header structure are written to the gzip header (xflag is
|
ignored -- the extra flags are set according to the compression level). The
|
caller must assure that, if not Z_NULL, name and comment are terminated with
|
a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
|
available there. If hcrc is true, a gzip header crc is included. Note that
|
the current versions of the command-line version of gzip (up through version
|
1.3.x) do not support header crc's, and will report that it is a "multi-part
|
gzip file" and give up.
|
|
If deflateSetHeader is not used, the default gzip header has text false,
|
the time set to zero, and os set to 255, with no extra, name, or comment
|
fields. The gzip header is returned to the default state by deflateReset().
|
|
deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
|
stream state was inconsistent.
|
*/
|
|
/*
|
ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
|
int windowBits));
|
|
This is another version of inflateInit with an extra parameter. The
|
fields next_in, avail_in, zalloc, zfree and opaque must be initialized
|
before by the caller.
|
|
The windowBits parameter is the base two logarithm of the maximum window
|
size (the size of the history buffer). It should be in the range 8..15 for
|
this version of the library. The default value is 15 if inflateInit is used
|
instead. windowBits must be greater than or equal to the windowBits value
|
provided to deflateInit2() while compressing, or it must be equal to 15 if
|
deflateInit2() was not used. If a compressed stream with a larger window
|
size is given as input, inflate() will return with the error code
|
Z_DATA_ERROR instead of trying to allocate a larger window.
|
|
windowBits can also be zero to request that inflate use the window size in
|
the zlib header of the compressed stream.
|
|
windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
|
determines the window size. inflate() will then process raw deflate data,
|
not looking for a zlib or gzip header, not generating a check value, and not
|
looking for any check values for comparison at the end of the stream. This
|
is for use with other formats that use the deflate compressed data format
|
such as zip. Those formats provide their own check values. If a custom
|
format is developed using the raw deflate format for compressed data, it is
|
recommended that a check value such as an Adler-32 or a CRC-32 be applied to
|
the uncompressed data as is done in the zlib, gzip, and zip formats. For
|
most applications, the zlib format should be used as is. Note that comments
|
above on the use in deflateInit2() applies to the magnitude of windowBits.
|
|
windowBits can also be greater than 15 for optional gzip decoding. Add
|
32 to windowBits to enable zlib and gzip decoding with automatic header
|
detection, or add 16 to decode only the gzip format (the zlib format will
|
return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
|
CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see
|
below), inflate() will *not* automatically decode concatenated gzip members.
|
inflate() will return Z_STREAM_END at the end of the gzip member. The state
|
would need to be reset to continue decoding a subsequent gzip member. This
|
*must* be done if there is more data after a gzip member, in order for the
|
decompression to be compliant with the gzip standard (RFC 1952).
|
|
inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
|
version assumed by the caller, or Z_STREAM_ERROR if the parameters are
|
invalid, such as a null pointer to the structure. msg is set to null if
|
there is no error message. inflateInit2 does not perform any decompression
|
apart from possibly reading the zlib header if present: actual decompression
|
will be done by inflate(). (So next_in and avail_in may be modified, but
|
next_out and avail_out are unused and unchanged.) The current implementation
|
of inflateInit2() does not process any header information -- that is
|
deferred until inflate() is called.
|
*/
|
|
ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
|
const Bytef *dictionary,
|
uInt dictLength));
|
/*
|
Initializes the decompression dictionary from the given uncompressed byte
|
sequence. This function must be called immediately after a call of inflate,
|
if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
|
can be determined from the Adler-32 value returned by that call of inflate.
|
The compressor and decompressor must use exactly the same dictionary (see
|
deflateSetDictionary). For raw inflate, this function can be called at any
|
time to set the dictionary. If the provided dictionary is smaller than the
|
window and there is already data in the window, then the provided dictionary
|
will amend what's there. The application must insure that the dictionary
|
that was used for compression is provided.
|
|
inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
|
parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
|
inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
|
expected one (incorrect Adler-32 value). inflateSetDictionary does not
|
perform any decompression: this will be done by subsequent calls of
|
inflate().
|
*/
|
|
ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm,
|
Bytef *dictionary,
|
uInt *dictLength));
|
/*
|
Returns the sliding dictionary being maintained by inflate. dictLength is
|
set to the number of bytes in the dictionary, and that many bytes are copied
|
to dictionary. dictionary must have enough space, where 32768 bytes is
|
always enough. If inflateGetDictionary() is called with dictionary equal to
|
Z_NULL, then only the dictionary length is returned, and nothing is copied.
|
Similary, if dictLength is Z_NULL, then it is not set.
|
|
inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
|
stream state is inconsistent.
|
*/
|
|
ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
|
/*
|
Skips invalid compressed data until a possible full flush point (see above
|
for the description of deflate with Z_FULL_FLUSH) can be found, or until all
|
available input is skipped. No output is provided.
|
|
inflateSync searches for a 00 00 FF FF pattern in the compressed data.
|
All full flush points have this pattern, but not all occurrences of this
|
pattern are full flush points.
|
|
inflateSync returns Z_OK if a possible full flush point has been found,
|
Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point
|
has been found, or Z_STREAM_ERROR if the stream structure was inconsistent.
|
In the success case, the application may save the current current value of
|
total_in which indicates where valid compressed data was found. In the
|
error case, the application may repeatedly call inflateSync, providing more
|
input each time, until success or end of the input data.
|
*/
|
|
ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
|
z_streamp source));
|
/*
|
Sets the destination stream as a complete copy of the source stream.
|
|
This function can be useful when randomly accessing a large stream. The
|
first pass through the stream can periodically record the inflate state,
|
allowing restarting inflate at those points when randomly accessing the
|
stream.
|
|
inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
|
enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
|
(such as zalloc being Z_NULL). msg is left unchanged in both source and
|
destination.
|
*/
|
|
ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
|
/*
|
This function is equivalent to inflateEnd followed by inflateInit,
|
but does not free and reallocate the internal decompression state. The
|
stream will keep attributes that may have been set by inflateInit2.
|
|
inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
|
stream state was inconsistent (such as zalloc or state being Z_NULL).
|
*/
|
|
ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
|
int windowBits));
|
/*
|
This function is the same as inflateReset, but it also permits changing
|
the wrap and window size requests. The windowBits parameter is interpreted
|
the same as it is for inflateInit2. If the window size is changed, then the
|
memory allocated for the window is freed, and the window will be reallocated
|
by inflate() if needed.
|
|
inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
|
stream state was inconsistent (such as zalloc or state being Z_NULL), or if
|
the windowBits parameter is invalid.
|
*/
|
|
ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
|
int bits,
|
int value));
|
/*
|
This function inserts bits in the inflate input stream. The intent is
|
that this function is used to start inflating at a bit position in the
|
middle of a byte. The provided bits will be used before any bytes are used
|
from next_in. This function should only be used with raw inflate, and
|
should be used before the first inflate() call after inflateInit2() or
|
inflateReset(). bits must be less than or equal to 16, and that many of the
|
least significant bits of value will be inserted in the input.
|
|
If bits is negative, then the input stream bit buffer is emptied. Then
|
inflatePrime() can be called again to put bits in the buffer. This is used
|
to clear out bits leftover after feeding inflate a block description prior
|
to feeding inflate codes.
|
|
inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
|
stream state was inconsistent.
|
*/
|
|
ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
|
/*
|
This function returns two values, one in the lower 16 bits of the return
|
value, and the other in the remaining upper bits, obtained by shifting the
|
return value down 16 bits. If the upper value is -1 and the lower value is
|
zero, then inflate() is currently decoding information outside of a block.
|
If the upper value is -1 and the lower value is non-zero, then inflate is in
|
the middle of a stored block, with the lower value equaling the number of
|
bytes from the input remaining to copy. If the upper value is not -1, then
|
it is the number of bits back from the current bit position in the input of
|
the code (literal or length/distance pair) currently being processed. In
|
that case the lower value is the number of bytes already emitted for that
|
code.
|
|
A code is being processed if inflate is waiting for more input to complete
|
decoding of the code, or if it has completed decoding but is waiting for
|
more output space to write the literal or match data.
|
|
inflateMark() is used to mark locations in the input data for random
|
access, which may be at bit positions, and to note those cases where the
|
output of a code may span boundaries of random access blocks. The current
|
location in the input stream can be determined from avail_in and data_type
|
as noted in the description for the Z_BLOCK flush parameter for inflate.
|
|
inflateMark returns the value noted above, or -65536 if the provided
|
source stream state was inconsistent.
|
*/
|
|
ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
|
gz_headerp head));
|
/*
|
inflateGetHeader() requests that gzip header information be stored in the
|
provided gz_header structure. inflateGetHeader() may be called after
|
inflateInit2() or inflateReset(), and before the first call of inflate().
|
As inflate() processes the gzip stream, head->done is zero until the header
|
is completed, at which time head->done is set to one. If a zlib stream is
|
being decoded, then head->done is set to -1 to indicate that there will be
|
no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be
|
used to force inflate() to return immediately after header processing is
|
complete and before any actual data is decompressed.
|
|
The text, time, xflags, and os fields are filled in with the gzip header
|
contents. hcrc is set to true if there is a header CRC. (The header CRC
|
was valid if done is set to one.) If extra is not Z_NULL, then extra_max
|
contains the maximum number of bytes to write to extra. Once done is true,
|
extra_len contains the actual extra field length, and extra contains the
|
extra field, or that field truncated if extra_max is less than extra_len.
|
If name is not Z_NULL, then up to name_max characters are written there,
|
terminated with a zero unless the length is greater than name_max. If
|
comment is not Z_NULL, then up to comm_max characters are written there,
|
terminated with a zero unless the length is greater than comm_max. When any
|
of extra, name, or comment are not Z_NULL and the respective field is not
|
present in the header, then that field is set to Z_NULL to signal its
|
absence. This allows the use of deflateSetHeader() with the returned
|
structure to duplicate the header. However if those fields are set to
|
allocated memory, then the application will need to save those pointers
|
elsewhere so that they can be eventually freed.
|
|
If inflateGetHeader is not used, then the header information is simply
|
discarded. The header is always checked for validity, including the header
|
CRC if present. inflateReset() will reset the process to discard the header
|
information. The application would need to call inflateGetHeader() again to
|
retrieve the header from the next gzip stream.
|
|
inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
|
stream state was inconsistent.
|
*/
|
|
/*
|
ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
|
unsigned char FAR *window));
|
|
Initialize the internal stream state for decompression using inflateBack()
|
calls. The fields zalloc, zfree and opaque in strm must be initialized
|
before the call. If zalloc and zfree are Z_NULL, then the default library-
|
derived memory allocation routines are used. windowBits is the base two
|
logarithm of the window size, in the range 8..15. window is a caller
|
supplied buffer of that size. Except for special applications where it is
|
assured that deflate was used with small window sizes, windowBits must be 15
|
and a 32K byte window must be supplied to be able to decompress general
|
deflate streams.
|
|
See inflateBack() for the usage of these routines.
|
|
inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
|
the parameters are invalid, Z_MEM_ERROR if the internal state could not be
|
allocated, or Z_VERSION_ERROR if the version of the library does not match
|
the version of the header file.
|
*/
|
|
typedef unsigned (*in_func) OF((void FAR *,
|
z_const unsigned char FAR * FAR *));
|
typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
|
|
ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
|
in_func in, void FAR *in_desc,
|
out_func out, void FAR *out_desc));
|
/*
|
inflateBack() does a raw inflate with a single call using a call-back
|
interface for input and output. This is potentially more efficient than
|
inflate() for file i/o applications, in that it avoids copying between the
|
output and the sliding window by simply making the window itself the output
|
buffer. inflate() can be faster on modern CPUs when used with large
|
buffers. inflateBack() trusts the application to not change the output
|
buffer passed by the output function, at least until inflateBack() returns.
|
|
inflateBackInit() must be called first to allocate the internal state
|
and to initialize the state with the user-provided window buffer.
|
inflateBack() may then be used multiple times to inflate a complete, raw
|
deflate stream with each call. inflateBackEnd() is then called to free the
|
allocated state.
|
|
A raw deflate stream is one with no zlib or gzip header or trailer.
|
This routine would normally be used in a utility that reads zip or gzip
|
files and writes out uncompressed files. The utility would decode the
|
header and process the trailer on its own, hence this routine expects only
|
the raw deflate stream to decompress. This is different from the default
|
behavior of inflate(), which expects a zlib header and trailer around the
|
deflate stream.
|
|
inflateBack() uses two subroutines supplied by the caller that are then
|
called by inflateBack() for input and output. inflateBack() calls those
|
routines until it reads a complete deflate stream and writes out all of the
|
uncompressed data, or until it encounters an error. The function's
|
parameters and return types are defined above in the in_func and out_func
|
typedefs. inflateBack() will call in(in_desc, &buf) which should return the
|
number of bytes of provided input, and a pointer to that input in buf. If
|
there is no input available, in() must return zero -- buf is ignored in that
|
case -- and inflateBack() will return a buffer error. inflateBack() will
|
call out(out_desc, buf, len) to write the uncompressed data buf[0..len-1].
|
out() should return zero on success, or non-zero on failure. If out()
|
returns non-zero, inflateBack() will return with an error. Neither in() nor
|
out() are permitted to change the contents of the window provided to
|
inflateBackInit(), which is also the buffer that out() uses to write from.
|
The length written by out() will be at most the window size. Any non-zero
|
amount of input may be provided by in().
|
|
For convenience, inflateBack() can be provided input on the first call by
|
setting strm->next_in and strm->avail_in. If that input is exhausted, then
|
in() will be called. Therefore strm->next_in must be initialized before
|
calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
|
immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
|
must also be initialized, and then if strm->avail_in is not zero, input will
|
initially be taken from strm->next_in[0 .. strm->avail_in - 1].
|
|
The in_desc and out_desc parameters of inflateBack() is passed as the
|
first parameter of in() and out() respectively when they are called. These
|
descriptors can be optionally used to pass any information that the caller-
|
supplied in() and out() functions need to do their job.
|
|
On return, inflateBack() will set strm->next_in and strm->avail_in to
|
pass back any unused input that was provided by the last in() call. The
|
return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
|
if in() or out() returned an error, Z_DATA_ERROR if there was a format error
|
in the deflate stream (in which case strm->msg is set to indicate the nature
|
of the error), or Z_STREAM_ERROR if the stream was not properly initialized.
|
In the case of Z_BUF_ERROR, an input or output error can be distinguished
|
using strm->next_in which will be Z_NULL only if in() returned an error. If
|
strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
|
non-zero. (in() will always be called before out(), so strm->next_in is
|
assured to be defined if out() returns non-zero.) Note that inflateBack()
|
cannot return Z_OK.
|
*/
|
|
ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
|
/*
|
All memory allocated by inflateBackInit() is freed.
|
|
inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
|
state was inconsistent.
|
*/
|
|
ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
|
/* Return flags indicating compile-time options.
|
|
Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
|
1.0: size of uInt
|
3.2: size of uLong
|
5.4: size of voidpf (pointer)
|
7.6: size of z_off_t
|
|
Compiler, assembler, and debug options:
|
8: ZLIB_DEBUG
|
9: ASMV or ASMINF -- use ASM code
|
10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
|
11: 0 (reserved)
|
|
One-time table building (smaller code, but not thread-safe if true):
|
12: BUILDFIXED -- build static block decoding tables when needed
|
13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
|
14,15: 0 (reserved)
|
|
Library content (indicates missing functionality):
|
16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
|
deflate code when not needed)
|
17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
|
and decode gzip streams (to avoid linking crc code)
|
18-19: 0 (reserved)
|
|
Operation variations (changes in library functionality):
|
20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
|
21: FASTEST -- deflate algorithm with only one, lowest compression level
|
22,23: 0 (reserved)
|
|
The sprintf variant used by gzprintf (zero is best):
|
24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
|
25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
|
26: 0 = returns value, 1 = void -- 1 means inferred string length returned
|
|
Remainder:
|
27-31: 0 (reserved)
|
*/
|
|
#ifndef Z_SOLO
|
|
/* utility functions */
|
|
/*
|
The following utility functions are implemented on top of the basic
|
stream-oriented functions. To simplify the interface, some default options
|
are assumed (compression level and memory usage, standard memory allocation
|
functions). The source code of these utility functions can be modified if
|
you need special options.
|
*/
|
|
ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
|
const Bytef *source, uLong sourceLen));
|
/*
|
Compresses the source buffer into the destination buffer. sourceLen is
|
the byte length of the source buffer. Upon entry, destLen is the total size
|
of the destination buffer, which must be at least the value returned by
|
compressBound(sourceLen). Upon exit, destLen is the actual size of the
|
compressed data. compress() is equivalent to compress2() with a level
|
parameter of Z_DEFAULT_COMPRESSION.
|
|
compress returns Z_OK if success, Z_MEM_ERROR if there was not
|
enough memory, Z_BUF_ERROR if there was not enough room in the output
|
buffer.
|
*/
|
|
ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
|
const Bytef *source, uLong sourceLen,
|
int level));
|
/*
|
Compresses the source buffer into the destination buffer. The level
|
parameter has the same meaning as in deflateInit. sourceLen is the byte
|
length of the source buffer. Upon entry, destLen is the total size of the
|
destination buffer, which must be at least the value returned by
|
compressBound(sourceLen). Upon exit, destLen is the actual size of the
|
compressed data.
|
|
compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
memory, Z_BUF_ERROR if there was not enough room in the output buffer,
|
Z_STREAM_ERROR if the level parameter is invalid.
|
*/
|
|
ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
|
/*
|
compressBound() returns an upper bound on the compressed size after
|
compress() or compress2() on sourceLen bytes. It would be used before a
|
compress() or compress2() call to allocate the destination buffer.
|
*/
|
|
ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
|
const Bytef *source, uLong sourceLen));
|
/*
|
Decompresses the source buffer into the destination buffer. sourceLen is
|
the byte length of the source buffer. Upon entry, destLen is the total size
|
of the destination buffer, which must be large enough to hold the entire
|
uncompressed data. (The size of the uncompressed data must have been saved
|
previously by the compressor and transmitted to the decompressor by some
|
mechanism outside the scope of this compression library.) Upon exit, destLen
|
is the actual size of the uncompressed data.
|
|
uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
|
enough memory, Z_BUF_ERROR if there was not enough room in the output
|
buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In
|
the case where there is not enough room, uncompress() will fill the output
|
buffer with the uncompressed data up to that point.
|
*/
|
|
ZEXTERN int ZEXPORT uncompress2 OF((Bytef *dest, uLongf *destLen,
|
const Bytef *source, uLong *sourceLen));
|
/*
|
Same as uncompress, except that sourceLen is a pointer, where the
|
length of the source is *sourceLen. On return, *sourceLen is the number of
|
source bytes consumed.
|
*/
|
|
/* gzip file access functions */
|
|
/*
|
This library supports reading and writing files in gzip (.gz) format with
|
an interface similar to that of stdio, using the functions that start with
|
"gz". The gzip format is different from the zlib format. gzip is a gzip
|
wrapper, documented in RFC 1952, wrapped around a deflate stream.
|
*/
|
|
typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */
|
|
/*
|
ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
|
|
Open the gzip (.gz) file at path for reading and decompressing, or
|
compressing and writing. The mode parameter is as in fopen ("rb" or "wb")
|
but can also include a compression level ("wb9") or a strategy: 'f' for
|
filtered data as in "wb6f", 'h' for Huffman-only compression as in "wb1h",
|
'R' for run-length encoding as in "wb1R", or 'F' for fixed code compression
|
as in "wb9F". (See the description of deflateInit2 for more information
|
about the strategy parameter.) 'T' will request transparent writing or
|
appending with no compression and not using the gzip format.
|
|
"a" can be used instead of "w" to request that the gzip stream that will
|
be written be appended to the file. "+" will result in an error, since
|
reading and writing to the same gzip file is not supported. The addition of
|
"x" when writing will create the file exclusively, which fails if the file
|
already exists. On systems that support it, the addition of "e" when
|
reading or writing will set the flag to close the file on an execve() call.
|
|
These functions, as well as gzip, will read and decode a sequence of gzip
|
streams in a file. The append function of gzopen() can be used to create
|
such a file. (Also see gzflush() for another way to do this.) When
|
appending, gzopen does not test whether the file begins with a gzip stream,
|
nor does it look for the end of the gzip streams to begin appending. gzopen
|
will simply append a gzip stream to the existing file.
|
|
gzopen can be used to read a file which is not in gzip format; in this
|
case gzread will directly read from the file without decompression. When
|
reading, this will be detected automatically by looking for the magic two-
|
byte gzip header.
|
|
gzopen returns NULL if the file could not be opened, if there was
|
insufficient memory to allocate the gzFile state, or if an invalid mode was
|
specified (an 'r', 'w', or 'a' was not provided, or '+' was provided).
|
errno can be checked to determine if the reason gzopen failed was that the
|
file could not be opened.
|
*/
|
|
ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
|
/*
|
Associate a gzFile with the file descriptor fd. File descriptors are
|
obtained from calls like open, dup, creat, pipe or fileno (if the file has
|
been previously opened with fopen). The mode parameter is as in gzopen.
|
|
The next call of gzclose on the returned gzFile will also close the file
|
descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
|
fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
|
mode);. The duplicated descriptor should be saved to avoid a leak, since
|
gzdopen does not close fd if it fails. If you are using fileno() to get the
|
file descriptor from a FILE *, then you will have to use dup() to avoid
|
double-close()ing the file descriptor. Both gzclose() and fclose() will
|
close the associated file descriptor, so they need to have different file
|
descriptors.
|
|
gzdopen returns NULL if there was insufficient memory to allocate the
|
gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
|
provided, or '+' was provided), or if fd is -1. The file descriptor is not
|
used until the next gz* read, write, seek, or close operation, so gzdopen
|
will not detect if fd is invalid (unless fd is -1).
|
*/
|
|
ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
|
/*
|
Set the internal buffer size used by this library's functions for file to
|
size. The default buffer size is 8192 bytes. This function must be called
|
after gzopen() or gzdopen(), and before any other calls that read or write
|
the file. The buffer memory allocation is always deferred to the first read
|
or write. Three times that size in buffer space is allocated. A larger
|
buffer size of, for example, 64K or 128K bytes will noticeably increase the
|
speed of decompression (reading).
|
|
The new buffer size also affects the maximum length for gzprintf().
|
|
gzbuffer() returns 0 on success, or -1 on failure, such as being called
|
too late.
|
*/
|
|
ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
|
/*
|
Dynamically update the compression level and strategy for file. See the
|
description of deflateInit2 for the meaning of these parameters. Previously
|
provided data is flushed before applying the parameter changes.
|
|
gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not
|
opened for writing, Z_ERRNO if there is an error writing the flushed data,
|
or Z_MEM_ERROR if there is a memory allocation error.
|
*/
|
|
ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
|
/*
|
Read and decompress up to len uncompressed bytes from file into buf. If
|
the input file is not in gzip format, gzread copies the given number of
|
bytes into the buffer directly from the file.
|
|
After reaching the end of a gzip stream in the input, gzread will continue
|
to read, looking for another gzip stream. Any number of gzip streams may be
|
concatenated in the input file, and will all be decompressed by gzread().
|
If something other than a gzip stream is encountered after a gzip stream,
|
that remaining trailing garbage is ignored (and no error is returned).
|
|
gzread can be used to read a gzip file that is being concurrently written.
|
Upon reaching the end of the input, gzread will return with the available
|
data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then
|
gzclearerr can be used to clear the end of file indicator in order to permit
|
gzread to be tried again. Z_OK indicates that a gzip stream was completed
|
on the last gzread. Z_BUF_ERROR indicates that the input file ended in the
|
middle of a gzip stream. Note that gzread does not return -1 in the event
|
of an incomplete gzip stream. This error is deferred until gzclose(), which
|
will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip
|
stream. Alternatively, gzerror can be used before gzclose to detect this
|
case.
|
|
gzread returns the number of uncompressed bytes actually read, less than
|
len for end of file, or -1 for error. If len is too large to fit in an int,
|
then nothing is read, -1 is returned, and the error state is set to
|
Z_STREAM_ERROR.
|
*/
|
|
ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
|
gzFile file));
|
/*
|
Read and decompress up to nitems items of size size from file into buf,
|
otherwise operating as gzread() does. This duplicates the interface of
|
stdio's fread(), with size_t request and return types. If the library
|
defines size_t, then z_size_t is identical to size_t. If not, then z_size_t
|
is an unsigned integer type that can contain a pointer.
|
|
gzfread() returns the number of full items read of size size, or zero if
|
the end of the file was reached and a full item could not be read, or if
|
there was an error. gzerror() must be consulted if zero is returned in
|
order to determine if there was an error. If the multiplication of size and
|
nitems overflows, i.e. the product does not fit in a z_size_t, then nothing
|
is read, zero is returned, and the error state is set to Z_STREAM_ERROR.
|
|
In the event that the end of file is reached and only a partial item is
|
available at the end, i.e. the remaining uncompressed data length is not a
|
multiple of size, then the final partial item is nevetheless read into buf
|
and the end-of-file flag is set. The length of the partial item read is not
|
provided, but could be inferred from the result of gztell(). This behavior
|
is the same as the behavior of fread() implementations in common libraries,
|
but it prevents the direct use of gzfread() to read a concurrently written
|
file, reseting and retrying on end-of-file, when size is not 1.
|
*/
|
|
ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len));
|
/*
|
Compress and write the len uncompressed bytes at buf to file. gzwrite
|
returns the number of uncompressed bytes written or 0 in case of error.
|
*/
|
|
ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
|
z_size_t nitems, gzFile file));
|
/*
|
Compress and write nitems items of size size from buf to file, duplicating
|
the interface of stdio's fwrite(), with size_t request and return types. If
|
the library defines size_t, then z_size_t is identical to size_t. If not,
|
then z_size_t is an unsigned integer type that can contain a pointer.
|
|
gzfwrite() returns the number of full items written of size size, or zero
|
if there was an error. If the multiplication of size and nitems overflows,
|
i.e. the product does not fit in a z_size_t, then nothing is written, zero
|
is returned, and the error state is set to Z_STREAM_ERROR.
|
*/
|
|
ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
|
/*
|
Convert, format, compress, and write the arguments (...) to file under
|
control of the string format, as in fprintf. gzprintf returns the number of
|
uncompressed bytes actually written, or a negative zlib error code in case
|
of error. The number of uncompressed bytes written is limited to 8191, or
|
one less than the buffer size given to gzbuffer(). The caller should assure
|
that this limit is not exceeded. If it is exceeded, then gzprintf() will
|
return an error (0) with nothing written. In this case, there may also be a
|
buffer overflow with unpredictable consequences, which is possible only if
|
zlib was compiled with the insecure functions sprintf() or vsprintf(),
|
because the secure snprintf() or vsnprintf() functions were not available.
|
This can be determined using zlibCompileFlags().
|
*/
|
|
ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
|
/*
|
Compress and write the given null-terminated string s to file, excluding
|
the terminating null character.
|
|
gzputs returns the number of characters written, or -1 in case of error.
|
*/
|
|
ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
|
/*
|
Read and decompress bytes from file into buf, until len-1 characters are
|
read, or until a newline character is read and transferred to buf, or an
|
end-of-file condition is encountered. If any characters are read or if len
|
is one, the string is terminated with a null character. If no characters
|
are read due to an end-of-file or len is less than one, then the buffer is
|
left untouched.
|
|
gzgets returns buf which is a null-terminated string, or it returns NULL
|
for end-of-file or in case of error. If there was an error, the contents at
|
buf are indeterminate.
|
*/
|
|
ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
|
/*
|
Compress and write c, converted to an unsigned char, into file. gzputc
|
returns the value that was written, or -1 in case of error.
|
*/
|
|
ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
|
/*
|
Read and decompress one byte from file. gzgetc returns this byte or -1
|
in case of end of file or error. This is implemented as a macro for speed.
|
As such, it does not do all of the checking the other functions do. I.e.
|
it does not check to see if file is NULL, nor whether the structure file
|
points to has been clobbered or not.
|
*/
|
|
ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
|
/*
|
Push c back onto the stream for file to be read as the first character on
|
the next read. At least one character of push-back is always allowed.
|
gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
|
fail if c is -1, and may fail if a character has been pushed but not read
|
yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
|
output buffer size of pushed characters is allowed. (See gzbuffer above.)
|
The pushed character will be discarded if the stream is repositioned with
|
gzseek() or gzrewind().
|
*/
|
|
ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
|
/*
|
Flush all pending output to file. The parameter flush is as in the
|
deflate() function. The return value is the zlib error number (see function
|
gzerror below). gzflush is only permitted when writing.
|
|
If the flush parameter is Z_FINISH, the remaining data is written and the
|
gzip stream is completed in the output. If gzwrite() is called again, a new
|
gzip stream will be started in the output. gzread() is able to read such
|
concatenated gzip streams.
|
|
gzflush should be called only when strictly necessary because it will
|
degrade compression if called too often.
|
*/
|
|
/*
|
ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
|
z_off_t offset, int whence));
|
|
Set the starting position to offset relative to whence for the next gzread
|
or gzwrite on file. The offset represents a number of bytes in the
|
uncompressed data stream. The whence parameter is defined as in lseek(2);
|
the value SEEK_END is not supported.
|
|
If the file is opened for reading, this function is emulated but can be
|
extremely slow. If the file is opened for writing, only forward seeks are
|
supported; gzseek then compresses a sequence of zeroes up to the new
|
starting position.
|
|
gzseek returns the resulting offset location as measured in bytes from
|
the beginning of the uncompressed stream, or -1 in case of error, in
|
particular if the file is opened for writing and the new starting position
|
would be before the current position.
|
*/
|
|
ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
|
/*
|
Rewind file. This function is supported only for reading.
|
|
gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET).
|
*/
|
|
/*
|
ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
|
|
Return the starting position for the next gzread or gzwrite on file.
|
This position represents a number of bytes in the uncompressed data stream,
|
and is zero when starting, even if appending or reading a gzip stream from
|
the middle of a file using gzdopen().
|
|
gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
|
*/
|
|
/*
|
ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
|
|
Return the current compressed (actual) read or write offset of file. This
|
offset includes the count of bytes that precede the gzip stream, for example
|
when appending or when using gzdopen() for reading. When reading, the
|
offset does not include as yet unused buffered input. This information can
|
be used for a progress indicator. On error, gzoffset() returns -1.
|
*/
|
|
ZEXTERN int ZEXPORT gzeof OF((gzFile file));
|
/*
|
Return true (1) if the end-of-file indicator for file has been set while
|
reading, false (0) otherwise. Note that the end-of-file indicator is set
|
only if the read tried to go past the end of the input, but came up short.
|
Therefore, just like feof(), gzeof() may return false even if there is no
|
more data to read, in the event that the last read request was for the exact
|
number of bytes remaining in the input file. This will happen if the input
|
file size is an exact multiple of the buffer size.
|
|
If gzeof() returns true, then the read functions will return no more data,
|
unless the end-of-file indicator is reset by gzclearerr() and the input file
|
has grown since the previous end of file was detected.
|
*/
|
|
ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
|
/*
|
Return true (1) if file is being copied directly while reading, or false
|
(0) if file is a gzip stream being decompressed.
|
|
If the input file is empty, gzdirect() will return true, since the input
|
does not contain a gzip stream.
|
|
If gzdirect() is used immediately after gzopen() or gzdopen() it will
|
cause buffers to be allocated to allow reading the file to determine if it
|
is a gzip file. Therefore if gzbuffer() is used, it should be called before
|
gzdirect().
|
|
When writing, gzdirect() returns true (1) if transparent writing was
|
requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note:
|
gzdirect() is not needed when writing. Transparent writing must be
|
explicitly requested, so the application already knows the answer. When
|
linking statically, using gzdirect() will include all of the zlib code for
|
gzip file reading and decompression, which may not be desired.)
|
*/
|
|
ZEXTERN int ZEXPORT gzclose OF((gzFile file));
|
/*
|
Flush all pending output for file, if necessary, close file and
|
deallocate the (de)compression state. Note that once file is closed, you
|
cannot call gzerror with file, since its structures have been deallocated.
|
gzclose must not be called more than once on the same file, just as free
|
must not be called more than once on the same allocation.
|
|
gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
|
file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the
|
last read ended in the middle of a gzip stream, or Z_OK on success.
|
*/
|
|
ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
|
ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
|
/*
|
Same as gzclose(), but gzclose_r() is only for use when reading, and
|
gzclose_w() is only for use when writing or appending. The advantage to
|
using these instead of gzclose() is that they avoid linking in zlib
|
compression or decompression code that is not used when only reading or only
|
writing respectively. If gzclose() is used, then both compression and
|
decompression code will be included the application when linking to a static
|
zlib library.
|
*/
|
|
ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
|
/*
|
Return the error message for the last error which occurred on file.
|
errnum is set to zlib error number. If an error occurred in the file system
|
and not in the compression library, errnum is set to Z_ERRNO and the
|
application may consult errno to get the exact error code.
|
|
The application must not modify the returned string. Future calls to
|
this function may invalidate the previously returned string. If file is
|
closed, then the string previously returned by gzerror will no longer be
|
available.
|
|
gzerror() should be used to distinguish errors from end-of-file for those
|
functions above that do not distinguish those cases in their return values.
|
*/
|
|
ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
|
/*
|
Clear the error and end-of-file flags for file. This is analogous to the
|
clearerr() function in stdio. This is useful for continuing to read a gzip
|
file that is being written concurrently.
|
*/
|
|
#endif /* !Z_SOLO */
|
|
/* checksum functions */
|
|
/*
|
These functions are not related to compression but are exported
|
anyway because they might be useful in applications using the compression
|
library.
|
*/
|
|
ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
|
/*
|
Update a running Adler-32 checksum with the bytes buf[0..len-1] and
|
return the updated checksum. An Adler-32 value is in the range of a 32-bit
|
unsigned integer. If buf is Z_NULL, this function returns the required
|
initial value for the checksum.
|
|
An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed
|
much faster.
|
|
Usage example:
|
|
uLong adler = adler32(0L, Z_NULL, 0);
|
|
while (read_buffer(buffer, length) != EOF) {
|
adler = adler32(adler, buffer, length);
|
}
|
if (adler != original_adler) error();
|
*/
|
|
ZEXTERN uLong ZEXPORT adler32_z OF((uLong adler, const Bytef *buf,
|
z_size_t len));
|
/*
|
Same as adler32(), but with a size_t length.
|
*/
|
|
/*
|
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
|
z_off_t len2));
|
|
Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
|
and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
|
each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
|
seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note
|
that the z_off_t type (like off_t) is a signed integer. If len2 is
|
negative, the result has no meaning or utility.
|
*/
|
|
ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
|
/*
|
Update a running CRC-32 with the bytes buf[0..len-1] and return the
|
updated CRC-32. A CRC-32 value is in the range of a 32-bit unsigned integer.
|
If buf is Z_NULL, this function returns the required initial value for the
|
crc. Pre- and post-conditioning (one's complement) is performed within this
|
function so it shouldn't be done by the application.
|
|
Usage example:
|
|
uLong crc = crc32(0L, Z_NULL, 0);
|
|
while (read_buffer(buffer, length) != EOF) {
|
crc = crc32(crc, buffer, length);
|
}
|
if (crc != original_crc) error();
|
*/
|
|
ZEXTERN uLong ZEXPORT crc32_z OF((uLong crc, const Bytef *buf,
|
z_size_t len));
|
/*
|
Same as crc32(), but with a size_t length.
|
*/
|
|
/*
|
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
|
|
Combine two CRC-32 check values into one. For two sequences of bytes,
|
seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
|
calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
|
check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
|
len2.
|
*/
|
|
/*
|
ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t len2));
|
|
Return the operator corresponding to length len2, to be used with
|
crc32_combine_op().
|
*/
|
|
ZEXTERN uLong ZEXPORT crc32_combine_op OF((uLong crc1, uLong crc2, uLong op));
|
/*
|
Give the same result as crc32_combine(), using op in place of len2. op is
|
is generated from len2 by crc32_combine_gen(). This will be faster than
|
crc32_combine() if the generated op is used more than once.
|
*/
|
|
|
/* various hacks, don't look :) */
|
|
/* deflateInit and inflateInit are macros to allow checking the zlib version
|
* and the compiler's view of z_stream:
|
*/
|
ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
|
const char *version, int stream_size));
|
ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
|
const char *version, int stream_size));
|
ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
|
int windowBits, int memLevel,
|
int strategy, const char *version,
|
int stream_size));
|
ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
|
const char *version, int stream_size));
|
ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
|
unsigned char FAR *window,
|
const char *version,
|
int stream_size));
|
#ifdef Z_PREFIX_SET
|
# define z_deflateInit(strm, level) \
|
deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
|
# define z_inflateInit(strm) \
|
inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
|
# define z_deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
|
deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
|
(strategy), ZLIB_VERSION, (int)sizeof(z_stream))
|
# define z_inflateInit2(strm, windowBits) \
|
inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
|
(int)sizeof(z_stream))
|
# define z_inflateBackInit(strm, windowBits, window) \
|
inflateBackInit_((strm), (windowBits), (window), \
|
ZLIB_VERSION, (int)sizeof(z_stream))
|
#else
|
# define deflateInit(strm, level) \
|
deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
|
# define inflateInit(strm) \
|
inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
|
# define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
|
deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
|
(strategy), ZLIB_VERSION, (int)sizeof(z_stream))
|
# define inflateInit2(strm, windowBits) \
|
inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
|
(int)sizeof(z_stream))
|
# define inflateBackInit(strm, windowBits, window) \
|
inflateBackInit_((strm), (windowBits), (window), \
|
ZLIB_VERSION, (int)sizeof(z_stream))
|
#endif
|
|
#ifndef Z_SOLO
|
|
/* gzgetc() macro and its supporting function and exposed data structure. Note
|
* that the real internal state is much larger than the exposed structure.
|
* This abbreviated structure exposes just enough for the gzgetc() macro. The
|
* user should not mess with these exposed elements, since their names or
|
* behavior could change in the future, perhaps even capriciously. They can
|
* only be used by the gzgetc() macro. You have been warned.
|
*/
|
struct gzFile_s {
|
unsigned have;
|
unsigned char *next;
|
z_off64_t pos;
|
};
|
ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
|
#ifdef Z_PREFIX_SET
|
# undef z_gzgetc
|
# define z_gzgetc(g) \
|
((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g))
|
#else
|
# define gzgetc(g) \
|
((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g))
|
#endif
|
|
/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
|
* change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
|
* both are true, the application gets the *64 functions, and the regular
|
* functions are changed to 64 bits) -- in case these are set on systems
|
* without large file support, _LFS64_LARGEFILE must also be true
|
*/
|
#ifdef Z_LARGE64
|
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
|
ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
|
ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
|
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
|
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
|
ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off64_t));
|
#endif
|
|
#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64)
|
# ifdef Z_PREFIX_SET
|
# define z_gzopen z_gzopen64
|
# define z_gzseek z_gzseek64
|
# define z_gztell z_gztell64
|
# define z_gzoffset z_gzoffset64
|
# define z_adler32_combine z_adler32_combine64
|
# define z_crc32_combine z_crc32_combine64
|
# define z_crc32_combine_gen z_crc32_combine_gen64
|
# else
|
# define gzopen gzopen64
|
# define gzseek gzseek64
|
# define gztell gztell64
|
# define gzoffset gzoffset64
|
# define adler32_combine adler32_combine64
|
# define crc32_combine crc32_combine64
|
# define crc32_combine_gen crc32_combine_gen64
|
# endif
|
# ifndef Z_LARGE64
|
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
|
ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
|
ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
|
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
|
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
|
ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t));
|
# endif
|
#else
|
ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
|
ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));
|
ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));
|
ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
|
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
|
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
|
ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t));
|
#endif
|
|
#else /* Z_SOLO */
|
|
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
|
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
|
ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t));
|
|
#endif /* !Z_SOLO */
|
|
/* undocumented functions */
|
ZEXTERN const char * ZEXPORT zError OF((int));
|
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
|
ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
|
ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
|
ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
|
ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF ((z_streamp));
|
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
|
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
|
#if defined(_WIN32) && !defined(Z_SOLO)
|
ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
|
const char *mode));
|
#endif
|
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
|
# ifndef Z_SOLO
|
ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file,
|
const char *format,
|
va_list va));
|
# endif
|
#endif
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif /* ZLIB_H */
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/zlib/zlib.h
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR third_party/mkl_dnn/LICENSE
|
--------------------------------------------------------------------------------
|
Apache License
|
Version 2.0, January 2004
|
http://www.apache.org/licenses/
|
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
1. Definitions.
|
|
"License" shall mean the terms and conditions for use, reproduction,
|
and distribution as defined by Sections 1 through 9 of this document.
|
|
"Licensor" shall mean the copyright owner or entity authorized by
|
the copyright owner that is granting the License.
|
|
"Legal Entity" shall mean the union of the acting entity and all
|
other entities that control, are controlled by, or are under common
|
control with that entity. For the purposes of this definition,
|
"control" means (i) the power, direct or indirect, to cause the
|
direction or management of such entity, whether by contract or
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
"You" (or "Your") shall mean an individual or Legal Entity
|
exercising permissions granted by this License.
|
|
"Source" form shall mean the preferred form for making modifications,
|
including but not limited to software source code, documentation
|
source, and configuration files.
|
|
"Object" form shall mean any form resulting from mechanical
|
transformation or translation of a Source form, including but
|
not limited to compiled object code, generated documentation,
|
and conversions to other media types.
|
|
"Work" shall mean the work of authorship, whether in Source or
|
Object form, made available under the License, as indicated by a
|
copyright notice that is included in or attached to the work
|
(an example is provided in the Appendix below).
|
|
"Derivative Works" shall mean any work, whether in Source or Object
|
form, that is based on (or derived from) the Work and for which the
|
editorial revisions, annotations, elaborations, or other modifications
|
represent, as a whole, an original work of authorship. For the purposes
|
of this License, Derivative Works shall not include works that remain
|
separable from, or merely link (or bind by name) to the interfaces of,
|
the Work and Derivative Works thereof.
|
|
"Contribution" shall mean any work of authorship, including
|
the original version of the Work and any modifications or additions
|
to that Work or Derivative Works thereof, that is intentionally
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
or by an individual or Legal Entity authorized to submit on behalf of
|
the copyright owner. For the purposes of this definition, "submitted"
|
means any form of electronic, verbal, or written communication sent
|
to the Licensor or its representatives, including but not limited to
|
communication on electronic mailing lists, source code control systems,
|
and issue tracking systems that are managed by, or on behalf of, the
|
Licensor for the purpose of discussing and improving the Work, but
|
excluding communication that is conspicuously marked or otherwise
|
designated in writing by the copyright owner as "Not a Contribution."
|
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
on behalf of whom a Contribution has been received by Licensor and
|
subsequently incorporated within the Work.
|
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
copyright license to reproduce, prepare Derivative Works of,
|
publicly display, publicly perform, sublicense, and distribute the
|
Work and such Derivative Works in Source or Object form.
|
|
3. Grant of Patent License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
(except as stated in this section) patent license to make, have made,
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
where such license applies only to those patent claims licensable
|
by such Contributor that are necessarily infringed by their
|
Contribution(s) alone or by combination of their Contribution(s)
|
with the Work to which such Contribution(s) was submitted. If You
|
institute patent litigation against any entity (including a
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
or a Contribution incorporated within the Work constitutes direct
|
or contributory patent infringement, then any patent licenses
|
granted to You under this License for that Work shall terminate
|
as of the date such litigation is filed.
|
|
4. Redistribution. You may reproduce and distribute copies of the
|
Work or Derivative Works thereof in any medium, with or without
|
modifications, and in Source or Object form, provided that You
|
meet the following conditions:
|
|
(a) You must give any other recipients of the Work or
|
Derivative Works a copy of this License; and
|
|
(b) You must cause any modified files to carry prominent notices
|
stating that You changed the files; and
|
|
(c) You must retain, in the Source form of any Derivative Works
|
that You distribute, all copyright, patent, trademark, and
|
attribution notices from the Source form of the Work,
|
excluding those notices that do not pertain to any part of
|
the Derivative Works; and
|
|
(d) If the Work includes a "NOTICE" text file as part of its
|
distribution, then any Derivative Works that You distribute must
|
include a readable copy of the attribution notices contained
|
within such NOTICE file, excluding those notices that do not
|
pertain to any part of the Derivative Works, in at least one
|
of the following places: within a NOTICE text file distributed
|
as part of the Derivative Works; within the Source form or
|
documentation, if provided along with the Derivative Works; or,
|
within a display generated by the Derivative Works, if and
|
wherever such third-party notices normally appear. The contents
|
of the NOTICE file are for informational purposes only and
|
do not modify the License. You may add Your own attribution
|
notices within Derivative Works that You distribute, alongside
|
or as an addendum to the NOTICE text from the Work, provided
|
that such additional attribution notices cannot be construed
|
as modifying the License.
|
|
You may add Your own copyright statement to Your modifications and
|
may provide additional or different license terms and conditions
|
for use, reproduction, or distribution of Your modifications, or
|
for any such Derivative Works as a whole, provided Your use,
|
reproduction, and distribution of the Work otherwise complies with
|
the conditions stated in this License.
|
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
any Contribution intentionally submitted for inclusion in the Work
|
by You to the Licensor shall be under the terms and conditions of
|
this License, without any additional terms or conditions.
|
Notwithstanding the above, nothing herein shall supersede or modify
|
the terms of any separate license agreement you may have executed
|
with Licensor regarding such Contributions.
|
|
6. Trademarks. This License does not grant permission to use the trade
|
names, trademarks, service marks, or product names of the Licensor,
|
except as required for reasonable and customary use in describing the
|
origin of the Work and reproducing the content of the NOTICE file.
|
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
agreed to in writing, Licensor provides the Work (and each
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
implied, including, without limitation, any warranties or conditions
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
appropriateness of using or redistributing the Work and assume any
|
risks associated with Your exercise of permissions under this License.
|
|
8. Limitation of Liability. In no event and under no legal theory,
|
whether in tort (including negligence), contract, or otherwise,
|
unless required by applicable law (such as deliberate and grossly
|
negligent acts) or agreed to in writing, shall any Contributor be
|
liable to You for damages, including any direct, indirect, special,
|
incidental, or consequential damages of any character arising as a
|
result of this License or out of the use or inability to use the
|
Work (including but not limited to damages for loss of goodwill,
|
work stoppage, computer failure or malfunction, or any and all
|
other commercial damages or losses), even if such Contributor
|
has been advised of the possibility of such damages.
|
|
9. Accepting Warranty or Additional Liability. While redistributing
|
the Work or Derivative Works thereof, You may choose to offer,
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
or other liability obligations and/or rights consistent with this
|
License. However, in accepting such obligations, You may act only
|
on Your own behalf and on Your sole responsibility, not on behalf
|
of any other Contributor, and only if You agree to indemnify,
|
defend, and hold each Contributor harmless for any liability
|
incurred by, or claims asserted against, such Contributor by reason
|
of your accepting any such warranty or additional liability.
|
|
END OF TERMS AND CONDITIONS
|
|
APPENDIX: How to apply the Apache License to your work.
|
|
To apply the Apache License to your work, attach the following
|
boilerplate notice, with the fields enclosed by brackets "{}"
|
replaced with your own identifying information. (Don't include
|
the brackets!) The text should be enclosed in the appropriate
|
comment syntax for the file format. We also recommend that a
|
file or class name and description of purpose be included on the
|
same "printed page" as the copyright notice for easier
|
identification within third-party archives.
|
|
Copyright {yyyy} {name of copyright owner}
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
you may not use this file except in compliance with the License.
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
distributed under the License is distributed on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
See the License for the specific language governing permissions and
|
limitations under the License.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR third_party/mkl_dnn/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/com_github_grpc_grpc/LICENSE
|
--------------------------------------------------------------------------------
|
|
Apache License
|
Version 2.0, January 2004
|
http://www.apache.org/licenses/
|
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
1. Definitions.
|
|
"License" shall mean the terms and conditions for use, reproduction,
|
and distribution as defined by Sections 1 through 9 of this document.
|
|
"Licensor" shall mean the copyright owner or entity authorized by
|
the copyright owner that is granting the License.
|
|
"Legal Entity" shall mean the union of the acting entity and all
|
other entities that control, are controlled by, or are under common
|
control with that entity. For the purposes of this definition,
|
"control" means (i) the power, direct or indirect, to cause the
|
direction or management of such entity, whether by contract or
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
"You" (or "Your") shall mean an individual or Legal Entity
|
exercising permissions granted by this License.
|
|
"Source" form shall mean the preferred form for making modifications,
|
including but not limited to software source code, documentation
|
source, and configuration files.
|
|
"Object" form shall mean any form resulting from mechanical
|
transformation or translation of a Source form, including but
|
not limited to compiled object code, generated documentation,
|
and conversions to other media types.
|
|
"Work" shall mean the work of authorship, whether in Source or
|
Object form, made available under the License, as indicated by a
|
copyright notice that is included in or attached to the work
|
(an example is provided in the Appendix below).
|
|
"Derivative Works" shall mean any work, whether in Source or Object
|
form, that is based on (or derived from) the Work and for which the
|
editorial revisions, annotations, elaborations, or other modifications
|
represent, as a whole, an original work of authorship. For the purposes
|
of this License, Derivative Works shall not include works that remain
|
separable from, or merely link (or bind by name) to the interfaces of,
|
the Work and Derivative Works thereof.
|
|
"Contribution" shall mean any work of authorship, including
|
the original version of the Work and any modifications or additions
|
to that Work or Derivative Works thereof, that is intentionally
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
or by an individual or Legal Entity authorized to submit on behalf of
|
the copyright owner. For the purposes of this definition, "submitted"
|
means any form of electronic, verbal, or written communication sent
|
to the Licensor or its representatives, including but not limited to
|
communication on electronic mailing lists, source code control systems,
|
and issue tracking systems that are managed by, or on behalf of, the
|
Licensor for the purpose of discussing and improving the Work, but
|
excluding communication that is conspicuously marked or otherwise
|
designated in writing by the copyright owner as "Not a Contribution."
|
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
on behalf of whom a Contribution has been received by Licensor and
|
subsequently incorporated within the Work.
|
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
copyright license to reproduce, prepare Derivative Works of,
|
publicly display, publicly perform, sublicense, and distribute the
|
Work and such Derivative Works in Source or Object form.
|
|
3. Grant of Patent License. Subject to the terms and conditions of
|
this License, each Contributor hereby grants to You a perpetual,
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
(except as stated in this section) patent license to make, have made,
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
where such license applies only to those patent claims licensable
|
by such Contributor that are necessarily infringed by their
|
Contribution(s) alone or by combination of their Contribution(s)
|
with the Work to which such Contribution(s) was submitted. If You
|
institute patent litigation against any entity (including a
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
or a Contribution incorporated within the Work constitutes direct
|
or contributory patent infringement, then any patent licenses
|
granted to You under this License for that Work shall terminate
|
as of the date such litigation is filed.
|
|
4. Redistribution. You may reproduce and distribute copies of the
|
Work or Derivative Works thereof in any medium, with or without
|
modifications, and in Source or Object form, provided that You
|
meet the following conditions:
|
|
(a) You must give any other recipients of the Work or
|
Derivative Works a copy of this License; and
|
|
(b) You must cause any modified files to carry prominent notices
|
stating that You changed the files; and
|
|
(c) You must retain, in the Source form of any Derivative Works
|
that You distribute, all copyright, patent, trademark, and
|
attribution notices from the Source form of the Work,
|
excluding those notices that do not pertain to any part of
|
the Derivative Works; and
|
|
(d) If the Work includes a "NOTICE" text file as part of its
|
distribution, then any Derivative Works that You distribute must
|
include a readable copy of the attribution notices contained
|
within such NOTICE file, excluding those notices that do not
|
pertain to any part of the Derivative Works, in at least one
|
of the following places: within a NOTICE text file distributed
|
as part of the Derivative Works; within the Source form or
|
documentation, if provided along with the Derivative Works; or,
|
within a display generated by the Derivative Works, if and
|
wherever such third-party notices normally appear. The contents
|
of the NOTICE file are for informational purposes only and
|
do not modify the License. You may add Your own attribution
|
notices within Derivative Works that You distribute, alongside
|
or as an addendum to the NOTICE text from the Work, provided
|
that such additional attribution notices cannot be construed
|
as modifying the License.
|
|
You may add Your own copyright statement to Your modifications and
|
may provide additional or different license terms and conditions
|
for use, reproduction, or distribution of Your modifications, or
|
for any such Derivative Works as a whole, provided Your use,
|
reproduction, and distribution of the Work otherwise complies with
|
the conditions stated in this License.
|
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
any Contribution intentionally submitted for inclusion in the Work
|
by You to the Licensor shall be under the terms and conditions of
|
this License, without any additional terms or conditions.
|
Notwithstanding the above, nothing herein shall supersede or modify
|
the terms of any separate license agreement you may have executed
|
with Licensor regarding such Contributions.
|
|
6. Trademarks. This License does not grant permission to use the trade
|
names, trademarks, service marks, or product names of the Licensor,
|
except as required for reasonable and customary use in describing the
|
origin of the Work and reproducing the content of the NOTICE file.
|
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
agreed to in writing, Licensor provides the Work (and each
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
implied, including, without limitation, any warranties or conditions
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
appropriateness of using or redistributing the Work and assume any
|
risks associated with Your exercise of permissions under this License.
|
|
8. Limitation of Liability. In no event and under no legal theory,
|
whether in tort (including negligence), contract, or otherwise,
|
unless required by applicable law (such as deliberate and grossly
|
negligent acts) or agreed to in writing, shall any Contributor be
|
liable to You for damages, including any direct, indirect, special,
|
incidental, or consequential damages of any character arising as a
|
result of this License or out of the use or inability to use the
|
Work (including but not limited to damages for loss of goodwill,
|
work stoppage, computer failure or malfunction, or any and all
|
other commercial damages or losses), even if such Contributor
|
has been advised of the possibility of such damages.
|
|
9. Accepting Warranty or Additional Liability. While redistributing
|
the Work or Derivative Works thereof, You may choose to offer,
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
or other liability obligations and/or rights consistent with this
|
License. However, in accepting such obligations, You may act only
|
on Your own behalf and on Your sole responsibility, not on behalf
|
of any other Contributor, and only if You agree to indemnify,
|
defend, and hold each Contributor harmless for any liability
|
incurred by, or claims asserted against, such Contributor by reason
|
of your accepting any such warranty or additional liability.
|
|
END OF TERMS AND CONDITIONS
|
|
APPENDIX: How to apply the Apache License to your work.
|
|
To apply the Apache License to your work, attach the following
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
replaced with your own identifying information. (Don't include
|
the brackets!) The text should be enclosed in the appropriate
|
comment syntax for the file format. We also recommend that a
|
file or class name and description of purpose be included on the
|
same "printed page" as the copyright notice for easier
|
identification within third-party archives.
|
|
Copyright [yyyy] [name of copyright owner]
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
you may not use this file except in compliance with the License.
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
distributed under the License is distributed on an "AS IS" BASIS,
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
See the License for the specific language governing permissions and
|
limitations under the License.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/com_github_grpc_grpc/LICENSE
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
BEGIN LICENSE FOR external/com_github_grpc_grpc/third_party/address_sorting/LICENSE
|
--------------------------------------------------------------------------------
|
Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
All rights reserved.
|
|
Redistribution and use in source and binary forms, with or without
|
modification, are permitted provided that the following conditions
|
are met:
|
1. Redistributions of source code must retain the above copyright
|
notice, this list of conditions and the following disclaimer.
|
2. Redistributions in binary form must reproduce the above copyright
|
notice, this list of conditions and the following disclaimer in the
|
documentation and/or other materials provided with the distribution.
|
3. Neither the name of the project nor the names of its contributors
|
may be used to endorse or promote products derived from this software
|
without specific prior written permission.
|
|
THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
SUCH DAMAGE.
|
--------------------------------------------------------------------------------
|
END LICENSE FOR external/com_github_grpc_grpc/third_party/address_sorting/LICENSE
|
--------------------------------------------------------------------------------
|