9 /* Begin PBXBuildFile section */
10 B523C73D25C98D9800C44061 /* NSImage+writePNG.swift in Sources */ = {isa = PBXBuildFile; fileRef = B523C73C25C98D9800C44061 /* NSImage+writePNG.swift */; };
11 B523C74625C9BD3500C44061 /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B523C74525C9BD3500C44061 /* CloudKit.framework */; };
12 B523C74B25C9C1BA00C44061 /* DefaultMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B523C74A25C9C1BA00C44061 /* DefaultMapView.swift */; };
13 B523C75A25C9FD4900C44061 /* MapAxes.swift in Sources */ = {isa = PBXBuildFile; fileRef = B523C75925C9FD4900C44061 /* MapAxes.swift */; };
14 B523C76225CA05A300C44061 /* MapStages.swift in Sources */ = {isa = PBXBuildFile; fileRef = B523C76125CA05A300C44061 /* MapStages.swift */; };
15 B523C76725CA071B00C44061 /* MapVertices.swift in Sources */ = {isa = PBXBuildFile; fileRef = B523C76625CA071B00C44061 /* MapVertices.swift */; };
16 B523C76C25CA0DFA00C44061 /* MapEdges.swift in Sources */ = {isa = PBXBuildFile; fileRef = B523C76B25CA0DFA00C44061 /* MapEdges.swift */; };
17 B523C77125CA121300C44061 /* MapBlockers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B523C77025CA121300C44061 /* MapBlockers.swift */; };
18 B523C77625CA181100C44061 /* MapColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B523C77525CA181100C44061 /* MapColor.swift */; };
19 B523C77E25CA294C00C44061 /* MapOpportunities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B523C77D25CA294C00C44061 /* MapOpportunities.swift */; };
20 B526257225C874F9003E73B7 /* MapApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = B526257125C874F9003E73B7 /* MapApp.swift */; };
21 B526257425C874F9003E73B7 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B526257325C874F9003E73B7 /* ContentView.swift */; };
22 B526257625C874FA003E73B7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B526257525C874FA003E73B7 /* Assets.xcassets */; };
23 B526257925C874FA003E73B7 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B526257825C874FA003E73B7 /* Preview Assets.xcassets */; };
24 B526257B25C874FA003E73B7 /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = B526257A25C874FA003E73B7 /* Persistence.swift */; };
25 B526257E25C874FA003E73B7 /* Map.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = B526257C25C874FA003E73B7 /* Map.xcdatamodeld */; };
26 B526258A25C874FA003E73B7 /* MapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B526258925C874FA003E73B7 /* MapTests.swift */; };
27 B526259525C874FA003E73B7 /* MapUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B526259425C874FA003E73B7 /* MapUITests.swift */; };
28 B52625A625C876C3003E73B7 /* MapDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = B52625A525C876C3003E73B7 /* MapDetail.swift */; };
29 B52625AB25C87909003E73B7 /* Date+format.swift in Sources */ = {isa = PBXBuildFile; fileRef = B52625AA25C87909003E73B7 /* Date+format.swift */; };
30 B52625B025C87C14003E73B7 /* MapRender.swift in Sources */ = {isa = PBXBuildFile; fileRef = B52625AF25C87C14003E73B7 /* MapRender.swift */; };
31 B52625BB25C884C2003E73B7 /* Map+parse.swift in Sources */ = {isa = PBXBuildFile; fileRef = B52625BA25C884C2003E73B7 /* Map+parse.swift */; };
32 B52625C625C8BD2A003E73B7 /* Stage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B52625C525C8BD2A003E73B7 /* Stage.swift */; };
33 B539516C25CB0C9300959F72 /* Store.swift in Sources */ = {isa = PBXBuildFile; fileRef = B539516B25CB0C9200959F72 /* Store.swift */; };
34 B539517425CB0CA400959F72 /* AppState.swift in Sources */ = {isa = PBXBuildFile; fileRef = B539517325CB0CA400959F72 /* AppState.swift */; };
35 B539518125CB2D7A00959F72 /* MapTextEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B539518025CB2D7A00959F72 /* MapTextEditor.swift */; };
36 B587BB6025CDCECB00F328ED /* SlowMapRender.swift in Sources */ = {isa = PBXBuildFile; fileRef = B587BB5F25CDCECB00F328ED /* SlowMapRender.swift */; };
37 B5CF75C925CC19FC003BFF3D /* EvolutionPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5CF75C825CC19FC003BFF3D /* EvolutionPicker.swift */; };
38 B5CF75CF25CC7965003BFF3D /* MapParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5CF75CE25CC7965003BFF3D /* MapParser.swift */; };
39 B5CF75D825CC79BC003BFF3D /* VertexParserStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5CF75D725CC79BC003BFF3D /* VertexParserStrategy.swift */; };
40 B5CF75DD25CC79D7003BFF3D /* EdgeParserStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5CF75DC25CC79D7003BFF3D /* EdgeParserStrategy.swift */; };
41 B5CF75E225CC79ED003BFF3D /* BlockerParserStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5CF75E125CC79ED003BFF3D /* BlockerParserStrategy.swift */; };
42 B5CF75EA25CC7A13003BFF3D /* OpportunityParserStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5CF75E925CC7A13003BFF3D /* OpportunityParserStrategy.swift */; };
43 B5CF75EF25CC7A4A003BFF3D /* StageParserStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5CF75EE25CC7A4A003BFF3D /* StageParserStrategy.swift */; };
44 B5CF75F725CC97CA003BFF3D /* Debouncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5CF75F625CC97CA003BFF3D /* Debouncer.swift */; };
45 /* End PBXBuildFile section */
47 /* Begin PBXContainerItemProxy section */
48 B526258625C874FA003E73B7 /* PBXContainerItemProxy */ = {
49 isa = PBXContainerItemProxy;
50 containerPortal = B526256625C874F9003E73B7 /* Project object */;
52 remoteGlobalIDString = B526256D25C874F9003E73B7;
55 B526259125C874FA003E73B7 /* PBXContainerItemProxy */ = {
56 isa = PBXContainerItemProxy;
57 containerPortal = B526256625C874F9003E73B7 /* Project object */;
59 remoteGlobalIDString = B526256D25C874F9003E73B7;
62 /* End PBXContainerItemProxy section */
64 /* Begin PBXFileReference section */
65 B523C73C25C98D9800C44061 /* NSImage+writePNG.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSImage+writePNG.swift"; sourceTree = "<group>"; };
66 B523C74525C9BD3500C44061 /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; };
67 B523C74A25C9C1BA00C44061 /* DefaultMapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultMapView.swift; sourceTree = "<group>"; };
68 B523C75925C9FD4900C44061 /* MapAxes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapAxes.swift; sourceTree = "<group>"; };
69 B523C76125CA05A300C44061 /* MapStages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapStages.swift; sourceTree = "<group>"; };
70 B523C76625CA071B00C44061 /* MapVertices.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapVertices.swift; sourceTree = "<group>"; };
71 B523C76B25CA0DFA00C44061 /* MapEdges.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapEdges.swift; sourceTree = "<group>"; };
72 B523C77025CA121300C44061 /* MapBlockers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapBlockers.swift; sourceTree = "<group>"; };
73 B523C77525CA181100C44061 /* MapColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapColor.swift; sourceTree = "<group>"; };
74 B523C77D25CA294C00C44061 /* MapOpportunities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapOpportunities.swift; sourceTree = "<group>"; };
75 B526256E25C874F9003E73B7 /* Map.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Map.app; sourceTree = BUILT_PRODUCTS_DIR; };
76 B526257125C874F9003E73B7 /* MapApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapApp.swift; sourceTree = "<group>"; };
77 B526257325C874F9003E73B7 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
78 B526257525C874FA003E73B7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
79 B526257825C874FA003E73B7 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
80 B526257A25C874FA003E73B7 /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; };
81 B526257D25C874FA003E73B7 /* Map.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Map.xcdatamodel; sourceTree = "<group>"; };
82 B526257F25C874FA003E73B7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
83 B526258025C874FA003E73B7 /* Map.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Map.entitlements; sourceTree = "<group>"; };
84 B526258525C874FA003E73B7 /* MapTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MapTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
85 B526258925C874FA003E73B7 /* MapTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapTests.swift; sourceTree = "<group>"; };
86 B526258B25C874FA003E73B7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
87 B526259025C874FA003E73B7 /* MapUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MapUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
88 B526259425C874FA003E73B7 /* MapUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapUITests.swift; sourceTree = "<group>"; };
89 B526259625C874FA003E73B7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
90 B52625A525C876C3003E73B7 /* MapDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapDetail.swift; sourceTree = "<group>"; };
91 B52625AA25C87909003E73B7 /* Date+format.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+format.swift"; sourceTree = "<group>"; };
92 B52625AF25C87C14003E73B7 /* MapRender.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapRender.swift; sourceTree = "<group>"; };
93 B52625BA25C884C2003E73B7 /* Map+parse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Map+parse.swift"; sourceTree = "<group>"; };
94 B52625C525C8BD2A003E73B7 /* Stage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Stage.swift; sourceTree = "<group>"; };
95 B539516B25CB0C9200959F72 /* Store.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Store.swift; sourceTree = "<group>"; };
96 B539517325CB0CA400959F72 /* AppState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppState.swift; sourceTree = "<group>"; };
97 B539518025CB2D7A00959F72 /* MapTextEditor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapTextEditor.swift; sourceTree = "<group>"; };
98 B587BB5F25CDCECB00F328ED /* SlowMapRender.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SlowMapRender.swift; sourceTree = "<group>"; };
99 B5CF75C825CC19FC003BFF3D /* EvolutionPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EvolutionPicker.swift; sourceTree = "<group>"; };
100 B5CF75CE25CC7965003BFF3D /* MapParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapParser.swift; sourceTree = "<group>"; };
101 B5CF75D725CC79BC003BFF3D /* VertexParserStrategy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VertexParserStrategy.swift; sourceTree = "<group>"; };
102 B5CF75DC25CC79D7003BFF3D /* EdgeParserStrategy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EdgeParserStrategy.swift; sourceTree = "<group>"; };
103 B5CF75E125CC79ED003BFF3D /* BlockerParserStrategy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockerParserStrategy.swift; sourceTree = "<group>"; };
104 B5CF75E925CC7A13003BFF3D /* OpportunityParserStrategy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpportunityParserStrategy.swift; sourceTree = "<group>"; };
105 B5CF75EE25CC7A4A003BFF3D /* StageParserStrategy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StageParserStrategy.swift; sourceTree = "<group>"; };
106 B5CF75F625CC97CA003BFF3D /* Debouncer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debouncer.swift; sourceTree = "<group>"; };
107 /* End PBXFileReference section */
109 /* Begin PBXFrameworksBuildPhase section */
110 B526256B25C874F9003E73B7 /* Frameworks */ = {
111 isa = PBXFrameworksBuildPhase;
112 buildActionMask = 2147483647;
114 B523C74625C9BD3500C44061 /* CloudKit.framework in Frameworks */,
116 runOnlyForDeploymentPostprocessing = 0;
118 B526258225C874FA003E73B7 /* Frameworks */ = {
119 isa = PBXFrameworksBuildPhase;
120 buildActionMask = 2147483647;
123 runOnlyForDeploymentPostprocessing = 0;
125 B526258D25C874FA003E73B7 /* Frameworks */ = {
126 isa = PBXFrameworksBuildPhase;
127 buildActionMask = 2147483647;
130 runOnlyForDeploymentPostprocessing = 0;
132 /* End PBXFrameworksBuildPhase section */
134 /* Begin PBXGroup section */
135 B523C74425C9BD3500C44061 /* Frameworks */ = {
138 B523C74525C9BD3500C44061 /* CloudKit.framework */,
141 sourceTree = "<group>";
143 B523C75825C9FD3A00C44061 /* MapRenderComponents */ = {
146 B523C75925C9FD4900C44061 /* MapAxes.swift */,
147 B523C76125CA05A300C44061 /* MapStages.swift */,
148 B523C76625CA071B00C44061 /* MapVertices.swift */,
149 B523C76B25CA0DFA00C44061 /* MapEdges.swift */,
150 B523C77025CA121300C44061 /* MapBlockers.swift */,
151 B523C77D25CA294C00C44061 /* MapOpportunities.swift */,
153 path = MapRenderComponents;
154 sourceTree = "<group>";
156 B526256525C874F9003E73B7 = {
159 B526257025C874F9003E73B7 /* Map */,
160 B526258825C874FA003E73B7 /* MapTests */,
161 B526259325C874FA003E73B7 /* MapUITests */,
162 B526256F25C874F9003E73B7 /* Products */,
163 B523C74425C9BD3500C44061 /* Frameworks */,
165 sourceTree = "<group>";
167 B526256F25C874F9003E73B7 /* Products */ = {
170 B526256E25C874F9003E73B7 /* Map.app */,
171 B526258525C874FA003E73B7 /* MapTests.xctest */,
172 B526259025C874FA003E73B7 /* MapUITests.xctest */,
175 sourceTree = "<group>";
177 B526257025C874F9003E73B7 /* Map */ = {
180 B523C77525CA181100C44061 /* MapColor.swift */,
181 B5CF75CD25CC7953003BFF3D /* MapParser */,
182 B539516A25CB0C7800959F72 /* State */,
183 B52625B425C87D54003E73B7 /* Extensions */,
184 B539517925CB0D6100959F72 /* Views */,
185 B523C75825C9FD3A00C44061 /* MapRenderComponents */,
186 B526257525C874FA003E73B7 /* Assets.xcassets */,
187 B526257F25C874FA003E73B7 /* Info.plist */,
188 B526258025C874FA003E73B7 /* Map.entitlements */,
189 B526257C25C874FA003E73B7 /* Map.xcdatamodeld */,
190 B526257725C874FA003E73B7 /* Preview Content */,
191 B5CF75F625CC97CA003BFF3D /* Debouncer.swift */,
194 sourceTree = "<group>";
196 B526257725C874FA003E73B7 /* Preview Content */ = {
199 B526257825C874FA003E73B7 /* Preview Assets.xcassets */,
201 path = "Preview Content";
202 sourceTree = "<group>";
204 B526258825C874FA003E73B7 /* MapTests */ = {
207 B526258925C874FA003E73B7 /* MapTests.swift */,
208 B526258B25C874FA003E73B7 /* Info.plist */,
211 sourceTree = "<group>";
213 B526259325C874FA003E73B7 /* MapUITests */ = {
216 B526259425C874FA003E73B7 /* MapUITests.swift */,
217 B526259625C874FA003E73B7 /* Info.plist */,
220 sourceTree = "<group>";
222 B52625B425C87D54003E73B7 /* Extensions */ = {
225 B52625BA25C884C2003E73B7 /* Map+parse.swift */,
226 B52625AA25C87909003E73B7 /* Date+format.swift */,
227 B523C73C25C98D9800C44061 /* NSImage+writePNG.swift */,
230 sourceTree = "<group>";
232 B539516A25CB0C7800959F72 /* State */ = {
235 B52625C525C8BD2A003E73B7 /* Stage.swift */,
236 B526257A25C874FA003E73B7 /* Persistence.swift */,
237 B539516B25CB0C9200959F72 /* Store.swift */,
238 B539517325CB0CA400959F72 /* AppState.swift */,
241 sourceTree = "<group>";
243 B539517925CB0D6100959F72 /* Views */ = {
246 B526257125C874F9003E73B7 /* MapApp.swift */,
247 B526257325C874F9003E73B7 /* ContentView.swift */,
248 B52625A525C876C3003E73B7 /* MapDetail.swift */,
249 B523C74A25C9C1BA00C44061 /* DefaultMapView.swift */,
250 B539518025CB2D7A00959F72 /* MapTextEditor.swift */,
251 B587BB5F25CDCECB00F328ED /* SlowMapRender.swift */,
252 B52625AF25C87C14003E73B7 /* MapRender.swift */,
253 B5CF75C825CC19FC003BFF3D /* EvolutionPicker.swift */,
256 sourceTree = "<group>";
258 B5CF75CD25CC7953003BFF3D /* MapParser */ = {
261 B5CF75D625CC79A4003BFF3D /* Strategies */,
262 B5CF75CE25CC7965003BFF3D /* MapParser.swift */,
265 sourceTree = "<group>";
267 B5CF75D625CC79A4003BFF3D /* Strategies */ = {
270 B5CF75D725CC79BC003BFF3D /* VertexParserStrategy.swift */,
271 B5CF75DC25CC79D7003BFF3D /* EdgeParserStrategy.swift */,
272 B5CF75E125CC79ED003BFF3D /* BlockerParserStrategy.swift */,
273 B5CF75E925CC7A13003BFF3D /* OpportunityParserStrategy.swift */,
274 B5CF75EE25CC7A4A003BFF3D /* StageParserStrategy.swift */,
277 sourceTree = "<group>";
279 /* End PBXGroup section */
281 /* Begin PBXNativeTarget section */
282 B526256D25C874F9003E73B7 /* Map */ = {
283 isa = PBXNativeTarget;
284 buildConfigurationList = B526259925C874FA003E73B7 /* Build configuration list for PBXNativeTarget "Map" */;
286 B526256A25C874F9003E73B7 /* Sources */,
287 B526256B25C874F9003E73B7 /* Frameworks */,
288 B526256C25C874F9003E73B7 /* Resources */,
296 productReference = B526256E25C874F9003E73B7 /* Map.app */;
297 productType = "com.apple.product-type.application";
299 B526258425C874FA003E73B7 /* MapTests */ = {
300 isa = PBXNativeTarget;
301 buildConfigurationList = B526259C25C874FA003E73B7 /* Build configuration list for PBXNativeTarget "MapTests" */;
303 B526258125C874FA003E73B7 /* Sources */,
304 B526258225C874FA003E73B7 /* Frameworks */,
305 B526258325C874FA003E73B7 /* Resources */,
310 B526258725C874FA003E73B7 /* PBXTargetDependency */,
313 productName = MapTests;
314 productReference = B526258525C874FA003E73B7 /* MapTests.xctest */;
315 productType = "com.apple.product-type.bundle.unit-test";
317 B526258F25C874FA003E73B7 /* MapUITests */ = {
318 isa = PBXNativeTarget;
319 buildConfigurationList = B526259F25C874FA003E73B7 /* Build configuration list for PBXNativeTarget "MapUITests" */;
321 B526258C25C874FA003E73B7 /* Sources */,
322 B526258D25C874FA003E73B7 /* Frameworks */,
323 B526258E25C874FA003E73B7 /* Resources */,
328 B526259225C874FA003E73B7 /* PBXTargetDependency */,
331 productName = MapUITests;
332 productReference = B526259025C874FA003E73B7 /* MapUITests.xctest */;
333 productType = "com.apple.product-type.bundle.ui-testing";
335 /* End PBXNativeTarget section */
337 /* Begin PBXProject section */
338 B526256625C874F9003E73B7 /* Project object */ = {
341 LastSwiftUpdateCheck = 1240;
342 LastUpgradeCheck = 1240;
344 B526256D25C874F9003E73B7 = {
345 CreatedOnToolsVersion = 12.4;
347 B526258425C874FA003E73B7 = {
348 CreatedOnToolsVersion = 12.4;
349 TestTargetID = B526256D25C874F9003E73B7;
351 B526258F25C874FA003E73B7 = {
352 CreatedOnToolsVersion = 12.4;
353 TestTargetID = B526256D25C874F9003E73B7;
357 buildConfigurationList = B526256925C874F9003E73B7 /* Build configuration list for PBXProject "Map" */;
358 compatibilityVersion = "Xcode 9.3";
359 developmentRegion = en;
360 hasScannedForEncodings = 0;
365 mainGroup = B526256525C874F9003E73B7;
366 productRefGroup = B526256F25C874F9003E73B7 /* Products */;
370 B526256D25C874F9003E73B7 /* Map */,
371 B526258425C874FA003E73B7 /* MapTests */,
372 B526258F25C874FA003E73B7 /* MapUITests */,
375 /* End PBXProject section */
377 /* Begin PBXResourcesBuildPhase section */
378 B526256C25C874F9003E73B7 /* Resources */ = {
379 isa = PBXResourcesBuildPhase;
380 buildActionMask = 2147483647;
382 B526257925C874FA003E73B7 /* Preview Assets.xcassets in Resources */,
383 B526257625C874FA003E73B7 /* Assets.xcassets in Resources */,
385 runOnlyForDeploymentPostprocessing = 0;
387 B526258325C874FA003E73B7 /* Resources */ = {
388 isa = PBXResourcesBuildPhase;
389 buildActionMask = 2147483647;
392 runOnlyForDeploymentPostprocessing = 0;
394 B526258E25C874FA003E73B7 /* Resources */ = {
395 isa = PBXResourcesBuildPhase;
396 buildActionMask = 2147483647;
399 runOnlyForDeploymentPostprocessing = 0;
401 /* End PBXResourcesBuildPhase section */
403 /* Begin PBXSourcesBuildPhase section */
404 B526256A25C874F9003E73B7 /* Sources */ = {
405 isa = PBXSourcesBuildPhase;
406 buildActionMask = 2147483647;
408 B52625B025C87C14003E73B7 /* MapRender.swift in Sources */,
409 B523C77E25CA294C00C44061 /* MapOpportunities.swift in Sources */,
410 B52625AB25C87909003E73B7 /* Date+format.swift in Sources */,
411 B5CF75D825CC79BC003BFF3D /* VertexParserStrategy.swift in Sources */,
412 B5CF75EA25CC7A13003BFF3D /* OpportunityParserStrategy.swift in Sources */,
413 B523C77125CA121300C44061 /* MapBlockers.swift in Sources */,
414 B523C76725CA071B00C44061 /* MapVertices.swift in Sources */,
415 B5CF75CF25CC7965003BFF3D /* MapParser.swift in Sources */,
416 B5CF75E225CC79ED003BFF3D /* BlockerParserStrategy.swift in Sources */,
417 B539517425CB0CA400959F72 /* AppState.swift in Sources */,
418 B523C75A25C9FD4900C44061 /* MapAxes.swift in Sources */,
419 B539518125CB2D7A00959F72 /* MapTextEditor.swift in Sources */,
420 B52625BB25C884C2003E73B7 /* Map+parse.swift in Sources */,
421 B52625C625C8BD2A003E73B7 /* Stage.swift in Sources */,
422 B523C73D25C98D9800C44061 /* NSImage+writePNG.swift in Sources */,
423 B526257B25C874FA003E73B7 /* Persistence.swift in Sources */,
424 B5CF75EF25CC7A4A003BFF3D /* StageParserStrategy.swift in Sources */,
425 B523C77625CA181100C44061 /* MapColor.swift in Sources */,
426 B5CF75DD25CC79D7003BFF3D /* EdgeParserStrategy.swift in Sources */,
427 B526257425C874F9003E73B7 /* ContentView.swift in Sources */,
428 B526257E25C874FA003E73B7 /* Map.xcdatamodeld in Sources */,
429 B5CF75C925CC19FC003BFF3D /* EvolutionPicker.swift in Sources */,
430 B523C74B25C9C1BA00C44061 /* DefaultMapView.swift in Sources */,
431 B539516C25CB0C9300959F72 /* Store.swift in Sources */,
432 B526257225C874F9003E73B7 /* MapApp.swift in Sources */,
433 B52625A625C876C3003E73B7 /* MapDetail.swift in Sources */,
434 B523C76225CA05A300C44061 /* MapStages.swift in Sources */,
435 B587BB6025CDCECB00F328ED /* SlowMapRender.swift in Sources */,
436 B5CF75F725CC97CA003BFF3D /* Debouncer.swift in Sources */,
437 B523C76C25CA0DFA00C44061 /* MapEdges.swift in Sources */,
439 runOnlyForDeploymentPostprocessing = 0;
441 B526258125C874FA003E73B7 /* Sources */ = {
442 isa = PBXSourcesBuildPhase;
443 buildActionMask = 2147483647;
445 B526258A25C874FA003E73B7 /* MapTests.swift in Sources */,
447 runOnlyForDeploymentPostprocessing = 0;
449 B526258C25C874FA003E73B7 /* Sources */ = {
450 isa = PBXSourcesBuildPhase;
451 buildActionMask = 2147483647;
453 B526259525C874FA003E73B7 /* MapUITests.swift in Sources */,
455 runOnlyForDeploymentPostprocessing = 0;
457 /* End PBXSourcesBuildPhase section */
459 /* Begin PBXTargetDependency section */
460 B526258725C874FA003E73B7 /* PBXTargetDependency */ = {
461 isa = PBXTargetDependency;
462 target = B526256D25C874F9003E73B7 /* Map */;
463 targetProxy = B526258625C874FA003E73B7 /* PBXContainerItemProxy */;
465 B526259225C874FA003E73B7 /* PBXTargetDependency */ = {
466 isa = PBXTargetDependency;
467 target = B526256D25C874F9003E73B7 /* Map */;
468 targetProxy = B526259125C874FA003E73B7 /* PBXContainerItemProxy */;
470 /* End PBXTargetDependency section */
472 /* Begin XCBuildConfiguration section */
473 B526259725C874FA003E73B7 /* Debug */ = {
474 isa = XCBuildConfiguration;
476 ALWAYS_SEARCH_USER_PATHS = NO;
477 CLANG_ANALYZER_NONNULL = YES;
478 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
479 CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
480 CLANG_CXX_LIBRARY = "libc++";
481 CLANG_ENABLE_MODULES = YES;
482 CLANG_ENABLE_OBJC_ARC = YES;
483 CLANG_ENABLE_OBJC_WEAK = YES;
484 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
485 CLANG_WARN_BOOL_CONVERSION = YES;
486 CLANG_WARN_COMMA = YES;
487 CLANG_WARN_CONSTANT_CONVERSION = YES;
488 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
489 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
490 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
491 CLANG_WARN_EMPTY_BODY = YES;
492 CLANG_WARN_ENUM_CONVERSION = YES;
493 CLANG_WARN_INFINITE_RECURSION = YES;
494 CLANG_WARN_INT_CONVERSION = YES;
495 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
496 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
497 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
498 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
499 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
500 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
501 CLANG_WARN_STRICT_PROTOTYPES = YES;
502 CLANG_WARN_SUSPICIOUS_MOVE = YES;
503 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
504 CLANG_WARN_UNREACHABLE_CODE = YES;
505 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
506 COPY_PHASE_STRIP = NO;
507 DEBUG_INFORMATION_FORMAT = dwarf;
508 ENABLE_STRICT_OBJC_MSGSEND = YES;
509 ENABLE_TESTABILITY = YES;
510 GCC_C_LANGUAGE_STANDARD = gnu11;
511 GCC_DYNAMIC_NO_PIC = NO;
512 GCC_NO_COMMON_BLOCKS = YES;
513 GCC_OPTIMIZATION_LEVEL = 0;
514 GCC_PREPROCESSOR_DEFINITIONS = (
518 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
519 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
520 GCC_WARN_UNDECLARED_SELECTOR = YES;
521 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
522 GCC_WARN_UNUSED_FUNCTION = YES;
523 GCC_WARN_UNUSED_VARIABLE = YES;
524 MACOSX_DEPLOYMENT_TARGET = 11.1;
525 MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
527 ONLY_ACTIVE_ARCH = YES;
529 SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
530 SWIFT_OPTIMIZATION_LEVEL = "-Onone";
534 B526259825C874FA003E73B7 /* Release */ = {
535 isa = XCBuildConfiguration;
537 ALWAYS_SEARCH_USER_PATHS = NO;
538 CLANG_ANALYZER_NONNULL = YES;
539 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
540 CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
541 CLANG_CXX_LIBRARY = "libc++";
542 CLANG_ENABLE_MODULES = YES;
543 CLANG_ENABLE_OBJC_ARC = YES;
544 CLANG_ENABLE_OBJC_WEAK = YES;
545 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
546 CLANG_WARN_BOOL_CONVERSION = YES;
547 CLANG_WARN_COMMA = YES;
548 CLANG_WARN_CONSTANT_CONVERSION = YES;
549 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
550 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
551 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
552 CLANG_WARN_EMPTY_BODY = YES;
553 CLANG_WARN_ENUM_CONVERSION = YES;
554 CLANG_WARN_INFINITE_RECURSION = YES;
555 CLANG_WARN_INT_CONVERSION = YES;
556 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
557 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
558 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
559 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
560 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
561 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
562 CLANG_WARN_STRICT_PROTOTYPES = YES;
563 CLANG_WARN_SUSPICIOUS_MOVE = YES;
564 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
565 CLANG_WARN_UNREACHABLE_CODE = YES;
566 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
567 COPY_PHASE_STRIP = NO;
568 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
569 ENABLE_NS_ASSERTIONS = NO;
570 ENABLE_STRICT_OBJC_MSGSEND = YES;
571 GCC_C_LANGUAGE_STANDARD = gnu11;
572 GCC_NO_COMMON_BLOCKS = YES;
573 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
574 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
575 GCC_WARN_UNDECLARED_SELECTOR = YES;
576 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
577 GCC_WARN_UNUSED_FUNCTION = YES;
578 GCC_WARN_UNUSED_VARIABLE = YES;
579 MACOSX_DEPLOYMENT_TARGET = 11.1;
580 MTL_ENABLE_DEBUG_INFO = NO;
583 SWIFT_COMPILATION_MODE = wholemodule;
584 SWIFT_OPTIMIZATION_LEVEL = "-O";
588 B526259A25C874FA003E73B7 /* Debug */ = {
589 isa = XCBuildConfiguration;
591 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
592 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
593 CODE_SIGN_ENTITLEMENTS = Map/Map.entitlements;
594 CODE_SIGN_STYLE = Automatic;
595 COMBINE_HIDPI_IMAGES = YES;
596 CURRENT_PROJECT_VERSION = 3;
597 DEVELOPMENT_ASSET_PATHS = "\"Map/Preview Content\"";
598 DEVELOPMENT_TEAM = S68NHQVJXW;
599 ENABLE_HARDENED_RUNTIME = YES;
600 ENABLE_PREVIEWS = YES;
601 INFOPLIST_FILE = Map/Info.plist;
602 LD_RUNPATH_SEARCH_PATHS = (
604 "@executable_path/../Frameworks",
606 MACOSX_DEPLOYMENT_TARGET = 11;
607 MARKETING_VERSION = 1.2.0;
608 PRODUCT_BUNDLE_IDENTIFIER = pizza.unlimited.Map;
609 PRODUCT_NAME = "$(TARGET_NAME)";
614 B526259B25C874FA003E73B7 /* Release */ = {
615 isa = XCBuildConfiguration;
617 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
618 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
619 CODE_SIGN_ENTITLEMENTS = Map/Map.entitlements;
620 CODE_SIGN_STYLE = Automatic;
621 COMBINE_HIDPI_IMAGES = YES;
622 CURRENT_PROJECT_VERSION = 3;
623 DEVELOPMENT_ASSET_PATHS = "\"Map/Preview Content\"";
624 DEVELOPMENT_TEAM = S68NHQVJXW;
625 ENABLE_HARDENED_RUNTIME = YES;
626 ENABLE_PREVIEWS = YES;
627 INFOPLIST_FILE = Map/Info.plist;
628 LD_RUNPATH_SEARCH_PATHS = (
630 "@executable_path/../Frameworks",
632 MACOSX_DEPLOYMENT_TARGET = 11;
633 MARKETING_VERSION = 1.2.0;
634 PRODUCT_BUNDLE_IDENTIFIER = pizza.unlimited.Map;
635 PRODUCT_NAME = "$(TARGET_NAME)";
640 B526259D25C874FA003E73B7 /* Debug */ = {
641 isa = XCBuildConfiguration;
643 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
644 BUNDLE_LOADER = "$(TEST_HOST)";
645 CODE_SIGN_STYLE = Automatic;
646 COMBINE_HIDPI_IMAGES = YES;
647 DEVELOPMENT_TEAM = S68NHQVJXW;
648 INFOPLIST_FILE = MapTests/Info.plist;
649 LD_RUNPATH_SEARCH_PATHS = (
651 "@executable_path/../Frameworks",
652 "@loader_path/../Frameworks",
654 MACOSX_DEPLOYMENT_TARGET = 11.0;
655 PRODUCT_BUNDLE_IDENTIFIER = pizza.unlimited.MapTests;
656 PRODUCT_NAME = "$(TARGET_NAME)";
658 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Map.app/Contents/MacOS/Map";
662 B526259E25C874FA003E73B7 /* Release */ = {
663 isa = XCBuildConfiguration;
665 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
666 BUNDLE_LOADER = "$(TEST_HOST)";
667 CODE_SIGN_STYLE = Automatic;
668 COMBINE_HIDPI_IMAGES = YES;
669 DEVELOPMENT_TEAM = S68NHQVJXW;
670 INFOPLIST_FILE = MapTests/Info.plist;
671 LD_RUNPATH_SEARCH_PATHS = (
673 "@executable_path/../Frameworks",
674 "@loader_path/../Frameworks",
676 MACOSX_DEPLOYMENT_TARGET = 11.0;
677 PRODUCT_BUNDLE_IDENTIFIER = pizza.unlimited.MapTests;
678 PRODUCT_NAME = "$(TARGET_NAME)";
680 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Map.app/Contents/MacOS/Map";
684 B52625A025C874FA003E73B7 /* Debug */ = {
685 isa = XCBuildConfiguration;
687 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
688 CODE_SIGN_STYLE = Automatic;
689 COMBINE_HIDPI_IMAGES = YES;
690 DEVELOPMENT_TEAM = S68NHQVJXW;
691 INFOPLIST_FILE = MapUITests/Info.plist;
692 LD_RUNPATH_SEARCH_PATHS = (
694 "@executable_path/../Frameworks",
695 "@loader_path/../Frameworks",
697 PRODUCT_BUNDLE_IDENTIFIER = pizza.unlimited.MapUITests;
698 PRODUCT_NAME = "$(TARGET_NAME)";
700 TEST_TARGET_NAME = Map;
704 B52625A125C874FA003E73B7 /* Release */ = {
705 isa = XCBuildConfiguration;
707 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
708 CODE_SIGN_STYLE = Automatic;
709 COMBINE_HIDPI_IMAGES = YES;
710 DEVELOPMENT_TEAM = S68NHQVJXW;
711 INFOPLIST_FILE = MapUITests/Info.plist;
712 LD_RUNPATH_SEARCH_PATHS = (
714 "@executable_path/../Frameworks",
715 "@loader_path/../Frameworks",
717 PRODUCT_BUNDLE_IDENTIFIER = pizza.unlimited.MapUITests;
718 PRODUCT_NAME = "$(TARGET_NAME)";
720 TEST_TARGET_NAME = Map;
724 /* End XCBuildConfiguration section */
726 /* Begin XCConfigurationList section */
727 B526256925C874F9003E73B7 /* Build configuration list for PBXProject "Map" */ = {
728 isa = XCConfigurationList;
729 buildConfigurations = (
730 B526259725C874FA003E73B7 /* Debug */,
731 B526259825C874FA003E73B7 /* Release */,
733 defaultConfigurationIsVisible = 0;
734 defaultConfigurationName = Release;
736 B526259925C874FA003E73B7 /* Build configuration list for PBXNativeTarget "Map" */ = {
737 isa = XCConfigurationList;
738 buildConfigurations = (
739 B526259A25C874FA003E73B7 /* Debug */,
740 B526259B25C874FA003E73B7 /* Release */,
742 defaultConfigurationIsVisible = 0;
743 defaultConfigurationName = Release;
745 B526259C25C874FA003E73B7 /* Build configuration list for PBXNativeTarget "MapTests" */ = {
746 isa = XCConfigurationList;
747 buildConfigurations = (
748 B526259D25C874FA003E73B7 /* Debug */,
749 B526259E25C874FA003E73B7 /* Release */,
751 defaultConfigurationIsVisible = 0;
752 defaultConfigurationName = Release;
754 B526259F25C874FA003E73B7 /* Build configuration list for PBXNativeTarget "MapUITests" */ = {
755 isa = XCConfigurationList;
756 buildConfigurations = (
757 B52625A025C874FA003E73B7 /* Debug */,
758 B52625A125C874FA003E73B7 /* Release */,
760 defaultConfigurationIsVisible = 0;
761 defaultConfigurationName = Release;
763 /* End XCConfigurationList section */
765 /* Begin XCVersionGroup section */
766 B526257C25C874FA003E73B7 /* Map.xcdatamodeld */ = {
767 isa = XCVersionGroup;
769 B526257D25C874FA003E73B7 /* Map.xcdatamodel */,
771 currentVersion = B526257D25C874FA003E73B7 /* Map.xcdatamodel */;
772 path = Map.xcdatamodeld;
773 sourceTree = "<group>";
774 versionGroupType = wrapper.xcdatamodel;
776 /* End XCVersionGroup section */
778 rootObject = B526256625C874F9003E73B7 /* Project object */;