#  FLAC - Free Lossless Audio Codec
#  Copyright (C) 2001,2002,2003,2004  Josh Coalson
#
#  This file is part the FLAC project.  FLAC is comprised of several
#  components distributed under difference licenses.  The codec libraries
#  are distributed under Xiph.Org's BSD-like license (see the file
#  COPYING.Xiph in this distribution).  All other programs, libraries, and
#  plugins are distributed under the GPL (see COPYING.GPL).  The documentation
#  is distributed under the Gnu FDL (see COPYING.FDL).  Each file in the
#  FLAC distribution contains at the top the terms under which it may be
#  distributed.
#
#  Since this particular file is relevant to all components of FLAC,
#  it may be distributed under the Xiph.Org license, which is the least
#  restrictive of those mentioned above.  See the file COPYING.Xiph in this
#  distribution.

EXTRA_DIST = \
	bad.000.CATALOG_multiple.cue \
	bad.001.CATALOG_missing_number.cue \
	bad.002.CATALOG_number_too_long.cue \
	bad.003.CATALOG_not_13_digits.cue \
	bad.030.FLAGS_multiple.cue \
	bad.031.FLAGS_wrong_place_1.cue \
	bad.032.FLAGS_wrong_place_2.cue \
	bad.060.INDEX_wrong_place.cue \
	bad.061.INDEX_missing_number.cue \
	bad.062.INDEX_invalid_number_1.cue \
	bad.063.first_INDEX_not_0_or_1.cue \
	bad.064.INDEX_num_non_sequential.cue \
	bad.065.INDEX_num_out_of_range.cue \
	bad.066.INDEX_missing_offset.cue \
	bad.067.INDEX_illegal_offset.cue \
	bad.068.INDEX_cdda_illegal_offset.cue \
	bad.069.nonzero_first_INDEX.cue \
	bad.070.INDEX_offset_not_ascending_1.cue \
	bad.071.INDEX_offset_not_ascending_2.cue \
	bad.110.ISRC_multiple.cue \
	bad.111.ISRC_wrong_place_1.cue \
	bad.112.ISRC_wrong_place_2.cue \
	bad.113.ISRC_missing_number.cue \
	bad.114.ISRC_invalid_number.cue \
	bad.130.TRACK_missing_INDEX_01_1.cue \
	bad.131.TRACK_missing_INDEX_01_2.cue \
	bad.132.TRACK_missing_INDEX_01_3.cue \
	bad.133.TRACK_missing_INDEX_01_4.cue \
	bad.134.TRACK_missing_number.cue \
	bad.135.TRACK_invalid_number_1.cue \
	bad.136.TRACK_invalid_number_2.cue \
	bad.137.TRACK_cdda_out_of_range.cue \
	bad.138.TRACK_num_non_sequential.cue \
	bad.139.TRACK_missing_type.cue \
	bad.140.no_TRACKs.cue \
	bad.200.FLAC_leadin_missing_offset.cue \
	bad.201.FLAC_leadin_illegal_offset.cue \
	bad.202.FLAC_leadin_cdda_illegal_offset.cue \
	bad.230.FLAC_leadout_multiple.cue \
	bad.231.FLAC_leadout_missing_track.cue \
	bad.232.FLAC_leadout_illegal_track.cue \
	bad.233.FLAC_leadout_missing_offset.cue \
	bad.234.FLAC_leadout_illegal_offset.cue \
	bad.235.FLAC_leadout_offset_not_211680000.cue \
	good.000.cue \
	good.001.cue
