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

/* Begin PBXAggregateTarget section */
		0F7EB8501F95504B00F1ABCB /* All */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 0F7EB8511F95504B00F1ABCB /* Build configuration list for PBXAggregateTarget "All" */;
			buildPhases = (
			);
			dependencies = (
				0F7EB8561F95505400F1ABCB /* PBXTargetDependency */,
			);
			name = All;
			productName = All;
		};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
		0F26A7A5205483130090A141 /* PerProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F26A7A42054830D0090A141 /* PerProcess.cpp */; };
		0F5167741FAD685C008236A8 /* bmalloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F5167731FAD6852008236A8 /* bmalloc.cpp */; };
		0F5549EF1FB54704007FF75A /* IsoPage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F5549EE1FB54701007FF75A /* IsoPage.cpp */; };
		0F5BF1471F22A8B10029D91D /* HeapKind.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5BF1461F22A8B10029D91D /* HeapKind.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F5BF1491F22A8D80029D91D /* PerHeapKind.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5BF1481F22A8D80029D91D /* PerHeapKind.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F5BF14D1F22B0C30029D91D /* Gigacage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5BF14C1F22B0C30029D91D /* Gigacage.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F5BF14F1F22DEAF0029D91D /* Gigacage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F5BF14E1F22DEAF0029D91D /* Gigacage.cpp */; };
		0F5BF1521F22E1570029D91D /* Scavenger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F5BF1501F22E1570029D91D /* Scavenger.cpp */; };
		0F5BF1531F22E1570029D91D /* Scavenger.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5BF1511F22E1570029D91D /* Scavenger.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F5BF1731F23C5710029D91D /* BExport.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5BF1721F23C5710029D91D /* BExport.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F74B93E1F89713E00B935D3 /* CryptoRandom.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F74B93C1F89713E00B935D3 /* CryptoRandom.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F74B93F1F89713E00B935D3 /* CryptoRandom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F74B93D1F89713E00B935D3 /* CryptoRandom.cpp */; };
		0F7EB8231F9541B000F1ABCB /* EligibilityResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB7FC1F9541AD00F1ABCB /* EligibilityResult.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8241F9541B000F1ABCB /* IsoHeapImplInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB7FD1F9541AD00F1ABCB /* IsoHeapImplInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8251F9541B000F1ABCB /* DeferredTriggerInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB7FE1F9541AD00F1ABCB /* DeferredTriggerInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8261F9541B000F1ABCB /* IsoAllocatorInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB7FF1F9541AD00F1ABCB /* IsoAllocatorInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8271F9541B000F1ABCB /* IsoTLSDeallocatorEntryInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8001F9541AD00F1ABCB /* IsoTLSDeallocatorEntryInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8281F9541B000F1ABCB /* IsoDirectoryInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8011F9541AD00F1ABCB /* IsoDirectoryInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8291F9541B000F1ABCB /* FreeListInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8021F9541AD00F1ABCB /* FreeListInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB82A1F9541B000F1ABCB /* IsoDirectoryPageInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8031F9541AD00F1ABCB /* IsoDirectoryPageInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB82B1F9541B000F1ABCB /* IsoPageTrigger.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8041F9541AD00F1ABCB /* IsoPageTrigger.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB82C1F9541B000F1ABCB /* IsoHeap.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8051F9541AD00F1ABCB /* IsoHeap.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB82D1F9541B000F1ABCB /* IsoTLSEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8061F9541AD00F1ABCB /* IsoTLSEntry.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB82E1F9541B000F1ABCB /* IsoPage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8071F9541AD00F1ABCB /* IsoPage.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB82F1F9541B000F1ABCB /* AllIsoHeaps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F7EB8081F9541AD00F1ABCB /* AllIsoHeaps.cpp */; };
		0F7EB8301F9541B000F1ABCB /* IsoHeapInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8091F9541AD00F1ABCB /* IsoHeapInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8311F9541B000F1ABCB /* IsoPageInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB80A1F9541AE00F1ABCB /* IsoPageInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8321F9541B000F1ABCB /* IsoTLSEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F7EB80B1F9541AE00F1ABCB /* IsoTLSEntry.cpp */; };
		0F7EB8331F9541B000F1ABCB /* IsoTLSDeallocatorEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB80C1F9541AE00F1ABCB /* IsoTLSDeallocatorEntry.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8341F9541B000F1ABCB /* AllIsoHeaps.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB80D1F9541AE00F1ABCB /* AllIsoHeaps.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8351F9541B000F1ABCB /* IsoTLSEntryInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB80E1F9541AE00F1ABCB /* IsoTLSEntryInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8361F9541B000F1ABCB /* IsoTLS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F7EB80F1F9541AE00F1ABCB /* IsoTLS.cpp */; };
		0F7EB8371F9541B000F1ABCB /* IsoDirectory.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8101F9541AE00F1ABCB /* IsoDirectory.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8381F9541B000F1ABCB /* EligibilityResultInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8111F9541AE00F1ABCB /* EligibilityResultInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8391F9541B000F1ABCB /* DeferredTrigger.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8121F9541AE00F1ABCB /* DeferredTrigger.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB83A1F9541B000F1ABCB /* IsoDeallocatorInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8131F9541AE00F1ABCB /* IsoDeallocatorInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB83B1F9541B000F1ABCB /* IsoHeapImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F7EB8141F9541AE00F1ABCB /* IsoHeapImpl.cpp */; };
		0F7EB83C1F9541B000F1ABCB /* IsoAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8151F9541AF00F1ABCB /* IsoAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB83D1F9541B000F1ABCB /* DeferredDecommit.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8161F9541AF00F1ABCB /* DeferredDecommit.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB83E1F9541B000F1ABCB /* FreeList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F7EB8171F9541AF00F1ABCB /* FreeList.cpp */; };
		0F7EB83F1F9541B000F1ABCB /* IsoTLSLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F7EB8181F9541AF00F1ABCB /* IsoTLSLayout.cpp */; };
		0F7EB8401F9541B000F1ABCB /* IsoTLSLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8191F9541AF00F1ABCB /* IsoTLSLayout.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8411F9541B000F1ABCB /* IsoConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB81A1F9541AF00F1ABCB /* IsoConfig.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8421F9541B000F1ABCB /* IsoTLS.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB81B1F9541AF00F1ABCB /* IsoTLS.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8431F9541B000F1ABCB /* IsoTLSAllocatorEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB81C1F9541AF00F1ABCB /* IsoTLSAllocatorEntry.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8441F9541B000F1ABCB /* FreeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB81D1F9541AF00F1ABCB /* FreeList.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8451F9541B000F1ABCB /* IsoHeapImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB81E1F9541B000F1ABCB /* IsoHeapImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8461F9541B000F1ABCB /* IsoTLSInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB81F1F9541B000F1ABCB /* IsoTLSInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8471F9541B000F1ABCB /* IsoDeallocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8201F9541B000F1ABCB /* IsoDeallocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8481F9541B000F1ABCB /* IsoTLSAllocatorEntryInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8211F9541B000F1ABCB /* IsoTLSAllocatorEntryInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB8491F9541B000F1ABCB /* IsoDirectoryPage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8221F9541B000F1ABCB /* IsoDirectoryPage.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB84C1F9541C700F1ABCB /* Bits.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB84A1F9541C600F1ABCB /* Bits.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB84D1F9541C700F1ABCB /* BMalloced.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB84B1F9541C600F1ABCB /* BMalloced.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB84F1F954D4E00F1ABCB /* AllIsoHeapsInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB84E1F954D4E00F1ABCB /* AllIsoHeapsInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0F7EB85A1F955A1100F1ABCB /* DeferredDecommitInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7EB8591F955A0F00F1ABCB /* DeferredDecommitInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		0FD557331F7EDB7B00B1F0A3 /* HeapKind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FD557321F7EDB7B00B1F0A3 /* HeapKind.cpp */; };
		1400274918F89C1300115C97 /* Heap.h in Headers */ = {isa = PBXBuildFile; fileRef = 14DA320C18875B09007269E0 /* Heap.h */; settings = {ATTRIBUTES = (Private, ); }; };
		140FA00319CE429C00FFD3C8 /* BumpRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 140FA00219CE429C00FFD3C8 /* BumpRange.h */; settings = {ATTRIBUTES = (Private, ); }; };
		140FA00519CE4B6800FFD3C8 /* LineMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 140FA00419CE4B6800FFD3C8 /* LineMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };
		141D9B001C8E51C0000ABBA0 /* List.h in Headers */ = {isa = PBXBuildFile; fileRef = 141D9AFF1C8E51C0000ABBA0 /* List.h */; settings = {ATTRIBUTES = (Private, ); }; };
		142B44361E2839E7001DA6E9 /* DebugHeap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 142B44341E2839E7001DA6E9 /* DebugHeap.cpp */; };
		142B44371E2839E7001DA6E9 /* DebugHeap.h in Headers */ = {isa = PBXBuildFile; fileRef = 142B44351E2839E7001DA6E9 /* DebugHeap.h */; };
		142FC6222096409E00A99362 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 142FC6212096409E00A99362 /* Foundation.framework */; };
		143CB81C19022BC900B16A45 /* Mutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 143CB81A19022BC900B16A45 /* Mutex.cpp */; };
		143CB81D19022BC900B16A45 /* Mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 143CB81B19022BC900B16A45 /* Mutex.h */; settings = {ATTRIBUTES = (Private, ); }; };
		1440AFCB1A95261100837FAA /* Zone.h in Headers */ = {isa = PBXBuildFile; fileRef = 1440AFCA1A95261100837FAA /* Zone.h */; settings = {ATTRIBUTES = (Private, ); }; };
		1440AFCD1A9527AF00837FAA /* Zone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1440AFCC1A9527AF00837FAA /* Zone.cpp */; };
		1448C30018F3754600502839 /* mbmalloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1448C2FF18F3754300502839 /* mbmalloc.cpp */; };
		1448C30118F3754C00502839 /* bmalloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 1448C2FE18F3754300502839 /* bmalloc.h */; settings = {ATTRIBUTES = (Private, ); }; };
		144BE11F1CA346520099C8C0 /* Object.h in Headers */ = {isa = PBXBuildFile; fileRef = 144BE11E1CA346520099C8C0 /* Object.h */; settings = {ATTRIBUTES = (Private, ); }; };
		144C07F41C7B70260051BB6A /* LargeMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 144C07F21C7B70260051BB6A /* LargeMap.cpp */; };
		144C07F51C7B70260051BB6A /* LargeMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 144C07F31C7B70260051BB6A /* LargeMap.h */; settings = {ATTRIBUTES = (Private, ); }; };
		147DC6E31CA5B70B00724E8D /* Chunk.h in Headers */ = {isa = PBXBuildFile; fileRef = 147DC6E21CA5B70B00724E8D /* Chunk.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14895D911A3A319C0006235D /* Environment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14895D8F1A3A319C0006235D /* Environment.cpp */; };
		14895D921A3A319C0006235D /* Environment.h in Headers */ = {isa = PBXBuildFile; fileRef = 14895D901A3A319C0006235D /* Environment.h */; settings = {ATTRIBUTES = (Private, ); }; };
		148EFAE81D6B953B008E721E /* ScopeExit.h in Headers */ = {isa = PBXBuildFile; fileRef = 148EFAE61D6B953B008E721E /* ScopeExit.h */; };
		14C8992B1CC485E70027A057 /* Map.h in Headers */ = {isa = PBXBuildFile; fileRef = 14C8992A1CC485E70027A057 /* Map.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14C8992D1CC578330027A057 /* LargeRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 14C8992C1CC578330027A057 /* LargeRange.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14C919C918FCC59F0028DB43 /* BPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 14C919C818FCC59F0028DB43 /* BPlatform.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14CC394C18EA8858004AFE34 /* libbmalloc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14F271BE18EA3963008C152F /* libbmalloc.a */; };
		14DD789018F48CEB00950702 /* Sizes.h in Headers */ = {isa = PBXBuildFile; fileRef = 145F6874179DF84100D65598 /* Sizes.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD789318F48D0F00950702 /* ObjectType.h in Headers */ = {isa = PBXBuildFile; fileRef = 1485656018A43DBA00ED6942 /* ObjectType.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD789818F48D4A00950702 /* Allocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 145F6856179DC8CA00D65598 /* Allocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD789918F48D4A00950702 /* Cache.h in Headers */ = {isa = PBXBuildFile; fileRef = 144469E517A46BFE00F9EA1D /* Cache.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD789A18F48D4A00950702 /* Deallocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 145F685A179DC90200D65598 /* Deallocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD789C18F48D4A00950702 /* BumpAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1413E462189DE1CD00546D68 /* BumpAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78BC18F48D6B00950702 /* SmallLine.h in Headers */ = {isa = PBXBuildFile; fileRef = 1452478618BC757C00F80098 /* SmallLine.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78BD18F48D6B00950702 /* SmallPage.h in Headers */ = {isa = PBXBuildFile; fileRef = 143E29ED18CAE90500FE8A0F /* SmallPage.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78C518F48D7500950702 /* Algorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = 1421A87718EE462A00B4DD68 /* Algorithm.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78C718F48D7500950702 /* BAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 1413E468189EEDE400546D68 /* BAssert.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78C818F48D7500950702 /* FixedVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 14D9DB4517F2447100EAAB79 /* FixedVector.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78C918F48D7500950702 /* BInline.h in Headers */ = {isa = PBXBuildFile; fileRef = 1413E460189DCE1E00546D68 /* BInline.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78CB18F48D7500950702 /* PerProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 14446A0717A61FA400F9EA1D /* PerProcess.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78CC18F48D7500950702 /* PerThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 144469FD17A61F1F00F9EA1D /* PerThread.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78CD18F48D7500950702 /* Range.h in Headers */ = {isa = PBXBuildFile; fileRef = 145F6878179E3A4400D65598 /* Range.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78CE18F48D7500950702 /* Syscall.h in Headers */ = {isa = PBXBuildFile; fileRef = 1417F64F18B7280C0076FA3F /* Syscall.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78CF18F48D7500950702 /* Vector.h in Headers */ = {isa = PBXBuildFile; fileRef = 1479E21217A1A255006D4E9D /* Vector.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14DD78D018F48D7500950702 /* VMAllocate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1479E21417A1A63E006D4E9D /* VMAllocate.h */; settings = {ATTRIBUTES = (Private, ); }; };
		14F271C318EA3978008C152F /* Allocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 145F6855179DC8CA00D65598 /* Allocator.cpp */; };
		14F271C418EA397B008C152F /* Cache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 144469E417A46BFE00F9EA1D /* Cache.cpp */; };
		14F271C518EA397E008C152F /* Deallocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 145F6859179DC90200D65598 /* Deallocator.cpp */; };
		14F271C718EA3990008C152F /* Heap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14DA320E18875D9F007269E0 /* Heap.cpp */; };
		14F271C818EA3990008C152F /* ObjectType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14105E8318E14374003A106E /* ObjectType.cpp */; };
		4426E2801C838EE0008EB042 /* Logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4426E27E1C838EE0008EB042 /* Logging.cpp */; };
		4426E2811C838EE0008EB042 /* Logging.h in Headers */ = {isa = PBXBuildFile; fileRef = 4426E27F1C838EE0008EB042 /* Logging.h */; settings = {ATTRIBUTES = (Private, ); }; };
		4426E2831C839547008EB042 /* BSoftLinking.h in Headers */ = {isa = PBXBuildFile; fileRef = 4426E2821C839547008EB042 /* BSoftLinking.h */; };
		52F47249210BA30200B730BB /* MemoryStatusSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F47248210BA2F500B730BB /* MemoryStatusSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
		6599C5CC1EC3F15900A2F7BB /* AvailableMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6599C5CA1EC3F15900A2F7BB /* AvailableMemory.cpp */; };
		6599C5CD1EC3F15900A2F7BB /* AvailableMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 6599C5CB1EC3F15900A2F7BB /* AvailableMemory.h */; settings = {ATTRIBUTES = (Private, ); }; };
		7939885B2076EEB60074A2E7 /* BulkDecommit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7939885A2076EEB50074A2E7 /* BulkDecommit.h */; settings = {ATTRIBUTES = (Private, ); }; };
		795AB3C7206E0D340074FE76 /* PhysicalPageMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 795AB3C6206E0D250074FE76 /* PhysicalPageMap.h */; settings = {ATTRIBUTES = (Private, ); }; };
		7C571F0122388B840077A3C7 /* StdLibExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C571F0022388B840077A3C7 /* StdLibExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
		AD0934331FCF406D00E85EB5 /* BCompiler.h in Headers */ = {isa = PBXBuildFile; fileRef = AD0934321FCF405000E85EB5 /* BCompiler.h */; settings = {ATTRIBUTES = (Private, ); }; };
		AD14AD29202529C400890E3B /* ProcessCheck.h in Headers */ = {isa = PBXBuildFile; fileRef = AD14AD27202529A600890E3B /* ProcessCheck.h */; };
		AD14AD2A202529C700890E3B /* ProcessCheck.mm in Sources */ = {isa = PBXBuildFile; fileRef = AD14AD28202529B000890E3B /* ProcessCheck.mm */; };
		DE8B13B321CC5D9F00A63FCD /* BVMTags.h in Headers */ = {isa = PBXBuildFile; fileRef = DE8B13B221CC5D9F00A63FCD /* BVMTags.h */; settings = {ATTRIBUTES = (Private, ); }; };
		E31E74802238CA5C005D084A /* StaticPerProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = E31E747F2238CA5B005D084A /* StaticPerProcess.h */; settings = {ATTRIBUTES = (Private, ); }; };
		E328D84D23CEB38900545B18 /* Packed.h in Headers */ = {isa = PBXBuildFile; fileRef = E328D84C23CEB38900545B18 /* Packed.h */; settings = {ATTRIBUTES = (Private, ); }; };
		E378A9DF246B68720029C2BB /* ObjectTypeTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E378A9DE246B686A0029C2BB /* ObjectTypeTable.cpp */; };
		E378A9E0246B68750029C2BB /* ObjectTypeTable.h in Headers */ = {isa = PBXBuildFile; fileRef = E378A9DD246B686A0029C2BB /* ObjectTypeTable.h */; settings = {ATTRIBUTES = (Private, ); }; };
		E3A413C9226061140037F470 /* IsoSharedPageInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A413C8226061140037F470 /* IsoSharedPageInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		E3F24402225D2C0100A0E0C3 /* IsoSharedPage.h in Headers */ = {isa = PBXBuildFile; fileRef = E3F24401225D2C0100A0E0C3 /* IsoSharedPage.h */; settings = {ATTRIBUTES = (Private, ); }; };
		E3F24404225D2C7600A0E0C3 /* IsoSharedPage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E3F24403225D2C7600A0E0C3 /* IsoSharedPage.cpp */; };
		E3FBB5A0225EADB000DB6FBD /* IsoSharedConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = E3FBB59D225EADB000DB6FBD /* IsoSharedConfig.h */; settings = {ATTRIBUTES = (Private, ); }; };
		E3FBB5A1225EADB000DB6FBD /* IsoSharedHeap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E3FBB59E225EADB000DB6FBD /* IsoSharedHeap.cpp */; };
		E3FBB5A2225EADB000DB6FBD /* IsoSharedHeap.h in Headers */ = {isa = PBXBuildFile; fileRef = E3FBB59F225EADB000DB6FBD /* IsoSharedHeap.h */; settings = {ATTRIBUTES = (Private, ); }; };
		E3FBB5A4225ECAD200DB6FBD /* IsoSharedHeapInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = E3FBB5A3225ECAD200DB6FBD /* IsoSharedHeapInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
		EB17D11123BFCD42002093A7 /* HeapConstants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EB17D11023BFC8C4002093A7 /* HeapConstants.cpp */; };
		EB17D11223BFCD7A002093A7 /* HeapConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = EB17D10E23BE691D002093A7 /* HeapConstants.h */; settings = {ATTRIBUTES = (Private, ); }; };
		FE48BD3B2321E8D700F136D0 /* FailureAction.h in Headers */ = {isa = PBXBuildFile; fileRef = FE48BD3A2321E8CC00F136D0 /* FailureAction.h */; settings = {ATTRIBUTES = (Private, ); }; };
		FEC3A39324846A8100395B54 /* GigacageConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC3A39224846A6D00395B54 /* GigacageConfig.h */; settings = {ATTRIBUTES = (Private, ); }; };
		FEC3A395248471FE00395B54 /* GigacageKind.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC3A394248471FE00395B54 /* GigacageKind.h */; settings = {ATTRIBUTES = (Private, ); }; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		0F7EB8551F95505400F1ABCB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 145F6837179DC45F00D65598 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 14F271BD18EA3963008C152F;
			remoteInfo = bmalloc;
		};
		14CC394D18EA8861004AFE34 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 145F6837179DC45F00D65598 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 14F271BD18EA3963008C152F;
			remoteInfo = bmalloc;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		0F26A7A42054830D0090A141 /* PerProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerProcess.cpp; path = bmalloc/PerProcess.cpp; sourceTree = "<group>"; };
		0F5167731FAD6852008236A8 /* bmalloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bmalloc.cpp; path = bmalloc/bmalloc.cpp; sourceTree = "<group>"; };
		0F5549EE1FB54701007FF75A /* IsoPage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IsoPage.cpp; path = bmalloc/IsoPage.cpp; sourceTree = "<group>"; };
		0F5BF1461F22A8B10029D91D /* HeapKind.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HeapKind.h; path = bmalloc/HeapKind.h; sourceTree = "<group>"; };
		0F5BF1481F22A8D80029D91D /* PerHeapKind.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PerHeapKind.h; path = bmalloc/PerHeapKind.h; sourceTree = "<group>"; };
		0F5BF14C1F22B0C30029D91D /* Gigacage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Gigacage.h; path = bmalloc/Gigacage.h; sourceTree = "<group>"; };
		0F5BF14E1F22DEAF0029D91D /* Gigacage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Gigacage.cpp; path = bmalloc/Gigacage.cpp; sourceTree = "<group>"; };
		0F5BF1501F22E1570029D91D /* Scavenger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Scavenger.cpp; path = bmalloc/Scavenger.cpp; sourceTree = "<group>"; };
		0F5BF1511F22E1570029D91D /* Scavenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Scavenger.h; path = bmalloc/Scavenger.h; sourceTree = "<group>"; };
		0F5BF1721F23C5710029D91D /* BExport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BExport.h; path = bmalloc/BExport.h; sourceTree = "<group>"; };
		0F74B93C1F89713E00B935D3 /* CryptoRandom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CryptoRandom.h; path = bmalloc/CryptoRandom.h; sourceTree = "<group>"; };
		0F74B93D1F89713E00B935D3 /* CryptoRandom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CryptoRandom.cpp; path = bmalloc/CryptoRandom.cpp; sourceTree = "<group>"; };
		0F7EB7FC1F9541AD00F1ABCB /* EligibilityResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EligibilityResult.h; path = bmalloc/EligibilityResult.h; sourceTree = SOURCE_ROOT; };
		0F7EB7FD1F9541AD00F1ABCB /* IsoHeapImplInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoHeapImplInlines.h; path = bmalloc/IsoHeapImplInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB7FE1F9541AD00F1ABCB /* DeferredTriggerInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeferredTriggerInlines.h; path = bmalloc/DeferredTriggerInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB7FF1F9541AD00F1ABCB /* IsoAllocatorInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoAllocatorInlines.h; path = bmalloc/IsoAllocatorInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8001F9541AD00F1ABCB /* IsoTLSDeallocatorEntryInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoTLSDeallocatorEntryInlines.h; path = bmalloc/IsoTLSDeallocatorEntryInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8011F9541AD00F1ABCB /* IsoDirectoryInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoDirectoryInlines.h; path = bmalloc/IsoDirectoryInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8021F9541AD00F1ABCB /* FreeListInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FreeListInlines.h; path = bmalloc/FreeListInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8031F9541AD00F1ABCB /* IsoDirectoryPageInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoDirectoryPageInlines.h; path = bmalloc/IsoDirectoryPageInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8041F9541AD00F1ABCB /* IsoPageTrigger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoPageTrigger.h; path = bmalloc/IsoPageTrigger.h; sourceTree = SOURCE_ROOT; };
		0F7EB8051F9541AD00F1ABCB /* IsoHeap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoHeap.h; path = bmalloc/IsoHeap.h; sourceTree = SOURCE_ROOT; };
		0F7EB8061F9541AD00F1ABCB /* IsoTLSEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoTLSEntry.h; path = bmalloc/IsoTLSEntry.h; sourceTree = SOURCE_ROOT; };
		0F7EB8071F9541AD00F1ABCB /* IsoPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoPage.h; path = bmalloc/IsoPage.h; sourceTree = SOURCE_ROOT; };
		0F7EB8081F9541AD00F1ABCB /* AllIsoHeaps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AllIsoHeaps.cpp; path = bmalloc/AllIsoHeaps.cpp; sourceTree = SOURCE_ROOT; };
		0F7EB8091F9541AD00F1ABCB /* IsoHeapInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoHeapInlines.h; path = bmalloc/IsoHeapInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB80A1F9541AE00F1ABCB /* IsoPageInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoPageInlines.h; path = bmalloc/IsoPageInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB80B1F9541AE00F1ABCB /* IsoTLSEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IsoTLSEntry.cpp; path = bmalloc/IsoTLSEntry.cpp; sourceTree = SOURCE_ROOT; };
		0F7EB80C1F9541AE00F1ABCB /* IsoTLSDeallocatorEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoTLSDeallocatorEntry.h; path = bmalloc/IsoTLSDeallocatorEntry.h; sourceTree = SOURCE_ROOT; };
		0F7EB80D1F9541AE00F1ABCB /* AllIsoHeaps.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AllIsoHeaps.h; path = bmalloc/AllIsoHeaps.h; sourceTree = SOURCE_ROOT; };
		0F7EB80E1F9541AE00F1ABCB /* IsoTLSEntryInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoTLSEntryInlines.h; path = bmalloc/IsoTLSEntryInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB80F1F9541AE00F1ABCB /* IsoTLS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IsoTLS.cpp; path = bmalloc/IsoTLS.cpp; sourceTree = SOURCE_ROOT; };
		0F7EB8101F9541AE00F1ABCB /* IsoDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoDirectory.h; path = bmalloc/IsoDirectory.h; sourceTree = SOURCE_ROOT; };
		0F7EB8111F9541AE00F1ABCB /* EligibilityResultInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EligibilityResultInlines.h; path = bmalloc/EligibilityResultInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8121F9541AE00F1ABCB /* DeferredTrigger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeferredTrigger.h; path = bmalloc/DeferredTrigger.h; sourceTree = SOURCE_ROOT; };
		0F7EB8131F9541AE00F1ABCB /* IsoDeallocatorInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoDeallocatorInlines.h; path = bmalloc/IsoDeallocatorInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8141F9541AE00F1ABCB /* IsoHeapImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IsoHeapImpl.cpp; path = bmalloc/IsoHeapImpl.cpp; sourceTree = SOURCE_ROOT; };
		0F7EB8151F9541AF00F1ABCB /* IsoAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoAllocator.h; path = bmalloc/IsoAllocator.h; sourceTree = SOURCE_ROOT; };
		0F7EB8161F9541AF00F1ABCB /* DeferredDecommit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeferredDecommit.h; path = bmalloc/DeferredDecommit.h; sourceTree = SOURCE_ROOT; };
		0F7EB8171F9541AF00F1ABCB /* FreeList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FreeList.cpp; path = bmalloc/FreeList.cpp; sourceTree = SOURCE_ROOT; };
		0F7EB8181F9541AF00F1ABCB /* IsoTLSLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IsoTLSLayout.cpp; path = bmalloc/IsoTLSLayout.cpp; sourceTree = SOURCE_ROOT; };
		0F7EB8191F9541AF00F1ABCB /* IsoTLSLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoTLSLayout.h; path = bmalloc/IsoTLSLayout.h; sourceTree = SOURCE_ROOT; };
		0F7EB81A1F9541AF00F1ABCB /* IsoConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoConfig.h; path = bmalloc/IsoConfig.h; sourceTree = SOURCE_ROOT; };
		0F7EB81B1F9541AF00F1ABCB /* IsoTLS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoTLS.h; path = bmalloc/IsoTLS.h; sourceTree = SOURCE_ROOT; };
		0F7EB81C1F9541AF00F1ABCB /* IsoTLSAllocatorEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoTLSAllocatorEntry.h; path = bmalloc/IsoTLSAllocatorEntry.h; sourceTree = SOURCE_ROOT; };
		0F7EB81D1F9541AF00F1ABCB /* FreeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FreeList.h; path = bmalloc/FreeList.h; sourceTree = SOURCE_ROOT; };
		0F7EB81E1F9541B000F1ABCB /* IsoHeapImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoHeapImpl.h; path = bmalloc/IsoHeapImpl.h; sourceTree = SOURCE_ROOT; };
		0F7EB81F1F9541B000F1ABCB /* IsoTLSInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoTLSInlines.h; path = bmalloc/IsoTLSInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8201F9541B000F1ABCB /* IsoDeallocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoDeallocator.h; path = bmalloc/IsoDeallocator.h; sourceTree = SOURCE_ROOT; };
		0F7EB8211F9541B000F1ABCB /* IsoTLSAllocatorEntryInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoTLSAllocatorEntryInlines.h; path = bmalloc/IsoTLSAllocatorEntryInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8221F9541B000F1ABCB /* IsoDirectoryPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoDirectoryPage.h; path = bmalloc/IsoDirectoryPage.h; sourceTree = SOURCE_ROOT; };
		0F7EB84A1F9541C600F1ABCB /* Bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Bits.h; path = bmalloc/Bits.h; sourceTree = "<group>"; };
		0F7EB84B1F9541C600F1ABCB /* BMalloced.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BMalloced.h; path = bmalloc/BMalloced.h; sourceTree = "<group>"; };
		0F7EB84E1F954D4E00F1ABCB /* AllIsoHeapsInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AllIsoHeapsInlines.h; path = bmalloc/AllIsoHeapsInlines.h; sourceTree = SOURCE_ROOT; };
		0F7EB8591F955A0F00F1ABCB /* DeferredDecommitInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeferredDecommitInlines.h; path = bmalloc/DeferredDecommitInlines.h; sourceTree = "<group>"; };
		0FD557321F7EDB7B00B1F0A3 /* HeapKind.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HeapKind.cpp; path = bmalloc/HeapKind.cpp; sourceTree = "<group>"; };
		140FA00219CE429C00FFD3C8 /* BumpRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BumpRange.h; path = bmalloc/BumpRange.h; sourceTree = "<group>"; };
		140FA00419CE4B6800FFD3C8 /* LineMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineMetadata.h; path = bmalloc/LineMetadata.h; sourceTree = "<group>"; };
		14105E8318E14374003A106E /* ObjectType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ObjectType.cpp; path = bmalloc/ObjectType.cpp; sourceTree = "<group>"; };
		1413E460189DCE1E00546D68 /* BInline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BInline.h; path = bmalloc/BInline.h; sourceTree = "<group>"; };
		1413E462189DE1CD00546D68 /* BumpAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = BumpAllocator.h; path = bmalloc/BumpAllocator.h; sourceTree = "<group>"; };
		1413E468189EEDE400546D68 /* BAssert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BAssert.h; path = bmalloc/BAssert.h; sourceTree = "<group>"; };
		1417F64F18B7280C0076FA3F /* Syscall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Syscall.h; path = bmalloc/Syscall.h; sourceTree = "<group>"; };
		141D9AFF1C8E51C0000ABBA0 /* List.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = List.h; path = bmalloc/List.h; sourceTree = "<group>"; };
		1421A87718EE462A00B4DD68 /* Algorithm.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Algorithm.h; path = bmalloc/Algorithm.h; sourceTree = "<group>"; };
		142B44341E2839E7001DA6E9 /* DebugHeap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DebugHeap.cpp; path = bmalloc/DebugHeap.cpp; sourceTree = "<group>"; };
		142B44351E2839E7001DA6E9 /* DebugHeap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DebugHeap.h; path = bmalloc/DebugHeap.h; sourceTree = "<group>"; };
		142FC6212096409E00A99362 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		143CB81A19022BC900B16A45 /* Mutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Mutex.cpp; path = bmalloc/Mutex.cpp; sourceTree = "<group>"; };
		143CB81B19022BC900B16A45 /* Mutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Mutex.h; path = bmalloc/Mutex.h; sourceTree = "<group>"; };
		143E29ED18CAE90500FE8A0F /* SmallPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SmallPage.h; path = bmalloc/SmallPage.h; sourceTree = "<group>"; };
		1440AFCA1A95261100837FAA /* Zone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Zone.h; path = bmalloc/Zone.h; sourceTree = "<group>"; };
		1440AFCC1A9527AF00837FAA /* Zone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Zone.cpp; path = bmalloc/Zone.cpp; sourceTree = "<group>"; };
		144469E417A46BFE00F9EA1D /* Cache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = Cache.cpp; path = bmalloc/Cache.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
		144469E517A46BFE00F9EA1D /* Cache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = Cache.h; path = bmalloc/Cache.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		144469FD17A61F1F00F9EA1D /* PerThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = PerThread.h; path = bmalloc/PerThread.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		14446A0717A61FA400F9EA1D /* PerProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PerProcess.h; path = bmalloc/PerProcess.h; sourceTree = "<group>"; };
		1448C2FE18F3754300502839 /* bmalloc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bmalloc.h; path = bmalloc/bmalloc.h; sourceTree = "<group>"; };
		1448C2FF18F3754300502839 /* mbmalloc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mbmalloc.cpp; path = bmalloc/mbmalloc.cpp; sourceTree = "<group>"; };
		144BE11E1CA346520099C8C0 /* Object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Object.h; path = bmalloc/Object.h; sourceTree = "<group>"; };
		144C07F21C7B70260051BB6A /* LargeMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LargeMap.cpp; path = bmalloc/LargeMap.cpp; sourceTree = "<group>"; };
		144C07F31C7B70260051BB6A /* LargeMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LargeMap.h; path = bmalloc/LargeMap.h; sourceTree = "<group>"; };
		1452478618BC757C00F80098 /* SmallLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SmallLine.h; path = bmalloc/SmallLine.h; sourceTree = "<group>"; };
		145F6855179DC8CA00D65598 /* Allocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = Allocator.cpp; path = bmalloc/Allocator.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
		145F6856179DC8CA00D65598 /* Allocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = Allocator.h; path = bmalloc/Allocator.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		145F6859179DC90200D65598 /* Deallocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = Deallocator.cpp; path = bmalloc/Deallocator.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
		145F685A179DC90200D65598 /* Deallocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = Deallocator.h; path = bmalloc/Deallocator.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		145F6874179DF84100D65598 /* Sizes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sizes.h; path = bmalloc/Sizes.h; sourceTree = "<group>"; };
		145F6878179E3A4400D65598 /* Range.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = Range.h; path = bmalloc/Range.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		1479E21217A1A255006D4E9D /* Vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = Vector.h; path = bmalloc/Vector.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		1479E21417A1A63E006D4E9D /* VMAllocate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = VMAllocate.h; path = bmalloc/VMAllocate.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		147DC6E21CA5B70B00724E8D /* Chunk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chunk.h; path = bmalloc/Chunk.h; sourceTree = "<group>"; };
		1485656018A43DBA00ED6942 /* ObjectType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjectType.h; path = bmalloc/ObjectType.h; sourceTree = "<group>"; };
		14895D8F1A3A319C0006235D /* Environment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Environment.cpp; path = bmalloc/Environment.cpp; sourceTree = "<group>"; };
		14895D901A3A319C0006235D /* Environment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Environment.h; path = bmalloc/Environment.h; sourceTree = "<group>"; };
		148EFAE61D6B953B008E721E /* ScopeExit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScopeExit.h; path = bmalloc/ScopeExit.h; sourceTree = "<group>"; };
		14B650C518F39F4800751968 /* Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
		14B650C618F39F4800751968 /* bmalloc.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = bmalloc.xcconfig; sourceTree = "<group>"; };
		14B650C718F39F4800751968 /* DebugRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
		14B650C918F3A04200751968 /* mbmalloc.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = mbmalloc.xcconfig; sourceTree = "<group>"; };
		14C8992A1CC485E70027A057 /* Map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Map.h; path = bmalloc/Map.h; sourceTree = "<group>"; };
		14C8992C1CC578330027A057 /* LargeRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LargeRange.h; path = bmalloc/LargeRange.h; sourceTree = "<group>"; };
		14C919C818FCC59F0028DB43 /* BPlatform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BPlatform.h; path = bmalloc/BPlatform.h; sourceTree = "<group>"; };
		14CC394418EA8743004AFE34 /* libmbmalloc.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libmbmalloc.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
		14D9DB4517F2447100EAAB79 /* FixedVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = FixedVector.h; path = bmalloc/FixedVector.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		14DA320C18875B09007269E0 /* Heap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Heap.h; path = bmalloc/Heap.h; sourceTree = "<group>"; };
		14DA320E18875D9F007269E0 /* Heap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Heap.cpp; path = bmalloc/Heap.cpp; sourceTree = "<group>"; };
		14F271BE18EA3963008C152F /* libbmalloc.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libbmalloc.a; sourceTree = BUILT_PRODUCTS_DIR; };
		4426E27E1C838EE0008EB042 /* Logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Logging.cpp; path = bmalloc/Logging.cpp; sourceTree = "<group>"; };
		4426E27F1C838EE0008EB042 /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Logging.h; path = bmalloc/Logging.h; sourceTree = "<group>"; };
		4426E2821C839547008EB042 /* BSoftLinking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BSoftLinking.h; path = bmalloc/darwin/BSoftLinking.h; sourceTree = "<group>"; };
		52F47248210BA2F500B730BB /* MemoryStatusSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MemoryStatusSPI.h; path = bmalloc/darwin/MemoryStatusSPI.h; sourceTree = "<group>"; };
		6599C5CA1EC3F15900A2F7BB /* AvailableMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AvailableMemory.cpp; path = bmalloc/AvailableMemory.cpp; sourceTree = "<group>"; };
		6599C5CB1EC3F15900A2F7BB /* AvailableMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AvailableMemory.h; path = bmalloc/AvailableMemory.h; sourceTree = "<group>"; };
		7939885A2076EEB50074A2E7 /* BulkDecommit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BulkDecommit.h; path = bmalloc/BulkDecommit.h; sourceTree = "<group>"; };
		795AB3C6206E0D250074FE76 /* PhysicalPageMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PhysicalPageMap.h; path = bmalloc/PhysicalPageMap.h; sourceTree = "<group>"; };
		7C571F0022388B840077A3C7 /* StdLibExtras.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = StdLibExtras.h; path = bmalloc/StdLibExtras.h; sourceTree = "<group>"; };
		A1B89B86221DFFEE00EB4CEA /* SDKVariant.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = SDKVariant.xcconfig; sourceTree = "<group>"; };
		AD0934321FCF405000E85EB5 /* BCompiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BCompiler.h; path = bmalloc/BCompiler.h; sourceTree = "<group>"; };
		AD14AD27202529A600890E3B /* ProcessCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProcessCheck.h; path = bmalloc/ProcessCheck.h; sourceTree = "<group>"; };
		AD14AD28202529B000890E3B /* ProcessCheck.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ProcessCheck.mm; path = bmalloc/ProcessCheck.mm; sourceTree = "<group>"; };
		DE8B13B221CC5D9F00A63FCD /* BVMTags.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BVMTags.h; path = bmalloc/BVMTags.h; sourceTree = "<group>"; };
		E31E747F2238CA5B005D084A /* StaticPerProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StaticPerProcess.h; path = bmalloc/StaticPerProcess.h; sourceTree = "<group>"; };
		E328D84C23CEB38900545B18 /* Packed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Packed.h; path = bmalloc/Packed.h; sourceTree = "<group>"; };
		E378A9DD246B686A0029C2BB /* ObjectTypeTable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ObjectTypeTable.h; path = bmalloc/ObjectTypeTable.h; sourceTree = "<group>"; };
		E378A9DE246B686A0029C2BB /* ObjectTypeTable.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ObjectTypeTable.cpp; path = bmalloc/ObjectTypeTable.cpp; sourceTree = "<group>"; };
		E3A413C8226061140037F470 /* IsoSharedPageInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoSharedPageInlines.h; path = bmalloc/IsoSharedPageInlines.h; sourceTree = "<group>"; };
		E3F24401225D2C0100A0E0C3 /* IsoSharedPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoSharedPage.h; path = bmalloc/IsoSharedPage.h; sourceTree = "<group>"; };
		E3F24403225D2C7600A0E0C3 /* IsoSharedPage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IsoSharedPage.cpp; path = bmalloc/IsoSharedPage.cpp; sourceTree = "<group>"; };
		E3FBB59D225EADB000DB6FBD /* IsoSharedConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoSharedConfig.h; path = bmalloc/IsoSharedConfig.h; sourceTree = "<group>"; };
		E3FBB59E225EADB000DB6FBD /* IsoSharedHeap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IsoSharedHeap.cpp; path = bmalloc/IsoSharedHeap.cpp; sourceTree = "<group>"; };
		E3FBB59F225EADB000DB6FBD /* IsoSharedHeap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoSharedHeap.h; path = bmalloc/IsoSharedHeap.h; sourceTree = "<group>"; };
		E3FBB5A3225ECAD200DB6FBD /* IsoSharedHeapInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IsoSharedHeapInlines.h; path = bmalloc/IsoSharedHeapInlines.h; sourceTree = "<group>"; };
		EB17D10E23BE691D002093A7 /* HeapConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HeapConstants.h; path = bmalloc/HeapConstants.h; sourceTree = "<group>"; };
		EB17D11023BFC8C4002093A7 /* HeapConstants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HeapConstants.cpp; path = bmalloc/HeapConstants.cpp; sourceTree = "<group>"; };
		FE48BD3A2321E8CC00F136D0 /* FailureAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FailureAction.h; path = bmalloc/FailureAction.h; sourceTree = "<group>"; };
		FEC3A39224846A6D00395B54 /* GigacageConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GigacageConfig.h; path = bmalloc/GigacageConfig.h; sourceTree = "<group>"; };
		FEC3A394248471FE00395B54 /* GigacageKind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GigacageKind.h; path = bmalloc/GigacageKind.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		14CC394118EA8743004AFE34 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				142FC6222096409E00A99362 /* Foundation.framework in Frameworks */,
				14CC394C18EA8858004AFE34 /* libbmalloc.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		14F271BB18EA3963008C152F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		0F7EB7F91F95414C00F1ABCB /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				142FC6212096409E00A99362 /* Foundation.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		0F7EB7FB1F95416900F1ABCB /* iso */ = {
			isa = PBXGroup;
			children = (
				0F7EB8081F9541AD00F1ABCB /* AllIsoHeaps.cpp */,
				0F7EB80D1F9541AE00F1ABCB /* AllIsoHeaps.h */,
				0F7EB84E1F954D4E00F1ABCB /* AllIsoHeapsInlines.h */,
				0F7EB8161F9541AF00F1ABCB /* DeferredDecommit.h */,
				0F7EB8591F955A0F00F1ABCB /* DeferredDecommitInlines.h */,
				0F7EB8121F9541AE00F1ABCB /* DeferredTrigger.h */,
				0F7EB7FE1F9541AD00F1ABCB /* DeferredTriggerInlines.h */,
				0F7EB7FC1F9541AD00F1ABCB /* EligibilityResult.h */,
				0F7EB8111F9541AE00F1ABCB /* EligibilityResultInlines.h */,
				0F7EB8171F9541AF00F1ABCB /* FreeList.cpp */,
				0F7EB81D1F9541AF00F1ABCB /* FreeList.h */,
				0F7EB8021F9541AD00F1ABCB /* FreeListInlines.h */,
				0F7EB8151F9541AF00F1ABCB /* IsoAllocator.h */,
				0F7EB7FF1F9541AD00F1ABCB /* IsoAllocatorInlines.h */,
				0F7EB81A1F9541AF00F1ABCB /* IsoConfig.h */,
				0F7EB8201F9541B000F1ABCB /* IsoDeallocator.h */,
				0F7EB8131F9541AE00F1ABCB /* IsoDeallocatorInlines.h */,
				0F7EB8101F9541AE00F1ABCB /* IsoDirectory.h */,
				0F7EB8011F9541AD00F1ABCB /* IsoDirectoryInlines.h */,
				0F7EB8221F9541B000F1ABCB /* IsoDirectoryPage.h */,
				0F7EB8031F9541AD00F1ABCB /* IsoDirectoryPageInlines.h */,
				0F7EB8051F9541AD00F1ABCB /* IsoHeap.h */,
				0F7EB8141F9541AE00F1ABCB /* IsoHeapImpl.cpp */,
				0F7EB81E1F9541B000F1ABCB /* IsoHeapImpl.h */,
				0F7EB7FD1F9541AD00F1ABCB /* IsoHeapImplInlines.h */,
				0F7EB8091F9541AD00F1ABCB /* IsoHeapInlines.h */,
				0F5549EE1FB54701007FF75A /* IsoPage.cpp */,
				0F7EB8071F9541AD00F1ABCB /* IsoPage.h */,
				0F7EB80A1F9541AE00F1ABCB /* IsoPageInlines.h */,
				0F7EB8041F9541AD00F1ABCB /* IsoPageTrigger.h */,
				E3FBB59D225EADB000DB6FBD /* IsoSharedConfig.h */,
				E3FBB59E225EADB000DB6FBD /* IsoSharedHeap.cpp */,
				E3FBB59F225EADB000DB6FBD /* IsoSharedHeap.h */,
				E3FBB5A3225ECAD200DB6FBD /* IsoSharedHeapInlines.h */,
				E3F24403225D2C7600A0E0C3 /* IsoSharedPage.cpp */,
				E3F24401225D2C0100A0E0C3 /* IsoSharedPage.h */,
				E3A413C8226061140037F470 /* IsoSharedPageInlines.h */,
				0F7EB80F1F9541AE00F1ABCB /* IsoTLS.cpp */,
				0F7EB81B1F9541AF00F1ABCB /* IsoTLS.h */,
				0F7EB81C1F9541AF00F1ABCB /* IsoTLSAllocatorEntry.h */,
				0F7EB8211F9541B000F1ABCB /* IsoTLSAllocatorEntryInlines.h */,
				0F7EB80C1F9541AE00F1ABCB /* IsoTLSDeallocatorEntry.h */,
				0F7EB8001F9541AD00F1ABCB /* IsoTLSDeallocatorEntryInlines.h */,
				0F7EB80B1F9541AE00F1ABCB /* IsoTLSEntry.cpp */,
				0F7EB8061F9541AD00F1ABCB /* IsoTLSEntry.h */,
				0F7EB80E1F9541AE00F1ABCB /* IsoTLSEntryInlines.h */,
				0F7EB81F1F9541B000F1ABCB /* IsoTLSInlines.h */,
				0F7EB8181F9541AF00F1ABCB /* IsoTLSLayout.cpp */,
				0F7EB8191F9541AF00F1ABCB /* IsoTLSLayout.h */,
			);
			name = iso;
			sourceTree = "<group>";
		};
		1448C2FD18F3752B00502839 /* api */ = {
			isa = PBXGroup;
			children = (
				0F5167731FAD6852008236A8 /* bmalloc.cpp */,
				1448C2FE18F3754300502839 /* bmalloc.h */,
				1448C2FF18F3754300502839 /* mbmalloc.cpp */,
			);
			name = api;
			sourceTree = "<group>";
		};
		145F6836179DC45F00D65598 = {
			isa = PBXGroup;
			children = (
				1448C2FD18F3752B00502839 /* api */,
				14D9DB4D17F2865C00EAAB79 /* cache */,
				14B650C418F39F4800751968 /* Configurations */,
				0F7EB7F91F95414C00F1ABCB /* Frameworks */,
				14D9DB4E17F2866E00EAAB79 /* heap */,
				147AAA9C18CE6010002201E4 /* heap: large */,
				147AAA9A18CE5FD3002201E4 /* heap: small */,
				0F7EB7FB1F95416900F1ABCB /* iso */,
				145F6840179DC45F00D65598 /* Products */,
				14D9DB4F17F2868900EAAB79 /* stdlib */,
			);
			sourceTree = "<group>";
		};
		145F6840179DC45F00D65598 /* Products */ = {
			isa = PBXGroup;
			children = (
				14F271BE18EA3963008C152F /* libbmalloc.a */,
				14CC394418EA8743004AFE34 /* libmbmalloc.dylib */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		147AAA9A18CE5FD3002201E4 /* heap: small */ = {
			isa = PBXGroup;
			children = (
				1452478618BC757C00F80098 /* SmallLine.h */,
				143E29ED18CAE90500FE8A0F /* SmallPage.h */,
			);
			name = "heap: small";
			sourceTree = "<group>";
		};
		147AAA9C18CE6010002201E4 /* heap: large */ = {
			isa = PBXGroup;
			children = (
				144C07F21C7B70260051BB6A /* LargeMap.cpp */,
				144C07F31C7B70260051BB6A /* LargeMap.h */,
				14C8992C1CC578330027A057 /* LargeRange.h */,
			);
			name = "heap: large";
			sourceTree = "<group>";
		};
		14B650C418F39F4800751968 /* Configurations */ = {
			isa = PBXGroup;
			children = (
				14B650C518F39F4800751968 /* Base.xcconfig */,
				14B650C618F39F4800751968 /* bmalloc.xcconfig */,
				14B650C718F39F4800751968 /* DebugRelease.xcconfig */,
				14B650C918F3A04200751968 /* mbmalloc.xcconfig */,
				A1B89B86221DFFEE00EB4CEA /* SDKVariant.xcconfig */,
			);
			path = Configurations;
			sourceTree = "<group>";
		};
		14D9DB4D17F2865C00EAAB79 /* cache */ = {
			isa = PBXGroup;
			children = (
				145F6855179DC8CA00D65598 /* Allocator.cpp */,
				145F6856179DC8CA00D65598 /* Allocator.h */,
				1413E462189DE1CD00546D68 /* BumpAllocator.h */,
				144469E417A46BFE00F9EA1D /* Cache.cpp */,
				144469E517A46BFE00F9EA1D /* Cache.h */,
				145F6859179DC90200D65598 /* Deallocator.cpp */,
				145F685A179DC90200D65598 /* Deallocator.h */,
			);
			name = cache;
			sourceTree = "<group>";
		};
		14D9DB4E17F2866E00EAAB79 /* heap */ = {
			isa = PBXGroup;
			children = (
				7939885A2076EEB50074A2E7 /* BulkDecommit.h */,
				140FA00219CE429C00FFD3C8 /* BumpRange.h */,
				147DC6E21CA5B70B00724E8D /* Chunk.h */,
				142B44341E2839E7001DA6E9 /* DebugHeap.cpp */,
				142B44351E2839E7001DA6E9 /* DebugHeap.h */,
				14895D8F1A3A319C0006235D /* Environment.cpp */,
				14895D901A3A319C0006235D /* Environment.h */,
				FE48BD3A2321E8CC00F136D0 /* FailureAction.h */,
				0F5BF14E1F22DEAF0029D91D /* Gigacage.cpp */,
				0F5BF14C1F22B0C30029D91D /* Gigacage.h */,
				FEC3A39224846A6D00395B54 /* GigacageConfig.h */,
				FEC3A394248471FE00395B54 /* GigacageKind.h */,
				14DA320E18875D9F007269E0 /* Heap.cpp */,
				14DA320C18875B09007269E0 /* Heap.h */,
				EB17D11023BFC8C4002093A7 /* HeapConstants.cpp */,
				EB17D10E23BE691D002093A7 /* HeapConstants.h */,
				140FA00419CE4B6800FFD3C8 /* LineMetadata.h */,
				144BE11E1CA346520099C8C0 /* Object.h */,
				14105E8318E14374003A106E /* ObjectType.cpp */,
				1485656018A43DBA00ED6942 /* ObjectType.h */,
				E378A9DE246B686A0029C2BB /* ObjectTypeTable.cpp */,
				E378A9DD246B686A0029C2BB /* ObjectTypeTable.h */,
				795AB3C6206E0D250074FE76 /* PhysicalPageMap.h */,
				AD14AD27202529A600890E3B /* ProcessCheck.h */,
				AD14AD28202529B000890E3B /* ProcessCheck.mm */,
				0F5BF1501F22E1570029D91D /* Scavenger.cpp */,
				0F5BF1511F22E1570029D91D /* Scavenger.h */,
				145F6874179DF84100D65598 /* Sizes.h */,
				1440AFCC1A9527AF00837FAA /* Zone.cpp */,
				1440AFCA1A95261100837FAA /* Zone.h */,
			);
			name = heap;
			sourceTree = "<group>";
		};
		14D9DB4F17F2868900EAAB79 /* stdlib */ = {
			isa = PBXGroup;
			children = (
				4408F2961C9896C40012EC64 /* darwin */,
				1421A87718EE462A00B4DD68 /* Algorithm.h */,
				6599C5CA1EC3F15900A2F7BB /* AvailableMemory.cpp */,
				6599C5CB1EC3F15900A2F7BB /* AvailableMemory.h */,
				1413E468189EEDE400546D68 /* BAssert.h */,
				AD0934321FCF405000E85EB5 /* BCompiler.h */,
				0F5BF1721F23C5710029D91D /* BExport.h */,
				1413E460189DCE1E00546D68 /* BInline.h */,
				0F7EB84A1F9541C600F1ABCB /* Bits.h */,
				0F7EB84B1F9541C600F1ABCB /* BMalloced.h */,
				14C919C818FCC59F0028DB43 /* BPlatform.h */,
				DE8B13B221CC5D9F00A63FCD /* BVMTags.h */,
				0F74B93D1F89713E00B935D3 /* CryptoRandom.cpp */,
				0F74B93C1F89713E00B935D3 /* CryptoRandom.h */,
				14D9DB4517F2447100EAAB79 /* FixedVector.h */,
				0FD557321F7EDB7B00B1F0A3 /* HeapKind.cpp */,
				0F5BF1461F22A8B10029D91D /* HeapKind.h */,
				141D9AFF1C8E51C0000ABBA0 /* List.h */,
				4426E27E1C838EE0008EB042 /* Logging.cpp */,
				4426E27F1C838EE0008EB042 /* Logging.h */,
				14C8992A1CC485E70027A057 /* Map.h */,
				143CB81A19022BC900B16A45 /* Mutex.cpp */,
				143CB81B19022BC900B16A45 /* Mutex.h */,
				E328D84C23CEB38900545B18 /* Packed.h */,
				0F5BF1481F22A8D80029D91D /* PerHeapKind.h */,
				0F26A7A42054830D0090A141 /* PerProcess.cpp */,
				14446A0717A61FA400F9EA1D /* PerProcess.h */,
				144469FD17A61F1F00F9EA1D /* PerThread.h */,
				145F6878179E3A4400D65598 /* Range.h */,
				148EFAE61D6B953B008E721E /* ScopeExit.h */,
				E31E747F2238CA5B005D084A /* StaticPerProcess.h */,
				7C571F0022388B840077A3C7 /* StdLibExtras.h */,
				1417F64F18B7280C0076FA3F /* Syscall.h */,
				1479E21217A1A255006D4E9D /* Vector.h */,
				1479E21417A1A63E006D4E9D /* VMAllocate.h */,
			);
			name = stdlib;
			sourceTree = "<group>";
		};
		4408F2961C9896C40012EC64 /* darwin */ = {
			isa = PBXGroup;
			children = (
				4426E2821C839547008EB042 /* BSoftLinking.h */,
				52F47248210BA2F500B730BB /* MemoryStatusSPI.h */,
			);
			name = darwin;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		14CC394218EA8743004AFE34 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		14F271BC18EA3963008C152F /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				14DD78C518F48D7500950702 /* Algorithm.h in Headers */,
				0F7EB8341F9541B000F1ABCB /* AllIsoHeaps.h in Headers */,
				0F7EB84F1F954D4E00F1ABCB /* AllIsoHeapsInlines.h in Headers */,
				14DD789818F48D4A00950702 /* Allocator.h in Headers */,
				6599C5CD1EC3F15900A2F7BB /* AvailableMemory.h in Headers */,
				14DD78C718F48D7500950702 /* BAssert.h in Headers */,
				AD0934331FCF406D00E85EB5 /* BCompiler.h in Headers */,
				0F5BF1731F23C5710029D91D /* BExport.h in Headers */,
				14DD78C918F48D7500950702 /* BInline.h in Headers */,
				0F7EB84C1F9541C700F1ABCB /* Bits.h in Headers */,
				1448C30118F3754C00502839 /* bmalloc.h in Headers */,
				0F7EB84D1F9541C700F1ABCB /* BMalloced.h in Headers */,
				14C919C918FCC59F0028DB43 /* BPlatform.h in Headers */,
				4426E2831C839547008EB042 /* BSoftLinking.h in Headers */,
				7939885B2076EEB60074A2E7 /* BulkDecommit.h in Headers */,
				14DD789C18F48D4A00950702 /* BumpAllocator.h in Headers */,
				140FA00319CE429C00FFD3C8 /* BumpRange.h in Headers */,
				DE8B13B321CC5D9F00A63FCD /* BVMTags.h in Headers */,
				14DD789918F48D4A00950702 /* Cache.h in Headers */,
				147DC6E31CA5B70B00724E8D /* Chunk.h in Headers */,
				0F74B93E1F89713E00B935D3 /* CryptoRandom.h in Headers */,
				14DD789A18F48D4A00950702 /* Deallocator.h in Headers */,
				142B44371E2839E7001DA6E9 /* DebugHeap.h in Headers */,
				0F7EB83D1F9541B000F1ABCB /* DeferredDecommit.h in Headers */,
				0F7EB85A1F955A1100F1ABCB /* DeferredDecommitInlines.h in Headers */,
				0F7EB8391F9541B000F1ABCB /* DeferredTrigger.h in Headers */,
				0F7EB8251F9541B000F1ABCB /* DeferredTriggerInlines.h in Headers */,
				0F7EB8231F9541B000F1ABCB /* EligibilityResult.h in Headers */,
				0F7EB8381F9541B000F1ABCB /* EligibilityResultInlines.h in Headers */,
				14895D921A3A319C0006235D /* Environment.h in Headers */,
				FE48BD3B2321E8D700F136D0 /* FailureAction.h in Headers */,
				14DD78C818F48D7500950702 /* FixedVector.h in Headers */,
				0F7EB8441F9541B000F1ABCB /* FreeList.h in Headers */,
				FEC3A39324846A8100395B54 /* GigacageConfig.h in Headers */,
				0F7EB8291F9541B000F1ABCB /* FreeListInlines.h in Headers */,
				0F5BF14D1F22B0C30029D91D /* Gigacage.h in Headers */,
				1400274918F89C1300115C97 /* Heap.h in Headers */,
				EB17D11223BFCD7A002093A7 /* HeapConstants.h in Headers */,
				0F5BF1471F22A8B10029D91D /* HeapKind.h in Headers */,
				0F7EB83C1F9541B000F1ABCB /* IsoAllocator.h in Headers */,
				0F7EB8261F9541B000F1ABCB /* IsoAllocatorInlines.h in Headers */,
				0F7EB8411F9541B000F1ABCB /* IsoConfig.h in Headers */,
				0F7EB8471F9541B000F1ABCB /* IsoDeallocator.h in Headers */,
				0F7EB83A1F9541B000F1ABCB /* IsoDeallocatorInlines.h in Headers */,
				0F7EB8371F9541B000F1ABCB /* IsoDirectory.h in Headers */,
				0F7EB8281F9541B000F1ABCB /* IsoDirectoryInlines.h in Headers */,
				0F7EB8491F9541B000F1ABCB /* IsoDirectoryPage.h in Headers */,
				0F7EB82A1F9541B000F1ABCB /* IsoDirectoryPageInlines.h in Headers */,
				0F7EB82C1F9541B000F1ABCB /* IsoHeap.h in Headers */,
				0F7EB8451F9541B000F1ABCB /* IsoHeapImpl.h in Headers */,
				0F7EB8241F9541B000F1ABCB /* IsoHeapImplInlines.h in Headers */,
				0F7EB8301F9541B000F1ABCB /* IsoHeapInlines.h in Headers */,
				0F7EB82E1F9541B000F1ABCB /* IsoPage.h in Headers */,
				0F7EB8311F9541B000F1ABCB /* IsoPageInlines.h in Headers */,
				0F7EB82B1F9541B000F1ABCB /* IsoPageTrigger.h in Headers */,
				E3FBB5A0225EADB000DB6FBD /* IsoSharedConfig.h in Headers */,
				E3FBB5A2225EADB000DB6FBD /* IsoSharedHeap.h in Headers */,
				E3FBB5A4225ECAD200DB6FBD /* IsoSharedHeapInlines.h in Headers */,
				E3F24402225D2C0100A0E0C3 /* IsoSharedPage.h in Headers */,
				E3A413C9226061140037F470 /* IsoSharedPageInlines.h in Headers */,
				0F7EB8421F9541B000F1ABCB /* IsoTLS.h in Headers */,
				0F7EB8431F9541B000F1ABCB /* IsoTLSAllocatorEntry.h in Headers */,
				0F7EB8481F9541B000F1ABCB /* IsoTLSAllocatorEntryInlines.h in Headers */,
				0F7EB8331F9541B000F1ABCB /* IsoTLSDeallocatorEntry.h in Headers */,
				0F7EB8271F9541B000F1ABCB /* IsoTLSDeallocatorEntryInlines.h in Headers */,
				0F7EB82D1F9541B000F1ABCB /* IsoTLSEntry.h in Headers */,
				0F7EB8351F9541B000F1ABCB /* IsoTLSEntryInlines.h in Headers */,
				0F7EB8461F9541B000F1ABCB /* IsoTLSInlines.h in Headers */,
				0F7EB8401F9541B000F1ABCB /* IsoTLSLayout.h in Headers */,
				144C07F51C7B70260051BB6A /* LargeMap.h in Headers */,
				14C8992D1CC578330027A057 /* LargeRange.h in Headers */,
				140FA00519CE4B6800FFD3C8 /* LineMetadata.h in Headers */,
				141D9B001C8E51C0000ABBA0 /* List.h in Headers */,
				4426E2811C838EE0008EB042 /* Logging.h in Headers */,
				14C8992B1CC485E70027A057 /* Map.h in Headers */,
				52F47249210BA30200B730BB /* MemoryStatusSPI.h in Headers */,
				143CB81D19022BC900B16A45 /* Mutex.h in Headers */,
				144BE11F1CA346520099C8C0 /* Object.h in Headers */,
				14DD789318F48D0F00950702 /* ObjectType.h in Headers */,
				E378A9E0246B68750029C2BB /* ObjectTypeTable.h in Headers */,
				E328D84D23CEB38900545B18 /* Packed.h in Headers */,
				0F5BF1491F22A8D80029D91D /* PerHeapKind.h in Headers */,
				FEC3A395248471FE00395B54 /* GigacageKind.h in Headers */,
				14DD78CB18F48D7500950702 /* PerProcess.h in Headers */,
				14DD78CC18F48D7500950702 /* PerThread.h in Headers */,
				795AB3C7206E0D340074FE76 /* PhysicalPageMap.h in Headers */,
				AD14AD29202529C400890E3B /* ProcessCheck.h in Headers */,
				14DD78CD18F48D7500950702 /* Range.h in Headers */,
				0F5BF1531F22E1570029D91D /* Scavenger.h in Headers */,
				148EFAE81D6B953B008E721E /* ScopeExit.h in Headers */,
				14DD789018F48CEB00950702 /* Sizes.h in Headers */,
				14DD78BC18F48D6B00950702 /* SmallLine.h in Headers */,
				14DD78BD18F48D6B00950702 /* SmallPage.h in Headers */,
				E31E74802238CA5C005D084A /* StaticPerProcess.h in Headers */,
				7C571F0122388B840077A3C7 /* StdLibExtras.h in Headers */,
				14DD78CE18F48D7500950702 /* Syscall.h in Headers */,
				14DD78CF18F48D7500950702 /* Vector.h in Headers */,
				14DD78D018F48D7500950702 /* VMAllocate.h in Headers */,
				1440AFCB1A95261100837FAA /* Zone.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		14CC394318EA8743004AFE34 /* mbmalloc */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 14CC394518EA8743004AFE34 /* Build configuration list for PBXNativeTarget "mbmalloc" */;
			buildPhases = (
				14CC394018EA8743004AFE34 /* Sources */,
				14CC394118EA8743004AFE34 /* Frameworks */,
				14CC394218EA8743004AFE34 /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
				14CC394E18EA8861004AFE34 /* PBXTargetDependency */,
			);
			name = mbmalloc;
			productName = mbmalloc;
			productReference = 14CC394418EA8743004AFE34 /* libmbmalloc.dylib */;
			productType = "com.apple.product-type.library.dynamic";
		};
		14F271BD18EA3963008C152F /* bmalloc */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 14F271BF18EA3963008C152F /* Build configuration list for PBXNativeTarget "bmalloc" */;
			buildPhases = (
				14F271BA18EA3963008C152F /* Sources */,
				14F271BB18EA3963008C152F /* Frameworks */,
				14F271BC18EA3963008C152F /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = bmalloc;
			productName = bmalloc;
			productReference = 14F271BE18EA3963008C152F /* libbmalloc.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		145F6837179DC45F00D65598 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 1140;
				TargetAttributes = {
					0F7EB8501F95504B00F1ABCB = {
						CreatedOnToolsVersion = 9.0;
						ProvisioningStyle = Automatic;
					};
				};
			};
			buildConfigurationList = 145F683A179DC45F00D65598 /* Build configuration list for PBXProject "bmalloc" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 145F6836179DC45F00D65598;
			productRefGroup = 145F6840179DC45F00D65598 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				0F7EB8501F95504B00F1ABCB /* All */,
				14F271BD18EA3963008C152F /* bmalloc */,
				14CC394318EA8743004AFE34 /* mbmalloc */,
			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		14CC394018EA8743004AFE34 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1448C30018F3754600502839 /* mbmalloc.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		14F271BA18EA3963008C152F /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0F7EB82F1F9541B000F1ABCB /* AllIsoHeaps.cpp in Sources */,
				14F271C318EA3978008C152F /* Allocator.cpp in Sources */,
				6599C5CC1EC3F15900A2F7BB /* AvailableMemory.cpp in Sources */,
				0F5167741FAD685C008236A8 /* bmalloc.cpp in Sources */,
				14F271C418EA397B008C152F /* Cache.cpp in Sources */,
				0F74B93F1F89713E00B935D3 /* CryptoRandom.cpp in Sources */,
				14F271C518EA397E008C152F /* Deallocator.cpp in Sources */,
				142B44361E2839E7001DA6E9 /* DebugHeap.cpp in Sources */,
				14895D911A3A319C0006235D /* Environment.cpp in Sources */,
				0F7EB83E1F9541B000F1ABCB /* FreeList.cpp in Sources */,
				0F5BF14F1F22DEAF0029D91D /* Gigacage.cpp in Sources */,
				14F271C718EA3990008C152F /* Heap.cpp in Sources */,
				EB17D11123BFCD42002093A7 /* HeapConstants.cpp in Sources */,
				0FD557331F7EDB7B00B1F0A3 /* HeapKind.cpp in Sources */,
				0F7EB83B1F9541B000F1ABCB /* IsoHeapImpl.cpp in Sources */,
				0F5549EF1FB54704007FF75A /* IsoPage.cpp in Sources */,
				E3FBB5A1225EADB000DB6FBD /* IsoSharedHeap.cpp in Sources */,
				E3F24404225D2C7600A0E0C3 /* IsoSharedPage.cpp in Sources */,
				0F7EB8361F9541B000F1ABCB /* IsoTLS.cpp in Sources */,
				0F7EB8321F9541B000F1ABCB /* IsoTLSEntry.cpp in Sources */,
				0F7EB83F1F9541B000F1ABCB /* IsoTLSLayout.cpp in Sources */,
				144C07F41C7B70260051BB6A /* LargeMap.cpp in Sources */,
				4426E2801C838EE0008EB042 /* Logging.cpp in Sources */,
				143CB81C19022BC900B16A45 /* Mutex.cpp in Sources */,
				14F271C818EA3990008C152F /* ObjectType.cpp in Sources */,
				E378A9DF246B68720029C2BB /* ObjectTypeTable.cpp in Sources */,
				0F26A7A5205483130090A141 /* PerProcess.cpp in Sources */,
				AD14AD2A202529C700890E3B /* ProcessCheck.mm in Sources */,
				0F5BF1521F22E1570029D91D /* Scavenger.cpp in Sources */,
				1440AFCD1A9527AF00837FAA /* Zone.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		0F7EB8561F95505400F1ABCB /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 14F271BD18EA3963008C152F /* bmalloc */;
			targetProxy = 0F7EB8551F95505400F1ABCB /* PBXContainerItemProxy */;
		};
		14CC394E18EA8861004AFE34 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 14F271BD18EA3963008C152F /* bmalloc */;
			targetProxy = 14CC394D18EA8861004AFE34 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		0F7EB8521F95504B00F1ABCB /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_STYLE = Automatic;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		0F7EB8531F95504B00F1ABCB /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_STYLE = Automatic;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		0F7EB8541F95504B00F1ABCB /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_STYLE = Automatic;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Production;
		};
		14202F0F18F37C15006C37DB /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 14B650C518F39F4800751968 /* Base.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		14202F1018F37C15006C37DB /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 14B650C618F39F4800751968 /* bmalloc.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		14202F1118F37C15006C37DB /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 14B650C918F3A04200751968 /* mbmalloc.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		145F684A179DC45F00D65598 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 14B650C718F39F4800751968 /* DebugRelease.xcconfig */;
			buildSettings = {
				DEAD_CODE_STRIPPING = "$(DEAD_CODE_STRIPPING_debug)";
				DEBUG_DEFINES = "$(DEBUG_DEFINES_debug)";
				GCC_OPTIMIZATION_LEVEL = "$(GCC_OPTIMIZATION_LEVEL_debug)";
				STRIP_INSTALLED_PRODUCT = "$(STRIP_INSTALLED_PRODUCT_debug)";
			};
			name = Debug;
		};
		145F684B179DC45F00D65598 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 14B650C718F39F4800751968 /* DebugRelease.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		14CC394618EA8743004AFE34 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 14B650C918F3A04200751968 /* mbmalloc.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		14CC394718EA8743004AFE34 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 14B650C918F3A04200751968 /* mbmalloc.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		14F271C018EA3963008C152F /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 14B650C618F39F4800751968 /* bmalloc.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		14F271C118EA3963008C152F /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 14B650C618F39F4800751968 /* bmalloc.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		0F7EB8511F95504B00F1ABCB /* Build configuration list for PBXAggregateTarget "All" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0F7EB8521F95504B00F1ABCB /* Debug */,
				0F7EB8531F95504B00F1ABCB /* Release */,
				0F7EB8541F95504B00F1ABCB /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		145F683A179DC45F00D65598 /* Build configuration list for PBXProject "bmalloc" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				145F684A179DC45F00D65598 /* Debug */,
				145F684B179DC45F00D65598 /* Release */,
				14202F0F18F37C15006C37DB /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		14CC394518EA8743004AFE34 /* Build configuration list for PBXNativeTarget "mbmalloc" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				14CC394618EA8743004AFE34 /* Debug */,
				14CC394718EA8743004AFE34 /* Release */,
				14202F1118F37C15006C37DB /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		14F271BF18EA3963008C152F /* Build configuration list for PBXNativeTarget "bmalloc" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				14F271C018EA3963008C152F /* Debug */,
				14F271C118EA3963008C152F /* Release */,
				14202F1018F37C15006C37DB /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
/* End XCConfigurationList section */
	};
	rootObject = 145F6837179DC45F00D65598 /* Project object */;
}
