// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		4C0B58391B747A4400C0B99C /* ResponseSerializationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B58381B747A4400C0B99C /* ResponseSerializationTests.swift */; };
		4C0B583A1B747A4400C0B99C /* ResponseSerializationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B58381B747A4400C0B99C /* ResponseSerializationTests.swift */; };
		4C0B62511BB1001C009302D3 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B62501BB1001C009302D3 /* Response.swift */; };
		4C0B62521BB1001C009302D3 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B62501BB1001C009302D3 /* Response.swift */; };
		4C0B62531BB1001C009302D3 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B62501BB1001C009302D3 /* Response.swift */; };
		4C0E5BF81B673D3400816CCC /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0E5BF71B673D3400816CCC /* Result.swift */; };
		4C0E5BF91B673D3400816CCC /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0E5BF71B673D3400816CCC /* Result.swift */; };
		4C1DC8541B68908E00476DE3 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1DC8531B68908E00476DE3 /* Error.swift */; };
		4C1DC8551B68908E00476DE3 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1DC8531B68908E00476DE3 /* Error.swift */; };
		4C23EB431B327C5B0090E0BC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C23EB421B327C5B0090E0BC /* MultipartFormData.swift */; };
		4C23EB441B327C5B0090E0BC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C23EB421B327C5B0090E0BC /* MultipartFormData.swift */; };
		4C256A531B096C770065714F /* BaseTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C256A501B096C2C0065714F /* BaseTestCase.swift */; };
		4C256A541B096C770065714F /* BaseTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C256A501B096C2C0065714F /* BaseTestCase.swift */; };
		4C3238E71B3604DB00FE04AE /* MultipartFormDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3238E61B3604DB00FE04AE /* MultipartFormDataTests.swift */; };
		4C3238E81B3604DB00FE04AE /* MultipartFormDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3238E61B3604DB00FE04AE /* MultipartFormDataTests.swift */; };
		4C33A1391B5207DB00873DFF /* rainbow.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 4C33A1231B5207DB00873DFF /* rainbow.jpg */; };
		4C33A13A1B5207DB00873DFF /* rainbow.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 4C33A1231B5207DB00873DFF /* rainbow.jpg */; };
		4C33A13B1B5207DB00873DFF /* unicorn.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C33A1241B5207DB00873DFF /* unicorn.png */; };
		4C33A13C1B5207DB00873DFF /* unicorn.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C33A1241B5207DB00873DFF /* unicorn.png */; };
		4C33A1431B52089C00873DFF /* ServerTrustPolicyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C33A1421B52089C00873DFF /* ServerTrustPolicyTests.swift */; };
		4C33A1441B52089C00873DFF /* ServerTrustPolicyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C33A1421B52089C00873DFF /* ServerTrustPolicyTests.swift */; };
		4C341BBA1B1A865A00C1B34D /* CacheTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C341BB91B1A865A00C1B34D /* CacheTests.swift */; };
		4C341BBB1B1A865A00C1B34D /* CacheTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C341BB91B1A865A00C1B34D /* CacheTests.swift */; };
		4C3D00541C66A63000D1F709 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D00531C66A63000D1F709 /* NetworkReachabilityManager.swift */; };
		4C3D00551C66A63000D1F709 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D00531C66A63000D1F709 /* NetworkReachabilityManager.swift */; };
		4C3D00561C66A63000D1F709 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D00531C66A63000D1F709 /* NetworkReachabilityManager.swift */; };
		4C3D00581C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D00571C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift */; };
		4C3D00591C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D00571C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift */; };
		4C3D005A1C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D00571C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift */; };
		4C4CBE7B1BAF700C0024D659 /* String+AlamofireTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4CBE7A1BAF700C0024D659 /* String+AlamofireTests.swift */; };
		4C4CBE7C1BAF700C0024D659 /* String+AlamofireTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4CBE7A1BAF700C0024D659 /* String+AlamofireTests.swift */; };
		4C574E6A1C67D207000B3128 /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C574E691C67D207000B3128 /* Timeline.swift */; };
		4C574E6B1C67D207000B3128 /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C574E691C67D207000B3128 /* Timeline.swift */; };
		4C574E6C1C67D207000B3128 /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C574E691C67D207000B3128 /* Timeline.swift */; };
		4C574E6D1C67D207000B3128 /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C574E691C67D207000B3128 /* Timeline.swift */; };
		4C743CF61C22772D00BCB23E /* certDER.cer in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F831C1A72F8002DA1A9 /* certDER.cer */; };
		4C743CF71C22772D00BCB23E /* certDER.crt in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F841C1A72F8002DA1A9 /* certDER.crt */; };
		4C743CF81C22772D00BCB23E /* certDER.der in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F851C1A72F8002DA1A9 /* certDER.der */; };
		4C743CF91C22772D00BCB23E /* certPEM.cer in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F861C1A72F8002DA1A9 /* certPEM.cer */; };
		4C743CFA1C22772D00BCB23E /* certPEM.crt in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F871C1A72F8002DA1A9 /* certPEM.crt */; };
		4C743CFB1C22772D00BCB23E /* randomGibberish.crt in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F891C1A72F8002DA1A9 /* randomGibberish.crt */; };
		4C743CFC1C22772D00BCB23E /* keyDER.der in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F8A1C1A72F8002DA1A9 /* keyDER.der */; };
		4C743CFD1C22772D00BCB23E /* alamofire-root-ca.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C3A1B535F220017E0BF /* alamofire-root-ca.cer */; };
		4C743CFE1C22772D00BCB23E /* alamofire-signing-ca1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C3D1B535F2E0017E0BF /* alamofire-signing-ca1.cer */; };
		4C743CFF1C22772D00BCB23E /* alamofire-signing-ca2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C3E1B535F2E0017E0BF /* alamofire-signing-ca2.cer */; };
		4C743D001C22772D00BCB23E /* multiple-dns-names.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C441B535F400017E0BF /* multiple-dns-names.cer */; };
		4C743D011C22772D00BCB23E /* signed-by-ca1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C451B535F400017E0BF /* signed-by-ca1.cer */; };
		4C743D021C22772D00BCB23E /* test.alamofire.org.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C461B535F400017E0BF /* test.alamofire.org.cer */; };
		4C743D031C22772D00BCB23E /* wildcard.alamofire.org.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C431B535F400017E0BF /* wildcard.alamofire.org.cer */; };
		4C743D041C22772D00BCB23E /* expired.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C4F1B535F540017E0BF /* expired.cer */; };
		4C743D051C22772D00BCB23E /* missing-dns-name-and-uri.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C501B535F540017E0BF /* missing-dns-name-and-uri.cer */; };
		4C743D061C22772D00BCB23E /* signed-by-ca2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C511B535F540017E0BF /* signed-by-ca2.cer */; };
		4C743D071C22772D00BCB23E /* valid-dns-name.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C521B535F540017E0BF /* valid-dns-name.cer */; };
		4C743D081C22772D00BCB23E /* valid-uri.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C531B535F540017E0BF /* valid-uri.cer */; };
		4C743D091C22772D00BCB23E /* intermediate-ca-disig.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C5E1B535F6D0017E0BF /* intermediate-ca-disig.cer */; };
		4C743D0A1C22772D00BCB23E /* root-ca-disig.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C5F1B535F6D0017E0BF /* root-ca-disig.cer */; };
		4C743D0B1C22772D00BCB23E /* testssl-expire.disig.sk.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C601B535F6D0017E0BF /* testssl-expire.disig.sk.cer */; };
		4C743D0C1C22772E00BCB23E /* certDER.cer in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F831C1A72F8002DA1A9 /* certDER.cer */; };
		4C743D0D1C22772E00BCB23E /* certDER.crt in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F841C1A72F8002DA1A9 /* certDER.crt */; };
		4C743D0E1C22772E00BCB23E /* certDER.der in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F851C1A72F8002DA1A9 /* certDER.der */; };
		4C743D0F1C22772E00BCB23E /* certPEM.cer in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F861C1A72F8002DA1A9 /* certPEM.cer */; };
		4C743D101C22772E00BCB23E /* certPEM.crt in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F871C1A72F8002DA1A9 /* certPEM.crt */; };
		4C743D111C22772E00BCB23E /* randomGibberish.crt in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F891C1A72F8002DA1A9 /* randomGibberish.crt */; };
		4C743D121C22772E00BCB23E /* keyDER.der in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F8A1C1A72F8002DA1A9 /* keyDER.der */; };
		4C743D131C22772E00BCB23E /* alamofire-root-ca.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C3A1B535F220017E0BF /* alamofire-root-ca.cer */; };
		4C743D141C22772E00BCB23E /* alamofire-signing-ca1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C3D1B535F2E0017E0BF /* alamofire-signing-ca1.cer */; };
		4C743D151C22772E00BCB23E /* alamofire-signing-ca2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C3E1B535F2E0017E0BF /* alamofire-signing-ca2.cer */; };
		4C743D161C22772E00BCB23E /* multiple-dns-names.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C441B535F400017E0BF /* multiple-dns-names.cer */; };
		4C743D171C22772E00BCB23E /* signed-by-ca1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C451B535F400017E0BF /* signed-by-ca1.cer */; };
		4C743D181C22772E00BCB23E /* test.alamofire.org.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C461B535F400017E0BF /* test.alamofire.org.cer */; };
		4C743D191C22772E00BCB23E /* wildcard.alamofire.org.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C431B535F400017E0BF /* wildcard.alamofire.org.cer */; };
		4C743D1A1C22772E00BCB23E /* expired.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C4F1B535F540017E0BF /* expired.cer */; };
		4C743D1B1C22772E00BCB23E /* missing-dns-name-and-uri.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C501B535F540017E0BF /* missing-dns-name-and-uri.cer */; };
		4C743D1C1C22772E00BCB23E /* signed-by-ca2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C511B535F540017E0BF /* signed-by-ca2.cer */; };
		4C743D1D1C22772E00BCB23E /* valid-dns-name.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C521B535F540017E0BF /* valid-dns-name.cer */; };
		4C743D1E1C22772E00BCB23E /* valid-uri.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C531B535F540017E0BF /* valid-uri.cer */; };
		4C743D1F1C22772E00BCB23E /* intermediate-ca-disig.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C5E1B535F6D0017E0BF /* intermediate-ca-disig.cer */; };
		4C743D201C22772E00BCB23E /* root-ca-disig.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C5F1B535F6D0017E0BF /* root-ca-disig.cer */; };
		4C743D211C22772E00BCB23E /* testssl-expire.disig.sk.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C601B535F6D0017E0BF /* testssl-expire.disig.sk.cer */; };
		4C743D221C22772F00BCB23E /* certDER.cer in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F831C1A72F8002DA1A9 /* certDER.cer */; };
		4C743D231C22772F00BCB23E /* certDER.crt in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F841C1A72F8002DA1A9 /* certDER.crt */; };
		4C743D241C22772F00BCB23E /* certDER.der in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F851C1A72F8002DA1A9 /* certDER.der */; };
		4C743D251C22772F00BCB23E /* certPEM.cer in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F861C1A72F8002DA1A9 /* certPEM.cer */; };
		4C743D261C22772F00BCB23E /* certPEM.crt in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F871C1A72F8002DA1A9 /* certPEM.crt */; };
		4C743D271C22772F00BCB23E /* randomGibberish.crt in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F891C1A72F8002DA1A9 /* randomGibberish.crt */; };
		4C743D281C22772F00BCB23E /* keyDER.der in Resources */ = {isa = PBXBuildFile; fileRef = B39E2F8A1C1A72F8002DA1A9 /* keyDER.der */; };
		4C743D291C22772F00BCB23E /* alamofire-root-ca.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C3A1B535F220017E0BF /* alamofire-root-ca.cer */; };
		4C743D2A1C22772F00BCB23E /* alamofire-signing-ca1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C3D1B535F2E0017E0BF /* alamofire-signing-ca1.cer */; };
		4C743D2B1C22772F00BCB23E /* alamofire-signing-ca2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C3E1B535F2E0017E0BF /* alamofire-signing-ca2.cer */; };
		4C743D2C1C22772F00BCB23E /* multiple-dns-names.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C441B535F400017E0BF /* multiple-dns-names.cer */; };
		4C743D2D1C22772F00BCB23E /* signed-by-ca1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C451B535F400017E0BF /* signed-by-ca1.cer */; };
		4C743D2E1C22772F00BCB23E /* test.alamofire.org.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C461B535F400017E0BF /* test.alamofire.org.cer */; };
		4C743D2F1C22772F00BCB23E /* wildcard.alamofire.org.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C431B535F400017E0BF /* wildcard.alamofire.org.cer */; };
		4C743D301C22772F00BCB23E /* expired.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C4F1B535F540017E0BF /* expired.cer */; };
		4C743D311C22772F00BCB23E /* missing-dns-name-and-uri.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C501B535F540017E0BF /* missing-dns-name-and-uri.cer */; };
		4C743D321C22772F00BCB23E /* signed-by-ca2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C511B535F540017E0BF /* signed-by-ca2.cer */; };
		4C743D331C22772F00BCB23E /* valid-dns-name.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C521B535F540017E0BF /* valid-dns-name.cer */; };
		4C743D341C22772F00BCB23E /* valid-uri.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C531B535F540017E0BF /* valid-uri.cer */; };
		4C743D351C22772F00BCB23E /* intermediate-ca-disig.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C5E1B535F6D0017E0BF /* intermediate-ca-disig.cer */; };
		4C743D361C22772F00BCB23E /* root-ca-disig.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C5F1B535F6D0017E0BF /* root-ca-disig.cer */; };
		4C743D371C22772F00BCB23E /* testssl-expire.disig.sk.cer in Resources */ = {isa = PBXBuildFile; fileRef = 4C812C601B535F6D0017E0BF /* testssl-expire.disig.sk.cer */; };
		4C7C8D221B9D0D9000948136 /* NSURLSessionConfiguration+AlamofireTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7C8D211B9D0D9000948136 /* NSURLSessionConfiguration+AlamofireTests.swift */; };
		4C7C8D231B9D0D9000948136 /* NSURLSessionConfiguration+AlamofireTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7C8D211B9D0D9000948136 /* NSURLSessionConfiguration+AlamofireTests.swift */; };
		4C80F9F81BB730EF001B46D2 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B62501BB1001C009302D3 /* Response.swift */; };
		4C80F9F91BB730F6001B46D2 /* String+AlamofireTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4CBE7A1BAF700C0024D659 /* String+AlamofireTests.swift */; };
		4C811F8D1B51856D00E0F59A /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C811F8C1B51856D00E0F59A /* ServerTrustPolicy.swift */; };
		4C811F8E1B51856D00E0F59A /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C811F8C1B51856D00E0F59A /* ServerTrustPolicy.swift */; };
		4C83F41B1B749E0E00203445 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C83F41A1B749E0E00203445 /* Stream.swift */; };
		4C83F41C1B749E0E00203445 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C83F41A1B749E0E00203445 /* Stream.swift */; };
		4C83F41D1B749E0E00203445 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C83F41A1B749E0E00203445 /* Stream.swift */; };
		4CA028C51B7466C500C84163 /* ResultTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA028C41B7466C500C84163 /* ResultTests.swift */; };
		4CA028C61B7466C500C84163 /* ResultTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA028C41B7466C500C84163 /* ResultTests.swift */; };
		4CB928291C66BFBC00CE5F08 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB928281C66BFBC00CE5F08 /* Notifications.swift */; };
		4CB9282A1C66BFBC00CE5F08 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB928281C66BFBC00CE5F08 /* Notifications.swift */; };
		4CB9282B1C66BFBC00CE5F08 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB928281C66BFBC00CE5F08 /* Notifications.swift */; };
		4CB9282C1C66BFBC00CE5F08 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB928281C66BFBC00CE5F08 /* Notifications.swift */; };
		4CCFA79A1B2BE71600B6F460 /* URLProtocolTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CCFA7991B2BE71600B6F460 /* URLProtocolTests.swift */; };
		4CCFA79B1B2BE71600B6F460 /* URLProtocolTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CCFA7991B2BE71600B6F460 /* URLProtocolTests.swift */; };
		4CDE2C371AF8932A00BABAE5 /* Manager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C361AF8932A00BABAE5 /* Manager.swift */; };
		4CDE2C381AF8932A00BABAE5 /* Manager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C361AF8932A00BABAE5 /* Manager.swift */; };
		4CDE2C3A1AF899EC00BABAE5 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C391AF899EC00BABAE5 /* Request.swift */; };
		4CDE2C3B1AF899EC00BABAE5 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C391AF899EC00BABAE5 /* Request.swift */; };
		4CDE2C3D1AF89D4900BABAE5 /* Download.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C3C1AF89D4900BABAE5 /* Download.swift */; };
		4CDE2C3E1AF89D4900BABAE5 /* Download.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C3C1AF89D4900BABAE5 /* Download.swift */; };
		4CDE2C401AF89E0700BABAE5 /* Upload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C3F1AF89E0700BABAE5 /* Upload.swift */; };
		4CDE2C411AF89E0700BABAE5 /* Upload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C3F1AF89E0700BABAE5 /* Upload.swift */; };
		4CDE2C431AF89F0900BABAE5 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C421AF89F0900BABAE5 /* Validation.swift */; };
		4CDE2C441AF89F0900BABAE5 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C421AF89F0900BABAE5 /* Validation.swift */; };
		4CDE2C461AF89FF300BABAE5 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C451AF89FF300BABAE5 /* ResponseSerialization.swift */; };
		4CDE2C471AF89FF300BABAE5 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C451AF89FF300BABAE5 /* ResponseSerialization.swift */; };
		4CE2724F1AF88FB500F1D59A /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE2724E1AF88FB500F1D59A /* ParameterEncoding.swift */; };
		4CE272501AF88FB500F1D59A /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE2724E1AF88FB500F1D59A /* ParameterEncoding.swift */; };
		4CEC605A1B745C9100E684F4 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1DC8531B68908E00476DE3 /* Error.swift */; };
		4CEC605B1B745C9100E684F4 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0E5BF71B673D3400816CCC /* Result.swift */; };
		4CEC605C1B745C9B00E684F4 /* Alamofire.h in Headers */ = {isa = PBXBuildFile; fileRef = F8111E3819A95C8B0040E7D1 /* Alamofire.h */; settings = {ATTRIBUTES = (Public, ); }; };
		4CEE82AD1C6813CF00E9C9F0 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D00531C66A63000D1F709 /* NetworkReachabilityManager.swift */; };
		4CF626F91BA7CB3E0011A099 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CF626EF1BA7CB3E0011A099 /* Alamofire.framework */; };
		4CF627061BA7CBE30011A099 /* Alamofire.h in Headers */ = {isa = PBXBuildFile; fileRef = F8111E3819A95C8B0040E7D1 /* Alamofire.h */; settings = {ATTRIBUTES = (Public, ); }; };
		4CF627071BA7CBF60011A099 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F897FF4019AA800700AB5182 /* Alamofire.swift */; };
		4CF627081BA7CBF60011A099 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1DC8531B68908E00476DE3 /* Error.swift */; };
		4CF627091BA7CBF60011A099 /* Manager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C361AF8932A00BABAE5 /* Manager.swift */; };
		4CF6270A1BA7CBF60011A099 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE2724E1AF88FB500F1D59A /* ParameterEncoding.swift */; };
		4CF6270B1BA7CBF60011A099 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C391AF899EC00BABAE5 /* Request.swift */; };
		4CF6270C1BA7CBF60011A099 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0E5BF71B673D3400816CCC /* Result.swift */; };
		4CF6270D1BA7CBF60011A099 /* Download.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C3C1AF89D4900BABAE5 /* Download.swift */; };
		4CF6270E1BA7CBF60011A099 /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C23EB421B327C5B0090E0BC /* MultipartFormData.swift */; };
		4CF6270F1BA7CBF60011A099 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C451AF89FF300BABAE5 /* ResponseSerialization.swift */; };
		4CF627101BA7CBF60011A099 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C811F8C1B51856D00E0F59A /* ServerTrustPolicy.swift */; };
		4CF627111BA7CBF60011A099 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C83F41A1B749E0E00203445 /* Stream.swift */; };
		4CF627121BA7CBF60011A099 /* Upload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C3F1AF89E0700BABAE5 /* Upload.swift */; };
		4CF627131BA7CBF60011A099 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C421AF89F0900BABAE5 /* Validation.swift */; };
		4CF627141BA7CC240011A099 /* BaseTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C256A501B096C2C0065714F /* BaseTestCase.swift */; };
		4CF627151BA7CC240011A099 /* AuthenticationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E6024419CB46A800A3E7F1 /* AuthenticationTests.swift */; };
		4CF627161BA7CC240011A099 /* ManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8D1C6F419D52968002E74FE /* ManagerTests.swift */; };
		4CF627171BA7CC240011A099 /* ParameterEncodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5C19A9674D0040E7D1 /* ParameterEncodingTests.swift */; };
		4CF627181BA7CC240011A099 /* RequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5D19A9674D0040E7D1 /* RequestTests.swift */; };
		4CF627191BA7CC240011A099 /* ResponseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5E19A9674D0040E7D1 /* ResponseTests.swift */; };
		4CF6271A1BA7CC240011A099 /* ResultTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA028C41B7466C500C84163 /* ResultTests.swift */; };
		4CF6271B1BA7CC240011A099 /* NSURLSessionConfiguration+AlamofireTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7C8D211B9D0D9000948136 /* NSURLSessionConfiguration+AlamofireTests.swift */; };
		4CF6271C1BA7CC240011A099 /* CacheTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C341BB91B1A865A00C1B34D /* CacheTests.swift */; };
		4CF6271D1BA7CC240011A099 /* DownloadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5B19A9674D0040E7D1 /* DownloadTests.swift */; };
		4CF6271E1BA7CC240011A099 /* MultipartFormDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3238E61B3604DB00FE04AE /* MultipartFormDataTests.swift */; };
		4CF6271F1BA7CC240011A099 /* ResponseSerializationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B58381B747A4400C0B99C /* ResponseSerializationTests.swift */; };
		4CF627201BA7CC240011A099 /* ServerTrustPolicyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C33A1421B52089C00873DFF /* ServerTrustPolicyTests.swift */; };
		4CF627211BA7CC240011A099 /* TLSEvaluationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F86AEFE51AE6A282007D9C76 /* TLSEvaluationTests.swift */; };
		4CF627221BA7CC240011A099 /* UploadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5F19A9674D0040E7D1 /* UploadTests.swift */; };
		4CF627231BA7CC240011A099 /* URLProtocolTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CCFA7991B2BE71600B6F460 /* URLProtocolTests.swift */; };
		4CF627241BA7CC240011A099 /* ValidationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8AE910119D28DCC0078C7B2 /* ValidationTests.swift */; };
		4CF627341BA7CC300011A099 /* rainbow.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 4C33A1231B5207DB00873DFF /* rainbow.jpg */; };
		4CF627351BA7CC300011A099 /* unicorn.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C33A1241B5207DB00873DFF /* unicorn.png */; };
		4DD67C241A5C58FB00ED2280 /* Alamofire.h in Headers */ = {isa = PBXBuildFile; fileRef = F8111E3819A95C8B0040E7D1 /* Alamofire.h */; settings = {ATTRIBUTES = (Public, ); }; };
		4DD67C251A5C590000ED2280 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F897FF4019AA800700AB5182 /* Alamofire.swift */; };
		8035DB621BAB492500466CB3 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8111E3319A95C8B0040E7D1 /* Alamofire.framework */; };
		E4202FCF1B667AA100C997FB /* Upload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C3F1AF89E0700BABAE5 /* Upload.swift */; };
		E4202FD01B667AA100C997FB /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE2724E1AF88FB500F1D59A /* ParameterEncoding.swift */; };
		E4202FD11B667AA100C997FB /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C391AF899EC00BABAE5 /* Request.swift */; };
		E4202FD21B667AA100C997FB /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C451AF89FF300BABAE5 /* ResponseSerialization.swift */; };
		E4202FD31B667AA100C997FB /* Manager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C361AF8932A00BABAE5 /* Manager.swift */; };
		E4202FD41B667AA100C997FB /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F897FF4019AA800700AB5182 /* Alamofire.swift */; };
		E4202FD51B667AA100C997FB /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C23EB421B327C5B0090E0BC /* MultipartFormData.swift */; };
		E4202FD61B667AA100C997FB /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C811F8C1B51856D00E0F59A /* ServerTrustPolicy.swift */; };
		E4202FD71B667AA100C997FB /* Download.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C3C1AF89D4900BABAE5 /* Download.swift */; };
		E4202FD81B667AA100C997FB /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDE2C421AF89F0900BABAE5 /* Validation.swift */; };
		F8111E3919A95C8B0040E7D1 /* Alamofire.h in Headers */ = {isa = PBXBuildFile; fileRef = F8111E3819A95C8B0040E7D1 /* Alamofire.h */; settings = {ATTRIBUTES = (Public, ); }; };
		F8111E6019A9674D0040E7D1 /* DownloadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5B19A9674D0040E7D1 /* DownloadTests.swift */; };
		F8111E6119A9674D0040E7D1 /* ParameterEncodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5C19A9674D0040E7D1 /* ParameterEncodingTests.swift */; };
		F8111E6419A9674D0040E7D1 /* UploadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5F19A9674D0040E7D1 /* UploadTests.swift */; };
		F829C6B81A7A94F100A2CD59 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DD67C0B1A5C55C900ED2280 /* Alamofire.framework */; };
		F829C6BE1A7A950600A2CD59 /* ParameterEncodingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5C19A9674D0040E7D1 /* ParameterEncodingTests.swift */; };
		F829C6BF1A7A950600A2CD59 /* RequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5D19A9674D0040E7D1 /* RequestTests.swift */; };
		F829C6C01A7A950600A2CD59 /* ManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8D1C6F419D52968002E74FE /* ManagerTests.swift */; };
		F829C6C11A7A950600A2CD59 /* ResponseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5E19A9674D0040E7D1 /* ResponseTests.swift */; };
		F829C6C21A7A950600A2CD59 /* UploadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5F19A9674D0040E7D1 /* UploadTests.swift */; };
		F829C6C31A7A950600A2CD59 /* DownloadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5B19A9674D0040E7D1 /* DownloadTests.swift */; };
		F829C6C41A7A950600A2CD59 /* AuthenticationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E6024419CB46A800A3E7F1 /* AuthenticationTests.swift */; };
		F829C6C51A7A950600A2CD59 /* ValidationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8AE910119D28DCC0078C7B2 /* ValidationTests.swift */; };
		F86AEFE71AE6A312007D9C76 /* TLSEvaluationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F86AEFE51AE6A282007D9C76 /* TLSEvaluationTests.swift */; };
		F86AEFE81AE6A315007D9C76 /* TLSEvaluationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F86AEFE51AE6A282007D9C76 /* TLSEvaluationTests.swift */; };
		F8858DDD19A96B4300F55F93 /* RequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5D19A9674D0040E7D1 /* RequestTests.swift */; };
		F8858DDE19A96B4400F55F93 /* ResponseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8111E5E19A9674D0040E7D1 /* ResponseTests.swift */; };
		F897FF4119AA800700AB5182 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F897FF4019AA800700AB5182 /* Alamofire.swift */; };
		F8AE910219D28DCC0078C7B2 /* ValidationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8AE910119D28DCC0078C7B2 /* ValidationTests.swift */; };
		F8D1C6F519D52968002E74FE /* ManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8D1C6F419D52968002E74FE /* ManagerTests.swift */; };
		F8E6024519CB46A800A3E7F1 /* AuthenticationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8E6024419CB46A800A3E7F1 /* AuthenticationTests.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		4CF626FA1BA7CB3E0011A099 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F8111E2A19A95C8B0040E7D1 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4CF626EE1BA7CB3E0011A099;
			remoteInfo = "Alamofire tvOS";
		};
		F8111E6519A967880040E7D1 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F8111E2A19A95C8B0040E7D1 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F8111E3219A95C8B0040E7D1;
			remoteInfo = Alamofire;
		};
		F829C6B91A7A94F100A2CD59 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F8111E2A19A95C8B0040E7D1 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 4DD67C0A1A5C55C900ED2280;
			remoteInfo = "Alamofire OSX";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		4C0B58381B747A4400C0B99C /* ResponseSerializationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResponseSerializationTests.swift; sourceTree = "<group>"; };
		4C0B62501BB1001C009302D3 /* Response.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Response.swift; sourceTree = "<group>"; };
		4C0E02681BF99A18004E7F18 /* Info-tvOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-tvOS.plist"; path = "Source/Info-tvOS.plist"; sourceTree = SOURCE_ROOT; };
		4C0E5BF71B673D3400816CCC /* Result.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Result.swift; sourceTree = "<group>"; };
		4C1DC8531B68908E00476DE3 /* Error.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = "<group>"; };
		4C23EB421B327C5B0090E0BC /* MultipartFormData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MultipartFormData.swift; sourceTree = "<group>"; };
		4C256A501B096C2C0065714F /* BaseTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseTestCase.swift; sourceTree = "<group>"; };
		4C3238E61B3604DB00FE04AE /* MultipartFormDataTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MultipartFormDataTests.swift; sourceTree = "<group>"; };
		4C33A1231B5207DB00873DFF /* rainbow.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = rainbow.jpg; sourceTree = "<group>"; };
		4C33A1241B5207DB00873DFF /* unicorn.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = unicorn.png; sourceTree = "<group>"; };
		4C33A1421B52089C00873DFF /* ServerTrustPolicyTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServerTrustPolicyTests.swift; sourceTree = "<group>"; };
		4C341BB91B1A865A00C1B34D /* CacheTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CacheTests.swift; sourceTree = "<group>"; };
		4C3D00531C66A63000D1F709 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkReachabilityManager.swift; sourceTree = "<group>"; };
		4C3D00571C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkReachabilityManagerTests.swift; sourceTree = "<group>"; };
		4C4CBE7A1BAF700C0024D659 /* String+AlamofireTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+AlamofireTests.swift"; sourceTree = "<group>"; };
		4C574E691C67D207000B3128 /* Timeline.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Timeline.swift; sourceTree = "<group>"; };
		4C7C8D211B9D0D9000948136 /* NSURLSessionConfiguration+AlamofireTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSURLSessionConfiguration+AlamofireTests.swift"; sourceTree = "<group>"; };
		4C811F8C1B51856D00E0F59A /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServerTrustPolicy.swift; sourceTree = "<group>"; };
		4C812C3A1B535F220017E0BF /* alamofire-root-ca.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "alamofire-root-ca.cer"; path = "alamofire.org/alamofire-root-ca.cer"; sourceTree = "<group>"; };
		4C812C3D1B535F2E0017E0BF /* alamofire-signing-ca1.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "alamofire-signing-ca1.cer"; path = "alamofire.org/alamofire-signing-ca1.cer"; sourceTree = "<group>"; };
		4C812C3E1B535F2E0017E0BF /* alamofire-signing-ca2.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "alamofire-signing-ca2.cer"; path = "alamofire.org/alamofire-signing-ca2.cer"; sourceTree = "<group>"; };
		4C812C431B535F400017E0BF /* wildcard.alamofire.org.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = wildcard.alamofire.org.cer; path = alamofire.org/wildcard.alamofire.org.cer; sourceTree = "<group>"; };
		4C812C441B535F400017E0BF /* multiple-dns-names.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "multiple-dns-names.cer"; path = "alamofire.org/multiple-dns-names.cer"; sourceTree = "<group>"; };
		4C812C451B535F400017E0BF /* signed-by-ca1.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "signed-by-ca1.cer"; path = "alamofire.org/signed-by-ca1.cer"; sourceTree = "<group>"; };
		4C812C461B535F400017E0BF /* test.alamofire.org.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = test.alamofire.org.cer; path = alamofire.org/test.alamofire.org.cer; sourceTree = "<group>"; };
		4C812C4F1B535F540017E0BF /* expired.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = expired.cer; path = alamofire.org/expired.cer; sourceTree = "<group>"; };
		4C812C501B535F540017E0BF /* missing-dns-name-and-uri.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "missing-dns-name-and-uri.cer"; path = "alamofire.org/missing-dns-name-and-uri.cer"; sourceTree = "<group>"; };
		4C812C511B535F540017E0BF /* signed-by-ca2.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "signed-by-ca2.cer"; path = "alamofire.org/signed-by-ca2.cer"; sourceTree = "<group>"; };
		4C812C521B535F540017E0BF /* valid-dns-name.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "valid-dns-name.cer"; path = "alamofire.org/valid-dns-name.cer"; sourceTree = "<group>"; };
		4C812C531B535F540017E0BF /* valid-uri.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "valid-uri.cer"; path = "alamofire.org/valid-uri.cer"; sourceTree = "<group>"; };
		4C812C5E1B535F6D0017E0BF /* intermediate-ca-disig.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "intermediate-ca-disig.cer"; path = "disig.sk/intermediate-ca-disig.cer"; sourceTree = "<group>"; };
		4C812C5F1B535F6D0017E0BF /* root-ca-disig.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "root-ca-disig.cer"; path = "disig.sk/root-ca-disig.cer"; sourceTree = "<group>"; };
		4C812C601B535F6D0017E0BF /* testssl-expire.disig.sk.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = "testssl-expire.disig.sk.cer"; path = "disig.sk/testssl-expire.disig.sk.cer"; sourceTree = "<group>"; };
		4C83F41A1B749E0E00203445 /* Stream.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Stream.swift; sourceTree = "<group>"; };
		4CA028C41B7466C500C84163 /* ResultTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResultTests.swift; sourceTree = "<group>"; };
		4CB928281C66BFBC00CE5F08 /* Notifications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Notifications.swift; sourceTree = "<group>"; };
		4CCFA7991B2BE71600B6F460 /* URLProtocolTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = URLProtocolTests.swift; sourceTree = "<group>"; };
		4CDE2C361AF8932A00BABAE5 /* Manager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Manager.swift; sourceTree = "<group>"; };
		4CDE2C391AF899EC00BABAE5 /* Request.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Request.swift; sourceTree = "<group>"; };
		4CDE2C3C1AF89D4900BABAE5 /* Download.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Download.swift; sourceTree = "<group>"; };
		4CDE2C3F1AF89E0700BABAE5 /* Upload.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Upload.swift; sourceTree = "<group>"; };
		4CDE2C421AF89F0900BABAE5 /* Validation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Validation.swift; sourceTree = "<group>"; };
		4CDE2C451AF89FF300BABAE5 /* ResponseSerialization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResponseSerialization.swift; sourceTree = "<group>"; };
		4CE2724E1AF88FB500F1D59A /* ParameterEncoding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ParameterEncoding.swift; sourceTree = "<group>"; };
		4CF626EF1BA7CB3E0011A099 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		4CF626F81BA7CB3E0011A099 /* Alamofire tvOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Alamofire tvOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
		4DD67C0B1A5C55C900ED2280 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		72998D721BF26173006D3F69 /* Info-tvOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-tvOS.plist"; sourceTree = "<group>"; };
		B39E2F831C1A72F8002DA1A9 /* certDER.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = certDER.cer; path = selfSignedAndMalformedCerts/certDER.cer; sourceTree = "<group>"; };
		B39E2F841C1A72F8002DA1A9 /* certDER.crt */ = {isa = PBXFileReference; lastKnownFileType = file; name = certDER.crt; path = selfSignedAndMalformedCerts/certDER.crt; sourceTree = "<group>"; };
		B39E2F851C1A72F8002DA1A9 /* certDER.der */ = {isa = PBXFileReference; lastKnownFileType = file; name = certDER.der; path = selfSignedAndMalformedCerts/certDER.der; sourceTree = "<group>"; };
		B39E2F861C1A72F8002DA1A9 /* certPEM.cer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = certPEM.cer; path = selfSignedAndMalformedCerts/certPEM.cer; sourceTree = "<group>"; };
		B39E2F871C1A72F8002DA1A9 /* certPEM.crt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = certPEM.crt; path = selfSignedAndMalformedCerts/certPEM.crt; sourceTree = "<group>"; };
		B39E2F891C1A72F8002DA1A9 /* randomGibberish.crt */ = {isa = PBXFileReference; lastKnownFileType = file; name = randomGibberish.crt; path = selfSignedAndMalformedCerts/randomGibberish.crt; sourceTree = "<group>"; };
		B39E2F8A1C1A72F8002DA1A9 /* keyDER.der */ = {isa = PBXFileReference; lastKnownFileType = file; name = keyDER.der; path = selfSignedAndMalformedCerts/keyDER.der; sourceTree = "<group>"; };
		E4202FE01B667AA100C997FB /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		F8111E3319A95C8B0040E7D1 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		F8111E3719A95C8B0040E7D1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		F8111E3819A95C8B0040E7D1 /* Alamofire.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Alamofire.h; sourceTree = "<group>"; };
		F8111E3E19A95C8B0040E7D1 /* Alamofire iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Alamofire iOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
		F8111E4119A95C8B0040E7D1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		F8111E5B19A9674D0040E7D1 /* DownloadTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DownloadTests.swift; sourceTree = "<group>"; };
		F8111E5C19A9674D0040E7D1 /* ParameterEncodingTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ParameterEncodingTests.swift; sourceTree = "<group>"; };
		F8111E5D19A9674D0040E7D1 /* RequestTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestTests.swift; sourceTree = "<group>"; };
		F8111E5E19A9674D0040E7D1 /* ResponseTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResponseTests.swift; sourceTree = "<group>"; };
		F8111E5F19A9674D0040E7D1 /* UploadTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UploadTests.swift; sourceTree = "<group>"; };
		F829C6B21A7A94F100A2CD59 /* Alamofire OSX Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Alamofire OSX Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
		F86AEFE51AE6A282007D9C76 /* TLSEvaluationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLSEvaluationTests.swift; sourceTree = "<group>"; };
		F897FF4019AA800700AB5182 /* Alamofire.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Alamofire.swift; sourceTree = "<group>"; };
		F8AE910119D28DCC0078C7B2 /* ValidationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValidationTests.swift; sourceTree = "<group>"; };
		F8D1C6F419D52968002E74FE /* ManagerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ManagerTests.swift; sourceTree = "<group>"; };
		F8E6024419CB46A800A3E7F1 /* AuthenticationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthenticationTests.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		4CF626EB1BA7CB3E0011A099 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4CF626F51BA7CB3E0011A099 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4CF626F91BA7CB3E0011A099 /* Alamofire.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4DD67C071A5C55C900ED2280 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		E4202FD91B667AA100C997FB /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F8111E2F19A95C8B0040E7D1 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F8111E3B19A95C8B0040E7D1 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8035DB621BAB492500466CB3 /* Alamofire.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F829C6AF1A7A94F100A2CD59 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F829C6B81A7A94F100A2CD59 /* Alamofire.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		4C256A4E1B09656A0065714F /* Core */ = {
			isa = PBXGroup;
			children = (
				F8E6024419CB46A800A3E7F1 /* AuthenticationTests.swift */,
				F8D1C6F419D52968002E74FE /* ManagerTests.swift */,
				F8111E5C19A9674D0040E7D1 /* ParameterEncodingTests.swift */,
				F8111E5D19A9674D0040E7D1 /* RequestTests.swift */,
				F8111E5E19A9674D0040E7D1 /* ResponseTests.swift */,
				4CA028C41B7466C500C84163 /* ResultTests.swift */,
			);
			name = Core;
			sourceTree = "<group>";
		};
		4C256A4F1B09656E0065714F /* Features */ = {
			isa = PBXGroup;
			children = (
				4C341BB91B1A865A00C1B34D /* CacheTests.swift */,
				F8111E5B19A9674D0040E7D1 /* DownloadTests.swift */,
				4C3238E61B3604DB00FE04AE /* MultipartFormDataTests.swift */,
				4C3D00571C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift */,
				4C0B58381B747A4400C0B99C /* ResponseSerializationTests.swift */,
				4C33A1421B52089C00873DFF /* ServerTrustPolicyTests.swift */,
				F86AEFE51AE6A282007D9C76 /* TLSEvaluationTests.swift */,
				F8111E5F19A9674D0040E7D1 /* UploadTests.swift */,
				4CCFA7991B2BE71600B6F460 /* URLProtocolTests.swift */,
				F8AE910119D28DCC0078C7B2 /* ValidationTests.swift */,
			);
			name = Features;
			sourceTree = "<group>";
		};
		4C3238E91B3617A600FE04AE /* Resources */ = {
			isa = PBXGroup;
			children = (
				4C33A1171B5207DB00873DFF /* Certificates */,
				4C33A1221B5207DB00873DFF /* Images */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		4C33A1171B5207DB00873DFF /* Certificates */ = {
			isa = PBXGroup;
			children = (
				B39E2F821C1A72E5002DA1A9 /* Varying Encoding Types and Extensions */,
				4C812C391B535F060017E0BF /* alamofire.org */,
				4C812C381B535F000017E0BF /* disig.sk */,
			);
			name = Certificates;
			path = Resources/Certificates;
			sourceTree = "<group>";
		};
		4C33A1221B5207DB00873DFF /* Images */ = {
			isa = PBXGroup;
			children = (
				4C33A1231B5207DB00873DFF /* rainbow.jpg */,
				4C33A1241B5207DB00873DFF /* unicorn.png */,
			);
			name = Images;
			path = Resources/Images;
			sourceTree = "<group>";
		};
		4C33A13D1B52080800873DFF /* Root */ = {
			isa = PBXGroup;
			children = (
				4C812C3A1B535F220017E0BF /* alamofire-root-ca.cer */,
			);
			name = Root;
			sourceTree = "<group>";
		};
		4C33A13E1B52081100873DFF /* Intermediate */ = {
			isa = PBXGroup;
			children = (
				4C812C3D1B535F2E0017E0BF /* alamofire-signing-ca1.cer */,
				4C812C3E1B535F2E0017E0BF /* alamofire-signing-ca2.cer */,
			);
			name = Intermediate;
			sourceTree = "<group>";
		};
		4C33A13F1B52081A00873DFF /* Leaf */ = {
			isa = PBXGroup;
			children = (
				4C33A1401B52084400873DFF /* Signed by CA1 */,
				4C33A1411B52084E00873DFF /* Signed by CA2 */,
			);
			name = Leaf;
			sourceTree = "<group>";
		};
		4C33A1401B52084400873DFF /* Signed by CA1 */ = {
			isa = PBXGroup;
			children = (
				4C812C441B535F400017E0BF /* multiple-dns-names.cer */,
				4C812C451B535F400017E0BF /* signed-by-ca1.cer */,
				4C812C461B535F400017E0BF /* test.alamofire.org.cer */,
				4C812C431B535F400017E0BF /* wildcard.alamofire.org.cer */,
			);
			name = "Signed by CA1";
			sourceTree = "<group>";
		};
		4C33A1411B52084E00873DFF /* Signed by CA2 */ = {
			isa = PBXGroup;
			children = (
				4C812C4F1B535F540017E0BF /* expired.cer */,
				4C812C501B535F540017E0BF /* missing-dns-name-and-uri.cer */,
				4C812C511B535F540017E0BF /* signed-by-ca2.cer */,
				4C812C521B535F540017E0BF /* valid-dns-name.cer */,
				4C812C531B535F540017E0BF /* valid-uri.cer */,
			);
			name = "Signed by CA2";
			sourceTree = "<group>";
		};
		4C7C8D201B9D0D7300948136 /* Extensions */ = {
			isa = PBXGroup;
			children = (
				4C7C8D211B9D0D9000948136 /* NSURLSessionConfiguration+AlamofireTests.swift */,
				4C4CBE7A1BAF700C0024D659 /* String+AlamofireTests.swift */,
			);
			name = Extensions;
			sourceTree = "<group>";
		};
		4C812C381B535F000017E0BF /* disig.sk */ = {
			isa = PBXGroup;
			children = (
				4C812C5E1B535F6D0017E0BF /* intermediate-ca-disig.cer */,
				4C812C5F1B535F6D0017E0BF /* root-ca-disig.cer */,
				4C812C601B535F6D0017E0BF /* testssl-expire.disig.sk.cer */,
			);
			name = disig.sk;
			sourceTree = "<group>";
		};
		4C812C391B535F060017E0BF /* alamofire.org */ = {
			isa = PBXGroup;
			children = (
				4C33A13D1B52080800873DFF /* Root */,
				4C33A13E1B52081100873DFF /* Intermediate */,
				4C33A13F1B52081A00873DFF /* Leaf */,
			);
			name = alamofire.org;
			sourceTree = "<group>";
		};
		4CDE2C481AF8A14A00BABAE5 /* Core */ = {
			isa = PBXGroup;
			children = (
				4C1DC8531B68908E00476DE3 /* Error.swift */,
				4CDE2C361AF8932A00BABAE5 /* Manager.swift */,
				4CB928281C66BFBC00CE5F08 /* Notifications.swift */,
				4CE2724E1AF88FB500F1D59A /* ParameterEncoding.swift */,
				4CDE2C391AF899EC00BABAE5 /* Request.swift */,
				4C0B62501BB1001C009302D3 /* Response.swift */,
				4C0E5BF71B673D3400816CCC /* Result.swift */,
			);
			name = Core;
			sourceTree = "<group>";
		};
		4CDE2C491AF8A14E00BABAE5 /* Features */ = {
			isa = PBXGroup;
			children = (
				4CDE2C3C1AF89D4900BABAE5 /* Download.swift */,
				4C23EB421B327C5B0090E0BC /* MultipartFormData.swift */,
				4C3D00531C66A63000D1F709 /* NetworkReachabilityManager.swift */,
				4CDE2C451AF89FF300BABAE5 /* ResponseSerialization.swift */,
				4C811F8C1B51856D00E0F59A /* ServerTrustPolicy.swift */,
				4C83F41A1B749E0E00203445 /* Stream.swift */,
				4C574E691C67D207000B3128 /* Timeline.swift */,
				4CDE2C3F1AF89E0700BABAE5 /* Upload.swift */,
				4CDE2C421AF89F0900BABAE5 /* Validation.swift */,
			);
			name = Features;
			sourceTree = "<group>";
		};
		B39E2F821C1A72E5002DA1A9 /* Varying Encoding Types and Extensions */ = {
			isa = PBXGroup;
			children = (
				B39E2F831C1A72F8002DA1A9 /* certDER.cer */,
				B39E2F841C1A72F8002DA1A9 /* certDER.crt */,
				B39E2F851C1A72F8002DA1A9 /* certDER.der */,
				B39E2F861C1A72F8002DA1A9 /* certPEM.cer */,
				B39E2F871C1A72F8002DA1A9 /* certPEM.crt */,
				B39E2F891C1A72F8002DA1A9 /* randomGibberish.crt */,
				B39E2F8A1C1A72F8002DA1A9 /* keyDER.der */,
			);
			name = "Varying Encoding Types and Extensions";
			sourceTree = "<group>";
		};
		F8111E2919A95C8B0040E7D1 = {
			isa = PBXGroup;
			children = (
				F8111E3519A95C8B0040E7D1 /* Source */,
				F8111E3F19A95C8B0040E7D1 /* Tests */,
				F8111E3419A95C8B0040E7D1 /* Products */,
			);
			sourceTree = "<group>";
		};
		F8111E3419A95C8B0040E7D1 /* Products */ = {
			isa = PBXGroup;
			children = (
				F8111E3319A95C8B0040E7D1 /* Alamofire.framework */,
				F8111E3E19A95C8B0040E7D1 /* Alamofire iOS Tests.xctest */,
				4DD67C0B1A5C55C900ED2280 /* Alamofire.framework */,
				F829C6B21A7A94F100A2CD59 /* Alamofire OSX Tests.xctest */,
				E4202FE01B667AA100C997FB /* Alamofire.framework */,
				4CF626EF1BA7CB3E0011A099 /* Alamofire.framework */,
				4CF626F81BA7CB3E0011A099 /* Alamofire tvOS Tests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		F8111E3519A95C8B0040E7D1 /* Source */ = {
			isa = PBXGroup;
			children = (
				F897FF4019AA800700AB5182 /* Alamofire.swift */,
				4CDE2C481AF8A14A00BABAE5 /* Core */,
				4CDE2C491AF8A14E00BABAE5 /* Features */,
				F8111E3619A95C8B0040E7D1 /* Supporting Files */,
			);
			path = Source;
			sourceTree = "<group>";
		};
		F8111E3619A95C8B0040E7D1 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				F8111E3819A95C8B0040E7D1 /* Alamofire.h */,
				F8111E3719A95C8B0040E7D1 /* Info.plist */,
				72998D721BF26173006D3F69 /* Info-tvOS.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		F8111E3F19A95C8B0040E7D1 /* Tests */ = {
			isa = PBXGroup;
			children = (
				4C256A501B096C2C0065714F /* BaseTestCase.swift */,
				4C256A4E1B09656A0065714F /* Core */,
				4C7C8D201B9D0D7300948136 /* Extensions */,
				4C256A4F1B09656E0065714F /* Features */,
				4C3238E91B3617A600FE04AE /* Resources */,
				F8111E4019A95C8B0040E7D1 /* Supporting Files */,
			);
			path = Tests;
			sourceTree = "<group>";
		};
		F8111E4019A95C8B0040E7D1 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				F8111E4119A95C8B0040E7D1 /* Info.plist */,
				4C0E02681BF99A18004E7F18 /* Info-tvOS.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		4CF626EC1BA7CB3E0011A099 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4CF627061BA7CBE30011A099 /* Alamofire.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4DD67C081A5C55C900ED2280 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4DD67C241A5C58FB00ED2280 /* Alamofire.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		E4202FDA1B667AA100C997FB /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4CEC605C1B745C9B00E684F4 /* Alamofire.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F8111E3019A95C8B0040E7D1 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F8111E3919A95C8B0040E7D1 /* Alamofire.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		4CF626EE1BA7CB3E0011A099 /* Alamofire tvOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4CF627041BA7CB3E0011A099 /* Build configuration list for PBXNativeTarget "Alamofire tvOS" */;
			buildPhases = (
				4CF626EA1BA7CB3E0011A099 /* Sources */,
				4CF626EB1BA7CB3E0011A099 /* Frameworks */,
				4CF626EC1BA7CB3E0011A099 /* Headers */,
				4CF626ED1BA7CB3E0011A099 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Alamofire tvOS";
			productName = "Alamofire tvOS";
			productReference = 4CF626EF1BA7CB3E0011A099 /* Alamofire.framework */;
			productType = "com.apple.product-type.framework";
		};
		4CF626F71BA7CB3E0011A099 /* Alamofire tvOS Tests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4CF627051BA7CB3E0011A099 /* Build configuration list for PBXNativeTarget "Alamofire tvOS Tests" */;
			buildPhases = (
				4CF626F41BA7CB3E0011A099 /* Sources */,
				4CF626F51BA7CB3E0011A099 /* Frameworks */,
				4CF626F61BA7CB3E0011A099 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				4CF626FB1BA7CB3E0011A099 /* PBXTargetDependency */,
			);
			name = "Alamofire tvOS Tests";
			productName = "Alamofire tvOSTests";
			productReference = 4CF626F81BA7CB3E0011A099 /* Alamofire tvOS Tests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		4DD67C0A1A5C55C900ED2280 /* Alamofire OSX */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 4DD67C1E1A5C55C900ED2280 /* Build configuration list for PBXNativeTarget "Alamofire OSX" */;
			buildPhases = (
				4DD67C061A5C55C900ED2280 /* Sources */,
				4DD67C071A5C55C900ED2280 /* Frameworks */,
				4DD67C081A5C55C900ED2280 /* Headers */,
				4DD67C091A5C55C900ED2280 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Alamofire OSX";
			productName = AlamofireOSX;
			productReference = 4DD67C0B1A5C55C900ED2280 /* Alamofire.framework */;
			productType = "com.apple.product-type.framework";
		};
		E4202FCD1B667AA100C997FB /* Alamofire watchOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = E4202FDD1B667AA100C997FB /* Build configuration list for PBXNativeTarget "Alamofire watchOS" */;
			buildPhases = (
				E4202FCE1B667AA100C997FB /* Sources */,
				E4202FD91B667AA100C997FB /* Frameworks */,
				E4202FDA1B667AA100C997FB /* Headers */,
				E4202FDC1B667AA100C997FB /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Alamofire watchOS";
			productName = Alamofire;
			productReference = E4202FE01B667AA100C997FB /* Alamofire.framework */;
			productType = "com.apple.product-type.framework";
		};
		F8111E3219A95C8B0040E7D1 /* Alamofire iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F8111E4619A95C8B0040E7D1 /* Build configuration list for PBXNativeTarget "Alamofire iOS" */;
			buildPhases = (
				F8111E2E19A95C8B0040E7D1 /* Sources */,
				F8111E2F19A95C8B0040E7D1 /* Frameworks */,
				F8111E3019A95C8B0040E7D1 /* Headers */,
				F8111E3119A95C8B0040E7D1 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Alamofire iOS";
			productName = Alamofire;
			productReference = F8111E3319A95C8B0040E7D1 /* Alamofire.framework */;
			productType = "com.apple.product-type.framework";
		};
		F8111E3D19A95C8B0040E7D1 /* Alamofire iOS Tests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F8111E4919A95C8B0040E7D1 /* Build configuration list for PBXNativeTarget "Alamofire iOS Tests" */;
			buildPhases = (
				F8111E3A19A95C8B0040E7D1 /* Sources */,
				F8111E3B19A95C8B0040E7D1 /* Frameworks */,
				F8111E3C19A95C8B0040E7D1 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				F8111E6619A967880040E7D1 /* PBXTargetDependency */,
			);
			name = "Alamofire iOS Tests";
			productName = AlamofireTests;
			productReference = F8111E3E19A95C8B0040E7D1 /* Alamofire iOS Tests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		F829C6B11A7A94F100A2CD59 /* Alamofire OSX Tests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F829C6BB1A7A94F100A2CD59 /* Build configuration list for PBXNativeTarget "Alamofire OSX Tests" */;
			buildPhases = (
				F829C6AE1A7A94F100A2CD59 /* Sources */,
				F829C6AF1A7A94F100A2CD59 /* Frameworks */,
				F829C6B01A7A94F100A2CD59 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				F829C6BA1A7A94F100A2CD59 /* PBXTargetDependency */,
			);
			name = "Alamofire OSX Tests";
			productName = "Alamofire OSX Tests";
			productReference = F829C6B21A7A94F100A2CD59 /* Alamofire OSX Tests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		F8111E2A19A95C8B0040E7D1 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 0700;
				ORGANIZATIONNAME = Alamofire;
				TargetAttributes = {
					4CF626EE1BA7CB3E0011A099 = {
						CreatedOnToolsVersion = 7.1;
					};
					4CF626F71BA7CB3E0011A099 = {
						CreatedOnToolsVersion = 7.1;
					};
					4DD67C0A1A5C55C900ED2280 = {
						CreatedOnToolsVersion = 6.1.1;
					};
					F8111E3219A95C8B0040E7D1 = {
						CreatedOnToolsVersion = 6.0;
					};
					F8111E3D19A95C8B0040E7D1 = {
						CreatedOnToolsVersion = 6.0;
					};
					F829C6B11A7A94F100A2CD59 = {
						CreatedOnToolsVersion = 6.1.1;
					};
				};
			};
			buildConfigurationList = F8111E2D19A95C8B0040E7D1 /* Build configuration list for PBXProject "Alamofire" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = F8111E2919A95C8B0040E7D1;
			productRefGroup = F8111E3419A95C8B0040E7D1 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				F8111E3219A95C8B0040E7D1 /* Alamofire iOS */,
				F8111E3D19A95C8B0040E7D1 /* Alamofire iOS Tests */,
				4DD67C0A1A5C55C900ED2280 /* Alamofire OSX */,
				F829C6B11A7A94F100A2CD59 /* Alamofire OSX Tests */,
				4CF626EE1BA7CB3E0011A099 /* Alamofire tvOS */,
				4CF626F71BA7CB3E0011A099 /* Alamofire tvOS Tests */,
				E4202FCD1B667AA100C997FB /* Alamofire watchOS */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		4CF626ED1BA7CB3E0011A099 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4CF626F61BA7CB3E0011A099 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C743D031C22772D00BCB23E /* wildcard.alamofire.org.cer in Resources */,
				4C743CFF1C22772D00BCB23E /* alamofire-signing-ca2.cer in Resources */,
				4C743D061C22772D00BCB23E /* signed-by-ca2.cer in Resources */,
				4CF627341BA7CC300011A099 /* rainbow.jpg in Resources */,
				4C743D081C22772D00BCB23E /* valid-uri.cer in Resources */,
				4C743CFC1C22772D00BCB23E /* keyDER.der in Resources */,
				4C743CF81C22772D00BCB23E /* certDER.der in Resources */,
				4C743D051C22772D00BCB23E /* missing-dns-name-and-uri.cer in Resources */,
				4C743CFB1C22772D00BCB23E /* randomGibberish.crt in Resources */,
				4C743D0B1C22772D00BCB23E /* testssl-expire.disig.sk.cer in Resources */,
				4C743CFE1C22772D00BCB23E /* alamofire-signing-ca1.cer in Resources */,
				4C743D001C22772D00BCB23E /* multiple-dns-names.cer in Resources */,
				4C743D011C22772D00BCB23E /* signed-by-ca1.cer in Resources */,
				4C743D021C22772D00BCB23E /* test.alamofire.org.cer in Resources */,
				4C743CF61C22772D00BCB23E /* certDER.cer in Resources */,
				4C743D0A1C22772D00BCB23E /* root-ca-disig.cer in Resources */,
				4C743CFD1C22772D00BCB23E /* alamofire-root-ca.cer in Resources */,
				4C743CF91C22772D00BCB23E /* certPEM.cer in Resources */,
				4CF627351BA7CC300011A099 /* unicorn.png in Resources */,
				4C743CFA1C22772D00BCB23E /* certPEM.crt in Resources */,
				4C743D091C22772D00BCB23E /* intermediate-ca-disig.cer in Resources */,
				4C743CF71C22772D00BCB23E /* certDER.crt in Resources */,
				4C743D071C22772D00BCB23E /* valid-dns-name.cer in Resources */,
				4C743D041C22772D00BCB23E /* expired.cer in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4DD67C091A5C55C900ED2280 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		E4202FDC1B667AA100C997FB /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F8111E3119A95C8B0040E7D1 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F8111E3C19A95C8B0040E7D1 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C743D2F1C22772F00BCB23E /* wildcard.alamofire.org.cer in Resources */,
				4C743D2B1C22772F00BCB23E /* alamofire-signing-ca2.cer in Resources */,
				4C743D321C22772F00BCB23E /* signed-by-ca2.cer in Resources */,
				4C33A13B1B5207DB00873DFF /* unicorn.png in Resources */,
				4C743D341C22772F00BCB23E /* valid-uri.cer in Resources */,
				4C743D281C22772F00BCB23E /* keyDER.der in Resources */,
				4C743D241C22772F00BCB23E /* certDER.der in Resources */,
				4C743D311C22772F00BCB23E /* missing-dns-name-and-uri.cer in Resources */,
				4C743D271C22772F00BCB23E /* randomGibberish.crt in Resources */,
				4C743D371C22772F00BCB23E /* testssl-expire.disig.sk.cer in Resources */,
				4C743D2A1C22772F00BCB23E /* alamofire-signing-ca1.cer in Resources */,
				4C743D2C1C22772F00BCB23E /* multiple-dns-names.cer in Resources */,
				4C743D2D1C22772F00BCB23E /* signed-by-ca1.cer in Resources */,
				4C743D2E1C22772F00BCB23E /* test.alamofire.org.cer in Resources */,
				4C743D221C22772F00BCB23E /* certDER.cer in Resources */,
				4C743D361C22772F00BCB23E /* root-ca-disig.cer in Resources */,
				4C743D291C22772F00BCB23E /* alamofire-root-ca.cer in Resources */,
				4C743D251C22772F00BCB23E /* certPEM.cer in Resources */,
				4C33A1391B5207DB00873DFF /* rainbow.jpg in Resources */,
				4C743D261C22772F00BCB23E /* certPEM.crt in Resources */,
				4C743D351C22772F00BCB23E /* intermediate-ca-disig.cer in Resources */,
				4C743D231C22772F00BCB23E /* certDER.crt in Resources */,
				4C743D331C22772F00BCB23E /* valid-dns-name.cer in Resources */,
				4C743D301C22772F00BCB23E /* expired.cer in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F829C6B01A7A94F100A2CD59 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C743D191C22772E00BCB23E /* wildcard.alamofire.org.cer in Resources */,
				4C743D151C22772E00BCB23E /* alamofire-signing-ca2.cer in Resources */,
				4C743D1C1C22772E00BCB23E /* signed-by-ca2.cer in Resources */,
				4C33A13C1B5207DB00873DFF /* unicorn.png in Resources */,
				4C743D1E1C22772E00BCB23E /* valid-uri.cer in Resources */,
				4C743D121C22772E00BCB23E /* keyDER.der in Resources */,
				4C743D0E1C22772E00BCB23E /* certDER.der in Resources */,
				4C743D1B1C22772E00BCB23E /* missing-dns-name-and-uri.cer in Resources */,
				4C743D111C22772E00BCB23E /* randomGibberish.crt in Resources */,
				4C743D211C22772E00BCB23E /* testssl-expire.disig.sk.cer in Resources */,
				4C743D141C22772E00BCB23E /* alamofire-signing-ca1.cer in Resources */,
				4C743D161C22772E00BCB23E /* multiple-dns-names.cer in Resources */,
				4C743D171C22772E00BCB23E /* signed-by-ca1.cer in Resources */,
				4C743D181C22772E00BCB23E /* test.alamofire.org.cer in Resources */,
				4C743D0C1C22772E00BCB23E /* certDER.cer in Resources */,
				4C743D201C22772E00BCB23E /* root-ca-disig.cer in Resources */,
				4C743D131C22772E00BCB23E /* alamofire-root-ca.cer in Resources */,
				4C743D0F1C22772E00BCB23E /* certPEM.cer in Resources */,
				4C33A13A1B5207DB00873DFF /* rainbow.jpg in Resources */,
				4C743D101C22772E00BCB23E /* certPEM.crt in Resources */,
				4C743D1F1C22772E00BCB23E /* intermediate-ca-disig.cer in Resources */,
				4C743D0D1C22772E00BCB23E /* certDER.crt in Resources */,
				4C743D1D1C22772E00BCB23E /* valid-dns-name.cer in Resources */,
				4C743D1A1C22772E00BCB23E /* expired.cer in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		4CF626EA1BA7CB3E0011A099 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C574E6C1C67D207000B3128 /* Timeline.swift in Sources */,
				4CF627121BA7CBF60011A099 /* Upload.swift in Sources */,
				4CF627111BA7CBF60011A099 /* Stream.swift in Sources */,
				4CF6270C1BA7CBF60011A099 /* Result.swift in Sources */,
				4CF627081BA7CBF60011A099 /* Error.swift in Sources */,
				4CF627131BA7CBF60011A099 /* Validation.swift in Sources */,
				4CF6270E1BA7CBF60011A099 /* MultipartFormData.swift in Sources */,
				4C80F9F81BB730EF001B46D2 /* Response.swift in Sources */,
				4CB9282B1C66BFBC00CE5F08 /* Notifications.swift in Sources */,
				4CF627091BA7CBF60011A099 /* Manager.swift in Sources */,
				4CF6270F1BA7CBF60011A099 /* ResponseSerialization.swift in Sources */,
				4CF6270B1BA7CBF60011A099 /* Request.swift in Sources */,
				4C3D00561C66A63000D1F709 /* NetworkReachabilityManager.swift in Sources */,
				4CF6270A1BA7CBF60011A099 /* ParameterEncoding.swift in Sources */,
				4CF627101BA7CBF60011A099 /* ServerTrustPolicy.swift in Sources */,
				4CF6270D1BA7CBF60011A099 /* Download.swift in Sources */,
				4CF627071BA7CBF60011A099 /* Alamofire.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4CF626F41BA7CB3E0011A099 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4CF627181BA7CC240011A099 /* RequestTests.swift in Sources */,
				4CF627211BA7CC240011A099 /* TLSEvaluationTests.swift in Sources */,
				4CF627221BA7CC240011A099 /* UploadTests.swift in Sources */,
				4C80F9F91BB730F6001B46D2 /* String+AlamofireTests.swift in Sources */,
				4CF6271E1BA7CC240011A099 /* MultipartFormDataTests.swift in Sources */,
				4CF627201BA7CC240011A099 /* ServerTrustPolicyTests.swift in Sources */,
				4CF627241BA7CC240011A099 /* ValidationTests.swift in Sources */,
				4CF627141BA7CC240011A099 /* BaseTestCase.swift in Sources */,
				4CF627151BA7CC240011A099 /* AuthenticationTests.swift in Sources */,
				4CF627171BA7CC240011A099 /* ParameterEncodingTests.swift in Sources */,
				4CF627191BA7CC240011A099 /* ResponseTests.swift in Sources */,
				4CF627231BA7CC240011A099 /* URLProtocolTests.swift in Sources */,
				4CF6271C1BA7CC240011A099 /* CacheTests.swift in Sources */,
				4CF627161BA7CC240011A099 /* ManagerTests.swift in Sources */,
				4CF6271A1BA7CC240011A099 /* ResultTests.swift in Sources */,
				4CF6271B1BA7CC240011A099 /* NSURLSessionConfiguration+AlamofireTests.swift in Sources */,
				4C3D005A1C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift in Sources */,
				4CF6271F1BA7CC240011A099 /* ResponseSerializationTests.swift in Sources */,
				4CF6271D1BA7CC240011A099 /* DownloadTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		4DD67C061A5C55C900ED2280 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C574E6B1C67D207000B3128 /* Timeline.swift in Sources */,
				4CDE2C411AF89E0700BABAE5 /* Upload.swift in Sources */,
				4CE272501AF88FB500F1D59A /* ParameterEncoding.swift in Sources */,
				4CDE2C3B1AF899EC00BABAE5 /* Request.swift in Sources */,
				4CDE2C471AF89FF300BABAE5 /* ResponseSerialization.swift in Sources */,
				4C1DC8551B68908E00476DE3 /* Error.swift in Sources */,
				4CDE2C381AF8932A00BABAE5 /* Manager.swift in Sources */,
				4C0B62521BB1001C009302D3 /* Response.swift in Sources */,
				4CB9282A1C66BFBC00CE5F08 /* Notifications.swift in Sources */,
				4DD67C251A5C590000ED2280 /* Alamofire.swift in Sources */,
				4C23EB441B327C5B0090E0BC /* MultipartFormData.swift in Sources */,
				4C811F8E1B51856D00E0F59A /* ServerTrustPolicy.swift in Sources */,
				4C3D00551C66A63000D1F709 /* NetworkReachabilityManager.swift in Sources */,
				4C83F41C1B749E0E00203445 /* Stream.swift in Sources */,
				4CDE2C3E1AF89D4900BABAE5 /* Download.swift in Sources */,
				4CDE2C441AF89F0900BABAE5 /* Validation.swift in Sources */,
				4C0E5BF91B673D3400816CCC /* Result.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		E4202FCE1B667AA100C997FB /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C574E6D1C67D207000B3128 /* Timeline.swift in Sources */,
				4CEE82AD1C6813CF00E9C9F0 /* NetworkReachabilityManager.swift in Sources */,
				E4202FCF1B667AA100C997FB /* Upload.swift in Sources */,
				E4202FD01B667AA100C997FB /* ParameterEncoding.swift in Sources */,
				E4202FD11B667AA100C997FB /* Request.swift in Sources */,
				4CEC605A1B745C9100E684F4 /* Error.swift in Sources */,
				E4202FD21B667AA100C997FB /* ResponseSerialization.swift in Sources */,
				E4202FD31B667AA100C997FB /* Manager.swift in Sources */,
				4C0B62531BB1001C009302D3 /* Response.swift in Sources */,
				4CB9282C1C66BFBC00CE5F08 /* Notifications.swift in Sources */,
				4CEC605B1B745C9100E684F4 /* Result.swift in Sources */,
				E4202FD41B667AA100C997FB /* Alamofire.swift in Sources */,
				E4202FD51B667AA100C997FB /* MultipartFormData.swift in Sources */,
				4C83F41D1B749E0E00203445 /* Stream.swift in Sources */,
				E4202FD61B667AA100C997FB /* ServerTrustPolicy.swift in Sources */,
				E4202FD71B667AA100C997FB /* Download.swift in Sources */,
				E4202FD81B667AA100C997FB /* Validation.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F8111E2E19A95C8B0040E7D1 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C574E6A1C67D207000B3128 /* Timeline.swift in Sources */,
				4CDE2C401AF89E0700BABAE5 /* Upload.swift in Sources */,
				4CE2724F1AF88FB500F1D59A /* ParameterEncoding.swift in Sources */,
				4CDE2C3A1AF899EC00BABAE5 /* Request.swift in Sources */,
				4CDE2C461AF89FF300BABAE5 /* ResponseSerialization.swift in Sources */,
				4C1DC8541B68908E00476DE3 /* Error.swift in Sources */,
				4CDE2C371AF8932A00BABAE5 /* Manager.swift in Sources */,
				4C0B62511BB1001C009302D3 /* Response.swift in Sources */,
				F897FF4119AA800700AB5182 /* Alamofire.swift in Sources */,
				4C23EB431B327C5B0090E0BC /* MultipartFormData.swift in Sources */,
				4C811F8D1B51856D00E0F59A /* ServerTrustPolicy.swift in Sources */,
				4C3D00541C66A63000D1F709 /* NetworkReachabilityManager.swift in Sources */,
				4C83F41B1B749E0E00203445 /* Stream.swift in Sources */,
				4CDE2C3D1AF89D4900BABAE5 /* Download.swift in Sources */,
				4CDE2C431AF89F0900BABAE5 /* Validation.swift in Sources */,
				4CB928291C66BFBC00CE5F08 /* Notifications.swift in Sources */,
				4C0E5BF81B673D3400816CCC /* Result.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F8111E3A19A95C8B0040E7D1 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C3238E71B3604DB00FE04AE /* MultipartFormDataTests.swift in Sources */,
				4C33A1431B52089C00873DFF /* ServerTrustPolicyTests.swift in Sources */,
				4C341BBA1B1A865A00C1B34D /* CacheTests.swift in Sources */,
				4C4CBE7B1BAF700C0024D659 /* String+AlamofireTests.swift in Sources */,
				4CA028C51B7466C500C84163 /* ResultTests.swift in Sources */,
				4CCFA79A1B2BE71600B6F460 /* URLProtocolTests.swift in Sources */,
				F86AEFE71AE6A312007D9C76 /* TLSEvaluationTests.swift in Sources */,
				4C0B58391B747A4400C0B99C /* ResponseSerializationTests.swift in Sources */,
				F8858DDD19A96B4300F55F93 /* RequestTests.swift in Sources */,
				4C256A531B096C770065714F /* BaseTestCase.swift in Sources */,
				F8E6024519CB46A800A3E7F1 /* AuthenticationTests.swift in Sources */,
				F8858DDE19A96B4400F55F93 /* ResponseTests.swift in Sources */,
				F8D1C6F519D52968002E74FE /* ManagerTests.swift in Sources */,
				F8AE910219D28DCC0078C7B2 /* ValidationTests.swift in Sources */,
				F8111E6119A9674D0040E7D1 /* ParameterEncodingTests.swift in Sources */,
				F8111E6419A9674D0040E7D1 /* UploadTests.swift in Sources */,
				4C3D00581C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift in Sources */,
				F8111E6019A9674D0040E7D1 /* DownloadTests.swift in Sources */,
				4C7C8D221B9D0D9000948136 /* NSURLSessionConfiguration+AlamofireTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F829C6AE1A7A94F100A2CD59 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4C3238E81B3604DB00FE04AE /* MultipartFormDataTests.swift in Sources */,
				4C33A1441B52089C00873DFF /* ServerTrustPolicyTests.swift in Sources */,
				4C341BBB1B1A865A00C1B34D /* CacheTests.swift in Sources */,
				4C4CBE7C1BAF700C0024D659 /* String+AlamofireTests.swift in Sources */,
				4CA028C61B7466C500C84163 /* ResultTests.swift in Sources */,
				4CCFA79B1B2BE71600B6F460 /* URLProtocolTests.swift in Sources */,
				F829C6BE1A7A950600A2CD59 /* ParameterEncodingTests.swift in Sources */,
				4C0B583A1B747A4400C0B99C /* ResponseSerializationTests.swift in Sources */,
				F829C6BF1A7A950600A2CD59 /* RequestTests.swift in Sources */,
				4C256A541B096C770065714F /* BaseTestCase.swift in Sources */,
				F829C6C01A7A950600A2CD59 /* ManagerTests.swift in Sources */,
				F829C6C11A7A950600A2CD59 /* ResponseTests.swift in Sources */,
				F829C6C21A7A950600A2CD59 /* UploadTests.swift in Sources */,
				F829C6C31A7A950600A2CD59 /* DownloadTests.swift in Sources */,
				F829C6C41A7A950600A2CD59 /* AuthenticationTests.swift in Sources */,
				F829C6C51A7A950600A2CD59 /* ValidationTests.swift in Sources */,
				4C3D00591C66A8B900D1F709 /* NetworkReachabilityManagerTests.swift in Sources */,
				F86AEFE81AE6A315007D9C76 /* TLSEvaluationTests.swift in Sources */,
				4C7C8D231B9D0D9000948136 /* NSURLSessionConfiguration+AlamofireTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		4CF626FB1BA7CB3E0011A099 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4CF626EE1BA7CB3E0011A099 /* Alamofire tvOS */;
			targetProxy = 4CF626FA1BA7CB3E0011A099 /* PBXContainerItemProxy */;
		};
		F8111E6619A967880040E7D1 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F8111E3219A95C8B0040E7D1 /* Alamofire iOS */;
			targetProxy = F8111E6519A967880040E7D1 /* PBXContainerItemProxy */;
		};
		F829C6BA1A7A94F100A2CD59 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 4DD67C0A1A5C55C900ED2280 /* Alamofire OSX */;
			targetProxy = F829C6B91A7A94F100A2CD59 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		4C0FFAF81C212C71009085A1 /* ReleaseTest */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 1;
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				TVOS_DEPLOYMENT_TARGET = 9.0;
				VALIDATE_PRODUCT = YES;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
				WATCHOS_DEPLOYMENT_TARGET = 2.0;
			};
			name = ReleaseTest;
		};
		4C0FFAF91C212C71009085A1 /* ReleaseTest */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = bitcode;
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphonesimulator*]" = "";
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_TESTABILITY = YES;
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = Alamofire;
				SKIP_INSTALL = YES;
				SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
			};
			name = ReleaseTest;
		};
		4C0FFAFA1C212C71009085A1 /* ReleaseTest */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphonesimulator*]" = "";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
				INFOPLIST_FILE = Tests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = ReleaseTest;
		};
		4C0FFAFB1C212C71009085A1 /* ReleaseTest */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = bitcode;
				CODE_SIGN_IDENTITY = "";
				COMBINE_HIDPI_IMAGES = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = Alamofire;
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
			};
			name = ReleaseTest;
		};
		4C0FFAFC1C212C71009085A1 /* ReleaseTest */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "";
				COMBINE_HIDPI_IMAGES = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = (
					"$(DEVELOPER_FRAMEWORKS_DIR)",
					"$(inherited)",
				);
				INFOPLIST_FILE = Tests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
			};
			name = ReleaseTest;
		};
		4C0FFAFD1C212C71009085A1 /* ReleaseTest */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = bitcode;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=appletvsimulator*]" = "";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_TESTABILITY = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				INFOPLIST_FILE = "Source/Info-tvOS.plist";
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.alamofire.Alamofire;
				PRODUCT_NAME = Alamofire;
				SDKROOT = appletvos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = ReleaseTest;
		};
		4C0FFAFE1C212C71009085A1 /* ReleaseTest */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=appletvsimulator*]" = "";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_TESTABILITY = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.Alamofire-tvOSTests";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = ReleaseTest;
		};
		4C0FFAFF1C212C71009085A1 /* ReleaseTest */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = bitcode;
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=watchsimulator*]" = "";
				COPY_PHASE_STRIP = NO;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_TESTABILITY = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				MODULE_NAME = "";
				PRODUCT_BUNDLE_IDENTIFIER = com.alamofire.Alamofire;
				PRODUCT_NAME = Alamofire;
				SDKROOT = watchos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 4;
			};
			name = ReleaseTest;
		};
		4CF627001BA7CB3E0011A099 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = marker;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=appletvsimulator*]" = "";
				DEBUG_INFORMATION_FORMAT = dwarf;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_TESTABILITY = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				INFOPLIST_FILE = "Source/Info-tvOS.plist";
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.alamofire.Alamofire;
				PRODUCT_NAME = Alamofire;
				SDKROOT = appletvos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Debug;
		};
		4CF627011BA7CB3E0011A099 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = bitcode;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=appletvsimulator*]" = "";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_TESTABILITY = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				INFOPLIST_FILE = "Source/Info-tvOS.plist";
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.alamofire.Alamofire;
				PRODUCT_NAME = Alamofire;
				SDKROOT = appletvos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Release;
		};
		4CF627021BA7CB3E0011A099 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=appletvsimulator*]" = "";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_NO_COMMON_BLOCKS = YES;
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.Alamofire-tvOSTests";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Debug;
		};
		4CF627031BA7CB3E0011A099 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=appletvsimulator*]" = "";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_NO_COMMON_BLOCKS = YES;
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.Alamofire-tvOSTests";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Release;
		};
		4DD67C1F1A5C55C900ED2280 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = marker;
				CODE_SIGN_IDENTITY = "";
				COMBINE_HIDPI_IMAGES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				FRAMEWORK_VERSION = A;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = Alamofire;
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
			};
			name = Debug;
		};
		4DD67C201A5C55C900ED2280 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = bitcode;
				CODE_SIGN_IDENTITY = "";
				COMBINE_HIDPI_IMAGES = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_TESTABILITY = NO;
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = Alamofire;
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
			};
			name = Release;
		};
		E4202FDE1B667AA100C997FB /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = marker;
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=watchsimulator*]" = "";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				GCC_NO_COMMON_BLOCKS = YES;
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				MODULE_NAME = "";
				PRODUCT_BUNDLE_IDENTIFIER = com.alamofire.Alamofire;
				PRODUCT_NAME = Alamofire;
				SDKROOT = watchos;
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = 4;
			};
			name = Debug;
		};
		E4202FDF1B667AA100C997FB /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = bitcode;
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=watchsimulator*]" = "";
				COPY_PHASE_STRIP = NO;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_TESTABILITY = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				MODULE_NAME = "";
				PRODUCT_BUNDLE_IDENTIFIER = com.alamofire.Alamofire;
				PRODUCT_NAME = Alamofire;
				SDKROOT = watchos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 4;
			};
			name = Release;
		};
		F8111E4419A95C8B0040E7D1 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
				TVOS_DEPLOYMENT_TARGET = 9.0;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
				WATCHOS_DEPLOYMENT_TARGET = 2.0;
			};
			name = Debug;
		};
		F8111E4519A95C8B0040E7D1 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 1;
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				TVOS_DEPLOYMENT_TARGET = 9.0;
				VALIDATE_PRODUCT = YES;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
				WATCHOS_DEPLOYMENT_TARGET = 2.0;
			};
			name = Release;
		};
		F8111E4719A95C8B0040E7D1 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = marker;
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphonesimulator*]" = "";
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = Alamofire;
				SKIP_INSTALL = YES;
				SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		F8111E4819A95C8B0040E7D1 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				BITCODE_GENERATION_MODE = bitcode;
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphonesimulator*]" = "";
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_TESTABILITY = NO;
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = Alamofire;
				SKIP_INSTALL = YES;
				SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
			};
			name = Release;
		};
		F8111E4A19A95C8B0040E7D1 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphonesimulator*]" = "";
				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				INFOPLIST_FILE = Tests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		F8111E4B19A95C8B0040E7D1 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphonesimulator*]" = "";
				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
				INFOPLIST_FILE = Tests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		F829C6BC1A7A94F100A2CD59 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "";
				COMBINE_HIDPI_IMAGES = YES;
				FRAMEWORK_SEARCH_PATHS = (
					"$(DEVELOPER_FRAMEWORKS_DIR)",
					"$(inherited)",
				);
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				INFOPLIST_FILE = Tests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
			};
			name = Debug;
		};
		F829C6BD1A7A94F100A2CD59 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "";
				COMBINE_HIDPI_IMAGES = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				FRAMEWORK_SEARCH_PATHS = (
					"$(DEVELOPER_FRAMEWORKS_DIR)",
					"$(inherited)",
				);
				INFOPLIST_FILE = Tests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		4CF627041BA7CB3E0011A099 /* Build configuration list for PBXNativeTarget "Alamofire tvOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4CF627001BA7CB3E0011A099 /* Debug */,
				4CF627011BA7CB3E0011A099 /* Release */,
				4C0FFAFD1C212C71009085A1 /* ReleaseTest */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4CF627051BA7CB3E0011A099 /* Build configuration list for PBXNativeTarget "Alamofire tvOS Tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4CF627021BA7CB3E0011A099 /* Debug */,
				4CF627031BA7CB3E0011A099 /* Release */,
				4C0FFAFE1C212C71009085A1 /* ReleaseTest */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		4DD67C1E1A5C55C900ED2280 /* Build configuration list for PBXNativeTarget "Alamofire OSX" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				4DD67C1F1A5C55C900ED2280 /* Debug */,
				4DD67C201A5C55C900ED2280 /* Release */,
				4C0FFAFB1C212C71009085A1 /* ReleaseTest */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		E4202FDD1B667AA100C997FB /* Build configuration list for PBXNativeTarget "Alamofire watchOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				E4202FDE1B667AA100C997FB /* Debug */,
				E4202FDF1B667AA100C997FB /* Release */,
				4C0FFAFF1C212C71009085A1 /* ReleaseTest */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F8111E2D19A95C8B0040E7D1 /* Build configuration list for PBXProject "Alamofire" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F8111E4419A95C8B0040E7D1 /* Debug */,
				F8111E4519A95C8B0040E7D1 /* Release */,
				4C0FFAF81C212C71009085A1 /* ReleaseTest */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F8111E4619A95C8B0040E7D1 /* Build configuration list for PBXNativeTarget "Alamofire iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F8111E4719A95C8B0040E7D1 /* Debug */,
				F8111E4819A95C8B0040E7D1 /* Release */,
				4C0FFAF91C212C71009085A1 /* ReleaseTest */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F8111E4919A95C8B0040E7D1 /* Build configuration list for PBXNativeTarget "Alamofire iOS Tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F8111E4A19A95C8B0040E7D1 /* Debug */,
				F8111E4B19A95C8B0040E7D1 /* Release */,
				4C0FFAFA1C212C71009085A1 /* ReleaseTest */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F829C6BB1A7A94F100A2CD59 /* Build configuration list for PBXNativeTarget "Alamofire OSX Tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F829C6BC1A7A94F100A2CD59 /* Debug */,
				F829C6BD1A7A94F100A2CD59 /* Release */,
				4C0FFAFC1C212C71009085A1 /* ReleaseTest */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = F8111E2A19A95C8B0040E7D1 /* Project object */;
}
