1// !$*UTF8*$!
2{
3	archiveVersion = 1;
4	classes = {
5	};
6	objectVersion = 48;
7	objects = {
8
9/* Begin PBXBuildFile section */
10		11A01A06258785EA00745FA7 /* MNNVectorTop1Int32.S in Sources */ = {isa = PBXBuildFile; fileRef = 11A01A04258785EA00745FA7 /* MNNVectorTop1Int32.S */; };
11		11A01A07258785EA00745FA7 /* MNNVectorTop1Float.S in Sources */ = {isa = PBXBuildFile; fileRef = 11A01A05258785EA00745FA7 /* MNNVectorTop1Float.S */; };
12		11A01A0C258785FB00745FA7 /* MNNVectorTop1Float.S in Sources */ = {isa = PBXBuildFile; fileRef = 11A01A0A258785FB00745FA7 /* MNNVectorTop1Float.S */; };
13		11A01A0D258785FB00745FA7 /* MNNVectorTop1Int32.S in Sources */ = {isa = PBXBuildFile; fileRef = 11A01A0B258785FB00745FA7 /* MNNVectorTop1Int32.S */; };
14		1F501F7F2397BA5B004E8721 /* HalideRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F722397BA5A004E8721 /* HalideRuntime.h */; settings = {ATTRIBUTES = (Public, ); }; };
15		1F501F802397BA5B004E8721 /* MNNDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F732397BA5A004E8721 /* MNNDefine.h */; settings = {ATTRIBUTES = (Public, ); }; };
16		1F501F812397BA5B004E8721 /* AutoTime.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F742397BA5A004E8721 /* AutoTime.hpp */; settings = {ATTRIBUTES = (Public, ); }; };
17		1F501F822397BA5B004E8721 /* Interpreter.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F752397BA5A004E8721 /* Interpreter.hpp */; settings = {ATTRIBUTES = (Public, ); }; };
18		1F501F842397BA5B004E8721 /* ImageProcess.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F772397BA5A004E8721 /* ImageProcess.hpp */; settings = {ATTRIBUTES = (Public, ); }; };
19		1F501F852397BA5B004E8721 /* ErrorCode.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F782397BA5A004E8721 /* ErrorCode.hpp */; settings = {ATTRIBUTES = (Public, ); }; };
20		1F501F862397BA5B004E8721 /* Rect.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F792397BA5A004E8721 /* Rect.h */; settings = {ATTRIBUTES = (Public, ); }; };
21		1F501F872397BA5B004E8721 /* Matrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F7A2397BA5A004E8721 /* Matrix.h */; settings = {ATTRIBUTES = (Public, ); }; };
22		1F501F882397BA5B004E8721 /* Tensor.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F7B2397BA5A004E8721 /* Tensor.hpp */; settings = {ATTRIBUTES = (Public, ); }; };
23		1F501F892397BA5B004E8721 /* MNNForwardType.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F7C2397BA5A004E8721 /* MNNForwardType.h */; settings = {ATTRIBUTES = (Public, ); }; };
24		1F501F8B2397BA5B004E8721 /* MNNSharedContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F7E2397BA5B004E8721 /* MNNSharedContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
25		1F501F9D2397BB00004E8721 /* expr in Headers */ = {isa = PBXBuildFile; fileRef = 1F501F762397BA5A004E8721 /* expr */; settings = {ATTRIBUTES = (Public, ); }; };
26		22EA50A92051677800C3906C /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F78AC261FCD495800205A7C /* Metal.framework */; settings = {ATTRIBUTES = (Required, ); }; };
27		22EA50B02051681600C3906C /* MNN.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F1465B71FA18D1000F9860A /* MNN.framework */; };
28		48034563254157CE004738E3 /* MNNNV21ToBGRAUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 48034562254157CE004738E3 /* MNNNV21ToBGRAUnit.S */; };
29		48034567254157DF004738E3 /* MNNNV21ToBGRAUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 48034566254157DF004738E3 /* MNNNV21ToBGRAUnit.S */; };
30		4819FB1D24C138DF0050BD09 /* GeometryConvUtils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4819FB1324C138DF0050BD09 /* GeometryConvUtils.hpp */; };
31		4819FB1F24C138DF0050BD09 /* GeometryConvUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB1524C138DF0050BD09 /* GeometryConvUtils.cpp */; };
32		4819FB2C24C1396A0050BD09 /* GeometryPoolGrad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB2424C139680050BD09 /* GeometryPoolGrad.cpp */; };
33		4819FB2D24C1396A0050BD09 /* GeometryConv2D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB2524C139680050BD09 /* GeometryConv2D.cpp */; };
34		4819FB2E24C1396A0050BD09 /* GeometryLSTM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB2624C139690050BD09 /* GeometryLSTM.cpp */; };
35		4819FB3124C1396A0050BD09 /* GeometryLRN.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB2924C139690050BD09 /* GeometryLRN.cpp */; };
36		4819FB3224C1396A0050BD09 /* GeometryReduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB2A24C139690050BD09 /* GeometryReduce.cpp */; };
37		4819FB3324C1396A0050BD09 /* GeometryBinary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB2B24C1396A0050BD09 /* GeometryBinary.cpp */; };
38		4819FB3A24C69E680050BD09 /* GeometryInnerProduct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB3524C69E680050BD09 /* GeometryInnerProduct.cpp */; };
39		4819FB3B24C69E680050BD09 /* GeometrySpatialProduct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB3624C69E680050BD09 /* GeometrySpatialProduct.cpp */; };
40		4819FB3C24C69E680050BD09 /* GeometryBatchMatMul.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB3724C69E680050BD09 /* GeometryBatchMatMul.cpp */; };
41		4819FB3D24C69E680050BD09 /* GeometryCosineSimilarity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4819FB3824C69E680050BD09 /* GeometryCosineSimilarity.cpp */; };
42		481C2DEC25FE2CD6001ED6DF /* Arm82WinogradOptFunc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 481C2DE225FE2CD5001ED6DF /* Arm82WinogradOptFunc.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
43		481C2DED25FE2CD6001ED6DF /* Arm82WinogradOptFunc.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 481C2DE325FE2CD5001ED6DF /* Arm82WinogradOptFunc.hpp */; };
44		481C2DEE25FE2CD6001ED6DF /* Arm82Functions.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 481C2DE425FE2CD6001ED6DF /* Arm82Functions.hpp */; };
45		481C2DEF25FE2CD6001ED6DF /* Arm82Moments.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 481C2DE525FE2CD6001ED6DF /* Arm82Moments.hpp */; };
46		481C2DF025FE2CD6001ED6DF /* Arm82Functions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 481C2DE625FE2CD6001ED6DF /* Arm82Functions.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
47		481C2DF125FE2CD6001ED6DF /* Arm82OptFunc.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 481C2DE725FE2CD6001ED6DF /* Arm82OptFunc.hpp */; };
48		481C2DF225FE2CD6001ED6DF /* Arm82InstanceNorm.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 481C2DE825FE2CD6001ED6DF /* Arm82InstanceNorm.hpp */; };
49		481C2DF325FE2CD6001ED6DF /* Arm82InstanceNorm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 481C2DE925FE2CD6001ED6DF /* Arm82InstanceNorm.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
50		481C2DF425FE2CD6001ED6DF /* Arm82Moments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 481C2DEA25FE2CD6001ED6DF /* Arm82Moments.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
51		481C2DF525FE2CD6001ED6DF /* Arm82OptFunc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 481C2DEB25FE2CD6001ED6DF /* Arm82OptFunc.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
52		481FA84F259C27B30047F01F /* GeometryTensorArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 481FA84E259C27B30047F01F /* GeometryTensorArray.cpp */; };
53		481FA853259C27E00047F01F /* ShapeTensorArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 481FA852259C27E00047F01F /* ShapeTensorArray.cpp */; };
54		4829A2D623CC26AE00623BF5 /* MatMulTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2CB23CC26AD00623BF5 /* MatMulTest.cpp */; };
55		4829A2D723CC26AE00623BF5 /* GatherTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2CC23CC26AD00623BF5 /* GatherTest.cpp */; };
56		4829A2D823CC26AE00623BF5 /* MatrixBandTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2CD23CC26AD00623BF5 /* MatrixBandTest.cpp */; };
57		4829A2D923CC26AE00623BF5 /* ExtraTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2CE23CC26AD00623BF5 /* ExtraTest.cpp */; };
58		4829A2DA23CC26AE00623BF5 /* AllAnyTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2CF23CC26AD00623BF5 /* AllAnyTest.cpp */; };
59		4829A2DB23CC26AE00623BF5 /* MultiThreadLoad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2D023CC26AD00623BF5 /* MultiThreadLoad.cpp */; };
60		4829A2DD23CC26AE00623BF5 /* ExprResizeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2D223CC26AD00623BF5 /* ExprResizeTest.cpp */; };
61		4829A2DE23CC26AE00623BF5 /* ReverseSequenceTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2D323CC26AD00623BF5 /* ReverseSequenceTest.cpp */; };
62		4829A2DF23CC26AE00623BF5 /* ReplaceTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2D423CC26AD00623BF5 /* ReplaceTest.cpp */; };
63		4829A2E023CC26AE00623BF5 /* PaddingTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4829A2D523CC26AD00623BF5 /* PaddingTest.cpp */; };
64		4836CEE5257744120068F6CE /* ShapePlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4836CEE4257744120068F6CE /* ShapePlugin.cpp */; };
65		4837147225A599EC004DBDED /* Arm82Binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4837147025A599EC004DBDED /* Arm82Binary.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
66		4837147325A599EC004DBDED /* Arm82Binary.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4837147125A599EC004DBDED /* Arm82Binary.hpp */; };
67		4838EA7C2611BFE20027232C /* CPUGridSample.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4838EA7A2611BFE20027232C /* CPUGridSample.hpp */; };
68		4838EA7D2611BFE20027232C /* CPUGridSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4838EA7B2611BFE20027232C /* CPUGridSample.cpp */; };
69		4838EA832611C00B0027232C /* MetalGridSample.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4838EA802611C00B0027232C /* MetalGridSample.hpp */; };
70		4838EA842611C00B0027232C /* MetalGridSample.metal in Sources */ = {isa = PBXBuildFile; fileRef = 4838EA812611C00B0027232C /* MetalGridSample.metal */; };
71		4838EA852611C00B0027232C /* MetalGridSample.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4838EA822611C00B0027232C /* MetalGridSample.mm */; };
72		4838EA8B2611C1310027232C /* ShapeGridSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4838EA8A2611C1310027232C /* ShapeGridSample.cpp */; };
73		48417FF024D13BF50056D9A7 /* GeometryThreshold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48417FEC24D13BF50056D9A7 /* GeometryThreshold.cpp */; };
74		48417FF124D13BF50056D9A7 /* GeometryELU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48417FED24D13BF50056D9A7 /* GeometryELU.cpp */; };
75		48417FF224D13BF50056D9A7 /* GeometrySelect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48417FEE24D13BF50056D9A7 /* GeometrySelect.cpp */; };
76		48608B51250632EC00CB1D71 /* GeometryComputer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48608B4D250632EC00CB1D71 /* GeometryComputer.cpp */; };
77		48608B52250632EC00CB1D71 /* GeometryComputerUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48608B4E250632EC00CB1D71 /* GeometryComputerUtils.cpp */; };
78		48608B53250632EC00CB1D71 /* GeometryComputerUtils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48608B4F250632EC00CB1D71 /* GeometryComputerUtils.hpp */; };
79		48608B54250632EC00CB1D71 /* GeometryComputer.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48608B50250632EC00CB1D71 /* GeometryComputer.hpp */; };
80		486E1A9924F5078D00C16006 /* CPURandomUniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 486E1A9724F5078D00C16006 /* CPURandomUniform.cpp */; };
81		486E1A9A24F5078D00C16006 /* CPURandomUniform.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 486E1A9824F5078D00C16006 /* CPURandomUniform.hpp */; };
82		486E1A9C24F507A600C16006 /* ShapeRandomUniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 486E1A9B24F507A600C16006 /* ShapeRandomUniform.cpp */; };
83		48747D49245D9D24000B9709 /* RuntimeFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D45245D9D23000B9709 /* RuntimeFactory.cpp */; };
84		48747D4B245D9D24000B9709 /* RuntimeFactory.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48747D47245D9D23000B9709 /* RuntimeFactory.hpp */; };
85		48747D4F245D9E13000B9709 /* CPURaster.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48747D4D245D9E12000B9709 /* CPURaster.hpp */; };
86		48747D50245D9E13000B9709 /* CPURaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D4E245D9E13000B9709 /* CPURaster.cpp */; };
87		48747D61245D9E33000B9709 /* ConvertUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D52245D9E33000B9709 /* ConvertUtils.cpp */; };
88		48747D62245D9E33000B9709 /* GeometryOPRegister.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D53245D9E33000B9709 /* GeometryOPRegister.cpp */; };
89		48747D63245D9E33000B9709 /* GeometryPermute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D54245D9E33000B9709 /* GeometryPermute.cpp */; };
90		48747D64245D9E33000B9709 /* GeometryTile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D55245D9E33000B9709 /* GeometryTile.cpp */; };
91		48747D65245D9E33000B9709 /* GeometryReshape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D56245D9E33000B9709 /* GeometryReshape.cpp */; };
92		48747D66245D9E33000B9709 /* GeometryDepthToSpace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D57245D9E33000B9709 /* GeometryDepthToSpace.cpp */; };
93		48747D67245D9E33000B9709 /* GeometryBroadcastTo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D58245D9E33000B9709 /* GeometryBroadcastTo.cpp */; };
94		48747D69245D9E33000B9709 /* GeometryCrop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D5A245D9E33000B9709 /* GeometryCrop.cpp */; };
95		48747D6A245D9E33000B9709 /* GeometryStridedSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D5B245D9E33000B9709 /* GeometryStridedSlice.cpp */; };
96		48747D6B245D9E33000B9709 /* GeometryFill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D5C245D9E33000B9709 /* GeometryFill.cpp */; };
97		48747D6C245D9E33000B9709 /* GeometrySpaceToBatchND.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D5D245D9E33000B9709 /* GeometrySpaceToBatchND.cpp */; };
98		48747D6D245D9E33000B9709 /* ConvertUtils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48747D5E245D9E33000B9709 /* ConvertUtils.hpp */; };
99		48747D6E245D9E33000B9709 /* GeometrySlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D5F245D9E33000B9709 /* GeometrySlice.cpp */; };
100		48747D6F245D9E33000B9709 /* GeometryConcat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48747D60245D9E33000B9709 /* GeometryConcat.cpp */; };
101		4882C8B8241A22B800DAC168 /* OpCommonUtils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4882C8B4241A22B800DAC168 /* OpCommonUtils.hpp */; };
102		4882C8B9241A22B800DAC168 /* ConvolutionCommon.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4882C8B5241A22B800DAC168 /* ConvolutionCommon.hpp */; };
103		4882C8BA241A22B800DAC168 /* OpCommonUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8B6241A22B800DAC168 /* OpCommonUtils.cpp */; };
104		4882C8BB241A22B800DAC168 /* ConvolutionCommon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8B7241A22B800DAC168 /* ConvolutionCommon.cpp */; };
105		4882C8DD241A24D900DAC168 /* Convolution3DTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8BC241A24D600DAC168 /* Convolution3DTest.cpp */; };
106		4882C8DE241A24D900DAC168 /* SizeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8BD241A24D600DAC168 /* SizeTest.cpp */; };
107		4882C8DF241A24D900DAC168 /* SoftsignTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8BE241A24D700DAC168 /* SoftsignTest.cpp */; };
108		4882C8E0241A24D900DAC168 /* UnstackTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8BF241A24D700DAC168 /* UnstackTest.cpp */; };
109		4882C8E1241A24D900DAC168 /* EluTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8C0241A24D700DAC168 /* EluTest.cpp */; };
110		4882C8E2241A24D900DAC168 /* Pool3DTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8C1241A24D700DAC168 /* Pool3DTest.cpp */; };
111		4882C8E3241A24D900DAC168 /* MultiConvolutionTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8C2241A24D700DAC168 /* MultiConvolutionTest.cpp */; };
112		4882C8E4241A24D900DAC168 /* Dilation2DTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8C3241A24D700DAC168 /* Dilation2DTest.cpp */; };
113		4882C8E6241A24D900DAC168 /* ZerosLikeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8C5241A24D700DAC168 /* ZerosLikeTest.cpp */; };
114		4882C8E7241A24D900DAC168 /* ConvInt8Test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8C6241A24D700DAC168 /* ConvInt8Test.cpp */; };
115		4882C8E8241A24D900DAC168 /* UnravelIndexTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8C7241A24D700DAC168 /* UnravelIndexTest.cpp */; };
116		4882C8E9241A24D900DAC168 /* ScatterNdTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8C8241A24D700DAC168 /* ScatterNdTest.cpp */; };
117		4882C8EA241A24D900DAC168 /* OneHotTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8C9241A24D700DAC168 /* OneHotTest.cpp */; };
118		4882C8EB241A24D900DAC168 /* SplitTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8CA241A24D800DAC168 /* SplitTest.cpp */; };
119		4882C8EC241A24D900DAC168 /* SoftplusTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8CB241A24D800DAC168 /* SoftplusTest.cpp */; };
120		4882C8ED241A24D900DAC168 /* DepthToSpaceTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8CC241A24D800DAC168 /* DepthToSpaceTest.cpp */; };
121		4882C8EE241A24D900DAC168 /* SpaceToDepthTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8CD241A24D800DAC168 /* SpaceToDepthTest.cpp */; };
122		4882C8EF241A24D900DAC168 /* Conv2DBackPropTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8CE241A24D800DAC168 /* Conv2DBackPropTest.cpp */; };
123		4882C8F0241A24D900DAC168 /* ExpandDimsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8CF241A24D800DAC168 /* ExpandDimsTest.cpp */; };
124		4882C8F1241A24D900DAC168 /* PadTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8D0241A24D800DAC168 /* PadTest.cpp */; };
125		4882C8F2241A24D900DAC168 /* StackTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8D1241A24D800DAC168 /* StackTest.cpp */; };
126		4882C8F3241A24D900DAC168 /* MatrixBandPart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8D2241A24D800DAC168 /* MatrixBandPart.cpp */; };
127		4882C8F4241A24D900DAC168 /* MomentsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8D3241A24D800DAC168 /* MomentsTest.cpp */; };
128		4882C8F6241A24D900DAC168 /* BroadcastToTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8D5241A24D800DAC168 /* BroadcastToTest.cpp */; };
129		4882C8F7241A24D900DAC168 /* ArgMaxTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8D6241A24D900DAC168 /* ArgMaxTest.cpp */; };
130		4882C8F8241A24D900DAC168 /* SetDiff1DTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8D7241A24D900DAC168 /* SetDiff1DTest.cpp */; };
131		4882C8F9241A24D900DAC168 /* LinSpaceTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8D8241A24D900DAC168 /* LinSpaceTest.cpp */; };
132		4882C8FA241A24D900DAC168 /* MultiDeconvolutionTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8D9241A24D900DAC168 /* MultiDeconvolutionTest.cpp */; };
133		4882C8FB241A24D900DAC168 /* Conv2DBackPropFilterTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8DA241A24D900DAC168 /* Conv2DBackPropFilterTest.cpp */; };
134		4882C8FC241A24D900DAC168 /* PoolGradTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8DB241A24D900DAC168 /* PoolGradTest.cpp */; };
135		4882C8FD241A24D900DAC168 /* ShapeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4882C8DC241A24D900DAC168 /* ShapeTest.cpp */; };
136		48887728215B639F0079B12E /* WingoradGenerater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48887567215B639E0079B12E /* WingoradGenerater.cpp */; };
137		4888772B215B639F0079B12E /* Matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4888756A215B639E0079B12E /* Matrix.cpp */; };
138		488F1158247BB2A0008E85C6 /* Arm82Raster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 488F1156247BB2A0008E85C6 /* Arm82Raster.cpp */; };
139		488F1159247BB2A0008E85C6 /* Arm82Raster.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 488F1157247BB2A0008E85C6 /* Arm82Raster.hpp */; };
140		489404DE24A2FC2C001E456C /* GeometryReverseSequence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 489404DD24A2FC2B001E456C /* GeometryReverseSequence.cpp */; };
141		4896D36925FE2A3D00717702 /* Arm82Unary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4896D36425FE2A3C00717702 /* Arm82Unary.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
142		4896D36A25FE2A3D00717702 /* Arm82Unary.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4896D36525FE2A3C00717702 /* Arm82Unary.hpp */; };
143		4896D36D25FE2A3D00717702 /* Arm82Vec.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4896D36825FE2A3D00717702 /* Arm82Vec.hpp */; };
144		4896D37825FE2A6B00717702 /* MNNExpFP16.S in Sources */ = {isa = PBXBuildFile; fileRef = 4896D37025FE2A6A00717702 /* MNNExpFP16.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
145		4896D37925FE2A6B00717702 /* MNNPackedMatMulFP16.S in Sources */ = {isa = PBXBuildFile; fileRef = 4896D37125FE2A6A00717702 /* MNNPackedMatMulFP16.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
146		4896D37A25FE2A6B00717702 /* MNNPackedMatMulRemainFP16.S in Sources */ = {isa = PBXBuildFile; fileRef = 4896D37225FE2A6A00717702 /* MNNPackedMatMulRemainFP16.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
147		4896D37B25FE2A6B00717702 /* MNNConvDwF23MulTransUnitFP16.S in Sources */ = {isa = PBXBuildFile; fileRef = 4896D37325FE2A6B00717702 /* MNNConvDwF23MulTransUnitFP16.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
148		4896D37C25FE2A6B00717702 /* MNNConvDwF23SourceTransUnitFP16.S in Sources */ = {isa = PBXBuildFile; fileRef = 4896D37425FE2A6B00717702 /* MNNConvDwF23SourceTransUnitFP16.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
149		4896D37D25FE2A6B00717702 /* MNNPackC8FP16.S in Sources */ = {isa = PBXBuildFile; fileRef = 4896D37525FE2A6B00717702 /* MNNPackC8FP16.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
150		4896D37E25FE2A6B00717702 /* Arm82MNNPackForMatMul_A.S in Sources */ = {isa = PBXBuildFile; fileRef = 4896D37625FE2A6B00717702 /* Arm82MNNPackForMatMul_A.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
151		4896D37F25FE2A6B00717702 /* MNNConvRunForLineDepthwiseFP16.S in Sources */ = {isa = PBXBuildFile; fileRef = 4896D37725FE2A6B00717702 /* MNNConvRunForLineDepthwiseFP16.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
152		489D7A672550FDC800AD896A /* MetalReLU6.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A162550FDC800AD896A /* MetalReLU6.metal */; };
153		489D7A682550FDC800AD896A /* MetalReduction.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A172550FDC800AD896A /* MetalReduction.hpp */; };
154		489D7A6A2550FDC800AD896A /* MetalConvolutionGEMM.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A192550FDC800AD896A /* MetalConvolutionGEMM.hpp */; };
155		489D7A6B2550FDC800AD896A /* MetalReLU.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A1A2550FDC800AD896A /* MetalReLU.metal */; };
156		489D7A6E2550FDC800AD896A /* MetalROIPooling.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A1D2550FDC800AD896A /* MetalROIPooling.hpp */; };
157		489D7A6F2550FDC800AD896A /* MetalCast.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A1E2550FDC800AD896A /* MetalCast.mm */; };
158		489D7A702550FDC800AD896A /* MetalRaster.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A1F2550FDC800AD896A /* MetalRaster.hpp */; };
159		489D7A712550FDC800AD896A /* MetalConvolutionDepthwise.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A202550FDC800AD896A /* MetalConvolutionDepthwise.metal */; };
160		489D7A722550FDC800AD896A /* MetalReLU6.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A212550FDC800AD896A /* MetalReLU6.hpp */; };
161		489D7A732550FDC800AD896A /* MetalBackend.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A222550FDC800AD896A /* MetalBackend.hpp */; };
162		489D7A742550FDC800AD896A /* MetalConvolutionActivation.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A232550FDC800AD896A /* MetalConvolutionActivation.metal */; };
163		489D7A752550FDC800AD896A /* MetalConvolution.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A242550FDC800AD896A /* MetalConvolution.metal */; };
164		489D7A762550FDC800AD896A /* MetalReduction.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A252550FDC800AD896A /* MetalReduction.mm */; };
165		489D7A772550FDC800AD896A /* MetalConvolutionGEMM.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A262550FDC800AD896A /* MetalConvolutionGEMM.mm */; };
166		489D7A782550FDC800AD896A /* MetalEltwise.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A272550FDC800AD896A /* MetalEltwise.mm */; };
167		489D7A792550FDC800AD896A /* MetalConvolution1x1.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A282550FDC800AD896A /* MetalConvolution1x1.mm */; };
168		489D7A7A2550FDC800AD896A /* MetalReduction.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A292550FDC800AD896A /* MetalReduction.metal */; };
169		489D7A7B2550FDC800AD896A /* MetalUnary.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A2A2550FDC800AD896A /* MetalUnary.hpp */; };
170		489D7A7C2550FDC900AD896A /* MetalBackend.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A2B2550FDC800AD896A /* MetalBackend.metal */; };
171		489D7A7D2550FDC900AD896A /* MetalConvolution.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A2C2550FDC800AD896A /* MetalConvolution.mm */; };
172		489D7A7E2550FDC900AD896A /* MNNMetalContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A2D2550FDC800AD896A /* MNNMetalContext.mm */; };
173		489D7A7F2550FDC900AD896A /* MetalReLU.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A2E2550FDC800AD896A /* MetalReLU.hpp */; };
174		489D7A802550FDC900AD896A /* MetalEltwise.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A2F2550FDC800AD896A /* MetalEltwise.hpp */; };
175		489D7A812550FDC900AD896A /* MetalPooling.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A302550FDC800AD896A /* MetalPooling.hpp */; };
176		489D7A822550FDC900AD896A /* MetalPReLU.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A312550FDC800AD896A /* MetalPReLU.hpp */; };
177		489D7A832550FDC900AD896A /* MetalMatMul.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A322550FDC800AD896A /* MetalMatMul.mm */; };
178		489D7A842550FDC900AD896A /* MetalBinary.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A332550FDC800AD896A /* MetalBinary.mm */; };
179		489D7A852550FDC900AD896A /* MetalConvolutionWinograd.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A342550FDC800AD896A /* MetalConvolutionWinograd.metal */; };
180		489D7A862550FDC900AD896A /* MetalMatMul.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A352550FDC800AD896A /* MetalMatMul.metal */; };
181		489D7A872550FDC900AD896A /* MetalOPRegister.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A362550FDC800AD896A /* MetalOPRegister.mm */; };
182		489D7A882550FDC900AD896A /* MetalTensorConverter.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A372550FDC800AD896A /* MetalTensorConverter.hpp */; };
183		489D7A8A2550FDC900AD896A /* MetalConvolutionDepthwise.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A392550FDC800AD896A /* MetalConvolutionDepthwise.mm */; };
184		489D7A8B2550FDC900AD896A /* MetalConvolutionWinograd.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A3A2550FDC800AD896A /* MetalConvolutionWinograd.hpp */; };
185		489D7A8C2550FDC900AD896A /* MetalDeconvolution.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A3B2550FDC800AD896A /* MetalDeconvolution.mm */; };
186		489D7A8D2550FDC900AD896A /* MetalReLU.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A3C2550FDC800AD896A /* MetalReLU.mm */; };
187		489D7A8E2550FDC900AD896A /* MetalPooling.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A3D2550FDC800AD896A /* MetalPooling.mm */; };
188		489D7A8F2550FDC900AD896A /* MetalScale.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A3E2550FDC800AD896A /* MetalScale.metal */; };
189		489D7A902550FDC900AD896A /* MetalConvolution.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A3F2550FDC800AD896A /* MetalConvolution.hpp */; };
190		489D7A912550FDC900AD896A /* MetalScale.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A402550FDC800AD896A /* MetalScale.mm */; };
191		489D7A932550FDC900AD896A /* MetalFixedPoint.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A422550FDC800AD896A /* MetalFixedPoint.metal */; };
192		489D7A952550FDC900AD896A /* MetalMatMul.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A442550FDC800AD896A /* MetalMatMul.hpp */; };
193		489D7A962550FDC900AD896A /* MetalConvolution1x1.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A452550FDC800AD896A /* MetalConvolution1x1.hpp */; };
194		489D7A972550FDC900AD896A /* MetalConvolutionDepthwise.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A462550FDC800AD896A /* MetalConvolutionDepthwise.hpp */; };
195		489D7A982550FDC900AD896A /* MNNMetalContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A472550FDC800AD896A /* MNNMetalContext.h */; };
196		489D7A992550FDC900AD896A /* MetalDeconvolution.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A482550FDC800AD896A /* MetalDeconvolution.metal */; };
197		489D7A9A2550FDC900AD896A /* MetalConvolutionCommon.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A492550FDC800AD896A /* MetalConvolutionCommon.mm */; };
198		489D7A9B2550FDC900AD896A /* MetalDeconvolution.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A4A2550FDC800AD896A /* MetalDeconvolution.hpp */; };
199		489D7A9C2550FDC900AD896A /* MetalPooling.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A4B2550FDC800AD896A /* MetalPooling.metal */; };
200		489D7A9D2550FDC900AD896A /* MetalInterp.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A4C2550FDC800AD896A /* MetalInterp.mm */; };
201		489D7A9E2550FDC900AD896A /* MetalROIPooling.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A4D2550FDC800AD896A /* MetalROIPooling.metal */; };
202		489D7A9F2550FDC900AD896A /* MetalConvolutionCommon.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A4E2550FDC800AD896A /* MetalConvolutionCommon.hpp */; };
203		489D7AA02550FDC900AD896A /* MetalCast.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A4F2550FDC800AD896A /* MetalCast.metal */; };
204		489D7AA12550FDC900AD896A /* MetalUnary.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A502550FDC800AD896A /* MetalUnary.mm */; };
205		489D7AA32550FDC900AD896A /* MetalRaster.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A522550FDC800AD896A /* MetalRaster.mm */; };
206		489D7AA42550FDC900AD896A /* MetalROIPooling.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A532550FDC800AD896A /* MetalROIPooling.mm */; };
207		489D7AA52550FDC900AD896A /* MetalInterp.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A542550FDC800AD896A /* MetalInterp.hpp */; };
208		489D7AA62550FDC900AD896A /* MetalBackend.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A552550FDC800AD896A /* MetalBackend.mm */; };
209		489D7AA72550FDC900AD896A /* MetalScale.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A562550FDC800AD896A /* MetalScale.hpp */; };
210		489D7AA82550FDC900AD896A /* MetalCast.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A572550FDC800AD896A /* MetalCast.hpp */; };
211		489D7AA92550FDC900AD896A /* MetalConvolution1x1.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A582550FDC800AD896A /* MetalConvolution1x1.metal */; };
212		489D7AAB2550FDC900AD896A /* MetalConvolutionGEMM.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A5A2550FDC800AD896A /* MetalConvolutionGEMM.metal */; };
213		489D7AAC2550FDC900AD896A /* MetalTensorConverter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A5B2550FDC800AD896A /* MetalTensorConverter.mm */; };
214		489D7AAD2550FDC900AD896A /* MetalResize.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A5C2550FDC800AD896A /* MetalResize.metal */; };
215		489D7AAE2550FDC900AD896A /* MetalPReLU.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A5D2550FDC800AD896A /* MetalPReLU.metal */; };
216		489D7AAF2550FDC900AD896A /* MetalConvolutionWinograd.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A5E2550FDC800AD896A /* MetalConvolutionWinograd.mm */; };
217		489D7AB02550FDC900AD896A /* MetalDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A5F2550FDC800AD896A /* MetalDefine.h */; };
218		489D7AB12550FDC900AD896A /* MetalDefine.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A602550FDC800AD896A /* MetalDefine.metal */; };
219		489D7AB22550FDC900AD896A /* MetalUnary.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A612550FDC800AD896A /* MetalUnary.metal */; };
220		489D7AB32550FDC900AD896A /* MetalPReLU.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A622550FDC800AD896A /* MetalPReLU.mm */; };
221		489D7AB42550FDC900AD896A /* MetalBinary.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 489D7A632550FDC800AD896A /* MetalBinary.hpp */; };
222		489D7AB52550FDC900AD896A /* MetalBinary.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A642550FDC800AD896A /* MetalBinary.metal */; };
223		489D7AB62550FDC900AD896A /* MetalReLU6.mm in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A652550FDC800AD896A /* MetalReLU6.mm */; };
224		489D7AB72550FDC900AD896A /* MetalEltwise.metal in Sources */ = {isa = PBXBuildFile; fileRef = 489D7A662550FDC800AD896A /* MetalEltwise.metal */; };
225		489D7AC52550FF9F00AD896A /* ExecutorScope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 489D7AC42550FF9F00AD896A /* ExecutorScope.cpp */; };
226		48A046FC25E4ABAC00CFA868 /* GeometryUnary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A046FB25E4ABAC00CFA868 /* GeometryUnary.cpp */; };
227		48A8A61221D101A700C2B9A7 /* ImageProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A8A60B21D101A700C2B9A7 /* ImageProcess.cpp */; };
228		48A8A61321D101A700C2B9A7 /* ImageSampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A8A60C21D101A700C2B9A7 /* ImageSampler.cpp */; };
229		48A8A61421D101A700C2B9A7 /* ImageBlitter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A8A60D21D101A700C2B9A7 /* ImageBlitter.cpp */; };
230		48A8A61521D101A700C2B9A7 /* ImageFloatBlitter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A8A60E21D101A700C2B9A7 /* ImageFloatBlitter.cpp */; };
231		48A8A61A21D101DE00C2B9A7 /* Matrix_CV.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A8A61721D101DD00C2B9A7 /* Matrix_CV.cpp */; };
232		48BB6EF025220A930056E195 /* MNNTranspose32Bit4x4.S in Sources */ = {isa = PBXBuildFile; fileRef = 48BB6EEF25220A930056E195 /* MNNTranspose32Bit4x4.S */; };
233		48BB6EF625220AA80056E195 /* MNNTranspose32Bit4x4.S in Sources */ = {isa = PBXBuildFile; fileRef = 48BB6EF525220AA80056E195 /* MNNTranspose32Bit4x4.S */; };
234		48BFC50125B84D2700580F9E /* GeometryGather.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48BFC50025B84D2700580F9E /* GeometryGather.cpp */; };
235		48C84B6C250F709E00EE7666 /* SizeComputer.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48C84B6A250F709E00EE7666 /* SizeComputer.hpp */; };
236		48C84B6D250F709E00EE7666 /* SizeComputer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C84B6B250F709E00EE7666 /* SizeComputer.cpp */; };
237		48C84B82250F711700EE7666 /* PipelineModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C84B71250F711600EE7666 /* PipelineModule.cpp */; };
238		48C84B83250F711700EE7666 /* Module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C84B72250F711600EE7666 /* Module.cpp */; };
239		48C84B84250F711700EE7666 /* WhileModule.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48C84B73250F711600EE7666 /* WhileModule.hpp */; };
240		48C84B85250F711700EE7666 /* IfModule.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48C84B74250F711600EE7666 /* IfModule.hpp */; };
241		48C84B86250F711700EE7666 /* StaticModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C84B75250F711600EE7666 /* StaticModule.cpp */; };
242		48C84B87250F711700EE7666 /* WhileModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C84B76250F711600EE7666 /* WhileModule.cpp */; };
243		48C84B88250F711700EE7666 /* IfModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C84B77250F711600EE7666 /* IfModule.cpp */; };
244		48C84B89250F711700EE7666 /* StaticModule.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48C84B78250F711600EE7666 /* StaticModule.hpp */; };
245		48C84B8B250F711700EE7666 /* PipelineModule.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48C84B7A250F711600EE7666 /* PipelineModule.hpp */; };
246		48C84B96250F71E900EE7666 /* CPUSoftmax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C84B92250F71E900EE7666 /* CPUSoftmax.cpp */; };
247		48C84B98250F71E900EE7666 /* CPUSoftmax.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48C84B94250F71E900EE7666 /* CPUSoftmax.hpp */; };
248		48C84B9A250F720C00EE7666 /* CPULayerNorm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C84B99250F720C00EE7666 /* CPULayerNorm.cpp */; };
249		48C84B9C250F722B00EE7666 /* Command.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48C84B9B250F722B00EE7666 /* Command.hpp */; };
250		48C84BA0250F725600EE7666 /* InitNet.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48C84B9E250F725600EE7666 /* InitNet.hpp */; };
251		48C84BA1250F725600EE7666 /* InitNet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C84B9F250F725600EE7666 /* InitNet.cpp */; };
252		48F5881124DEA3F000C484A2 /* GeometryPooling3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48F5880D24DEA3F000C484A2 /* GeometryPooling3D.cpp */; };
253		48F5881324DEA3F000C484A2 /* GeometryConv3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48F5880F24DEA3F000C484A2 /* GeometryConv3D.cpp */; };
254		48F5881424DEA3F000C484A2 /* GeometryDilation2D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48F5881024DEA3F000C484A2 /* GeometryDilation2D.cpp */; };
255		48F9E54C2493511200E46522 /* MNNPackedMatMul.S in Sources */ = {isa = PBXBuildFile; fileRef = 48F9E54B2493511200E46522 /* MNNPackedMatMul.S */; };
256		48F9E54E2493A0A800E46522 /* MNNPackC4ForMatMul_A.S in Sources */ = {isa = PBXBuildFile; fileRef = 48F9E54D2493A0A800E46522 /* MNNPackC4ForMatMul_A.S */; };
257		48FA474423AA127B00172C3B /* MergeOptimizer.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48FA473C23AA127A00172C3B /* MergeOptimizer.hpp */; };
258		48FA474523AA127B00172C3B /* Executor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FA473D23AA127B00172C3B /* Executor.cpp */; };
259		48FA474623AA127B00172C3B /* NeuralNetWorkOp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FA473E23AA127B00172C3B /* NeuralNetWorkOp.cpp */; };
260		48FA474723AA127B00172C3B /* Optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FA473F23AA127B00172C3B /* Optimizer.cpp */; };
261		48FA474823AA127B00172C3B /* Expr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FA474023AA127B00172C3B /* Expr.cpp */; };
262		48FA474923AA127B00172C3B /* MathOp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FA474123AA127B00172C3B /* MathOp.cpp */; };
263		48FA474A23AA127B00172C3B /* Utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FA474223AA127B00172C3B /* Utils.cpp */; };
264		48FA474B23AA127B00172C3B /* Utils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 48FA474323AA127B00172C3B /* Utils.hpp */; };
265		48FA474D23AA136300172C3B /* MergeOptimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FA474C23AA136300172C3B /* MergeOptimizer.cpp */; };
266		48FB9DC124A8445A008E1A2D /* MNNAxByClampBroadcastC4.S in Sources */ = {isa = PBXBuildFile; fileRef = 48FB9DBF24A8445A008E1A2D /* MNNAxByClampBroadcastC4.S */; };
267		48FB9DC224A8445A008E1A2D /* MNNPackedMatMulRemain.S in Sources */ = {isa = PBXBuildFile; fileRef = 48FB9DC024A8445A008E1A2D /* MNNPackedMatMulRemain.S */; };
268		48FB9DC724A848D0008E1A2D /* MNNPackedMatMul.S in Sources */ = {isa = PBXBuildFile; fileRef = 48FB9DC324A848D0008E1A2D /* MNNPackedMatMul.S */; };
269		48FB9DC824A848D0008E1A2D /* MNNPackC4ForMatMul_A.S in Sources */ = {isa = PBXBuildFile; fileRef = 48FB9DC424A848D0008E1A2D /* MNNPackC4ForMatMul_A.S */; };
270		48FB9DC924A848D0008E1A2D /* MNNPackedMatMulRemain.S in Sources */ = {isa = PBXBuildFile; fileRef = 48FB9DC524A848D0008E1A2D /* MNNPackedMatMulRemain.S */; };
271		48FB9DCA24A848D0008E1A2D /* MNNAxByClampBroadcastC4.S in Sources */ = {isa = PBXBuildFile; fileRef = 48FB9DC624A848D0008E1A2D /* MNNAxByClampBroadcastC4.S */; };
272		48FB9DCE24AB080C008E1A2D /* MNNPackC8.S in Sources */ = {isa = PBXBuildFile; fileRef = 48FB9DCD24AB080C008E1A2D /* MNNPackC8.S */; };
273		48FD03462467C64700456AF5 /* MatMulSpeed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FD03432467C64700456AF5 /* MatMulSpeed.cpp */; };
274		48FD03472467C64700456AF5 /* ReluSpeed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FD03442467C64700456AF5 /* ReluSpeed.cpp */; };
275		48FD03482467C64700456AF5 /* BinarySpeedTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FD03452467C64700456AF5 /* BinarySpeedTest.cpp */; };
276		48FD034A246AA40300456AF5 /* GeometryConvert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FD0349246AA40300456AF5 /* GeometryConvert.cpp */; };
277		48FD12BE2466A88D009E9102 /* GeometryImageOp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FD12BC2466A88C009E9102 /* GeometryImageOp.cpp */; };
278		48FD12BF2466A88D009E9102 /* GeometryConv2DBackPropFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48FD12BD2466A88D009E9102 /* GeometryConv2DBackPropFilter.cpp */; };
279		4D4DAE68263905390060D37E /* CoreMLDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D4DAE67263905390060D37E /* CoreMLDefine.h */; };
280		4D6D7FC7265688E200F80814 /* MNNPackC4ForMatMul_A_BF16.S in Sources */ = {isa = PBXBuildFile; fileRef = 4D6D7FC6265688E200F80814 /* MNNPackC4ForMatMul_A_BF16.S */; };
281		4D6D7FC9265688EA00F80814 /* MNNPackedSparseMatMulEpx1.S in Sources */ = {isa = PBXBuildFile; fileRef = 4D6D7FC8265688EA00F80814 /* MNNPackedSparseMatMulEpx1.S */; };
282		4D6D7FCB265688F600F80814 /* MNNPackedSparseMatMulEpx4.S in Sources */ = {isa = PBXBuildFile; fileRef = 4D6D7FCA265688F600F80814 /* MNNPackedSparseMatMulEpx4.S */; };
283		4D6D7FCD2656890500F80814 /* MNNPackC4ForMatMul_A_BF16.S in Sources */ = {isa = PBXBuildFile; fileRef = 4D6D7FCC2656890500F80814 /* MNNPackC4ForMatMul_A_BF16.S */; };
284		4D6D7FCF2656890C00F80814 /* MNNPackedSparseMatMulEpx1.S in Sources */ = {isa = PBXBuildFile; fileRef = 4D6D7FCE2656890C00F80814 /* MNNPackedSparseMatMulEpx1.S */; };
285		4D6D7FD12656891400F80814 /* MNNPackedSparseMatMulEpx4.S in Sources */ = {isa = PBXBuildFile; fileRef = 4D6D7FD02656891400F80814 /* MNNPackedSparseMatMulEpx4.S */; };
286		4D6D7FD32656895C00F80814 /* DenseConvolutionTiledExecutor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D6D7FD22656895C00F80814 /* DenseConvolutionTiledExecutor.cpp */; };
287		4D6D7FD52656896600F80814 /* DenseConvolutionTiledExecutor.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D6D7FD42656896600F80814 /* DenseConvolutionTiledExecutor.hpp */; };
288		4D6D7FD72656896D00F80814 /* SparseConvolutionTiledExecutor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D6D7FD62656896D00F80814 /* SparseConvolutionTiledExecutor.cpp */; };
289		4D6D7FD92656897200F80814 /* SparseConvolutionTiledExecutor.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D6D7FD82656897200F80814 /* SparseConvolutionTiledExecutor.hpp */; };
290		4D6D7FDB2656898300F80814 /* MemoryFormater.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D6D7FDA2656898200F80814 /* MemoryFormater.h */; };
291		4D6D7FDF2656994600F80814 /* benchmark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D6D7FDE2656994600F80814 /* benchmark.cpp */; };
292		4D759B2C25FF89EE0037B0B6 /* GeometryShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D759B2B25FF89EE0037B0B6 /* GeometryShape.cpp */; };
293		4D9A935626255BDA00F9B43C /* Model.pb-c.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A932626255BDA00F9B43C /* Model.pb-c.h */; };
294		4D9A935726255BDA00F9B43C /* protobuf-c.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A932826255BDA00F9B43C /* protobuf-c.h */; };
295		4D9A935826255BDA00F9B43C /* FeatureTypes.pb-c.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A932926255BDA00F9B43C /* FeatureTypes.pb-c.h */; };
296		4D9A935926255BDA00F9B43C /* DataStructures.pb-c.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A932A26255BDA00F9B43C /* DataStructures.pb-c.h */; };
297		4D9A935A26255BDA00F9B43C /* Parameters.pb-c.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A932B26255BDA00F9B43C /* Parameters.pb-c.h */; };
298		4D9A935B26255BDA00F9B43C /* NeuralNetwork.pb-c.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A932C26255BDA00F9B43C /* NeuralNetwork.pb-c.h */; };
299		4D9A935D26255BDA00F9B43C /* DataStructures.pb-c.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A932F26255BDA00F9B43C /* DataStructures.pb-c.c */; };
300		4D9A935E26255BDA00F9B43C /* Parameters.pb-c.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933026255BDA00F9B43C /* Parameters.pb-c.c */; };
301		4D9A935F26255BDA00F9B43C /* NeuralNetwork.pb-c.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933126255BDA00F9B43C /* NeuralNetwork.pb-c.c */; };
302		4D9A936026255BDA00F9B43C /* Model.pb-c.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933226255BDA00F9B43C /* Model.pb-c.c */; };
303		4D9A936126255BDA00F9B43C /* protobuf-c.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933326255BDA00F9B43C /* protobuf-c.c */; };
304		4D9A936226255BDA00F9B43C /* FeatureTypes.pb-c.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933426255BDA00F9B43C /* FeatureTypes.pb-c.c */; };
305		4D9A936326255BDA00F9B43C /* CoreMLBackend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933626255BDA00F9B43C /* CoreMLBackend.cpp */; };
306		4D9A936426255BDA00F9B43C /* CoreMLExecutor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933726255BDA00F9B43C /* CoreMLExecutor.mm */; };
307		4D9A936526255BDA00F9B43C /* CoreMLBackend.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A933826255BDA00F9B43C /* CoreMLBackend.hpp */; };
308		4D9A936626255BDA00F9B43C /* CoreMLExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A933926255BDA00F9B43C /* CoreMLExecutor.h */; };
309		4D9A936726255BDA00F9B43C /* CoreMLReduction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933B26255BDA00F9B43C /* CoreMLReduction.cpp */; };
310		4D9A936826255BDA00F9B43C /* CoreMLCommonExecution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933C26255BDA00F9B43C /* CoreMLCommonExecution.cpp */; };
311		4D9A936926255BDA00F9B43C /* CoreMLScale.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A933D26255BDA00F9B43C /* CoreMLScale.hpp */; };
312		4D9A936A26255BDA00F9B43C /* CoreMLBinary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A933E26255BDA00F9B43C /* CoreMLBinary.cpp */; };
313		4D9A936B26255BDA00F9B43C /* CoreMLPool.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A933F26255BDA00F9B43C /* CoreMLPool.hpp */; };
314		4D9A936C26255BDA00F9B43C /* CoreMLRaster.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A934026255BDA00F9B43C /* CoreMLRaster.hpp */; };
315		4D9A936D26255BDA00F9B43C /* CoreMLActivation.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A934126255BDA00F9B43C /* CoreMLActivation.hpp */; };
316		4D9A936E26255BDA00F9B43C /* CoreMLArgMax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A934226255BDA00F9B43C /* CoreMLArgMax.cpp */; };
317		4D9A936F26255BDA00F9B43C /* CoreMLConvolution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A934326255BDA00F9B43C /* CoreMLConvolution.cpp */; };
318		4D9A937026255BDA00F9B43C /* CoreMLUnary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A934426255BDA00F9B43C /* CoreMLUnary.cpp */; };
319		4D9A937126255BDA00F9B43C /* CoreMLArgMax.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A934526255BDA00F9B43C /* CoreMLArgMax.hpp */; };
320		4D9A937226255BDA00F9B43C /* CoreMLConvolution.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A934626255BDA00F9B43C /* CoreMLConvolution.hpp */; };
321		4D9A937326255BDA00F9B43C /* CoreMLUnary.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A934726255BDA00F9B43C /* CoreMLUnary.hpp */; };
322		4D9A937426255BDA00F9B43C /* CoreMLReduction.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A934826255BDA00F9B43C /* CoreMLReduction.hpp */; };
323		4D9A937526255BDA00F9B43C /* CoreMLCommonExecution.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A934926255BDA00F9B43C /* CoreMLCommonExecution.hpp */; };
324		4D9A937626255BDA00F9B43C /* CoreMLScale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A934A26255BDA00F9B43C /* CoreMLScale.cpp */; };
325		4D9A937726255BDA00F9B43C /* CoreMLPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A934B26255BDA00F9B43C /* CoreMLPool.cpp */; };
326		4D9A937826255BDA00F9B43C /* CoreMLBinary.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4D9A934C26255BDA00F9B43C /* CoreMLBinary.hpp */; };
327		4D9A937926255BDA00F9B43C /* CoreMLRaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A934D26255BDA00F9B43C /* CoreMLRaster.cpp */; };
328		4D9A937A26255BDA00F9B43C /* CoreMLActivation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A934E26255BDA00F9B43C /* CoreMLActivation.cpp */; };
329		4D9A93D026255E9600F9B43C /* revertMNNModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D9A93CF26255E9600F9B43C /* revertMNNModel.cpp */; };
330		4D9A93D426255ECD00F9B43C /* CoreML.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D9A93D326255ECD00F9B43C /* CoreML.framework */; };
331		4D9A93EB26255FB000F9B43C /* models in Resources */ = {isa = PBXBuildFile; fileRef = 4D9A93EA26255FB000F9B43C /* models */; };
332		4DDE2019263809920085AC8F /* CoreMLExecutorWrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DDE2017263809920085AC8F /* CoreMLExecutorWrapper.mm */; };
333		4DDE201A263809920085AC8F /* CoreMLExecutorWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DDE2018263809920085AC8F /* CoreMLExecutorWrapper.h */; };
334		4DF63F2D2660D9CB00590730 /* CoreMLInterp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DF63F2C2660D9CB00590730 /* CoreMLInterp.cpp */; };
335		4DF63F2F2660D9D100590730 /* CoreMLInterp.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4DF63F2E2660D9D100590730 /* CoreMLInterp.hpp */; };
336		6A131E3F25823349002EC3D6 /* PluginShapeInference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A131E3D25823349002EC3D6 /* PluginShapeInference.cpp */; };
337		6A131E4025823349002EC3D6 /* PluginKernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A131E3E25823349002EC3D6 /* PluginKernel.cpp */; };
338		9200049921EDBDF600BCE892 /* TensorTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200045D21EDBDF600BCE892 /* TensorTest.cpp */; };
339		9200049A21EDBDF600BCE892 /* ImageProcessTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200045F21EDBDF600BCE892 /* ImageProcessTest.cpp */; };
340		9200049B21EDBDF600BCE892 /* MatrixTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200046021EDBDF600BCE892 /* MatrixTest.cpp */; };
341		920004A021EDBDF600BCE892 /* SqueezeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200046621EDBDF600BCE892 /* SqueezeTest.cpp */; };
342		920004A421EDBDF600BCE892 /* MatMulTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200046A21EDBDF600BCE892 /* MatMulTest.cpp */; };
343		920004A521EDBDF600BCE892 /* TileTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200046B21EDBDF600BCE892 /* TileTest.cpp */; };
344		920004A721EDBDF600BCE892 /* RankTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200046D21EDBDF600BCE892 /* RankTest.cpp */; };
345		920004A821EDBDF600BCE892 /* GatherTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200046E21EDBDF600BCE892 /* GatherTest.cpp */; };
346		920004A921EDBDF600BCE892 /* ReductionTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200046F21EDBDF600BCE892 /* ReductionTest.cpp */; };
347		920004AA21EDBDF600BCE892 /* GatherV2Test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200047021EDBDF600BCE892 /* GatherV2Test.cpp */; };
348		920004AE21EDBDF600BCE892 /* ConvolutionTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200047421EDBDF600BCE892 /* ConvolutionTest.cpp */; };
349		920004B221EDBDF600BCE892 /* ReshapeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200047821EDBDF600BCE892 /* ReshapeTest.cpp */; };
350		920004B321EDBDF600BCE892 /* ReLUTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200047921EDBDF600BCE892 /* ReLUTest.cpp */; };
351		920004B521EDBDF600BCE892 /* BinaryOPTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200047B21EDBDF600BCE892 /* BinaryOPTest.cpp */; };
352		920004B621EDBDF600BCE892 /* BatchToSpaceNDTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200047C21EDBDF600BCE892 /* BatchToSpaceNDTest.cpp */; };
353		920004B821EDBDF600BCE892 /* SoftmaxTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200047E21EDBDF600BCE892 /* SoftmaxTest.cpp */; };
354		920004BC21EDBDF600BCE892 /* FillTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200048221EDBDF600BCE892 /* FillTest.cpp */; };
355		920004BF21EDBDF600BCE892 /* ResizeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200048521EDBDF600BCE892 /* ResizeTest.cpp */; };
356		920004C421EDBDF600BCE892 /* ConcatTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200048A21EDBDF600BCE892 /* ConcatTest.cpp */; };
357		920004C721EDBDF600BCE892 /* CropTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200048D21EDBDF600BCE892 /* CropTest.cpp */; };
358		920004CB21EDBDF600BCE892 /* SpaceToBatchNDTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200049121EDBDF600BCE892 /* SpaceToBatchNDTest.cpp */; };
359		920004CC21EDBDF600BCE892 /* RangeTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200049221EDBDF600BCE892 /* RangeTest.cpp */; };
360		920004CD21EDBDF600BCE892 /* SeLUTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200049321EDBDF600BCE892 /* SeLUTest.cpp */; };
361		920004CE21EDBDF600BCE892 /* UnaryTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200049421EDBDF600BCE892 /* UnaryTest.cpp */; };
362		920004D021EDBDF600BCE892 /* PReLUTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200049621EDBDF600BCE892 /* PReLUTest.cpp */; };
363		920004D221EDBE1100BCE892 /* MNNTestSuite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200045821EDBCF700BCE892 /* MNNTestSuite.cpp */; };
364		920004D321EDBE1100BCE892 /* TestUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9200045921EDBCF700BCE892 /* TestUtils.cpp */; };
365		920004D421EDBE1100BCE892 /* TestUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9200045721EDBCF700BCE892 /* TestUtils.mm */; };
366		925702D021EF0F5300A2A3CA /* TensorUtilsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 925702CE21EF0F5300A2A3CA /* TensorUtilsTest.cpp */; };
367		925702D221EF270D00A2A3CA /* BufferAllocatorTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 925702D121EF270D00A2A3CA /* BufferAllocatorTest.cpp */; };
368		925702F621EF604400A2A3CA /* SizeComputerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 925702F521EF604400A2A3CA /* SizeComputerTest.cpp */; };
369		925F018921FF1E0B00E648A1 /* SqueezeNetTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 925F018821FF1E0B00E648A1 /* SqueezeNetTest.cpp */; };
370		925F018B21FF222E00E648A1 /* model in Resources */ = {isa = PBXBuildFile; fileRef = 925F018A21FF222E00E648A1 /* model */; };
371		925F018D21FFF3D300E648A1 /* MobileNetTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 925F018C21FFF3D300E648A1 /* MobileNetTest.cpp */; };
372		9273AB4F1FE7BE4D00477B22 /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9273AB4E1FE7BE4D00477B22 /* AppDelegate.mm */; };
373		9273AB571FE7BE4D00477B22 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9273AB561FE7BE4D00477B22 /* Assets.xcassets */; };
374		9273AB5D1FE7BE4D00477B22 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9273AB5C1FE7BE4D00477B22 /* main.m */; };
375		92A4E0FC21F05A4F000B0919 /* MemoryUtilsTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92A4E0FB21F05A4F000B0919 /* MemoryUtilsTest.cpp */; };
376		92A4E10321F07C76000B0919 /* AutoStorageTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92A4E10221F07C76000B0919 /* AutoStorageTest.cpp */; };
377		92C674FF22549C9900011D33 /* ReLU6Test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92C674FD22549C9900011D33 /* ReLU6Test.cpp */; };
378		92D765BB222819EF00178BE5 /* BackendTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92D765B8222819EF00178BE5 /* BackendTest.cpp */; };
379		92FF025723AA0B5A00AC97F6 /* CPUQuanConvolutionDepthwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00D523AA0B4800AC97F6 /* CPUQuanConvolutionDepthwise.cpp */; };
380		92FF025923AA0B5A00AC97F6 /* CPUPoolInt8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00D723AA0B4800AC97F6 /* CPUPoolInt8.cpp */; };
381		92FF025D23AA0B5A00AC97F6 /* CPUInterp.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00DB23AA0B4800AC97F6 /* CPUInterp.hpp */; };
382		92FF025E23AA0B5A00AC97F6 /* CPUROIPooling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00DC23AA0B4900AC97F6 /* CPUROIPooling.cpp */; };
383		92FF026023AA0B5A00AC97F6 /* CPURNNSequenceGRU.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00DE23AA0B4900AC97F6 /* CPURNNSequenceGRU.hpp */; };
384		92FF026123AA0B5A00AC97F6 /* CPUCropAndResize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00DF23AA0B4900AC97F6 /* CPUCropAndResize.cpp */; };
385		92FF026223AA0B5A00AC97F6 /* CPUSelect.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00E023AA0B4900AC97F6 /* CPUSelect.hpp */; };
386		92FF026323AA0B5A00AC97F6 /* CPUFloatToInt8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00E123AA0B4900AC97F6 /* CPUFloatToInt8.cpp */; };
387		92FF026523AA0B5A00AC97F6 /* CPUQuantizedAvgPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00E323AA0B4900AC97F6 /* CPUQuantizedAvgPool.cpp */; };
388		92FF026623AA0B5A00AC97F6 /* CPUProposal.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00E423AA0B4900AC97F6 /* CPUProposal.hpp */; };
389		92FF026723AA0B5A00AC97F6 /* CPUReduceJoin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00E523AA0B4900AC97F6 /* CPUReduceJoin.cpp */; };
390		92FF026A23AA0B5A00AC97F6 /* CPUNonMaxSuppressionV2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00E823AA0B4900AC97F6 /* CPUNonMaxSuppressionV2.cpp */; };
391		92FF026D23AA0B5A00AC97F6 /* CPUMatrixBandPart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00EB23AA0B4900AC97F6 /* CPUMatrixBandPart.cpp */; };
392		92FF026E23AA0B5A00AC97F6 /* CPUQuantizationUtils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00EC23AA0B4900AC97F6 /* CPUQuantizationUtils.hpp */; };
393		92FF026F23AA0B5A00AC97F6 /* CPUInt8ToFloat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00ED23AA0B4900AC97F6 /* CPUInt8ToFloat.cpp */; };
394		92FF027223AA0B5A00AC97F6 /* CPUScatterNd.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00F023AA0B4A00AC97F6 /* CPUScatterNd.hpp */; };
395		92FF027323AA0B5A00AC97F6 /* CPUPoolInt8.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00F123AA0B4A00AC97F6 /* CPUPoolInt8.hpp */; };
396		92FF027423AA0B5A00AC97F6 /* CPUArgMax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00F223AA0B4A00AC97F6 /* CPUArgMax.cpp */; };
397		92FF027523AA0B5A00AC97F6 /* CPUConvolution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00F323AA0B4A00AC97F6 /* CPUConvolution.cpp */; };
398		92FF027623AA0B5A00AC97F6 /* CPUInt8ToFloat.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00F423AA0B4A00AC97F6 /* CPUInt8ToFloat.hpp */; };
399		92FF027723AA0B5A00AC97F6 /* CPUUnary.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00F523AA0B4A00AC97F6 /* CPUUnary.hpp */; };
400		92FF027A23AA0B5A00AC97F6 /* CPUPool.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00F823AA0B4A00AC97F6 /* CPUPool.hpp */; };
401		92FF027B23AA0B5A00AC97F6 /* CPUQuanConvolutionDepthwise.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00F923AA0B4A00AC97F6 /* CPUQuanConvolutionDepthwise.hpp */; };
402		92FF027C23AA0B5A00AC97F6 /* CPUAsString.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00FA23AA0B4A00AC97F6 /* CPUAsString.hpp */; };
403		92FF027F23AA0B5A00AC97F6 /* CPUDeconvolutionDepthwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF00FD23AA0B4A00AC97F6 /* CPUDeconvolutionDepthwise.cpp */; };
404		92FF028023AA0B5A00AC97F6 /* CPUFloatToInt8.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF00FE23AA0B4B00AC97F6 /* CPUFloatToInt8.hpp */; };
405		92FF028623AA0B5A00AC97F6 /* CPUDeconvolution.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF010423AA0B4B00AC97F6 /* CPUDeconvolution.hpp */; };
406		92FF028723AA0B5A00AC97F6 /* CPUFixedPoint.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF010523AA0B4B00AC97F6 /* CPUFixedPoint.hpp */; };
407		92FF028823AA0B5A00AC97F6 /* CPUDequantize.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF010623AA0B4B00AC97F6 /* CPUDequantize.hpp */; };
408		92FF028C23AA0B5A00AC97F6 /* CPUReduction.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF010A23AA0B4B00AC97F6 /* CPUReduction.hpp */; };
409		92FF028D23AA0B5A00AC97F6 /* CPUWhere.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF010B23AA0B4B00AC97F6 /* CPUWhere.hpp */; };
410		92FF028E23AA0B5A00AC97F6 /* CPULinSpace.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF010C23AA0B4B00AC97F6 /* CPULinSpace.hpp */; };
411		92FF028F23AA0B5A00AC97F6 /* CPUDetectionOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF010D23AA0B4C00AC97F6 /* CPUDetectionOutput.cpp */; };
412		92FF029323AA0B5A00AC97F6 /* CPURange.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF011123AA0B4C00AC97F6 /* CPURange.hpp */; };
413		92FF029423AA0B5A00AC97F6 /* CPUMatMul.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF011223AA0B4C00AC97F6 /* CPUMatMul.cpp */; };
414		92FF029623AA0B5A00AC97F6 /* CPUCast.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF011423AA0B4C00AC97F6 /* CPUCast.hpp */; };
415		92FF029723AA0B5A00AC97F6 /* CPUEltwiseInt8.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF011523AA0B4C00AC97F6 /* CPUEltwiseInt8.hpp */; };
416		92FF029823AA0B5A00AC97F6 /* CPUTFQuantizedConv2D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF011623AA0B4C00AC97F6 /* CPUTFQuantizedConv2D.cpp */; };
417		92FF029A23AA0B5A00AC97F6 /* CPUQuantizedMaxPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF011823AA0B4C00AC97F6 /* CPUQuantizedMaxPool.cpp */; };
418		92FF029B23AA0B5A00AC97F6 /* CPUScale.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF011923AA0B4C00AC97F6 /* CPUScale.hpp */; };
419		92FF029E23AA0B5A00AC97F6 /* CPUDeconvolutionDepthwise.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF011C23AA0B4D00AC97F6 /* CPUDeconvolutionDepthwise.hpp */; };
420		92FF02A123AA0B5A00AC97F6 /* CPUDepthwiseConvInt8.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF011F23AA0B4D00AC97F6 /* CPUDepthwiseConvInt8.hpp */; };
421		92FF02A323AA0B5A00AC97F6 /* CPUQuantizedLogistic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF012123AA0B4D00AC97F6 /* CPUQuantizedLogistic.cpp */; };
422		92FF02A423AA0B5A00AC97F6 /* CPUBinary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF012223AA0B4D00AC97F6 /* CPUBinary.cpp */; };
423		92FF02A623AA0B5A00AC97F6 /* CPUQuantizedMaxPool.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF012423AA0B4D00AC97F6 /* CPUQuantizedMaxPool.hpp */; };
424		92FF02A923AA0B5A00AC97F6 /* CPUCropAndResize.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF012723AA0B4D00AC97F6 /* CPUCropAndResize.hpp */; };
425		92FF02AB23AA0B5A00AC97F6 /* CPUConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF012923AA0B4D00AC97F6 /* CPUConst.cpp */; };
426		92FF02AC23AA0B5A00AC97F6 /* CPUQuantizedSoftmax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF012A23AA0B4D00AC97F6 /* CPUQuantizedSoftmax.cpp */; };
427		92FF02AE23AA0B5A00AC97F6 /* CPUProposal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF012C23AA0B4D00AC97F6 /* CPUProposal.cpp */; };
428		92FF02B023AA0B5A00AC97F6 /* CPUDequantize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF012E23AA0B4E00AC97F6 /* CPUDequantize.cpp */; };
429		92FF02B123AA0B5A00AC97F6 /* CPUBackend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF012F23AA0B4E00AC97F6 /* CPUBackend.cpp */; };
430		92FF02B323AA0B5A00AC97F6 /* CPUInstanceNorm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF013123AA0B4E00AC97F6 /* CPUInstanceNorm.cpp */; };
431		92FF02B423AA0B5A00AC97F6 /* CPUMoments.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF013223AA0B4E00AC97F6 /* CPUMoments.hpp */; };
432		92FF02B523AA0B5A00AC97F6 /* CPUTopKV2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF013323AA0B4E00AC97F6 /* CPUTopKV2.cpp */; };
433		92FF02B623AA0B5A00AC97F6 /* CPUUnary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF013423AA0B4E00AC97F6 /* CPUUnary.cpp */; };
434		92FF02B723AA0B5A00AC97F6 /* CPUQuantizedAdd.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF013523AA0B4E00AC97F6 /* CPUQuantizedAdd.hpp */; };
435		92FF02B823AA0B5A00AC97F6 /* CPUWhere.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF013623AA0B4E00AC97F6 /* CPUWhere.cpp */; };
436		92FF02BB23AA0B5A00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF013B23AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S */; };
437		92FF02BC23AA0B5A00AC97F6 /* MNNScaleAddInt8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF013C23AA0B4E00AC97F6 /* MNNScaleAddInt8.S */; };
438		92FF02BD23AA0B5A00AC97F6 /* MNNMatrixProd.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF013D23AA0B4E00AC97F6 /* MNNMatrixProd.S */; };
439		92FF02BE23AA0B5A00AC97F6 /* MNNFloat2Int8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF013E23AA0B4E00AC97F6 /* MNNFloat2Int8.S */; };
440		92FF02BF23AA0B5A00AC97F6 /* MNNSamplerC4NearestOpt.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF013F23AA0B4E00AC97F6 /* MNNSamplerC4NearestOpt.S */; };
441		92FF02C023AA0B5A00AC97F6 /* MNNAddC4WithStride.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014023AA0B4E00AC97F6 /* MNNAddC4WithStride.S */; };
442		92FF02C123AA0B5A00AC97F6 /* MNNQuanToDestUint8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014123AA0B4E00AC97F6 /* MNNQuanToDestUint8.S */; };
443		92FF02C223AA0B5A00AC97F6 /* MNNLoadU8AndSum.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014223AA0B4E00AC97F6 /* MNNLoadU8AndSum.S */; };
444		92FF02C523AA0B5A00AC97F6 /* MNNStrassenMergeCFunction.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014523AA0B4E00AC97F6 /* MNNStrassenMergeCFunction.S */; };
445		92FF02C623AA0B5A00AC97F6 /* MNNBlitC1ToFloatRGBA.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014623AA0B4E00AC97F6 /* MNNBlitC1ToFloatRGBA.S */; };
446		92FF02C723AA0B5A00AC97F6 /* MNNCopyC4WithStride.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014723AA0B4E00AC97F6 /* MNNCopyC4WithStride.S */; };
447		92FF02C823AA0B5A00AC97F6 /* MNNNV21ToBGRUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014823AA0B4E00AC97F6 /* MNNNV21ToBGRUnit.S */; };
448		92FF02C923AA0B5A00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014923AA0B4E00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S */; };
449		92FF02CA23AA0B5A00AC97F6 /* MNNUnPackC4.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014A23AA0B4E00AC97F6 /* MNNUnPackC4.S */; };
450		92FF02CB23AA0B5A00AC97F6 /* MNNSamplerC1NearestOpt.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014B23AA0B4E00AC97F6 /* MNNSamplerC1NearestOpt.S */; };
451		92FF02CD23AA0B5A00AC97F6 /* MNNNV21ToRGBUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014D23AA0B4E00AC97F6 /* MNNNV21ToRGBUnit.S */; };
452		92FF02CE23AA0B5A00AC97F6 /* MNNPackC4.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014E23AA0B4E00AC97F6 /* MNNPackC4.S */; };
453		92FF02CF23AA0B5A00AC97F6 /* MNNMinFloat.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF014F23AA0B4E00AC97F6 /* MNNMinFloat.S */; };
454		92FF02D123AA0B5A00AC97F6 /* MNNMaxFloat.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF015123AA0B4E00AC97F6 /* MNNMaxFloat.S */; };
455		92FF02D223AA0B5A00AC97F6 /* MNNNV21ToRGBAUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF015223AA0B4E00AC97F6 /* MNNNV21ToRGBAUnit.S */; };
456		92FF02D523AA0B5A00AC97F6 /* MNNMatrixMax.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF015523AA0B4E00AC97F6 /* MNNMatrixMax.S */; };
457		92FF02D623AA0B5A00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF015623AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S */; };
458		92FF02D723AA0B5A00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF015723AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S */; };
459		92FF02DB23AA0B5A00AC97F6 /* MNNScaleAndAddBias.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF015B23AA0B4E00AC97F6 /* MNNScaleAndAddBias.S */; };
460		92FF02DC23AA0B5A00AC97F6 /* MNNReluInt8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF015C23AA0B4E00AC97F6 /* MNNReluInt8.S */; };
461		92FF02DD23AA0B5A00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF015D23AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S */; };
462		92FF02DE23AA0B5A00AC97F6 /* MNNSamplerC4BilinearOpt.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF015E23AA0B4E00AC97F6 /* MNNSamplerC4BilinearOpt.S */; };
463		92FF02E023AA0B5A00AC97F6 /* MNNMatrixSub.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016023AA0B4E00AC97F6 /* MNNMatrixSub.S */; };
464		92FF02E123AA0B5A00AC97F6 /* MNNPowC8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016123AA0B4E00AC97F6 /* MNNPowC8.S */; };
465		92FF02E223AA0B5A00AC97F6 /* MNNMatrixAdd.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016223AA0B4E00AC97F6 /* MNNMatrixAdd.S */; };
466		92FF02E323AA0B5A00AC97F6 /* MNNExpC8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016323AA0B4E00AC97F6 /* MNNExpC8.S */; };
467		92FF02E523AA0B5A00AC97F6 /* MNNConvDwF23SourceTransUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016523AA0B4E00AC97F6 /* MNNConvDwF23SourceTransUnit.S */; };
468		92FF02E623AA0B5A00AC97F6 /* MNNWinogradMatrixProductLeft.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016623AA0B4E00AC97F6 /* MNNWinogradMatrixProductLeft.S */; };
469		92FF02E723AA0B5A00AC97F6 /* MNNDeconvRunForUnitDepthWise.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016723AA0B4E00AC97F6 /* MNNDeconvRunForUnitDepthWise.S */; };
470		92FF02E823AA0B5A00AC97F6 /* MNNSamplerC1BilinearOpt.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016823AA0B4E00AC97F6 /* MNNSamplerC1BilinearOpt.S */; };
471		92FF02EA23AA0B5A00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016A23AA0B4E00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S */; };
472		92FF02EC23AA0B5A00AC97F6 /* MNNWinogradMatrixProductRight.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016C23AA0B4E00AC97F6 /* MNNWinogradMatrixProductRight.S */; };
473		92FF02EE23AA0B5A00AC97F6 /* MNNReluWithSlopeChannel.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF016E23AA0B4E00AC97F6 /* MNNReluWithSlopeChannel.S */; };
474		92FF02F223AA0B5A00AC97F6 /* MNNBlitC3ToFloatRGBA.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017223AA0B4E00AC97F6 /* MNNBlitC3ToFloatRGBA.S */; };
475		92FF02F423AA0B5A00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017423AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S */; };
476		92FF02F523AA0B5A00AC97F6 /* MNNInt8ScaleToFloat.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017523AA0B4E00AC97F6 /* MNNInt8ScaleToFloat.S */; };
477		92FF02F623AA0B5A00AC97F6 /* MNNConvRunForUnitDepthWise.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017623AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWise.S */; };
478		92FF02F723AA0B5A00AC97F6 /* MNNConvDwF23MulTransUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017723AA0B4E00AC97F6 /* MNNConvDwF23MulTransUnit.S */; };
479		92FF02F823AA0B5A00AC97F6 /* MNNConvRunForLineDepthwise.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017823AA0B4E00AC97F6 /* MNNConvRunForLineDepthwise.S */; };
480		92FF02F923AA0B5A00AC97F6 /* MNNGemmint8to32_8x4_Unit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017923AA0B4E00AC97F6 /* MNNGemmint8to32_8x4_Unit.S */; };
481		92FF02FC23AA0B5A00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017D23AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S */; };
482		92FF02FD23AA0B5A00AC97F6 /* MNNScaleAddInt8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017E23AA0B4E00AC97F6 /* MNNScaleAddInt8.S */; };
483		92FF02FE23AA0B5A00AC97F6 /* MNNMatrixProd.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF017F23AA0B4E00AC97F6 /* MNNMatrixProd.S */; };
484		92FF02FF23AA0B5A00AC97F6 /* MNNFloat2Int8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018023AA0B4E00AC97F6 /* MNNFloat2Int8.S */; };
485		92FF030023AA0B5A00AC97F6 /* MNNSamplerC4NearestOpt.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018123AA0B4E00AC97F6 /* MNNSamplerC4NearestOpt.S */; };
486		92FF030123AA0B5A00AC97F6 /* MNNAddC4WithStride.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018223AA0B4E00AC97F6 /* MNNAddC4WithStride.S */; };
487		92FF030223AA0B5A00AC97F6 /* MNNQuanToDestUint8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018323AA0B4E00AC97F6 /* MNNQuanToDestUint8.S */; };
488		92FF030323AA0B5A00AC97F6 /* MNNLoadU8AndSum.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018423AA0B4E00AC97F6 /* MNNLoadU8AndSum.S */; };
489		92FF030623AA0B5A00AC97F6 /* MNNStrassenMergeCFunction.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018723AA0B4E00AC97F6 /* MNNStrassenMergeCFunction.S */; };
490		92FF030723AA0B5A00AC97F6 /* MNNBlitC1ToFloatRGBA.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018823AA0B4E00AC97F6 /* MNNBlitC1ToFloatRGBA.S */; };
491		92FF030823AA0B5A00AC97F6 /* MNNCopyC4WithStride.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018923AA0B4E00AC97F6 /* MNNCopyC4WithStride.S */; };
492		92FF030923AA0B5A00AC97F6 /* MNNNV21ToBGRUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018A23AA0B4E00AC97F6 /* MNNNV21ToBGRUnit.S */; };
493		92FF030A23AA0B5A00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018B23AA0B4E00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S */; };
494		92FF030B23AA0B5A00AC97F6 /* MNNUnPackC4.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018C23AA0B4E00AC97F6 /* MNNUnPackC4.S */; };
495		92FF030C23AA0B5A00AC97F6 /* MNNSamplerC1NearestOpt.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018D23AA0B4E00AC97F6 /* MNNSamplerC1NearestOpt.S */; };
496		92FF030E23AA0B5A00AC97F6 /* MNNNV21ToRGBUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF018F23AA0B4E00AC97F6 /* MNNNV21ToRGBUnit.S */; };
497		92FF030F23AA0B5A00AC97F6 /* MNNPackC4.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019023AA0B4E00AC97F6 /* MNNPackC4.S */; };
498		92FF031023AA0B5A00AC97F6 /* MNNMinFloat.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019123AA0B4E00AC97F6 /* MNNMinFloat.S */; };
499		92FF031223AA0B5A00AC97F6 /* MNNMaxFloat.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019323AA0B4E00AC97F6 /* MNNMaxFloat.S */; };
500		92FF031323AA0B5A00AC97F6 /* MNNNV21ToRGBAUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019423AA0B4E00AC97F6 /* MNNNV21ToRGBAUnit.S */; };
501		92FF031623AA0B5A00AC97F6 /* MNNMatrixMax.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019723AA0B4E00AC97F6 /* MNNMatrixMax.S */; };
502		92FF031723AA0B5A00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019823AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S */; };
503		92FF031823AA0B5A00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019923AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S */; };
504		92FF031B23AA0B5A00AC97F6 /* MNNScaleAndAddBias.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019C23AA0B4E00AC97F6 /* MNNScaleAndAddBias.S */; };
505		92FF031C23AA0B5A00AC97F6 /* MNNReluInt8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019D23AA0B4E00AC97F6 /* MNNReluInt8.S */; };
506		92FF031D23AA0B5A00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019E23AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S */; };
507		92FF031E23AA0B5A00AC97F6 /* MNNSamplerC4BilinearOpt.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF019F23AA0B4E00AC97F6 /* MNNSamplerC4BilinearOpt.S */; };
508		92FF032023AA0B5A00AC97F6 /* MNNMatrixSub.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01A123AA0B4E00AC97F6 /* MNNMatrixSub.S */; };
509		92FF032123AA0B5A00AC97F6 /* MNNPowC8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01A223AA0B4E00AC97F6 /* MNNPowC8.S */; };
510		92FF032223AA0B5A00AC97F6 /* MNNMatrixAdd.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01A323AA0B4E00AC97F6 /* MNNMatrixAdd.S */; };
511		92FF032323AA0B5A00AC97F6 /* MNNExpC8.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01A423AA0B4E00AC97F6 /* MNNExpC8.S */; };
512		92FF032523AA0B5A00AC97F6 /* MNNConvDwF23SourceTransUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01A623AA0B4E00AC97F6 /* MNNConvDwF23SourceTransUnit.S */; };
513		92FF032623AA0B5A00AC97F6 /* MNNWinogradMatrixProductLeft.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01A723AA0B4E00AC97F6 /* MNNWinogradMatrixProductLeft.S */; };
514		92FF032723AA0B5A00AC97F6 /* MNNDeconvRunForUnitDepthWise.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01A823AA0B4E00AC97F6 /* MNNDeconvRunForUnitDepthWise.S */; };
515		92FF032823AA0B5A00AC97F6 /* MNNSamplerC1BilinearOpt.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01A923AA0B4E00AC97F6 /* MNNSamplerC1BilinearOpt.S */; };
516		92FF032A23AA0B5A00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01AB23AA0B4E00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S */; };
517		92FF032C23AA0B5A00AC97F6 /* MNNWinogradMatrixProductRight.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01AD23AA0B4E00AC97F6 /* MNNWinogradMatrixProductRight.S */; };
518		92FF032E23AA0B5A00AC97F6 /* MNNReluWithSlopeChannel.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01AF23AA0B4E00AC97F6 /* MNNReluWithSlopeChannel.S */; };
519		92FF033223AA0B5A00AC97F6 /* MNNBlitC3ToFloatRGBA.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01B323AA0B4E00AC97F6 /* MNNBlitC3ToFloatRGBA.S */; };
520		92FF033423AA0B5A00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01B523AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S */; };
521		92FF033523AA0B5A00AC97F6 /* MNNInt8ScaleToFloat.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01B623AA0B4E00AC97F6 /* MNNInt8ScaleToFloat.S */; };
522		92FF033623AA0B5A00AC97F6 /* MNNConvRunForUnitDepthWise.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01B723AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWise.S */; };
523		92FF033723AA0B5A00AC97F6 /* MNNConvDwF23MulTransUnit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01B823AA0B4E00AC97F6 /* MNNConvDwF23MulTransUnit.S */; };
524		92FF033823AA0B5A00AC97F6 /* MNNConvRunForLineDepthwise.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01B923AA0B4E00AC97F6 /* MNNConvRunForLineDepthwise.S */; };
525		92FF033923AA0B5A00AC97F6 /* MNNGemmint8to32_8x4_Unit.S in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01BA23AA0B4E00AC97F6 /* MNNGemmint8to32_8x4_Unit.S */; };
526		92FF033C23AA0B5A00AC97F6 /* MNNAsmGlobal.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01BD23AA0B4E00AC97F6 /* MNNAsmGlobal.h */; };
527		92FF033F23AA0B5A00AC97F6 /* CPUArgMax.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01C023AA0B4E00AC97F6 /* CPUArgMax.hpp */; };
528		92FF034223AA0B5A00AC97F6 /* CPUReduction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01C323AA0B4F00AC97F6 /* CPUReduction.cpp */; };
529		92FF034523AA0B5A00AC97F6 /* CPUQuantizedAvgPool.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01C623AA0B4F00AC97F6 /* CPUQuantizedAvgPool.hpp */; };
530		92FF034C23AA0B5A00AC97F6 /* CPUSetDiff1D.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01CD23AA0B4F00AC97F6 /* CPUSetDiff1D.hpp */; };
531		92FF034D23AA0B5A00AC97F6 /* CPUCast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01CE23AA0B4F00AC97F6 /* CPUCast.cpp */; };
532		92FF035023AA0B5A00AC97F6 /* CPUOneHot.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01D123AA0B4F00AC97F6 /* CPUOneHot.hpp */; };
533		92FF035323AA0B5A00AC97F6 /* CPUScatterNd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01D423AA0B5000AC97F6 /* CPUScatterNd.cpp */; };
534		92FF035423AA0B5A00AC97F6 /* CPUSelect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01D523AA0B5000AC97F6 /* CPUSelect.cpp */; };
535		92FF035623AA0B5A00AC97F6 /* CPUConvolution.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01D723AA0B5000AC97F6 /* CPUConvolution.hpp */; };
536		92FF035723AA0B5A00AC97F6 /* CPUOneHot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01D823AA0B5000AC97F6 /* CPUOneHot.cpp */; };
537		92FF035823AA0B5A00AC97F6 /* CPUTFQuantizedConv2D.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01D923AA0B5000AC97F6 /* CPUTFQuantizedConv2D.hpp */; };
538		92FF035923AA0B5A00AC97F6 /* CPUAsString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01DA23AA0B5000AC97F6 /* CPUAsString.cpp */; };
539		92FF035A23AA0B5A00AC97F6 /* CPUDetectionPostProcess.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01DB23AA0B5000AC97F6 /* CPUDetectionPostProcess.hpp */; };
540		92FF035B23AA0B5A00AC97F6 /* CPURelu.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01DC23AA0B5000AC97F6 /* CPURelu.hpp */; };
541		92FF036323AA0B5A00AC97F6 /* CPUScale.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01E423AA0B5100AC97F6 /* CPUScale.cpp */; };
542		92FF036423AA0B5A00AC97F6 /* CPUUnravelIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01E523AA0B5100AC97F6 /* CPUUnravelIndex.cpp */; };
543		92FF036523AA0B5A00AC97F6 /* CPUResize.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01E623AA0B5100AC97F6 /* CPUResize.hpp */; };
544		92FF036623AA0B5A00AC97F6 /* CPUDetectionOutput.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01E723AA0B5100AC97F6 /* CPUDetectionOutput.hpp */; };
545		92FF036723AA0B5A00AC97F6 /* CPURuntime.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01E823AA0B5100AC97F6 /* CPURuntime.hpp */; };
546		92FF036A23AA0B5A00AC97F6 /* CPURNNSequenceGRU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01EB23AA0B5100AC97F6 /* CPURNNSequenceGRU.cpp */; };
547		92FF036B23AA0B5A00AC97F6 /* CPUResize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01EC23AA0B5100AC97F6 /* CPUResize.cpp */; };
548		92FF036C23AA0B5A00AC97F6 /* CPUConst.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01ED23AA0B5100AC97F6 /* CPUConst.hpp */; };
549		92FF036E23AA0B5A00AC97F6 /* CPUQuantizedSoftmax.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01EF23AA0B5100AC97F6 /* CPUQuantizedSoftmax.hpp */; };
550		92FF036F23AA0B5A00AC97F6 /* CPURuntime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01F023AA0B5200AC97F6 /* CPURuntime.cpp */; };
551		92FF037023AA0B5A00AC97F6 /* CPUPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01F123AA0B5200AC97F6 /* CPUPool.cpp */; };
552		92FF037323AA0B5A00AC97F6 /* CPUEltwiseInt8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01F423AA0B5200AC97F6 /* CPUEltwiseInt8.cpp */; };
553		92FF037623AA0B5A00AC97F6 /* CPUBinary.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01F723AA0B5200AC97F6 /* CPUBinary.hpp */; };
554		92FF037723AA0B5A00AC97F6 /* CPUConvolutionDepthwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01F823AA0B5200AC97F6 /* CPUConvolutionDepthwise.cpp */; };
555		92FF037823AA0B5A00AC97F6 /* CPUROIPooling.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01F923AA0B5200AC97F6 /* CPUROIPooling.hpp */; };
556		92FF037923AA0B5A00AC97F6 /* CPUInstanceNorm.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF01FA23AA0B5200AC97F6 /* CPUInstanceNorm.hpp */; };
557		92FF037D23AA0B5A00AC97F6 /* CPURelu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01FE23AA0B5200AC97F6 /* CPURelu.cpp */; };
558		92FF037E23AA0B5A00AC97F6 /* CPUDetectionPostProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF01FF23AA0B5200AC97F6 /* CPUDetectionPostProcess.cpp */; };
559		92FF038223AA0B5A00AC97F6 /* CPUSetDiff1D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF020323AA0B5300AC97F6 /* CPUSetDiff1D.cpp */; };
560		92FF038523AA0B5A00AC97F6 /* CPUMoments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF020623AA0B5300AC97F6 /* CPUMoments.cpp */; };
561		92FF038623AA0B5A00AC97F6 /* CPULinSpace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF020723AA0B5300AC97F6 /* CPULinSpace.cpp */; };
562		92FF038723AA0B5A00AC97F6 /* CPUTensorConvert.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF020823AA0B5300AC97F6 /* CPUTensorConvert.hpp */; };
563		92FF038823AA0B5A00AC97F6 /* CPUQuantizedLogistic.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF020923AA0B5300AC97F6 /* CPUQuantizedLogistic.hpp */; };
564		92FF038A23AA0B5A00AC97F6 /* CPURange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF020B23AA0B5300AC97F6 /* CPURange.cpp */; };
565		92FF038B23AA0B5A00AC97F6 /* CPUUnravelIndex.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF020C23AA0B5500AC97F6 /* CPUUnravelIndex.hpp */; };
566		92FF038C23AA0B5A00AC97F6 /* CPUEltwise.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF020D23AA0B5500AC97F6 /* CPUEltwise.hpp */; };
567		92FF038D23AA0B5A00AC97F6 /* CPUMatrixBandPart.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF020E23AA0B5500AC97F6 /* CPUMatrixBandPart.hpp */; };
568		92FF039123AA0B5A00AC97F6 /* CPUBackend.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF021223AA0B5600AC97F6 /* CPUBackend.hpp */; };
569		92FF039223AA0B5A00AC97F6 /* CPUDeconvolution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF021323AA0B5600AC97F6 /* CPUDeconvolution.cpp */; };
570		92FF039323AA0B5A00AC97F6 /* CPUQuantizedAdd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF021423AA0B5600AC97F6 /* CPUQuantizedAdd.cpp */; };
571		92FF039623AA0B5A00AC97F6 /* CPUDepthwiseConvInt8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF021723AA0B5600AC97F6 /* CPUDepthwiseConvInt8.cpp */; };
572		92FF039A23AA0B5A00AC97F6 /* Convolution1x1Strassen.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF021C23AA0B5600AC97F6 /* Convolution1x1Strassen.hpp */; };
573		92FF039B23AA0B5A00AC97F6 /* CommonOptFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF021D23AA0B5600AC97F6 /* CommonOptFunction.cpp */; };
574		92FF039D23AA0B5A00AC97F6 /* StrassenMatmulComputor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF021F23AA0B5600AC97F6 /* StrassenMatmulComputor.cpp */; };
575		92FF039F23AA0B5A00AC97F6 /* CommonOptFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF022123AA0B5600AC97F6 /* CommonOptFunction.h */; };
576		92FF03A023AA0B5A00AC97F6 /* ConvolutionWinograd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF022223AA0B5600AC97F6 /* ConvolutionWinograd.cpp */; };
577		92FF03A123AA0B5A00AC97F6 /* Int8FunctionsOpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF022323AA0B5600AC97F6 /* Int8FunctionsOpt.cpp */; };
578		92FF03A323AA0B5A00AC97F6 /* ConvOpt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF022523AA0B5600AC97F6 /* ConvOpt.cpp */; };
579		92FF03A423AA0B5A00AC97F6 /* OptimizedComputer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF022623AA0B5600AC97F6 /* OptimizedComputer.cpp */; };
580		92FF03A523AA0B5A00AC97F6 /* DeconvolutionWithStride.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF022723AA0B5600AC97F6 /* DeconvolutionWithStride.hpp */; };
581		92FF03A623AA0B5A00AC97F6 /* ConvolutionTiledExecutor.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF022823AA0B5600AC97F6 /* ConvolutionTiledExecutor.hpp */; };
582		92FF03A723AA0B5A00AC97F6 /* ConvolutionIntFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF022923AA0B5600AC97F6 /* ConvolutionIntFactory.cpp */; };
583		92FF03A823AA0B5A00AC97F6 /* WinogradOptFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF022A23AA0B5600AC97F6 /* WinogradOptFunction.cpp */; };
584		92FF03A923AA0B5A00AC97F6 /* ConvolutionGroup.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF022B23AA0B5600AC97F6 /* ConvolutionGroup.hpp */; };
585		92FF03AA23AA0B5A00AC97F6 /* ConvolutionFloatFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF022C23AA0B5600AC97F6 /* ConvolutionFloatFactory.h */; };
586		92FF03AB23AA0B5A00AC97F6 /* ConvolutionInt8Executor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF022D23AA0B5600AC97F6 /* ConvolutionInt8Executor.cpp */; };
587		92FF03AC23AA0B5A00AC97F6 /* ResizeFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF022E23AA0B5600AC97F6 /* ResizeFunction.h */; };
588		92FF03AD23AA0B5A00AC97F6 /* ConvolutionDepthwise3x3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF022F23AA0B5600AC97F6 /* ConvolutionDepthwise3x3.cpp */; };
589		92FF03AE23AA0B5A00AC97F6 /* ConvolutionIntFactory.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF023023AA0B5600AC97F6 /* ConvolutionIntFactory.hpp */; };
590		92FF03AF23AA0B5A00AC97F6 /* WinogradOptFunction.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF023123AA0B5600AC97F6 /* WinogradOptFunction.hpp */; };
591		92FF03B023AA0B5A00AC97F6 /* ConvolutionGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF023223AA0B5600AC97F6 /* ConvolutionGroup.cpp */; };
592		92FF03B123AA0B5A00AC97F6 /* ConvolutionFloatFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF023323AA0B5600AC97F6 /* ConvolutionFloatFactory.cpp */; };
593		92FF03B223AA0B5A00AC97F6 /* ConvolutionInt8Executor.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF023423AA0B5600AC97F6 /* ConvolutionInt8Executor.hpp */; };
594		92FF03B323AA0B5A00AC97F6 /* ConvolutionDepthwise3x3.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF023523AA0B5600AC97F6 /* ConvolutionDepthwise3x3.hpp */; };
595		92FF03B423AA0B5A00AC97F6 /* Convolution1x1Strassen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF023623AA0B5600AC97F6 /* Convolution1x1Strassen.cpp */; };
596		92FF03B523AA0B5A00AC97F6 /* ResizeFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF023723AA0B5600AC97F6 /* ResizeFunction.cpp */; };
597		92FF03B623AA0B5A00AC97F6 /* StrassenMatmulComputor.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF023823AA0B5600AC97F6 /* StrassenMatmulComputor.hpp */; };
598		92FF03B923AA0B5A00AC97F6 /* ConvOpt.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF023B23AA0B5600AC97F6 /* ConvOpt.h */; };
599		92FF03BA23AA0B5A00AC97F6 /* ConvolutionWinograd.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF023C23AA0B5600AC97F6 /* ConvolutionWinograd.hpp */; };
600		92FF03BC23AA0B5A00AC97F6 /* OptimizedComputer.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF023E23AA0B5600AC97F6 /* OptimizedComputer.hpp */; };
601		92FF03BD23AA0B5A00AC97F6 /* Int8FunctionsOpt.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF023F23AA0B5600AC97F6 /* Int8FunctionsOpt.h */; };
602		92FF03BE23AA0B5A00AC97F6 /* DeconvolutionWithStride.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF024023AA0B5600AC97F6 /* DeconvolutionWithStride.cpp */; };
603		92FF03BF23AA0B5A00AC97F6 /* ConvolutionTiledExecutor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF024123AA0B5600AC97F6 /* ConvolutionTiledExecutor.cpp */; };
604		92FF03C323AA0B5A00AC97F6 /* CPUEltwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF024523AA0B5700AC97F6 /* CPUEltwise.cpp */; };
605		92FF03C423AA0B5A00AC97F6 /* CPUInterp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF024623AA0B5700AC97F6 /* CPUInterp.cpp */; };
606		92FF03C523AA0B5A00AC97F6 /* CPUReduceJoin.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF024723AA0B5700AC97F6 /* CPUReduceJoin.hpp */; };
607		92FF03C623AA0B5A00AC97F6 /* CPUNonMaxSuppressionV2.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF024823AA0B5700AC97F6 /* CPUNonMaxSuppressionV2.hpp */; };
608		92FF03C923AA0B5A00AC97F6 /* CPUMatMul.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF024B23AA0B5700AC97F6 /* CPUMatMul.hpp */; };
609		92FF03CA23AA0B5A00AC97F6 /* CPUConvolutionDepthwise.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF024C23AA0B5700AC97F6 /* CPUConvolutionDepthwise.hpp */; };
610		92FF03CE23AA0B5A00AC97F6 /* CPUOPRegister.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF025023AA0B5900AC97F6 /* CPUOPRegister.cpp */; };
611		92FF03D023AA0B5A00AC97F6 /* CPUTensorConvert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF025223AA0B5900AC97F6 /* CPUTensorConvert.cpp */; };
612		92FF03D123AA0B5A00AC97F6 /* CPUTopKV2.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF025323AA0B5900AC97F6 /* CPUTopKV2.hpp */; };
613		92FF041923AA0B7100AC97F6 /* ShapeQuantizedMaxPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03D323AA0B6C00AC97F6 /* ShapeQuantizedMaxPool.cpp */; };
614		92FF041A23AA0B7100AC97F6 /* ShapeFill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03D423AA0B6C00AC97F6 /* ShapeFill.cpp */; };
615		92FF041B23AA0B7100AC97F6 /* ShapeUnpack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03D523AA0B6C00AC97F6 /* ShapeUnpack.cpp */; };
616		92FF041C23AA0B7100AC97F6 /* ShapeNonMaxSuppressionV2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03D623AA0B6C00AC97F6 /* ShapeNonMaxSuppressionV2.cpp */; };
617		92FF041D23AA0B7100AC97F6 /* ShapePool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03D723AA0B6C00AC97F6 /* ShapePool.cpp */; };
618		92FF041E23AA0B7100AC97F6 /* ShapeRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03D823AA0B6C00AC97F6 /* ShapeRange.cpp */; };
619		92FF041F23AA0B7100AC97F6 /* ShapeRank.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03D923AA0B6C00AC97F6 /* ShapeRank.cpp */; };
620		92FF042023AA0B7100AC97F6 /* ShapePack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03DA23AA0B6D00AC97F6 /* ShapePack.cpp */; };
621		92FF042123AA0B7100AC97F6 /* ShapeDeconvolution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03DB23AA0B6D00AC97F6 /* ShapeDeconvolution.cpp */; };
622		92FF042223AA0B7100AC97F6 /* ShapeConcat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03DC23AA0B6D00AC97F6 /* ShapeConcat.cpp */; };
623		92FF042323AA0B7100AC97F6 /* ShapeScatterNd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03DD23AA0B6D00AC97F6 /* ShapeScatterNd.cpp */; };
624		92FF042423AA0B7100AC97F6 /* ShapeROIPooling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03DE23AA0B6D00AC97F6 /* ShapeROIPooling.cpp */; };
625		92FF042523AA0B7100AC97F6 /* ShapeSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03DF23AA0B6D00AC97F6 /* ShapeSize.cpp */; };
626		92FF042623AA0B7100AC97F6 /* ShapeCosineSimilarity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03E023AA0B6D00AC97F6 /* ShapeCosineSimilarity.cpp */; };
627		92FF042723AA0B7100AC97F6 /* ShapeMatMul.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03E123AA0B6D00AC97F6 /* ShapeMatMul.cpp */; };
628		92FF042823AA0B7100AC97F6 /* ShapeInterp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03E223AA0B6D00AC97F6 /* ShapeInterp.cpp */; };
629		92FF042923AA0B7100AC97F6 /* ShapeLinSpace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03E323AA0B6D00AC97F6 /* ShapeLinSpace.cpp */; };
630		92FF042B23AA0B7100AC97F6 /* ShapeOneHot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03E523AA0B6D00AC97F6 /* ShapeOneHot.cpp */; };
631		92FF042C23AA0B7100AC97F6 /* ShapeReduceJoin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03E623AA0B6D00AC97F6 /* ShapeReduceJoin.cpp */; };
632		92FF042D23AA0B7100AC97F6 /* ShapePadding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03E723AA0B6D00AC97F6 /* ShapePadding.cpp */; };
633		92FF042E23AA0B7100AC97F6 /* ShapeProposal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03E823AA0B6D00AC97F6 /* ShapeProposal.cpp */; };
634		92FF042F23AA0B7100AC97F6 /* ShapeSliceTf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03E923AA0B6D00AC97F6 /* ShapeSliceTf.cpp */; };
635		92FF043023AA0B7100AC97F6 /* ShapeQuantizedAvgPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03EA23AA0B6D00AC97F6 /* ShapeQuantizedAvgPool.cpp */; };
636		92FF043123AA0B7100AC97F6 /* ShapeSpaceToBatchND.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03EB23AA0B6E00AC97F6 /* ShapeSpaceToBatchND.cpp */; };
637		92FF043223AA0B7100AC97F6 /* ShapeWhere.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03EC23AA0B6E00AC97F6 /* ShapeWhere.cpp */; };
638		92FF043323AA0B7100AC97F6 /* ShapeCrop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03ED23AA0B6E00AC97F6 /* ShapeCrop.cpp */; };
639		92FF043423AA0B7100AC97F6 /* ShapeStridedSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03EE23AA0B6E00AC97F6 /* ShapeStridedSlice.cpp */; };
640		92FF043523AA0B7100AC97F6 /* ShapeConvolution3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03EF23AA0B6E00AC97F6 /* ShapeConvolution3D.cpp */; };
641		92FF043623AA0B7100AC97F6 /* ShapeSelect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F023AA0B6E00AC97F6 /* ShapeSelect.cpp */; };
642		92FF043723AA0B7100AC97F6 /* ShapeDetectionOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F123AA0B6E00AC97F6 /* ShapeDetectionOutput.cpp */; };
643		92FF043823AA0B7100AC97F6 /* ShapeUnravelIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F223AA0B6E00AC97F6 /* ShapeUnravelIndex.cpp */; };
644		92FF043923AA0B7100AC97F6 /* ShapeDequantize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F323AA0B6E00AC97F6 /* ShapeDequantize.cpp */; };
645		92FF043A23AA0B7100AC97F6 /* ShapePermute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F423AA0B6E00AC97F6 /* ShapePermute.cpp */; };
646		92FF043B23AA0B7100AC97F6 /* ShapeDetectionPostProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F523AA0B6E00AC97F6 /* ShapeDetectionPostProcess.cpp */; };
647		92FF043C23AA0B7100AC97F6 /* ShapeExpandDims.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F623AA0B6E00AC97F6 /* ShapeExpandDims.cpp */; };
648		92FF043D23AA0B7100AC97F6 /* ShapeGatherV2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F723AA0B6E00AC97F6 /* ShapeGatherV2.cpp */; };
649		92FF043E23AA0B7100AC97F6 /* ShapeBatchToSpaceND.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F823AA0B6E00AC97F6 /* ShapeBatchToSpaceND.cpp */; };
650		92FF043F23AA0B7100AC97F6 /* ShapeTensorConvert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03F923AA0B6F00AC97F6 /* ShapeTensorConvert.cpp */; };
651		92FF044023AA0B7100AC97F6 /* ShapeSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03FA23AA0B6F00AC97F6 /* ShapeSlice.cpp */; };
652		92FF044123AA0B7100AC97F6 /* ShapeMoments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03FB23AA0B6F00AC97F6 /* ShapeMoments.cpp */; };
653		92FF044323AA0B7100AC97F6 /* ShapeTopKV2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03FD23AA0B6F00AC97F6 /* ShapeTopKV2.cpp */; };
654		92FF044423AA0B7100AC97F6 /* ShapeLSTM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03FE23AA0B6F00AC97F6 /* ShapeLSTM.cpp */; };
655		92FF044523AA0B7100AC97F6 /* ShapeSpaceToDepth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF03FF23AA0B6F00AC97F6 /* ShapeSpaceToDepth.cpp */; };
656		92FF044623AA0B7100AC97F6 /* ShapeInnerProduct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040023AA0B6F00AC97F6 /* ShapeInnerProduct.cpp */; };
657		92FF044723AA0B7100AC97F6 /* ShapeSqueeze.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040123AA0B6F00AC97F6 /* ShapeSqueeze.cpp */; };
658		92FF044923AA0B7100AC97F6 /* ShapeGatherND.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040323AA0B6F00AC97F6 /* ShapeGatherND.cpp */; };
659		92FF044A23AA0B7100AC97F6 /* ShapeConvolution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040423AA0B6F00AC97F6 /* ShapeConvolution.cpp */; };
660		92FF044B23AA0B7100AC97F6 /* ShapeTile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040523AA0B6F00AC97F6 /* ShapeTile.cpp */; };
661		92FF044C23AA0B7100AC97F6 /* ShapePool3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040623AA0B6F00AC97F6 /* ShapePool3D.cpp */; };
662		92FF044D23AA0B7100AC97F6 /* ShapeConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040723AA0B6F00AC97F6 /* ShapeConst.cpp */; };
663		92FF044E23AA0B7100AC97F6 /* ShapeEltwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040823AA0B7000AC97F6 /* ShapeEltwise.cpp */; };
664		92FF044F23AA0B7100AC97F6 /* ShapeDepthToSpace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040923AA0B7000AC97F6 /* ShapeDepthToSpace.cpp */; };
665		92FF045023AA0B7100AC97F6 /* ShapeCropAndResize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040A23AA0B7000AC97F6 /* ShapeCropAndResize.cpp */; };
666		92FF045123AA0B7100AC97F6 /* ShapeArgMax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040B23AA0B7000AC97F6 /* ShapeArgMax.cpp */; };
667		92FF045223AA0B7100AC97F6 /* ShapeResize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040C23AA0B7000AC97F6 /* ShapeResize.cpp */; };
668		92FF045323AA0B7100AC97F6 /* ShapeAsString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040D23AA0B7000AC97F6 /* ShapeAsString.cpp */; };
669		92FF045423AA0B7100AC97F6 /* ShapeRNNSequenceGRU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040E23AA0B7000AC97F6 /* ShapeRNNSequenceGRU.cpp */; };
670		92FF045523AA0B7100AC97F6 /* ShapePriorbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF040F23AA0B7000AC97F6 /* ShapePriorbox.cpp */; };
671		92FF045623AA0B7100AC97F6 /* ShapeReshape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF041023AA0B7000AC97F6 /* ShapeReshape.cpp */; };
672		92FF045723AA0B7100AC97F6 /* ShapeTranspose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF041123AA0B7000AC97F6 /* ShapeTranspose.cpp */; };
673		92FF045823AA0B7100AC97F6 /* ShapeReduction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF041223AA0B7000AC97F6 /* ShapeReduction.cpp */; };
674		92FF045923AA0B7100AC97F6 /* ShapeRegister.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF041323AA0B7000AC97F6 /* ShapeRegister.cpp */; };
675		92FF045A23AA0B7100AC97F6 /* ShapeBinaryOp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF041423AA0B7000AC97F6 /* ShapeBinaryOp.cpp */; };
676		92FF045B23AA0B7100AC97F6 /* ShapeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF041523AA0B7000AC97F6 /* ShapeShape.cpp */; };
677		92FF045C23AA0B7100AC97F6 /* ShapeBroadcastTo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF041623AA0B7000AC97F6 /* ShapeBroadcastTo.cpp */; };
678		92FF045D23AA0B7100AC97F6 /* ShapeCast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF041723AA0B7100AC97F6 /* ShapeCast.cpp */; };
679		92FF04A423AA0BFB00AC97F6 /* Interpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF048323AA0BF900AC97F6 /* Interpreter.cpp */; };
680		92FF04A523AA0BFB00AC97F6 /* AutoStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF048423AA0BF900AC97F6 /* AutoStorage.h */; };
681		92FF04A623AA0BFB00AC97F6 /* FileLoader.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF048523AA0BFA00AC97F6 /* FileLoader.hpp */; };
682		92FF04A723AA0BFB00AC97F6 /* BackendRegister.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF048623AA0BFA00AC97F6 /* BackendRegister.cpp */; };
683		92FF04A823AA0BFB00AC97F6 /* AutoTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF048723AA0BFA00AC97F6 /* AutoTime.cpp */; };
684		92FF04A923AA0BFB00AC97F6 /* Schedule.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF048823AA0BFA00AC97F6 /* Schedule.hpp */; };
685		92FF04AA23AA0BFB00AC97F6 /* BufferAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF048923AA0BFA00AC97F6 /* BufferAllocator.cpp */; };
686		92FF04AB23AA0BFB00AC97F6 /* Pipeline.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF048A23AA0BFA00AC97F6 /* Pipeline.hpp */; };
687		92FF04AD23AA0BFB00AC97F6 /* Execution.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF048C23AA0BFA00AC97F6 /* Execution.hpp */; };
688		92FF04AE23AA0BFB00AC97F6 /* Backend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF048D23AA0BFA00AC97F6 /* Backend.cpp */; };
689		92FF04AF23AA0BFB00AC97F6 /* Macro.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF048E23AA0BFA00AC97F6 /* Macro.h */; };
690		92FF04B323AA0BFB00AC97F6 /* Schedule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF049223AA0BFA00AC97F6 /* Schedule.cpp */; };
691		92FF04B423AA0BFB00AC97F6 /* MNNMemoryUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF049323AA0BFA00AC97F6 /* MNNMemoryUtils.h */; };
692		92FF04B523AA0BFB00AC97F6 /* TensorUtils.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF049423AA0BFA00AC97F6 /* TensorUtils.hpp */; };
693		92FF04B623AA0BFB00AC97F6 /* TensorUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF049523AA0BFA00AC97F6 /* TensorUtils.cpp */; };
694		92FF04B723AA0BFB00AC97F6 /* WrapExecution.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF049623AA0BFA00AC97F6 /* WrapExecution.hpp */; };
695		92FF04B823AA0BFB00AC97F6 /* MNNMemoryUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF049723AA0BFB00AC97F6 /* MNNMemoryUtils.cpp */; };
696		92FF04BA23AA0BFB00AC97F6 /* WrapExecution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF049923AA0BFB00AC97F6 /* WrapExecution.cpp */; };
697		92FF04BB23AA0BFB00AC97F6 /* BufferAllocator.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF049A23AA0BFB00AC97F6 /* BufferAllocator.hpp */; };
698		92FF04BC23AA0BFB00AC97F6 /* NonCopyable.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF049B23AA0BFB00AC97F6 /* NonCopyable.hpp */; };
699		92FF04BD23AA0BFB00AC97F6 /* Execution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF049C23AA0BFB00AC97F6 /* Execution.cpp */; };
700		92FF04BE23AA0BFB00AC97F6 /* FileLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF049D23AA0BFB00AC97F6 /* FileLoader.cpp */; };
701		92FF04BF23AA0BFB00AC97F6 /* Concurrency.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FF049E23AA0BFB00AC97F6 /* Concurrency.h */; };
702		92FF04C023AA0BFB00AC97F6 /* Tensor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF049F23AA0BFB00AC97F6 /* Tensor.cpp */; };
703		92FF04C123AA0BFB00AC97F6 /* Backend.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF04A023AA0BFB00AC97F6 /* Backend.hpp */; };
704		92FF04C223AA0BFB00AC97F6 /* Pipeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF04A123AA0BFB00AC97F6 /* Pipeline.cpp */; };
705		92FF04C323AA0BFB00AC97F6 /* Session.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92FF04A223AA0BFB00AC97F6 /* Session.hpp */; };
706		92FF04C423AA0BFB00AC97F6 /* Session.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92FF04A323AA0BFB00AC97F6 /* Session.cpp */; };
707		C43C81FA251894A600A0FF84 /* CommonOptFunctionNeon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C43C81F8251894A500A0FF84 /* CommonOptFunctionNeon.cpp */; };
708		C43C81FE251894BD00A0FF84 /* CPUPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C43C81FB251894BD00A0FF84 /* CPUPlugin.cpp */; };
709		C43C81FF251894BD00A0FF84 /* ThreadPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C43C81FC251894BD00A0FF84 /* ThreadPool.cpp */; };
710		C43C8200251894BD00A0FF84 /* ThreadPool.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C43C81FD251894BD00A0FF84 /* ThreadPool.hpp */; };
711		C43C8225251894F400A0FF84 /* WingoradGenerater.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C43C8222251894F400A0FF84 /* WingoradGenerater.hpp */; };
712		C43C8226251894F400A0FF84 /* Matrix.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C43C8223251894F400A0FF84 /* Matrix.hpp */; };
713		C43C8227251894F400A0FF84 /* Vec.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C43C8224251894F400A0FF84 /* Vec.hpp */; };
714		C43C822D2518951800A0FF84 /* SkNx_neon.h in Headers */ = {isa = PBXBuildFile; fileRef = C43C82282518951800A0FF84 /* SkNx_neon.h */; };
715		C43C822E2518951800A0FF84 /* ImageSampler.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C43C82292518951800A0FF84 /* ImageSampler.hpp */; };
716		C43C822F2518951800A0FF84 /* SkNx.h in Headers */ = {isa = PBXBuildFile; fileRef = C43C822A2518951800A0FF84 /* SkNx.h */; };
717		C43C82302518951800A0FF84 /* ImageFloatBlitter.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C43C822B2518951800A0FF84 /* ImageFloatBlitter.hpp */; };
718		C43C82312518951800A0FF84 /* ImageBlitter.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C43C822C2518951800A0FF84 /* ImageBlitter.hpp */; };
719		C4EF5FB42657A9E70094235C /* ConvInt8Winograd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4EF5FB02657A9E70094235C /* ConvInt8Winograd.cpp */; };
720		C4EF5FB52657A9E70094235C /* ConvInt8Winograd.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C4EF5FB12657A9E70094235C /* ConvInt8Winograd.hpp */; };
721		C4EF5FB62657A9E70094235C /* ConvInt8TiledExecutor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4EF5FB22657A9E70094235C /* ConvInt8TiledExecutor.cpp */; };
722		C4EF5FB72657A9E70094235C /* ConvInt8TiledExecutor.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C4EF5FB32657A9E70094235C /* ConvInt8TiledExecutor.hpp */; };
723		C4EF5FBA2657A9F00094235C /* WinogradInt8Helper.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C4EF5FB82657A9EF0094235C /* WinogradInt8Helper.hpp */; };
724		C4EF5FBB2657A9F00094235C /* WinogradInt8Helper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4EF5FB92657A9F00094235C /* WinogradInt8Helper.cpp */; };
725		EB45C774244D7C4F00E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S in Sources */ = {isa = PBXBuildFile; fileRef = EB45C773244D7C4F00E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S */; };
726		EB45C776244D7C6600E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S in Sources */ = {isa = PBXBuildFile; fileRef = EB45C775244D7C6600E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S */; };
727		EB8D2ABE246A4975009948D1 /* Arm82OpRegister.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EB8D2ABD246A4975009948D1 /* Arm82OpRegister.cpp */; };
728		EBD4842A2485FF650083CE95 /* Arm82Interp.hpp in Headers */ = {isa = PBXBuildFile; fileRef = EBD484242485FF640083CE95 /* Arm82Interp.hpp */; };
729		EBD4842F2485FF660083CE95 /* Arm82Interp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBD484292485FF650083CE95 /* Arm82Interp.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
730		EBECA37B24643D110062C7A3 /* MNNGemmInt8AddBiasScale_ARMV82_Unit.S in Sources */ = {isa = PBXBuildFile; fileRef = EBECA37A24643D110062C7A3 /* MNNGemmInt8AddBiasScale_ARMV82_Unit.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+dotprod"; }; };
731		EBECA39524643D320062C7A3 /* Arm82Backend.hpp in Headers */ = {isa = PBXBuildFile; fileRef = EBECA38324643D310062C7A3 /* Arm82Backend.hpp */; };
732		EBECA39624643D320062C7A3 /* Arm82Eltwise.hpp in Headers */ = {isa = PBXBuildFile; fileRef = EBECA38424643D310062C7A3 /* Arm82Eltwise.hpp */; };
733		EBECA39724643D320062C7A3 /* Arm82Eltwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBECA38524643D310062C7A3 /* Arm82Eltwise.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
734		EBECA39824643D320062C7A3 /* Arm82Relu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBECA38624643D310062C7A3 /* Arm82Relu.cpp */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
735		EBECA39924643D320062C7A3 /* Arm82Relu.hpp in Headers */ = {isa = PBXBuildFile; fileRef = EBECA38724643D310062C7A3 /* Arm82Relu.hpp */; };
736		EBECA39B24643D320062C7A3 /* Arm82Backend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBECA38924643D310062C7A3 /* Arm82Backend.cpp */; };
737		EBECA3A124643D4E0062C7A3 /* MNNAsmGlobal.h in Headers */ = {isa = PBXBuildFile; fileRef = EBECA3A024643D4E0062C7A3 /* MNNAsmGlobal.h */; };
738		EBECA3A724643D5D0062C7A3 /* MNNQuantizeFP16_UNIT4.S in Sources */ = {isa = PBXBuildFile; fileRef = EBECA3A324643D5D0062C7A3 /* MNNQuantizeFP16_UNIT4.S */; settings = {COMPILER_FLAGS = "-march=armv8.2-a+fp16"; }; };
739/* End PBXBuildFile section */
740
741/* Begin PBXContainerItemProxy section */
742		22EA50AE2051680900C3906C /* PBXContainerItemProxy */ = {
743			isa = PBXContainerItemProxy;
744			containerPortal = 0F1465AE1FA18D1000F9860A /* Project object */;
745			proxyType = 1;
746			remoteGlobalIDString = 0F1465B61FA18D1000F9860A;
747			remoteInfo = MNN;
748		};
749/* End PBXContainerItemProxy section */
750
751/* Begin PBXFileReference section */
752		0F1465B71FA18D1000F9860A /* MNN.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MNN.framework; sourceTree = BUILT_PRODUCTS_DIR; };
753		0F1465BB1FA18D1000F9860A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
754		0F78AC261FCD495800205A7C /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
755		11A01A04258785EA00745FA7 /* MNNVectorTop1Int32.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNVectorTop1Int32.S; sourceTree = "<group>"; };
756		11A01A05258785EA00745FA7 /* MNNVectorTop1Float.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNVectorTop1Float.S; sourceTree = "<group>"; };
757		11A01A0A258785FB00745FA7 /* MNNVectorTop1Float.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNVectorTop1Float.S; sourceTree = "<group>"; };
758		11A01A0B258785FB00745FA7 /* MNNVectorTop1Int32.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNVectorTop1Int32.S; sourceTree = "<group>"; };
759		1F501F722397BA5A004E8721 /* HalideRuntime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HalideRuntime.h; path = MNN/HalideRuntime.h; sourceTree = "<group>"; };
760		1F501F732397BA5A004E8721 /* MNNDefine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MNNDefine.h; path = MNN/MNNDefine.h; sourceTree = "<group>"; };
761		1F501F742397BA5A004E8721 /* AutoTime.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = AutoTime.hpp; path = MNN/AutoTime.hpp; sourceTree = "<group>"; };
762		1F501F752397BA5A004E8721 /* Interpreter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Interpreter.hpp; path = MNN/Interpreter.hpp; sourceTree = "<group>"; };
763		1F501F762397BA5A004E8721 /* expr */ = {isa = PBXFileReference; lastKnownFileType = folder; name = expr; path = MNN/expr; sourceTree = "<group>"; };
764		1F501F772397BA5A004E8721 /* ImageProcess.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ImageProcess.hpp; path = MNN/ImageProcess.hpp; sourceTree = "<group>"; };
765		1F501F782397BA5A004E8721 /* ErrorCode.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ErrorCode.hpp; path = MNN/ErrorCode.hpp; sourceTree = "<group>"; };
766		1F501F792397BA5A004E8721 /* Rect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Rect.h; path = MNN/Rect.h; sourceTree = "<group>"; };
767		1F501F7A2397BA5A004E8721 /* Matrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Matrix.h; path = MNN/Matrix.h; sourceTree = "<group>"; };
768		1F501F7B2397BA5A004E8721 /* Tensor.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Tensor.hpp; path = MNN/Tensor.hpp; sourceTree = "<group>"; };
769		1F501F7C2397BA5A004E8721 /* MNNForwardType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MNNForwardType.h; path = MNN/MNNForwardType.h; sourceTree = "<group>"; };
770		1F501F7E2397BA5B004E8721 /* MNNSharedContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MNNSharedContext.h; path = MNN/MNNSharedContext.h; sourceTree = "<group>"; };
771		48034562254157CE004738E3 /* MNNNV21ToBGRAUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNNV21ToBGRAUnit.S; sourceTree = "<group>"; };
772		48034566254157DF004738E3 /* MNNNV21ToBGRAUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNNV21ToBGRAUnit.S; sourceTree = "<group>"; };
773		4819FB1324C138DF0050BD09 /* GeometryConvUtils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = GeometryConvUtils.hpp; path = ../geometry/GeometryConvUtils.hpp; sourceTree = "<group>"; };
774		4819FB1524C138DF0050BD09 /* GeometryConvUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GeometryConvUtils.cpp; path = ../geometry/GeometryConvUtils.cpp; sourceTree = "<group>"; };
775		4819FB2424C139680050BD09 /* GeometryPoolGrad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryPoolGrad.cpp; sourceTree = "<group>"; };
776		4819FB2524C139680050BD09 /* GeometryConv2D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryConv2D.cpp; sourceTree = "<group>"; };
777		4819FB2624C139690050BD09 /* GeometryLSTM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryLSTM.cpp; sourceTree = "<group>"; };
778		4819FB2924C139690050BD09 /* GeometryLRN.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryLRN.cpp; sourceTree = "<group>"; };
779		4819FB2A24C139690050BD09 /* GeometryReduce.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryReduce.cpp; sourceTree = "<group>"; };
780		4819FB2B24C1396A0050BD09 /* GeometryBinary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryBinary.cpp; sourceTree = "<group>"; };
781		4819FB3524C69E680050BD09 /* GeometryInnerProduct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryInnerProduct.cpp; sourceTree = "<group>"; };
782		4819FB3624C69E680050BD09 /* GeometrySpatialProduct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometrySpatialProduct.cpp; sourceTree = "<group>"; };
783		4819FB3724C69E680050BD09 /* GeometryBatchMatMul.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryBatchMatMul.cpp; sourceTree = "<group>"; };
784		4819FB3824C69E680050BD09 /* GeometryCosineSimilarity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryCosineSimilarity.cpp; sourceTree = "<group>"; };
785		481C2DE225FE2CD5001ED6DF /* Arm82WinogradOptFunc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82WinogradOptFunc.cpp; path = ../arm82/Arm82WinogradOptFunc.cpp; sourceTree = "<group>"; };
786		481C2DE325FE2CD5001ED6DF /* Arm82WinogradOptFunc.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82WinogradOptFunc.hpp; path = ../arm82/Arm82WinogradOptFunc.hpp; sourceTree = "<group>"; };
787		481C2DE425FE2CD6001ED6DF /* Arm82Functions.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82Functions.hpp; path = ../arm82/Arm82Functions.hpp; sourceTree = "<group>"; };
788		481C2DE525FE2CD6001ED6DF /* Arm82Moments.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82Moments.hpp; path = ../arm82/Arm82Moments.hpp; sourceTree = "<group>"; };
789		481C2DE625FE2CD6001ED6DF /* Arm82Functions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82Functions.cpp; path = ../arm82/Arm82Functions.cpp; sourceTree = "<group>"; };
790		481C2DE725FE2CD6001ED6DF /* Arm82OptFunc.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82OptFunc.hpp; path = ../arm82/Arm82OptFunc.hpp; sourceTree = "<group>"; };
791		481C2DE825FE2CD6001ED6DF /* Arm82InstanceNorm.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82InstanceNorm.hpp; path = ../arm82/Arm82InstanceNorm.hpp; sourceTree = "<group>"; };
792		481C2DE925FE2CD6001ED6DF /* Arm82InstanceNorm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82InstanceNorm.cpp; path = ../arm82/Arm82InstanceNorm.cpp; sourceTree = "<group>"; };
793		481C2DEA25FE2CD6001ED6DF /* Arm82Moments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82Moments.cpp; path = ../arm82/Arm82Moments.cpp; sourceTree = "<group>"; };
794		481C2DEB25FE2CD6001ED6DF /* Arm82OptFunc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82OptFunc.cpp; path = ../arm82/Arm82OptFunc.cpp; sourceTree = "<group>"; };
795		481FA84E259C27B30047F01F /* GeometryTensorArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryTensorArray.cpp; sourceTree = "<group>"; };
796		481FA852259C27E00047F01F /* ShapeTensorArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeTensorArray.cpp; sourceTree = "<group>"; };
797		4829A2CB23CC26AD00623BF5 /* MatMulTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MatMulTest.cpp; sourceTree = "<group>"; };
798		4829A2CC23CC26AD00623BF5 /* GatherTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GatherTest.cpp; sourceTree = "<group>"; };
799		4829A2CD23CC26AD00623BF5 /* MatrixBandTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MatrixBandTest.cpp; sourceTree = "<group>"; };
800		4829A2CE23CC26AD00623BF5 /* ExtraTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExtraTest.cpp; sourceTree = "<group>"; };
801		4829A2CF23CC26AD00623BF5 /* AllAnyTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AllAnyTest.cpp; sourceTree = "<group>"; };
802		4829A2D023CC26AD00623BF5 /* MultiThreadLoad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiThreadLoad.cpp; sourceTree = "<group>"; };
803		4829A2D223CC26AD00623BF5 /* ExprResizeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExprResizeTest.cpp; sourceTree = "<group>"; };
804		4829A2D323CC26AD00623BF5 /* ReverseSequenceTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReverseSequenceTest.cpp; sourceTree = "<group>"; };
805		4829A2D423CC26AD00623BF5 /* ReplaceTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReplaceTest.cpp; sourceTree = "<group>"; };
806		4829A2D523CC26AD00623BF5 /* PaddingTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PaddingTest.cpp; sourceTree = "<group>"; };
807		4836CEE4257744120068F6CE /* ShapePlugin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapePlugin.cpp; sourceTree = "<group>"; };
808		4837147025A599EC004DBDED /* Arm82Binary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82Binary.cpp; path = ../arm82/Arm82Binary.cpp; sourceTree = "<group>"; };
809		4837147125A599EC004DBDED /* Arm82Binary.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82Binary.hpp; path = ../arm82/Arm82Binary.hpp; sourceTree = "<group>"; };
810		4838EA7A2611BFE20027232C /* CPUGridSample.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUGridSample.hpp; sourceTree = "<group>"; };
811		4838EA7B2611BFE20027232C /* CPUGridSample.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUGridSample.cpp; sourceTree = "<group>"; };
812		4838EA802611C00B0027232C /* MetalGridSample.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalGridSample.hpp; sourceTree = "<group>"; };
813		4838EA812611C00B0027232C /* MetalGridSample.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalGridSample.metal; sourceTree = "<group>"; };
814		4838EA822611C00B0027232C /* MetalGridSample.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalGridSample.mm; sourceTree = "<group>"; };
815		4838EA8A2611C1310027232C /* ShapeGridSample.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeGridSample.cpp; sourceTree = "<group>"; };
816		48417FEC24D13BF50056D9A7 /* GeometryThreshold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryThreshold.cpp; sourceTree = "<group>"; };
817		48417FED24D13BF50056D9A7 /* GeometryELU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryELU.cpp; sourceTree = "<group>"; };
818		48417FEE24D13BF50056D9A7 /* GeometrySelect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometrySelect.cpp; sourceTree = "<group>"; };
819		48608B4D250632EC00CB1D71 /* GeometryComputer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryComputer.cpp; sourceTree = "<group>"; };
820		48608B4E250632EC00CB1D71 /* GeometryComputerUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryComputerUtils.cpp; sourceTree = "<group>"; };
821		48608B4F250632EC00CB1D71 /* GeometryComputerUtils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = GeometryComputerUtils.hpp; sourceTree = "<group>"; };
822		48608B50250632EC00CB1D71 /* GeometryComputer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = GeometryComputer.hpp; sourceTree = "<group>"; };
823		486E1A9724F5078D00C16006 /* CPURandomUniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPURandomUniform.cpp; sourceTree = "<group>"; };
824		486E1A9824F5078D00C16006 /* CPURandomUniform.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPURandomUniform.hpp; sourceTree = "<group>"; };
825		486E1A9B24F507A600C16006 /* ShapeRandomUniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeRandomUniform.cpp; sourceTree = "<group>"; };
826		48747D45245D9D23000B9709 /* RuntimeFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RuntimeFactory.cpp; sourceTree = "<group>"; };
827		48747D47245D9D23000B9709 /* RuntimeFactory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RuntimeFactory.hpp; sourceTree = "<group>"; };
828		48747D4D245D9E12000B9709 /* CPURaster.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPURaster.hpp; sourceTree = "<group>"; };
829		48747D4E245D9E13000B9709 /* CPURaster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPURaster.cpp; sourceTree = "<group>"; };
830		48747D52245D9E33000B9709 /* ConvertUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvertUtils.cpp; sourceTree = "<group>"; };
831		48747D53245D9E33000B9709 /* GeometryOPRegister.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryOPRegister.cpp; sourceTree = "<group>"; };
832		48747D54245D9E33000B9709 /* GeometryPermute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryPermute.cpp; sourceTree = "<group>"; };
833		48747D55245D9E33000B9709 /* GeometryTile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryTile.cpp; sourceTree = "<group>"; };
834		48747D56245D9E33000B9709 /* GeometryReshape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryReshape.cpp; sourceTree = "<group>"; };
835		48747D57245D9E33000B9709 /* GeometryDepthToSpace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryDepthToSpace.cpp; sourceTree = "<group>"; };
836		48747D58245D9E33000B9709 /* GeometryBroadcastTo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryBroadcastTo.cpp; sourceTree = "<group>"; };
837		48747D5A245D9E33000B9709 /* GeometryCrop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryCrop.cpp; sourceTree = "<group>"; };
838		48747D5B245D9E33000B9709 /* GeometryStridedSlice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryStridedSlice.cpp; sourceTree = "<group>"; };
839		48747D5C245D9E33000B9709 /* GeometryFill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryFill.cpp; sourceTree = "<group>"; };
840		48747D5D245D9E33000B9709 /* GeometrySpaceToBatchND.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometrySpaceToBatchND.cpp; sourceTree = "<group>"; };
841		48747D5E245D9E33000B9709 /* ConvertUtils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvertUtils.hpp; sourceTree = "<group>"; };
842		48747D5F245D9E33000B9709 /* GeometrySlice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometrySlice.cpp; sourceTree = "<group>"; };
843		48747D60245D9E33000B9709 /* GeometryConcat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryConcat.cpp; sourceTree = "<group>"; };
844		4882C8B4241A22B800DAC168 /* OpCommonUtils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = OpCommonUtils.hpp; sourceTree = "<group>"; };
845		4882C8B5241A22B800DAC168 /* ConvolutionCommon.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvolutionCommon.hpp; sourceTree = "<group>"; };
846		4882C8B6241A22B800DAC168 /* OpCommonUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OpCommonUtils.cpp; sourceTree = "<group>"; };
847		4882C8B7241A22B800DAC168 /* ConvolutionCommon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvolutionCommon.cpp; sourceTree = "<group>"; };
848		4882C8BC241A24D600DAC168 /* Convolution3DTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Convolution3DTest.cpp; sourceTree = "<group>"; };
849		4882C8BD241A24D600DAC168 /* SizeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SizeTest.cpp; sourceTree = "<group>"; };
850		4882C8BE241A24D700DAC168 /* SoftsignTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoftsignTest.cpp; sourceTree = "<group>"; };
851		4882C8BF241A24D700DAC168 /* UnstackTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnstackTest.cpp; sourceTree = "<group>"; };
852		4882C8C0241A24D700DAC168 /* EluTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EluTest.cpp; sourceTree = "<group>"; };
853		4882C8C1241A24D700DAC168 /* Pool3DTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pool3DTest.cpp; sourceTree = "<group>"; };
854		4882C8C2241A24D700DAC168 /* MultiConvolutionTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiConvolutionTest.cpp; sourceTree = "<group>"; };
855		4882C8C3241A24D700DAC168 /* Dilation2DTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Dilation2DTest.cpp; sourceTree = "<group>"; };
856		4882C8C5241A24D700DAC168 /* ZerosLikeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ZerosLikeTest.cpp; sourceTree = "<group>"; };
857		4882C8C6241A24D700DAC168 /* ConvInt8Test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvInt8Test.cpp; sourceTree = "<group>"; };
858		4882C8C7241A24D700DAC168 /* UnravelIndexTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnravelIndexTest.cpp; sourceTree = "<group>"; };
859		4882C8C8241A24D700DAC168 /* ScatterNdTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScatterNdTest.cpp; sourceTree = "<group>"; };
860		4882C8C9241A24D700DAC168 /* OneHotTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OneHotTest.cpp; sourceTree = "<group>"; };
861		4882C8CA241A24D800DAC168 /* SplitTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SplitTest.cpp; sourceTree = "<group>"; };
862		4882C8CB241A24D800DAC168 /* SoftplusTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoftplusTest.cpp; sourceTree = "<group>"; };
863		4882C8CC241A24D800DAC168 /* DepthToSpaceTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DepthToSpaceTest.cpp; sourceTree = "<group>"; };
864		4882C8CD241A24D800DAC168 /* SpaceToDepthTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpaceToDepthTest.cpp; sourceTree = "<group>"; };
865		4882C8CE241A24D800DAC168 /* Conv2DBackPropTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Conv2DBackPropTest.cpp; sourceTree = "<group>"; };
866		4882C8CF241A24D800DAC168 /* ExpandDimsTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExpandDimsTest.cpp; sourceTree = "<group>"; };
867		4882C8D0241A24D800DAC168 /* PadTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PadTest.cpp; sourceTree = "<group>"; };
868		4882C8D1241A24D800DAC168 /* StackTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StackTest.cpp; sourceTree = "<group>"; };
869		4882C8D2241A24D800DAC168 /* MatrixBandPart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MatrixBandPart.cpp; sourceTree = "<group>"; };
870		4882C8D3241A24D800DAC168 /* MomentsTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MomentsTest.cpp; sourceTree = "<group>"; };
871		4882C8D5241A24D800DAC168 /* BroadcastToTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BroadcastToTest.cpp; sourceTree = "<group>"; };
872		4882C8D6241A24D900DAC168 /* ArgMaxTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArgMaxTest.cpp; sourceTree = "<group>"; };
873		4882C8D7241A24D900DAC168 /* SetDiff1DTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetDiff1DTest.cpp; sourceTree = "<group>"; };
874		4882C8D8241A24D900DAC168 /* LinSpaceTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LinSpaceTest.cpp; sourceTree = "<group>"; };
875		4882C8D9241A24D900DAC168 /* MultiDeconvolutionTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiDeconvolutionTest.cpp; sourceTree = "<group>"; };
876		4882C8DA241A24D900DAC168 /* Conv2DBackPropFilterTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Conv2DBackPropFilterTest.cpp; sourceTree = "<group>"; };
877		4882C8DB241A24D900DAC168 /* PoolGradTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PoolGradTest.cpp; sourceTree = "<group>"; };
878		4882C8DC241A24D900DAC168 /* ShapeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeTest.cpp; sourceTree = "<group>"; };
879		48887567215B639E0079B12E /* WingoradGenerater.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WingoradGenerater.cpp; sourceTree = "<group>"; };
880		4888756A215B639E0079B12E /* Matrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Matrix.cpp; sourceTree = "<group>"; };
881		488F1156247BB2A0008E85C6 /* Arm82Raster.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82Raster.cpp; path = ../arm82/Arm82Raster.cpp; sourceTree = "<group>"; };
882		488F1157247BB2A0008E85C6 /* Arm82Raster.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = Arm82Raster.hpp; path = ../arm82/Arm82Raster.hpp; sourceTree = "<group>"; };
883		489404DD24A2FC2B001E456C /* GeometryReverseSequence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryReverseSequence.cpp; sourceTree = "<group>"; };
884		4896D36425FE2A3C00717702 /* Arm82Unary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82Unary.cpp; path = ../arm82/Arm82Unary.cpp; sourceTree = "<group>"; };
885		4896D36525FE2A3C00717702 /* Arm82Unary.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82Unary.hpp; path = ../arm82/Arm82Unary.hpp; sourceTree = "<group>"; };
886		4896D36825FE2A3D00717702 /* Arm82Vec.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82Vec.hpp; path = ../arm82/Arm82Vec.hpp; sourceTree = "<group>"; };
887		4896D37025FE2A6A00717702 /* MNNExpFP16.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = MNNExpFP16.S; path = ../../../arm82/asm/arm64/MNNExpFP16.S; sourceTree = "<group>"; };
888		4896D37125FE2A6A00717702 /* MNNPackedMatMulFP16.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = MNNPackedMatMulFP16.S; path = ../../../arm82/asm/arm64/MNNPackedMatMulFP16.S; sourceTree = "<group>"; };
889		4896D37225FE2A6A00717702 /* MNNPackedMatMulRemainFP16.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = MNNPackedMatMulRemainFP16.S; path = ../../../arm82/asm/arm64/MNNPackedMatMulRemainFP16.S; sourceTree = "<group>"; };
890		4896D37325FE2A6B00717702 /* MNNConvDwF23MulTransUnitFP16.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = MNNConvDwF23MulTransUnitFP16.S; path = ../../../arm82/asm/arm64/MNNConvDwF23MulTransUnitFP16.S; sourceTree = "<group>"; };
891		4896D37425FE2A6B00717702 /* MNNConvDwF23SourceTransUnitFP16.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = MNNConvDwF23SourceTransUnitFP16.S; path = ../../../arm82/asm/arm64/MNNConvDwF23SourceTransUnitFP16.S; sourceTree = "<group>"; };
892		4896D37525FE2A6B00717702 /* MNNPackC8FP16.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = MNNPackC8FP16.S; path = ../../../arm82/asm/arm64/MNNPackC8FP16.S; sourceTree = "<group>"; };
893		4896D37625FE2A6B00717702 /* Arm82MNNPackForMatMul_A.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = Arm82MNNPackForMatMul_A.S; path = ../../../arm82/asm/arm64/Arm82MNNPackForMatMul_A.S; sourceTree = "<group>"; };
894		4896D37725FE2A6B00717702 /* MNNConvRunForLineDepthwiseFP16.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = MNNConvRunForLineDepthwiseFP16.S; path = ../../../arm82/asm/arm64/MNNConvRunForLineDepthwiseFP16.S; sourceTree = "<group>"; };
895		489D7A162550FDC800AD896A /* MetalReLU6.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalReLU6.metal; sourceTree = "<group>"; };
896		489D7A172550FDC800AD896A /* MetalReduction.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalReduction.hpp; sourceTree = "<group>"; };
897		489D7A192550FDC800AD896A /* MetalConvolutionGEMM.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalConvolutionGEMM.hpp; sourceTree = "<group>"; };
898		489D7A1A2550FDC800AD896A /* MetalReLU.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalReLU.metal; sourceTree = "<group>"; };
899		489D7A1D2550FDC800AD896A /* MetalROIPooling.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalROIPooling.hpp; sourceTree = "<group>"; };
900		489D7A1E2550FDC800AD896A /* MetalCast.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalCast.mm; sourceTree = "<group>"; };
901		489D7A1F2550FDC800AD896A /* MetalRaster.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalRaster.hpp; sourceTree = "<group>"; };
902		489D7A202550FDC800AD896A /* MetalConvolutionDepthwise.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalConvolutionDepthwise.metal; sourceTree = "<group>"; };
903		489D7A212550FDC800AD896A /* MetalReLU6.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalReLU6.hpp; sourceTree = "<group>"; };
904		489D7A222550FDC800AD896A /* MetalBackend.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalBackend.hpp; sourceTree = "<group>"; };
905		489D7A232550FDC800AD896A /* MetalConvolutionActivation.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalConvolutionActivation.metal; sourceTree = "<group>"; };
906		489D7A242550FDC800AD896A /* MetalConvolution.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalConvolution.metal; sourceTree = "<group>"; };
907		489D7A252550FDC800AD896A /* MetalReduction.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalReduction.mm; sourceTree = "<group>"; };
908		489D7A262550FDC800AD896A /* MetalConvolutionGEMM.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalConvolutionGEMM.mm; sourceTree = "<group>"; };
909		489D7A272550FDC800AD896A /* MetalEltwise.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalEltwise.mm; sourceTree = "<group>"; };
910		489D7A282550FDC800AD896A /* MetalConvolution1x1.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalConvolution1x1.mm; sourceTree = "<group>"; };
911		489D7A292550FDC800AD896A /* MetalReduction.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalReduction.metal; sourceTree = "<group>"; };
912		489D7A2A2550FDC800AD896A /* MetalUnary.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalUnary.hpp; sourceTree = "<group>"; };
913		489D7A2B2550FDC800AD896A /* MetalBackend.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalBackend.metal; sourceTree = "<group>"; };
914		489D7A2C2550FDC800AD896A /* MetalConvolution.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalConvolution.mm; sourceTree = "<group>"; };
915		489D7A2D2550FDC800AD896A /* MNNMetalContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MNNMetalContext.mm; sourceTree = "<group>"; };
916		489D7A2E2550FDC800AD896A /* MetalReLU.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalReLU.hpp; sourceTree = "<group>"; };
917		489D7A2F2550FDC800AD896A /* MetalEltwise.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalEltwise.hpp; sourceTree = "<group>"; };
918		489D7A302550FDC800AD896A /* MetalPooling.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalPooling.hpp; sourceTree = "<group>"; };
919		489D7A312550FDC800AD896A /* MetalPReLU.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalPReLU.hpp; sourceTree = "<group>"; };
920		489D7A322550FDC800AD896A /* MetalMatMul.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalMatMul.mm; sourceTree = "<group>"; };
921		489D7A332550FDC800AD896A /* MetalBinary.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalBinary.mm; sourceTree = "<group>"; };
922		489D7A342550FDC800AD896A /* MetalConvolutionWinograd.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalConvolutionWinograd.metal; sourceTree = "<group>"; };
923		489D7A352550FDC800AD896A /* MetalMatMul.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalMatMul.metal; sourceTree = "<group>"; };
924		489D7A362550FDC800AD896A /* MetalOPRegister.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalOPRegister.mm; sourceTree = "<group>"; };
925		489D7A372550FDC800AD896A /* MetalTensorConverter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalTensorConverter.hpp; sourceTree = "<group>"; };
926		489D7A392550FDC800AD896A /* MetalConvolutionDepthwise.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalConvolutionDepthwise.mm; sourceTree = "<group>"; };
927		489D7A3A2550FDC800AD896A /* MetalConvolutionWinograd.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalConvolutionWinograd.hpp; sourceTree = "<group>"; };
928		489D7A3B2550FDC800AD896A /* MetalDeconvolution.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalDeconvolution.mm; sourceTree = "<group>"; };
929		489D7A3C2550FDC800AD896A /* MetalReLU.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalReLU.mm; sourceTree = "<group>"; };
930		489D7A3D2550FDC800AD896A /* MetalPooling.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalPooling.mm; sourceTree = "<group>"; };
931		489D7A3E2550FDC800AD896A /* MetalScale.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalScale.metal; sourceTree = "<group>"; };
932		489D7A3F2550FDC800AD896A /* MetalConvolution.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalConvolution.hpp; sourceTree = "<group>"; };
933		489D7A402550FDC800AD896A /* MetalScale.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalScale.mm; sourceTree = "<group>"; };
934		489D7A422550FDC800AD896A /* MetalFixedPoint.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalFixedPoint.metal; sourceTree = "<group>"; };
935		489D7A442550FDC800AD896A /* MetalMatMul.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalMatMul.hpp; sourceTree = "<group>"; };
936		489D7A452550FDC800AD896A /* MetalConvolution1x1.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalConvolution1x1.hpp; sourceTree = "<group>"; };
937		489D7A462550FDC800AD896A /* MetalConvolutionDepthwise.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalConvolutionDepthwise.hpp; sourceTree = "<group>"; };
938		489D7A472550FDC800AD896A /* MNNMetalContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MNNMetalContext.h; sourceTree = "<group>"; };
939		489D7A482550FDC800AD896A /* MetalDeconvolution.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalDeconvolution.metal; sourceTree = "<group>"; };
940		489D7A492550FDC800AD896A /* MetalConvolutionCommon.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalConvolutionCommon.mm; sourceTree = "<group>"; };
941		489D7A4A2550FDC800AD896A /* MetalDeconvolution.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalDeconvolution.hpp; sourceTree = "<group>"; };
942		489D7A4B2550FDC800AD896A /* MetalPooling.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalPooling.metal; sourceTree = "<group>"; };
943		489D7A4C2550FDC800AD896A /* MetalInterp.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalInterp.mm; sourceTree = "<group>"; };
944		489D7A4D2550FDC800AD896A /* MetalROIPooling.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalROIPooling.metal; sourceTree = "<group>"; };
945		489D7A4E2550FDC800AD896A /* MetalConvolutionCommon.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalConvolutionCommon.hpp; sourceTree = "<group>"; };
946		489D7A4F2550FDC800AD896A /* MetalCast.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalCast.metal; sourceTree = "<group>"; };
947		489D7A502550FDC800AD896A /* MetalUnary.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalUnary.mm; sourceTree = "<group>"; };
948		489D7A522550FDC800AD896A /* MetalRaster.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalRaster.mm; sourceTree = "<group>"; };
949		489D7A532550FDC800AD896A /* MetalROIPooling.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalROIPooling.mm; sourceTree = "<group>"; };
950		489D7A542550FDC800AD896A /* MetalInterp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalInterp.hpp; sourceTree = "<group>"; };
951		489D7A552550FDC800AD896A /* MetalBackend.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalBackend.mm; sourceTree = "<group>"; };
952		489D7A562550FDC800AD896A /* MetalScale.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalScale.hpp; sourceTree = "<group>"; };
953		489D7A572550FDC800AD896A /* MetalCast.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalCast.hpp; sourceTree = "<group>"; };
954		489D7A582550FDC800AD896A /* MetalConvolution1x1.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalConvolution1x1.metal; sourceTree = "<group>"; };
955		489D7A5A2550FDC800AD896A /* MetalConvolutionGEMM.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalConvolutionGEMM.metal; sourceTree = "<group>"; };
956		489D7A5B2550FDC800AD896A /* MetalTensorConverter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalTensorConverter.mm; sourceTree = "<group>"; };
957		489D7A5C2550FDC800AD896A /* MetalResize.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalResize.metal; sourceTree = "<group>"; };
958		489D7A5D2550FDC800AD896A /* MetalPReLU.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalPReLU.metal; sourceTree = "<group>"; };
959		489D7A5E2550FDC800AD896A /* MetalConvolutionWinograd.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalConvolutionWinograd.mm; sourceTree = "<group>"; };
960		489D7A5F2550FDC800AD896A /* MetalDefine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetalDefine.h; sourceTree = "<group>"; };
961		489D7A602550FDC800AD896A /* MetalDefine.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalDefine.metal; sourceTree = "<group>"; };
962		489D7A612550FDC800AD896A /* MetalUnary.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalUnary.metal; sourceTree = "<group>"; };
963		489D7A622550FDC800AD896A /* MetalPReLU.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalPReLU.mm; sourceTree = "<group>"; };
964		489D7A632550FDC800AD896A /* MetalBinary.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MetalBinary.hpp; sourceTree = "<group>"; };
965		489D7A642550FDC800AD896A /* MetalBinary.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalBinary.metal; sourceTree = "<group>"; };
966		489D7A652550FDC800AD896A /* MetalReLU6.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MetalReLU6.mm; sourceTree = "<group>"; };
967		489D7A662550FDC800AD896A /* MetalEltwise.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = MetalEltwise.metal; sourceTree = "<group>"; };
968		489D7AC42550FF9F00AD896A /* ExecutorScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExecutorScope.cpp; sourceTree = "<group>"; };
969		48A046FB25E4ABAC00CFA868 /* GeometryUnary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryUnary.cpp; sourceTree = "<group>"; };
970		48A8A60B21D101A700C2B9A7 /* ImageProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageProcess.cpp; sourceTree = "<group>"; };
971		48A8A60C21D101A700C2B9A7 /* ImageSampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSampler.cpp; sourceTree = "<group>"; };
972		48A8A60D21D101A700C2B9A7 /* ImageBlitter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageBlitter.cpp; sourceTree = "<group>"; };
973		48A8A60E21D101A700C2B9A7 /* ImageFloatBlitter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageFloatBlitter.cpp; sourceTree = "<group>"; };
974		48A8A61721D101DD00C2B9A7 /* Matrix_CV.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Matrix_CV.cpp; sourceTree = "<group>"; };
975		48BB6EEF25220A930056E195 /* MNNTranspose32Bit4x4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNTranspose32Bit4x4.S; sourceTree = "<group>"; };
976		48BB6EF525220AA80056E195 /* MNNTranspose32Bit4x4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNTranspose32Bit4x4.S; sourceTree = "<group>"; };
977		48BFC50025B84D2700580F9E /* GeometryGather.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryGather.cpp; sourceTree = "<group>"; };
978		48C84B6A250F709E00EE7666 /* SizeComputer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = SizeComputer.hpp; sourceTree = "<group>"; };
979		48C84B6B250F709E00EE7666 /* SizeComputer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SizeComputer.cpp; sourceTree = "<group>"; };
980		48C84B71250F711600EE7666 /* PipelineModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PipelineModule.cpp; sourceTree = "<group>"; };
981		48C84B72250F711600EE7666 /* Module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Module.cpp; sourceTree = "<group>"; };
982		48C84B73250F711600EE7666 /* WhileModule.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = WhileModule.hpp; sourceTree = "<group>"; };
983		48C84B74250F711600EE7666 /* IfModule.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = IfModule.hpp; sourceTree = "<group>"; };
984		48C84B75250F711600EE7666 /* StaticModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StaticModule.cpp; sourceTree = "<group>"; };
985		48C84B76250F711600EE7666 /* WhileModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WhileModule.cpp; sourceTree = "<group>"; };
986		48C84B77250F711600EE7666 /* IfModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IfModule.cpp; sourceTree = "<group>"; };
987		48C84B78250F711600EE7666 /* StaticModule.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = StaticModule.hpp; sourceTree = "<group>"; };
988		48C84B7A250F711600EE7666 /* PipelineModule.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = PipelineModule.hpp; sourceTree = "<group>"; };
989		48C84B92250F71E900EE7666 /* CPUSoftmax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUSoftmax.cpp; sourceTree = "<group>"; };
990		48C84B94250F71E900EE7666 /* CPUSoftmax.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUSoftmax.hpp; sourceTree = "<group>"; };
991		48C84B99250F720C00EE7666 /* CPULayerNorm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPULayerNorm.cpp; sourceTree = "<group>"; };
992		48C84B9B250F722B00EE7666 /* Command.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Command.hpp; sourceTree = "<group>"; };
993		48C84B9E250F725600EE7666 /* InitNet.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = InitNet.hpp; sourceTree = "<group>"; };
994		48C84B9F250F725600EE7666 /* InitNet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitNet.cpp; sourceTree = "<group>"; };
995		48F5880D24DEA3F000C484A2 /* GeometryPooling3D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryPooling3D.cpp; sourceTree = "<group>"; };
996		48F5880F24DEA3F000C484A2 /* GeometryConv3D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryConv3D.cpp; sourceTree = "<group>"; };
997		48F5881024DEA3F000C484A2 /* GeometryDilation2D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryDilation2D.cpp; sourceTree = "<group>"; };
998		48F9E54B2493511200E46522 /* MNNPackedMatMul.S */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = MNNPackedMatMul.S; sourceTree = "<group>"; };
999		48F9E54D2493A0A800E46522 /* MNNPackC4ForMatMul_A.S */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = MNNPackC4ForMatMul_A.S; sourceTree = "<group>"; };
1000		48FA473C23AA127A00172C3B /* MergeOptimizer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MergeOptimizer.hpp; sourceTree = "<group>"; };
1001		48FA473D23AA127B00172C3B /* Executor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Executor.cpp; sourceTree = "<group>"; };
1002		48FA473E23AA127B00172C3B /* NeuralNetWorkOp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NeuralNetWorkOp.cpp; sourceTree = "<group>"; };
1003		48FA473F23AA127B00172C3B /* Optimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Optimizer.cpp; sourceTree = "<group>"; };
1004		48FA474023AA127B00172C3B /* Expr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Expr.cpp; sourceTree = "<group>"; };
1005		48FA474123AA127B00172C3B /* MathOp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathOp.cpp; sourceTree = "<group>"; };
1006		48FA474223AA127B00172C3B /* Utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Utils.cpp; sourceTree = "<group>"; };
1007		48FA474323AA127B00172C3B /* Utils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Utils.hpp; sourceTree = "<group>"; };
1008		48FA474C23AA136300172C3B /* MergeOptimizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MergeOptimizer.cpp; sourceTree = "<group>"; };
1009		48FB9DBF24A8445A008E1A2D /* MNNAxByClampBroadcastC4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNAxByClampBroadcastC4.S; sourceTree = "<group>"; };
1010		48FB9DC024A8445A008E1A2D /* MNNPackedMatMulRemain.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackedMatMulRemain.S; sourceTree = "<group>"; };
1011		48FB9DC324A848D0008E1A2D /* MNNPackedMatMul.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackedMatMul.S; sourceTree = "<group>"; };
1012		48FB9DC424A848D0008E1A2D /* MNNPackC4ForMatMul_A.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackC4ForMatMul_A.S; sourceTree = "<group>"; };
1013		48FB9DC524A848D0008E1A2D /* MNNPackedMatMulRemain.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackedMatMulRemain.S; sourceTree = "<group>"; };
1014		48FB9DC624A848D0008E1A2D /* MNNAxByClampBroadcastC4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNAxByClampBroadcastC4.S; sourceTree = "<group>"; };
1015		48FB9DCD24AB080C008E1A2D /* MNNPackC8.S */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = MNNPackC8.S; sourceTree = "<group>"; };
1016		48FD03432467C64700456AF5 /* MatMulSpeed.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MatMulSpeed.cpp; sourceTree = "<group>"; };
1017		48FD03442467C64700456AF5 /* ReluSpeed.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReluSpeed.cpp; sourceTree = "<group>"; };
1018		48FD03452467C64700456AF5 /* BinarySpeedTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BinarySpeedTest.cpp; sourceTree = "<group>"; };
1019		48FD0349246AA40300456AF5 /* GeometryConvert.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryConvert.cpp; sourceTree = "<group>"; };
1020		48FD12BC2466A88C009E9102 /* GeometryImageOp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryImageOp.cpp; sourceTree = "<group>"; };
1021		48FD12BD2466A88D009E9102 /* GeometryConv2DBackPropFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryConv2DBackPropFilter.cpp; sourceTree = "<group>"; };
1022		4D4DAE67263905390060D37E /* CoreMLDefine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreMLDefine.h; sourceTree = "<group>"; };
1023		4D6D7FC6265688E200F80814 /* MNNPackC4ForMatMul_A_BF16.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackC4ForMatMul_A_BF16.S; sourceTree = "<group>"; };
1024		4D6D7FC8265688EA00F80814 /* MNNPackedSparseMatMulEpx1.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackedSparseMatMulEpx1.S; sourceTree = "<group>"; };
1025		4D6D7FCA265688F600F80814 /* MNNPackedSparseMatMulEpx4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackedSparseMatMulEpx4.S; sourceTree = "<group>"; };
1026		4D6D7FCC2656890500F80814 /* MNNPackC4ForMatMul_A_BF16.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackC4ForMatMul_A_BF16.S; sourceTree = "<group>"; };
1027		4D6D7FCE2656890C00F80814 /* MNNPackedSparseMatMulEpx1.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackedSparseMatMulEpx1.S; sourceTree = "<group>"; };
1028		4D6D7FD02656891400F80814 /* MNNPackedSparseMatMulEpx4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackedSparseMatMulEpx4.S; sourceTree = "<group>"; };
1029		4D6D7FD22656895C00F80814 /* DenseConvolutionTiledExecutor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DenseConvolutionTiledExecutor.cpp; sourceTree = "<group>"; };
1030		4D6D7FD42656896600F80814 /* DenseConvolutionTiledExecutor.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DenseConvolutionTiledExecutor.hpp; sourceTree = "<group>"; };
1031		4D6D7FD62656896D00F80814 /* SparseConvolutionTiledExecutor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SparseConvolutionTiledExecutor.cpp; sourceTree = "<group>"; };
1032		4D6D7FD82656897200F80814 /* SparseConvolutionTiledExecutor.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = SparseConvolutionTiledExecutor.hpp; sourceTree = "<group>"; };
1033		4D6D7FDA2656898200F80814 /* MemoryFormater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryFormater.h; sourceTree = "<group>"; };
1034		4D6D7FDE2656994600F80814 /* benchmark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = benchmark.cpp; sourceTree = "<group>"; };
1035		4D759B2B25FF89EE0037B0B6 /* GeometryShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeometryShape.cpp; sourceTree = "<group>"; };
1036		4D9A932626255BDA00F9B43C /* Model.pb-c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Model.pb-c.h"; sourceTree = "<group>"; };
1037		4D9A932826255BDA00F9B43C /* protobuf-c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "protobuf-c.h"; sourceTree = "<group>"; };
1038		4D9A932926255BDA00F9B43C /* FeatureTypes.pb-c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "FeatureTypes.pb-c.h"; sourceTree = "<group>"; };
1039		4D9A932A26255BDA00F9B43C /* DataStructures.pb-c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DataStructures.pb-c.h"; sourceTree = "<group>"; };
1040		4D9A932B26255BDA00F9B43C /* Parameters.pb-c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Parameters.pb-c.h"; sourceTree = "<group>"; };
1041		4D9A932C26255BDA00F9B43C /* NeuralNetwork.pb-c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NeuralNetwork.pb-c.h"; sourceTree = "<group>"; };
1042		4D9A932F26255BDA00F9B43C /* DataStructures.pb-c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "DataStructures.pb-c.c"; sourceTree = "<group>"; };
1043		4D9A933026255BDA00F9B43C /* Parameters.pb-c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "Parameters.pb-c.c"; sourceTree = "<group>"; };
1044		4D9A933126255BDA00F9B43C /* NeuralNetwork.pb-c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "NeuralNetwork.pb-c.c"; sourceTree = "<group>"; };
1045		4D9A933226255BDA00F9B43C /* Model.pb-c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "Model.pb-c.c"; sourceTree = "<group>"; };
1046		4D9A933326255BDA00F9B43C /* protobuf-c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "protobuf-c.c"; sourceTree = "<group>"; };
1047		4D9A933426255BDA00F9B43C /* FeatureTypes.pb-c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "FeatureTypes.pb-c.c"; sourceTree = "<group>"; };
1048		4D9A933626255BDA00F9B43C /* CoreMLBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLBackend.cpp; sourceTree = "<group>"; };
1049		4D9A933726255BDA00F9B43C /* CoreMLExecutor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CoreMLExecutor.mm; sourceTree = "<group>"; };
1050		4D9A933826255BDA00F9B43C /* CoreMLBackend.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLBackend.hpp; sourceTree = "<group>"; };
1051		4D9A933926255BDA00F9B43C /* CoreMLExecutor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreMLExecutor.h; sourceTree = "<group>"; };
1052		4D9A933B26255BDA00F9B43C /* CoreMLReduction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLReduction.cpp; sourceTree = "<group>"; };
1053		4D9A933C26255BDA00F9B43C /* CoreMLCommonExecution.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLCommonExecution.cpp; sourceTree = "<group>"; };
1054		4D9A933D26255BDA00F9B43C /* CoreMLScale.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLScale.hpp; sourceTree = "<group>"; };
1055		4D9A933E26255BDA00F9B43C /* CoreMLBinary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLBinary.cpp; sourceTree = "<group>"; };
1056		4D9A933F26255BDA00F9B43C /* CoreMLPool.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLPool.hpp; sourceTree = "<group>"; };
1057		4D9A934026255BDA00F9B43C /* CoreMLRaster.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLRaster.hpp; sourceTree = "<group>"; };
1058		4D9A934126255BDA00F9B43C /* CoreMLActivation.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLActivation.hpp; sourceTree = "<group>"; };
1059		4D9A934226255BDA00F9B43C /* CoreMLArgMax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLArgMax.cpp; sourceTree = "<group>"; };
1060		4D9A934326255BDA00F9B43C /* CoreMLConvolution.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLConvolution.cpp; sourceTree = "<group>"; };
1061		4D9A934426255BDA00F9B43C /* CoreMLUnary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLUnary.cpp; sourceTree = "<group>"; };
1062		4D9A934526255BDA00F9B43C /* CoreMLArgMax.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLArgMax.hpp; sourceTree = "<group>"; };
1063		4D9A934626255BDA00F9B43C /* CoreMLConvolution.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLConvolution.hpp; sourceTree = "<group>"; };
1064		4D9A934726255BDA00F9B43C /* CoreMLUnary.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLUnary.hpp; sourceTree = "<group>"; };
1065		4D9A934826255BDA00F9B43C /* CoreMLReduction.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLReduction.hpp; sourceTree = "<group>"; };
1066		4D9A934926255BDA00F9B43C /* CoreMLCommonExecution.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLCommonExecution.hpp; sourceTree = "<group>"; };
1067		4D9A934A26255BDA00F9B43C /* CoreMLScale.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLScale.cpp; sourceTree = "<group>"; };
1068		4D9A934B26255BDA00F9B43C /* CoreMLPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLPool.cpp; sourceTree = "<group>"; };
1069		4D9A934C26255BDA00F9B43C /* CoreMLBinary.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLBinary.hpp; sourceTree = "<group>"; };
1070		4D9A934D26255BDA00F9B43C /* CoreMLRaster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLRaster.cpp; sourceTree = "<group>"; };
1071		4D9A934E26255BDA00F9B43C /* CoreMLActivation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLActivation.cpp; sourceTree = "<group>"; };
1072		4D9A93A826255DF800F9B43C /* benchmark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = benchmark.h; sourceTree = "<group>"; };
1073		4D9A93CE26255E6F00F9B43C /* revertMNNModel.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = revertMNNModel.hpp; path = ../tools/cpp/revertMNNModel.hpp; sourceTree = "<group>"; };
1074		4D9A93CF26255E9600F9B43C /* revertMNNModel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = revertMNNModel.cpp; path = ../tools/cpp/revertMNNModel.cpp; sourceTree = "<group>"; };
1075		4D9A93D326255ECD00F9B43C /* CoreML.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreML.framework; path = System/Library/Frameworks/CoreML.framework; sourceTree = SDKROOT; };
1076		4D9A93EA26255FB000F9B43C /* models */ = {isa = PBXFileReference; lastKnownFileType = folder; path = models; sourceTree = "<group>"; };
1077		4DDE2017263809920085AC8F /* CoreMLExecutorWrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CoreMLExecutorWrapper.mm; sourceTree = "<group>"; };
1078		4DDE2018263809920085AC8F /* CoreMLExecutorWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreMLExecutorWrapper.h; sourceTree = "<group>"; };
1079		4DF63F2C2660D9CB00590730 /* CoreMLInterp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreMLInterp.cpp; sourceTree = "<group>"; };
1080		4DF63F2E2660D9D100590730 /* CoreMLInterp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CoreMLInterp.hpp; sourceTree = "<group>"; };
1081		6A131E3D25823349002EC3D6 /* PluginShapeInference.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginShapeInference.cpp; sourceTree = "<group>"; };
1082		6A131E3E25823349002EC3D6 /* PluginKernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginKernel.cpp; sourceTree = "<group>"; };
1083		9200045321EDBCF700BCE892 /* MNNTestSuite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MNNTestSuite.h; path = ../../../test/MNNTestSuite.h; sourceTree = "<group>"; };
1084		9200045521EDBCF700BCE892 /* TestUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TestUtils.h; path = ../../../test/TestUtils.h; sourceTree = "<group>"; };
1085		9200045721EDBCF700BCE892 /* TestUtils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = TestUtils.mm; path = ../../../test/TestUtils.mm; sourceTree = "<group>"; };
1086		9200045821EDBCF700BCE892 /* MNNTestSuite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MNNTestSuite.cpp; path = ../../../test/MNNTestSuite.cpp; sourceTree = "<group>"; };
1087		9200045921EDBCF700BCE892 /* TestUtils.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TestUtils.cpp; path = ../../../test/TestUtils.cpp; sourceTree = "<group>"; };
1088		9200045D21EDBDF600BCE892 /* TensorTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TensorTest.cpp; sourceTree = "<group>"; };
1089		9200045F21EDBDF600BCE892 /* ImageProcessTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageProcessTest.cpp; sourceTree = "<group>"; };
1090		9200046021EDBDF600BCE892 /* MatrixTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MatrixTest.cpp; sourceTree = "<group>"; };
1091		9200046621EDBDF600BCE892 /* SqueezeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SqueezeTest.cpp; sourceTree = "<group>"; };
1092		9200046A21EDBDF600BCE892 /* MatMulTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MatMulTest.cpp; sourceTree = "<group>"; };
1093		9200046B21EDBDF600BCE892 /* TileTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TileTest.cpp; sourceTree = "<group>"; };
1094		9200046D21EDBDF600BCE892 /* RankTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RankTest.cpp; sourceTree = "<group>"; };
1095		9200046E21EDBDF600BCE892 /* GatherTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GatherTest.cpp; sourceTree = "<group>"; };
1096		9200046F21EDBDF600BCE892 /* ReductionTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReductionTest.cpp; sourceTree = "<group>"; };
1097		9200047021EDBDF600BCE892 /* GatherV2Test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GatherV2Test.cpp; sourceTree = "<group>"; };
1098		9200047421EDBDF600BCE892 /* ConvolutionTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvolutionTest.cpp; sourceTree = "<group>"; };
1099		9200047821EDBDF600BCE892 /* ReshapeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReshapeTest.cpp; sourceTree = "<group>"; };
1100		9200047921EDBDF600BCE892 /* ReLUTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReLUTest.cpp; sourceTree = "<group>"; };
1101		9200047B21EDBDF600BCE892 /* BinaryOPTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BinaryOPTest.cpp; sourceTree = "<group>"; };
1102		9200047C21EDBDF600BCE892 /* BatchToSpaceNDTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BatchToSpaceNDTest.cpp; sourceTree = "<group>"; };
1103		9200047E21EDBDF600BCE892 /* SoftmaxTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoftmaxTest.cpp; sourceTree = "<group>"; };
1104		9200048221EDBDF600BCE892 /* FillTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FillTest.cpp; sourceTree = "<group>"; };
1105		9200048521EDBDF600BCE892 /* ResizeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResizeTest.cpp; sourceTree = "<group>"; };
1106		9200048A21EDBDF600BCE892 /* ConcatTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConcatTest.cpp; sourceTree = "<group>"; };
1107		9200048D21EDBDF600BCE892 /* CropTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CropTest.cpp; sourceTree = "<group>"; };
1108		9200049121EDBDF600BCE892 /* SpaceToBatchNDTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpaceToBatchNDTest.cpp; sourceTree = "<group>"; };
1109		9200049221EDBDF600BCE892 /* RangeTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RangeTest.cpp; sourceTree = "<group>"; };
1110		9200049321EDBDF600BCE892 /* SeLUTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SeLUTest.cpp; sourceTree = "<group>"; };
1111		9200049421EDBDF600BCE892 /* UnaryTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnaryTest.cpp; sourceTree = "<group>"; };
1112		9200049621EDBDF600BCE892 /* PReLUTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PReLUTest.cpp; sourceTree = "<group>"; };
1113		924B11AB21E73B9C006B37DB /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
1114		925702CE21EF0F5300A2A3CA /* TensorUtilsTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TensorUtilsTest.cpp; sourceTree = "<group>"; };
1115		925702D121EF270D00A2A3CA /* BufferAllocatorTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BufferAllocatorTest.cpp; sourceTree = "<group>"; };
1116		925702F521EF604400A2A3CA /* SizeComputerTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SizeComputerTest.cpp; sourceTree = "<group>"; };
1117		925F018821FF1E0B00E648A1 /* SqueezeNetTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SqueezeNetTest.cpp; path = ../../test/Model/SqueezeNetTest.cpp; sourceTree = SOURCE_ROOT; };
1118		925F018A21FF222E00E648A1 /* model */ = {isa = PBXFileReference; lastKnownFileType = folder; name = model; path = ../../resource/model; sourceTree = "<group>"; };
1119		925F018C21FFF3D300E648A1 /* MobileNetTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MobileNetTest.cpp; path = ../../test/Model/MobileNetTest.cpp; sourceTree = SOURCE_ROOT; };
1120		926F5C5F1FFF3D360078EE0A /* libc.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libc.tbd; path = usr/lib/libc.tbd; sourceTree = SDKROOT; };
1121		9273AB4B1FE7BE4D00477B22 /* Playground.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Playground.app; sourceTree = BUILT_PRODUCTS_DIR; };
1122		9273AB4D1FE7BE4D00477B22 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
1123		9273AB4E1FE7BE4D00477B22 /* AppDelegate.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AppDelegate.mm; sourceTree = "<group>"; };
1124		9273AB561FE7BE4D00477B22 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
1125		9273AB5B1FE7BE4D00477B22 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
1126		9273AB5C1FE7BE4D00477B22 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
1127		92A4E0FB21F05A4F000B0919 /* MemoryUtilsTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MemoryUtilsTest.cpp; sourceTree = "<group>"; };
1128		92A4E10221F07C76000B0919 /* AutoStorageTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AutoStorageTest.cpp; sourceTree = "<group>"; };
1129		92C674FD22549C9900011D33 /* ReLU6Test.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ReLU6Test.cpp; sourceTree = "<group>"; };
1130		92D765B8222819EF00178BE5 /* BackendTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BackendTest.cpp; sourceTree = "<group>"; };
1131		92FF00D523AA0B4800AC97F6 /* CPUQuanConvolutionDepthwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUQuanConvolutionDepthwise.cpp; sourceTree = "<group>"; };
1132		92FF00D723AA0B4800AC97F6 /* CPUPoolInt8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUPoolInt8.cpp; sourceTree = "<group>"; };
1133		92FF00DB23AA0B4800AC97F6 /* CPUInterp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUInterp.hpp; sourceTree = "<group>"; };
1134		92FF00DC23AA0B4900AC97F6 /* CPUROIPooling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUROIPooling.cpp; sourceTree = "<group>"; };
1135		92FF00DE23AA0B4900AC97F6 /* CPURNNSequenceGRU.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPURNNSequenceGRU.hpp; sourceTree = "<group>"; };
1136		92FF00DF23AA0B4900AC97F6 /* CPUCropAndResize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUCropAndResize.cpp; sourceTree = "<group>"; };
1137		92FF00E023AA0B4900AC97F6 /* CPUSelect.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUSelect.hpp; sourceTree = "<group>"; };
1138		92FF00E123AA0B4900AC97F6 /* CPUFloatToInt8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUFloatToInt8.cpp; sourceTree = "<group>"; };
1139		92FF00E323AA0B4900AC97F6 /* CPUQuantizedAvgPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUQuantizedAvgPool.cpp; sourceTree = "<group>"; };
1140		92FF00E423AA0B4900AC97F6 /* CPUProposal.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUProposal.hpp; sourceTree = "<group>"; };
1141		92FF00E523AA0B4900AC97F6 /* CPUReduceJoin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUReduceJoin.cpp; sourceTree = "<group>"; };
1142		92FF00E823AA0B4900AC97F6 /* CPUNonMaxSuppressionV2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUNonMaxSuppressionV2.cpp; sourceTree = "<group>"; };
1143		92FF00EB23AA0B4900AC97F6 /* CPUMatrixBandPart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUMatrixBandPart.cpp; sourceTree = "<group>"; };
1144		92FF00EC23AA0B4900AC97F6 /* CPUQuantizationUtils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUQuantizationUtils.hpp; sourceTree = "<group>"; };
1145		92FF00ED23AA0B4900AC97F6 /* CPUInt8ToFloat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUInt8ToFloat.cpp; sourceTree = "<group>"; };
1146		92FF00F023AA0B4A00AC97F6 /* CPUScatterNd.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUScatterNd.hpp; sourceTree = "<group>"; };
1147		92FF00F123AA0B4A00AC97F6 /* CPUPoolInt8.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUPoolInt8.hpp; sourceTree = "<group>"; };
1148		92FF00F223AA0B4A00AC97F6 /* CPUArgMax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUArgMax.cpp; sourceTree = "<group>"; };
1149		92FF00F323AA0B4A00AC97F6 /* CPUConvolution.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUConvolution.cpp; sourceTree = "<group>"; };
1150		92FF00F423AA0B4A00AC97F6 /* CPUInt8ToFloat.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUInt8ToFloat.hpp; sourceTree = "<group>"; };
1151		92FF00F523AA0B4A00AC97F6 /* CPUUnary.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUUnary.hpp; sourceTree = "<group>"; };
1152		92FF00F823AA0B4A00AC97F6 /* CPUPool.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUPool.hpp; sourceTree = "<group>"; };
1153		92FF00F923AA0B4A00AC97F6 /* CPUQuanConvolutionDepthwise.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUQuanConvolutionDepthwise.hpp; sourceTree = "<group>"; };
1154		92FF00FA23AA0B4A00AC97F6 /* CPUAsString.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUAsString.hpp; sourceTree = "<group>"; };
1155		92FF00FD23AA0B4A00AC97F6 /* CPUDeconvolutionDepthwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUDeconvolutionDepthwise.cpp; sourceTree = "<group>"; };
1156		92FF00FE23AA0B4B00AC97F6 /* CPUFloatToInt8.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUFloatToInt8.hpp; sourceTree = "<group>"; };
1157		92FF010423AA0B4B00AC97F6 /* CPUDeconvolution.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUDeconvolution.hpp; sourceTree = "<group>"; };
1158		92FF010523AA0B4B00AC97F6 /* CPUFixedPoint.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUFixedPoint.hpp; sourceTree = "<group>"; };
1159		92FF010623AA0B4B00AC97F6 /* CPUDequantize.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUDequantize.hpp; sourceTree = "<group>"; };
1160		92FF010A23AA0B4B00AC97F6 /* CPUReduction.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUReduction.hpp; sourceTree = "<group>"; };
1161		92FF010B23AA0B4B00AC97F6 /* CPUWhere.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUWhere.hpp; sourceTree = "<group>"; };
1162		92FF010C23AA0B4B00AC97F6 /* CPULinSpace.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPULinSpace.hpp; sourceTree = "<group>"; };
1163		92FF010D23AA0B4C00AC97F6 /* CPUDetectionOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUDetectionOutput.cpp; sourceTree = "<group>"; };
1164		92FF011123AA0B4C00AC97F6 /* CPURange.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPURange.hpp; sourceTree = "<group>"; };
1165		92FF011223AA0B4C00AC97F6 /* CPUMatMul.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUMatMul.cpp; sourceTree = "<group>"; };
1166		92FF011423AA0B4C00AC97F6 /* CPUCast.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUCast.hpp; sourceTree = "<group>"; };
1167		92FF011523AA0B4C00AC97F6 /* CPUEltwiseInt8.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUEltwiseInt8.hpp; sourceTree = "<group>"; };
1168		92FF011623AA0B4C00AC97F6 /* CPUTFQuantizedConv2D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUTFQuantizedConv2D.cpp; sourceTree = "<group>"; };
1169		92FF011823AA0B4C00AC97F6 /* CPUQuantizedMaxPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUQuantizedMaxPool.cpp; sourceTree = "<group>"; };
1170		92FF011923AA0B4C00AC97F6 /* CPUScale.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUScale.hpp; sourceTree = "<group>"; };
1171		92FF011C23AA0B4D00AC97F6 /* CPUDeconvolutionDepthwise.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUDeconvolutionDepthwise.hpp; sourceTree = "<group>"; };
1172		92FF011F23AA0B4D00AC97F6 /* CPUDepthwiseConvInt8.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUDepthwiseConvInt8.hpp; sourceTree = "<group>"; };
1173		92FF012123AA0B4D00AC97F6 /* CPUQuantizedLogistic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUQuantizedLogistic.cpp; sourceTree = "<group>"; };
1174		92FF012223AA0B4D00AC97F6 /* CPUBinary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUBinary.cpp; sourceTree = "<group>"; };
1175		92FF012423AA0B4D00AC97F6 /* CPUQuantizedMaxPool.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUQuantizedMaxPool.hpp; sourceTree = "<group>"; };
1176		92FF012723AA0B4D00AC97F6 /* CPUCropAndResize.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUCropAndResize.hpp; sourceTree = "<group>"; };
1177		92FF012923AA0B4D00AC97F6 /* CPUConst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUConst.cpp; sourceTree = "<group>"; };
1178		92FF012A23AA0B4D00AC97F6 /* CPUQuantizedSoftmax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUQuantizedSoftmax.cpp; sourceTree = "<group>"; };
1179		92FF012C23AA0B4D00AC97F6 /* CPUProposal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUProposal.cpp; sourceTree = "<group>"; };
1180		92FF012E23AA0B4E00AC97F6 /* CPUDequantize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUDequantize.cpp; sourceTree = "<group>"; };
1181		92FF012F23AA0B4E00AC97F6 /* CPUBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUBackend.cpp; sourceTree = "<group>"; };
1182		92FF013123AA0B4E00AC97F6 /* CPUInstanceNorm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUInstanceNorm.cpp; sourceTree = "<group>"; };
1183		92FF013223AA0B4E00AC97F6 /* CPUMoments.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUMoments.hpp; sourceTree = "<group>"; };
1184		92FF013323AA0B4E00AC97F6 /* CPUTopKV2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUTopKV2.cpp; sourceTree = "<group>"; };
1185		92FF013423AA0B4E00AC97F6 /* CPUUnary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUUnary.cpp; sourceTree = "<group>"; };
1186		92FF013523AA0B4E00AC97F6 /* CPUQuantizedAdd.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUQuantizedAdd.hpp; sourceTree = "<group>"; };
1187		92FF013623AA0B4E00AC97F6 /* CPUWhere.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUWhere.cpp; sourceTree = "<group>"; };
1188		92FF013B23AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNUInt8ToInt16WithOffsetC4Fast.S; sourceTree = "<group>"; };
1189		92FF013C23AA0B4E00AC97F6 /* MNNScaleAddInt8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNScaleAddInt8.S; sourceTree = "<group>"; };
1190		92FF013D23AA0B4E00AC97F6 /* MNNMatrixProd.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMatrixProd.S; sourceTree = "<group>"; };
1191		92FF013E23AA0B4E00AC97F6 /* MNNFloat2Int8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNFloat2Int8.S; sourceTree = "<group>"; };
1192		92FF013F23AA0B4E00AC97F6 /* MNNSamplerC4NearestOpt.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNSamplerC4NearestOpt.S; sourceTree = "<group>"; };
1193		92FF014023AA0B4E00AC97F6 /* MNNAddC4WithStride.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNAddC4WithStride.S; sourceTree = "<group>"; };
1194		92FF014123AA0B4E00AC97F6 /* MNNQuanToDestUint8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNQuanToDestUint8.S; sourceTree = "<group>"; };
1195		92FF014223AA0B4E00AC97F6 /* MNNLoadU8AndSum.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNLoadU8AndSum.S; sourceTree = "<group>"; };
1196		92FF014523AA0B4E00AC97F6 /* MNNStrassenMergeCFunction.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNStrassenMergeCFunction.S; sourceTree = "<group>"; };
1197		92FF014623AA0B4E00AC97F6 /* MNNBlitC1ToFloatRGBA.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNBlitC1ToFloatRGBA.S; sourceTree = "<group>"; };
1198		92FF014723AA0B4E00AC97F6 /* MNNCopyC4WithStride.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNCopyC4WithStride.S; sourceTree = "<group>"; };
1199		92FF014823AA0B4E00AC97F6 /* MNNNV21ToBGRUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNNV21ToBGRUnit.S; sourceTree = "<group>"; };
1200		92FF014923AA0B4E00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNLineDepthWiseInt8AddBiasScaleUnit.S; sourceTree = "<group>"; };
1201		92FF014A23AA0B4E00AC97F6 /* MNNUnPackC4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNUnPackC4.S; sourceTree = "<group>"; };
1202		92FF014B23AA0B4E00AC97F6 /* MNNSamplerC1NearestOpt.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNSamplerC1NearestOpt.S; sourceTree = "<group>"; };
1203		92FF014D23AA0B4E00AC97F6 /* MNNNV21ToRGBUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNNV21ToRGBUnit.S; sourceTree = "<group>"; };
1204		92FF014E23AA0B4E00AC97F6 /* MNNPackC4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackC4.S; sourceTree = "<group>"; };
1205		92FF014F23AA0B4E00AC97F6 /* MNNMinFloat.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMinFloat.S; sourceTree = "<group>"; };
1206		92FF015123AA0B4E00AC97F6 /* MNNMaxFloat.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMaxFloat.S; sourceTree = "<group>"; };
1207		92FF015223AA0B4E00AC97F6 /* MNNNV21ToRGBAUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNNV21ToRGBAUnit.S; sourceTree = "<group>"; };
1208		92FF015523AA0B4E00AC97F6 /* MNNMatrixMax.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMatrixMax.S; sourceTree = "<group>"; };
1209		92FF015623AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForLineDepthWiseInt8.S; sourceTree = "<group>"; };
1210		92FF015723AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForUnitDepthWiseUint8.S; sourceTree = "<group>"; };
1211		92FF015B23AA0B4E00AC97F6 /* MNNScaleAndAddBias.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNScaleAndAddBias.S; sourceTree = "<group>"; };
1212		92FF015C23AA0B4E00AC97F6 /* MNNReluInt8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNReluInt8.S; sourceTree = "<group>"; };
1213		92FF015D23AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForLineDepthWiseUint8.S; sourceTree = "<group>"; };
1214		92FF015E23AA0B4E00AC97F6 /* MNNSamplerC4BilinearOpt.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNSamplerC4BilinearOpt.S; sourceTree = "<group>"; };
1215		92FF016023AA0B4E00AC97F6 /* MNNMatrixSub.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMatrixSub.S; sourceTree = "<group>"; };
1216		92FF016123AA0B4E00AC97F6 /* MNNPowC8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPowC8.S; sourceTree = "<group>"; };
1217		92FF016223AA0B4E00AC97F6 /* MNNMatrixAdd.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMatrixAdd.S; sourceTree = "<group>"; };
1218		92FF016323AA0B4E00AC97F6 /* MNNExpC8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNExpC8.S; sourceTree = "<group>"; };
1219		92FF016523AA0B4E00AC97F6 /* MNNConvDwF23SourceTransUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvDwF23SourceTransUnit.S; sourceTree = "<group>"; };
1220		92FF016623AA0B4E00AC97F6 /* MNNWinogradMatrixProductLeft.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNWinogradMatrixProductLeft.S; sourceTree = "<group>"; };
1221		92FF016723AA0B4E00AC97F6 /* MNNDeconvRunForUnitDepthWise.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNDeconvRunForUnitDepthWise.S; sourceTree = "<group>"; };
1222		92FF016823AA0B4E00AC97F6 /* MNNSamplerC1BilinearOpt.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNSamplerC1BilinearOpt.S; sourceTree = "<group>"; };
1223		92FF016A23AA0B4E00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNGemmInt8AddBiasScale_16x4_Unit.S; sourceTree = "<group>"; };
1224		92FF016C23AA0B4E00AC97F6 /* MNNWinogradMatrixProductRight.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNWinogradMatrixProductRight.S; sourceTree = "<group>"; };
1225		92FF016E23AA0B4E00AC97F6 /* MNNReluWithSlopeChannel.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNReluWithSlopeChannel.S; sourceTree = "<group>"; };
1226		92FF017223AA0B4E00AC97F6 /* MNNBlitC3ToFloatRGBA.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNBlitC3ToFloatRGBA.S; sourceTree = "<group>"; };
1227		92FF017423AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNUInt8ToInt16WithOffsetC4Common.S; sourceTree = "<group>"; };
1228		92FF017523AA0B4E00AC97F6 /* MNNInt8ScaleToFloat.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNInt8ScaleToFloat.S; sourceTree = "<group>"; };
1229		92FF017623AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWise.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForUnitDepthWise.S; sourceTree = "<group>"; };
1230		92FF017723AA0B4E00AC97F6 /* MNNConvDwF23MulTransUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvDwF23MulTransUnit.S; sourceTree = "<group>"; };
1231		92FF017823AA0B4E00AC97F6 /* MNNConvRunForLineDepthwise.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForLineDepthwise.S; sourceTree = "<group>"; };
1232		92FF017923AA0B4E00AC97F6 /* MNNGemmint8to32_8x4_Unit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNGemmint8to32_8x4_Unit.S; sourceTree = "<group>"; };
1233		92FF017D23AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNUInt8ToInt16WithOffsetC4Fast.S; sourceTree = "<group>"; };
1234		92FF017E23AA0B4E00AC97F6 /* MNNScaleAddInt8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNScaleAddInt8.S; sourceTree = "<group>"; };
1235		92FF017F23AA0B4E00AC97F6 /* MNNMatrixProd.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMatrixProd.S; sourceTree = "<group>"; };
1236		92FF018023AA0B4E00AC97F6 /* MNNFloat2Int8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNFloat2Int8.S; sourceTree = "<group>"; };
1237		92FF018123AA0B4E00AC97F6 /* MNNSamplerC4NearestOpt.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNSamplerC4NearestOpt.S; sourceTree = "<group>"; };
1238		92FF018223AA0B4E00AC97F6 /* MNNAddC4WithStride.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNAddC4WithStride.S; sourceTree = "<group>"; };
1239		92FF018323AA0B4E00AC97F6 /* MNNQuanToDestUint8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNQuanToDestUint8.S; sourceTree = "<group>"; };
1240		92FF018423AA0B4E00AC97F6 /* MNNLoadU8AndSum.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNLoadU8AndSum.S; sourceTree = "<group>"; };
1241		92FF018723AA0B4E00AC97F6 /* MNNStrassenMergeCFunction.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNStrassenMergeCFunction.S; sourceTree = "<group>"; };
1242		92FF018823AA0B4E00AC97F6 /* MNNBlitC1ToFloatRGBA.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNBlitC1ToFloatRGBA.S; sourceTree = "<group>"; };
1243		92FF018923AA0B4E00AC97F6 /* MNNCopyC4WithStride.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNCopyC4WithStride.S; sourceTree = "<group>"; };
1244		92FF018A23AA0B4E00AC97F6 /* MNNNV21ToBGRUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNNV21ToBGRUnit.S; sourceTree = "<group>"; };
1245		92FF018B23AA0B4E00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNLineDepthWiseInt8AddBiasScaleUnit.S; sourceTree = "<group>"; };
1246		92FF018C23AA0B4E00AC97F6 /* MNNUnPackC4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNUnPackC4.S; sourceTree = "<group>"; };
1247		92FF018D23AA0B4E00AC97F6 /* MNNSamplerC1NearestOpt.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNSamplerC1NearestOpt.S; sourceTree = "<group>"; };
1248		92FF018F23AA0B4E00AC97F6 /* MNNNV21ToRGBUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNNV21ToRGBUnit.S; sourceTree = "<group>"; };
1249		92FF019023AA0B4E00AC97F6 /* MNNPackC4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPackC4.S; sourceTree = "<group>"; };
1250		92FF019123AA0B4E00AC97F6 /* MNNMinFloat.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMinFloat.S; sourceTree = "<group>"; };
1251		92FF019323AA0B4E00AC97F6 /* MNNMaxFloat.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMaxFloat.S; sourceTree = "<group>"; };
1252		92FF019423AA0B4E00AC97F6 /* MNNNV21ToRGBAUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNNV21ToRGBAUnit.S; sourceTree = "<group>"; };
1253		92FF019723AA0B4E00AC97F6 /* MNNMatrixMax.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMatrixMax.S; sourceTree = "<group>"; };
1254		92FF019823AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForLineDepthWiseInt8.S; sourceTree = "<group>"; };
1255		92FF019923AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForUnitDepthWiseUint8.S; sourceTree = "<group>"; };
1256		92FF019C23AA0B4E00AC97F6 /* MNNScaleAndAddBias.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNScaleAndAddBias.S; sourceTree = "<group>"; };
1257		92FF019D23AA0B4E00AC97F6 /* MNNReluInt8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNReluInt8.S; sourceTree = "<group>"; };
1258		92FF019E23AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForLineDepthWiseUint8.S; sourceTree = "<group>"; };
1259		92FF019F23AA0B4E00AC97F6 /* MNNSamplerC4BilinearOpt.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNSamplerC4BilinearOpt.S; sourceTree = "<group>"; };
1260		92FF01A123AA0B4E00AC97F6 /* MNNMatrixSub.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMatrixSub.S; sourceTree = "<group>"; };
1261		92FF01A223AA0B4E00AC97F6 /* MNNPowC8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNPowC8.S; sourceTree = "<group>"; };
1262		92FF01A323AA0B4E00AC97F6 /* MNNMatrixAdd.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNMatrixAdd.S; sourceTree = "<group>"; };
1263		92FF01A423AA0B4E00AC97F6 /* MNNExpC8.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNExpC8.S; sourceTree = "<group>"; };
1264		92FF01A623AA0B4E00AC97F6 /* MNNConvDwF23SourceTransUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvDwF23SourceTransUnit.S; sourceTree = "<group>"; };
1265		92FF01A723AA0B4E00AC97F6 /* MNNWinogradMatrixProductLeft.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNWinogradMatrixProductLeft.S; sourceTree = "<group>"; };
1266		92FF01A823AA0B4E00AC97F6 /* MNNDeconvRunForUnitDepthWise.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNDeconvRunForUnitDepthWise.S; sourceTree = "<group>"; };
1267		92FF01A923AA0B4E00AC97F6 /* MNNSamplerC1BilinearOpt.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNSamplerC1BilinearOpt.S; sourceTree = "<group>"; };
1268		92FF01AB23AA0B4E00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNGemmInt8AddBiasScale_16x4_Unit.S; sourceTree = "<group>"; };
1269		92FF01AD23AA0B4E00AC97F6 /* MNNWinogradMatrixProductRight.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNWinogradMatrixProductRight.S; sourceTree = "<group>"; };
1270		92FF01AF23AA0B4E00AC97F6 /* MNNReluWithSlopeChannel.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNReluWithSlopeChannel.S; sourceTree = "<group>"; };
1271		92FF01B323AA0B4E00AC97F6 /* MNNBlitC3ToFloatRGBA.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNBlitC3ToFloatRGBA.S; sourceTree = "<group>"; };
1272		92FF01B523AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNUInt8ToInt16WithOffsetC4Common.S; sourceTree = "<group>"; };
1273		92FF01B623AA0B4E00AC97F6 /* MNNInt8ScaleToFloat.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNInt8ScaleToFloat.S; sourceTree = "<group>"; };
1274		92FF01B723AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWise.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForUnitDepthWise.S; sourceTree = "<group>"; };
1275		92FF01B823AA0B4E00AC97F6 /* MNNConvDwF23MulTransUnit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvDwF23MulTransUnit.S; sourceTree = "<group>"; };
1276		92FF01B923AA0B4E00AC97F6 /* MNNConvRunForLineDepthwise.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNConvRunForLineDepthwise.S; sourceTree = "<group>"; };
1277		92FF01BA23AA0B4E00AC97F6 /* MNNGemmint8to32_8x4_Unit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNGemmint8to32_8x4_Unit.S; sourceTree = "<group>"; };
1278		92FF01BD23AA0B4E00AC97F6 /* MNNAsmGlobal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MNNAsmGlobal.h; sourceTree = "<group>"; };
1279		92FF01C023AA0B4E00AC97F6 /* CPUArgMax.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUArgMax.hpp; sourceTree = "<group>"; };
1280		92FF01C323AA0B4F00AC97F6 /* CPUReduction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUReduction.cpp; sourceTree = "<group>"; };
1281		92FF01C623AA0B4F00AC97F6 /* CPUQuantizedAvgPool.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUQuantizedAvgPool.hpp; sourceTree = "<group>"; };
1282		92FF01CD23AA0B4F00AC97F6 /* CPUSetDiff1D.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUSetDiff1D.hpp; sourceTree = "<group>"; };
1283		92FF01CE23AA0B4F00AC97F6 /* CPUCast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUCast.cpp; sourceTree = "<group>"; };
1284		92FF01D123AA0B4F00AC97F6 /* CPUOneHot.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUOneHot.hpp; sourceTree = "<group>"; };
1285		92FF01D423AA0B5000AC97F6 /* CPUScatterNd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUScatterNd.cpp; sourceTree = "<group>"; };
1286		92FF01D523AA0B5000AC97F6 /* CPUSelect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUSelect.cpp; sourceTree = "<group>"; };
1287		92FF01D723AA0B5000AC97F6 /* CPUConvolution.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUConvolution.hpp; sourceTree = "<group>"; };
1288		92FF01D823AA0B5000AC97F6 /* CPUOneHot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUOneHot.cpp; sourceTree = "<group>"; };
1289		92FF01D923AA0B5000AC97F6 /* CPUTFQuantizedConv2D.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUTFQuantizedConv2D.hpp; sourceTree = "<group>"; };
1290		92FF01DA23AA0B5000AC97F6 /* CPUAsString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUAsString.cpp; sourceTree = "<group>"; };
1291		92FF01DB23AA0B5000AC97F6 /* CPUDetectionPostProcess.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUDetectionPostProcess.hpp; sourceTree = "<group>"; };
1292		92FF01DC23AA0B5000AC97F6 /* CPURelu.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPURelu.hpp; sourceTree = "<group>"; };
1293		92FF01E423AA0B5100AC97F6 /* CPUScale.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUScale.cpp; sourceTree = "<group>"; };
1294		92FF01E523AA0B5100AC97F6 /* CPUUnravelIndex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUUnravelIndex.cpp; sourceTree = "<group>"; };
1295		92FF01E623AA0B5100AC97F6 /* CPUResize.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUResize.hpp; sourceTree = "<group>"; };
1296		92FF01E723AA0B5100AC97F6 /* CPUDetectionOutput.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUDetectionOutput.hpp; sourceTree = "<group>"; };
1297		92FF01E823AA0B5100AC97F6 /* CPURuntime.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPURuntime.hpp; sourceTree = "<group>"; };
1298		92FF01EB23AA0B5100AC97F6 /* CPURNNSequenceGRU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPURNNSequenceGRU.cpp; sourceTree = "<group>"; };
1299		92FF01EC23AA0B5100AC97F6 /* CPUResize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUResize.cpp; sourceTree = "<group>"; };
1300		92FF01ED23AA0B5100AC97F6 /* CPUConst.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUConst.hpp; sourceTree = "<group>"; };
1301		92FF01EF23AA0B5100AC97F6 /* CPUQuantizedSoftmax.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUQuantizedSoftmax.hpp; sourceTree = "<group>"; };
1302		92FF01F023AA0B5200AC97F6 /* CPURuntime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPURuntime.cpp; sourceTree = "<group>"; };
1303		92FF01F123AA0B5200AC97F6 /* CPUPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUPool.cpp; sourceTree = "<group>"; };
1304		92FF01F423AA0B5200AC97F6 /* CPUEltwiseInt8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUEltwiseInt8.cpp; sourceTree = "<group>"; };
1305		92FF01F723AA0B5200AC97F6 /* CPUBinary.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUBinary.hpp; sourceTree = "<group>"; };
1306		92FF01F823AA0B5200AC97F6 /* CPUConvolutionDepthwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUConvolutionDepthwise.cpp; sourceTree = "<group>"; };
1307		92FF01F923AA0B5200AC97F6 /* CPUROIPooling.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUROIPooling.hpp; sourceTree = "<group>"; };
1308		92FF01FA23AA0B5200AC97F6 /* CPUInstanceNorm.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUInstanceNorm.hpp; sourceTree = "<group>"; };
1309		92FF01FE23AA0B5200AC97F6 /* CPURelu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPURelu.cpp; sourceTree = "<group>"; };
1310		92FF01FF23AA0B5200AC97F6 /* CPUDetectionPostProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUDetectionPostProcess.cpp; sourceTree = "<group>"; };
1311		92FF020323AA0B5300AC97F6 /* CPUSetDiff1D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUSetDiff1D.cpp; sourceTree = "<group>"; };
1312		92FF020623AA0B5300AC97F6 /* CPUMoments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUMoments.cpp; sourceTree = "<group>"; };
1313		92FF020723AA0B5300AC97F6 /* CPULinSpace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPULinSpace.cpp; sourceTree = "<group>"; };
1314		92FF020823AA0B5300AC97F6 /* CPUTensorConvert.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUTensorConvert.hpp; sourceTree = "<group>"; };
1315		92FF020923AA0B5300AC97F6 /* CPUQuantizedLogistic.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUQuantizedLogistic.hpp; sourceTree = "<group>"; };
1316		92FF020B23AA0B5300AC97F6 /* CPURange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPURange.cpp; sourceTree = "<group>"; };
1317		92FF020C23AA0B5500AC97F6 /* CPUUnravelIndex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUUnravelIndex.hpp; sourceTree = "<group>"; };
1318		92FF020D23AA0B5500AC97F6 /* CPUEltwise.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUEltwise.hpp; sourceTree = "<group>"; };
1319		92FF020E23AA0B5500AC97F6 /* CPUMatrixBandPart.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUMatrixBandPart.hpp; sourceTree = "<group>"; };
1320		92FF021223AA0B5600AC97F6 /* CPUBackend.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUBackend.hpp; sourceTree = "<group>"; };
1321		92FF021323AA0B5600AC97F6 /* CPUDeconvolution.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUDeconvolution.cpp; sourceTree = "<group>"; };
1322		92FF021423AA0B5600AC97F6 /* CPUQuantizedAdd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUQuantizedAdd.cpp; sourceTree = "<group>"; };
1323		92FF021723AA0B5600AC97F6 /* CPUDepthwiseConvInt8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUDepthwiseConvInt8.cpp; sourceTree = "<group>"; };
1324		92FF021C23AA0B5600AC97F6 /* Convolution1x1Strassen.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Convolution1x1Strassen.hpp; sourceTree = "<group>"; };
1325		92FF021D23AA0B5600AC97F6 /* CommonOptFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CommonOptFunction.cpp; sourceTree = "<group>"; };
1326		92FF021F23AA0B5600AC97F6 /* StrassenMatmulComputor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StrassenMatmulComputor.cpp; sourceTree = "<group>"; };
1327		92FF022123AA0B5600AC97F6 /* CommonOptFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommonOptFunction.h; sourceTree = "<group>"; };
1328		92FF022223AA0B5600AC97F6 /* ConvolutionWinograd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvolutionWinograd.cpp; sourceTree = "<group>"; };
1329		92FF022323AA0B5600AC97F6 /* Int8FunctionsOpt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Int8FunctionsOpt.cpp; sourceTree = "<group>"; };
1330		92FF022523AA0B5600AC97F6 /* ConvOpt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvOpt.cpp; sourceTree = "<group>"; };
1331		92FF022623AA0B5600AC97F6 /* OptimizedComputer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OptimizedComputer.cpp; sourceTree = "<group>"; };
1332		92FF022723AA0B5600AC97F6 /* DeconvolutionWithStride.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DeconvolutionWithStride.hpp; sourceTree = "<group>"; };
1333		92FF022823AA0B5600AC97F6 /* ConvolutionTiledExecutor.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvolutionTiledExecutor.hpp; sourceTree = "<group>"; };
1334		92FF022923AA0B5600AC97F6 /* ConvolutionIntFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvolutionIntFactory.cpp; sourceTree = "<group>"; };
1335		92FF022A23AA0B5600AC97F6 /* WinogradOptFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WinogradOptFunction.cpp; sourceTree = "<group>"; };
1336		92FF022B23AA0B5600AC97F6 /* ConvolutionGroup.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvolutionGroup.hpp; sourceTree = "<group>"; };
1337		92FF022C23AA0B5600AC97F6 /* ConvolutionFloatFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConvolutionFloatFactory.h; sourceTree = "<group>"; };
1338		92FF022D23AA0B5600AC97F6 /* ConvolutionInt8Executor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvolutionInt8Executor.cpp; sourceTree = "<group>"; };
1339		92FF022E23AA0B5600AC97F6 /* ResizeFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResizeFunction.h; sourceTree = "<group>"; };
1340		92FF022F23AA0B5600AC97F6 /* ConvolutionDepthwise3x3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvolutionDepthwise3x3.cpp; sourceTree = "<group>"; };
1341		92FF023023AA0B5600AC97F6 /* ConvolutionIntFactory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvolutionIntFactory.hpp; sourceTree = "<group>"; };
1342		92FF023123AA0B5600AC97F6 /* WinogradOptFunction.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = WinogradOptFunction.hpp; sourceTree = "<group>"; };
1343		92FF023223AA0B5600AC97F6 /* ConvolutionGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvolutionGroup.cpp; sourceTree = "<group>"; };
1344		92FF023323AA0B5600AC97F6 /* ConvolutionFloatFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvolutionFloatFactory.cpp; sourceTree = "<group>"; };
1345		92FF023423AA0B5600AC97F6 /* ConvolutionInt8Executor.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvolutionInt8Executor.hpp; sourceTree = "<group>"; };
1346		92FF023523AA0B5600AC97F6 /* ConvolutionDepthwise3x3.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvolutionDepthwise3x3.hpp; sourceTree = "<group>"; };
1347		92FF023623AA0B5600AC97F6 /* Convolution1x1Strassen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Convolution1x1Strassen.cpp; sourceTree = "<group>"; };
1348		92FF023723AA0B5600AC97F6 /* ResizeFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResizeFunction.cpp; sourceTree = "<group>"; };
1349		92FF023823AA0B5600AC97F6 /* StrassenMatmulComputor.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = StrassenMatmulComputor.hpp; sourceTree = "<group>"; };
1350		92FF023B23AA0B5600AC97F6 /* ConvOpt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConvOpt.h; sourceTree = "<group>"; };
1351		92FF023C23AA0B5600AC97F6 /* ConvolutionWinograd.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvolutionWinograd.hpp; sourceTree = "<group>"; };
1352		92FF023E23AA0B5600AC97F6 /* OptimizedComputer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = OptimizedComputer.hpp; sourceTree = "<group>"; };
1353		92FF023F23AA0B5600AC97F6 /* Int8FunctionsOpt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Int8FunctionsOpt.h; sourceTree = "<group>"; };
1354		92FF024023AA0B5600AC97F6 /* DeconvolutionWithStride.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeconvolutionWithStride.cpp; sourceTree = "<group>"; };
1355		92FF024123AA0B5600AC97F6 /* ConvolutionTiledExecutor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvolutionTiledExecutor.cpp; sourceTree = "<group>"; };
1356		92FF024523AA0B5700AC97F6 /* CPUEltwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUEltwise.cpp; sourceTree = "<group>"; };
1357		92FF024623AA0B5700AC97F6 /* CPUInterp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUInterp.cpp; sourceTree = "<group>"; };
1358		92FF024723AA0B5700AC97F6 /* CPUReduceJoin.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUReduceJoin.hpp; sourceTree = "<group>"; };
1359		92FF024823AA0B5700AC97F6 /* CPUNonMaxSuppressionV2.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUNonMaxSuppressionV2.hpp; sourceTree = "<group>"; };
1360		92FF024B23AA0B5700AC97F6 /* CPUMatMul.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUMatMul.hpp; sourceTree = "<group>"; };
1361		92FF024C23AA0B5700AC97F6 /* CPUConvolutionDepthwise.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUConvolutionDepthwise.hpp; sourceTree = "<group>"; };
1362		92FF025023AA0B5900AC97F6 /* CPUOPRegister.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUOPRegister.cpp; sourceTree = "<group>"; };
1363		92FF025223AA0B5900AC97F6 /* CPUTensorConvert.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUTensorConvert.cpp; sourceTree = "<group>"; };
1364		92FF025323AA0B5900AC97F6 /* CPUTopKV2.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CPUTopKV2.hpp; sourceTree = "<group>"; };
1365		92FF03D323AA0B6C00AC97F6 /* ShapeQuantizedMaxPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeQuantizedMaxPool.cpp; sourceTree = "<group>"; };
1366		92FF03D423AA0B6C00AC97F6 /* ShapeFill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeFill.cpp; sourceTree = "<group>"; };
1367		92FF03D523AA0B6C00AC97F6 /* ShapeUnpack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeUnpack.cpp; sourceTree = "<group>"; };
1368		92FF03D623AA0B6C00AC97F6 /* ShapeNonMaxSuppressionV2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeNonMaxSuppressionV2.cpp; sourceTree = "<group>"; };
1369		92FF03D723AA0B6C00AC97F6 /* ShapePool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapePool.cpp; sourceTree = "<group>"; };
1370		92FF03D823AA0B6C00AC97F6 /* ShapeRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeRange.cpp; sourceTree = "<group>"; };
1371		92FF03D923AA0B6C00AC97F6 /* ShapeRank.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeRank.cpp; sourceTree = "<group>"; };
1372		92FF03DA23AA0B6D00AC97F6 /* ShapePack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapePack.cpp; sourceTree = "<group>"; };
1373		92FF03DB23AA0B6D00AC97F6 /* ShapeDeconvolution.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeDeconvolution.cpp; sourceTree = "<group>"; };
1374		92FF03DC23AA0B6D00AC97F6 /* ShapeConcat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeConcat.cpp; sourceTree = "<group>"; };
1375		92FF03DD23AA0B6D00AC97F6 /* ShapeScatterNd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeScatterNd.cpp; sourceTree = "<group>"; };
1376		92FF03DE23AA0B6D00AC97F6 /* ShapeROIPooling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeROIPooling.cpp; sourceTree = "<group>"; };
1377		92FF03DF23AA0B6D00AC97F6 /* ShapeSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeSize.cpp; sourceTree = "<group>"; };
1378		92FF03E023AA0B6D00AC97F6 /* ShapeCosineSimilarity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeCosineSimilarity.cpp; sourceTree = "<group>"; };
1379		92FF03E123AA0B6D00AC97F6 /* ShapeMatMul.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeMatMul.cpp; sourceTree = "<group>"; };
1380		92FF03E223AA0B6D00AC97F6 /* ShapeInterp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInterp.cpp; sourceTree = "<group>"; };
1381		92FF03E323AA0B6D00AC97F6 /* ShapeLinSpace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeLinSpace.cpp; sourceTree = "<group>"; };
1382		92FF03E523AA0B6D00AC97F6 /* ShapeOneHot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeOneHot.cpp; sourceTree = "<group>"; };
1383		92FF03E623AA0B6D00AC97F6 /* ShapeReduceJoin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeReduceJoin.cpp; sourceTree = "<group>"; };
1384		92FF03E723AA0B6D00AC97F6 /* ShapePadding.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapePadding.cpp; sourceTree = "<group>"; };
1385		92FF03E823AA0B6D00AC97F6 /* ShapeProposal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeProposal.cpp; sourceTree = "<group>"; };
1386		92FF03E923AA0B6D00AC97F6 /* ShapeSliceTf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeSliceTf.cpp; sourceTree = "<group>"; };
1387		92FF03EA23AA0B6D00AC97F6 /* ShapeQuantizedAvgPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeQuantizedAvgPool.cpp; sourceTree = "<group>"; };
1388		92FF03EB23AA0B6E00AC97F6 /* ShapeSpaceToBatchND.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeSpaceToBatchND.cpp; sourceTree = "<group>"; };
1389		92FF03EC23AA0B6E00AC97F6 /* ShapeWhere.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeWhere.cpp; sourceTree = "<group>"; };
1390		92FF03ED23AA0B6E00AC97F6 /* ShapeCrop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeCrop.cpp; sourceTree = "<group>"; };
1391		92FF03EE23AA0B6E00AC97F6 /* ShapeStridedSlice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeStridedSlice.cpp; sourceTree = "<group>"; };
1392		92FF03EF23AA0B6E00AC97F6 /* ShapeConvolution3D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeConvolution3D.cpp; sourceTree = "<group>"; };
1393		92FF03F023AA0B6E00AC97F6 /* ShapeSelect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeSelect.cpp; sourceTree = "<group>"; };
1394		92FF03F123AA0B6E00AC97F6 /* ShapeDetectionOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeDetectionOutput.cpp; sourceTree = "<group>"; };
1395		92FF03F223AA0B6E00AC97F6 /* ShapeUnravelIndex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeUnravelIndex.cpp; sourceTree = "<group>"; };
1396		92FF03F323AA0B6E00AC97F6 /* ShapeDequantize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeDequantize.cpp; sourceTree = "<group>"; };
1397		92FF03F423AA0B6E00AC97F6 /* ShapePermute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapePermute.cpp; sourceTree = "<group>"; };
1398		92FF03F523AA0B6E00AC97F6 /* ShapeDetectionPostProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeDetectionPostProcess.cpp; sourceTree = "<group>"; };
1399		92FF03F623AA0B6E00AC97F6 /* ShapeExpandDims.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeExpandDims.cpp; sourceTree = "<group>"; };
1400		92FF03F723AA0B6E00AC97F6 /* ShapeGatherV2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeGatherV2.cpp; sourceTree = "<group>"; };
1401		92FF03F823AA0B6E00AC97F6 /* ShapeBatchToSpaceND.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeBatchToSpaceND.cpp; sourceTree = "<group>"; };
1402		92FF03F923AA0B6F00AC97F6 /* ShapeTensorConvert.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeTensorConvert.cpp; sourceTree = "<group>"; };
1403		92FF03FA23AA0B6F00AC97F6 /* ShapeSlice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeSlice.cpp; sourceTree = "<group>"; };
1404		92FF03FB23AA0B6F00AC97F6 /* ShapeMoments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeMoments.cpp; sourceTree = "<group>"; };
1405		92FF03FD23AA0B6F00AC97F6 /* ShapeTopKV2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeTopKV2.cpp; sourceTree = "<group>"; };
1406		92FF03FE23AA0B6F00AC97F6 /* ShapeLSTM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeLSTM.cpp; sourceTree = "<group>"; };
1407		92FF03FF23AA0B6F00AC97F6 /* ShapeSpaceToDepth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeSpaceToDepth.cpp; sourceTree = "<group>"; };
1408		92FF040023AA0B6F00AC97F6 /* ShapeInnerProduct.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeInnerProduct.cpp; sourceTree = "<group>"; };
1409		92FF040123AA0B6F00AC97F6 /* ShapeSqueeze.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeSqueeze.cpp; sourceTree = "<group>"; };
1410		92FF040323AA0B6F00AC97F6 /* ShapeGatherND.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeGatherND.cpp; sourceTree = "<group>"; };
1411		92FF040423AA0B6F00AC97F6 /* ShapeConvolution.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeConvolution.cpp; sourceTree = "<group>"; };
1412		92FF040523AA0B6F00AC97F6 /* ShapeTile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeTile.cpp; sourceTree = "<group>"; };
1413		92FF040623AA0B6F00AC97F6 /* ShapePool3D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapePool3D.cpp; sourceTree = "<group>"; };
1414		92FF040723AA0B6F00AC97F6 /* ShapeConst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeConst.cpp; sourceTree = "<group>"; };
1415		92FF040823AA0B7000AC97F6 /* ShapeEltwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeEltwise.cpp; sourceTree = "<group>"; };
1416		92FF040923AA0B7000AC97F6 /* ShapeDepthToSpace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeDepthToSpace.cpp; sourceTree = "<group>"; };
1417		92FF040A23AA0B7000AC97F6 /* ShapeCropAndResize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeCropAndResize.cpp; sourceTree = "<group>"; };
1418		92FF040B23AA0B7000AC97F6 /* ShapeArgMax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeArgMax.cpp; sourceTree = "<group>"; };
1419		92FF040C23AA0B7000AC97F6 /* ShapeResize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeResize.cpp; sourceTree = "<group>"; };
1420		92FF040D23AA0B7000AC97F6 /* ShapeAsString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeAsString.cpp; sourceTree = "<group>"; };
1421		92FF040E23AA0B7000AC97F6 /* ShapeRNNSequenceGRU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeRNNSequenceGRU.cpp; sourceTree = "<group>"; };
1422		92FF040F23AA0B7000AC97F6 /* ShapePriorbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapePriorbox.cpp; sourceTree = "<group>"; };
1423		92FF041023AA0B7000AC97F6 /* ShapeReshape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeReshape.cpp; sourceTree = "<group>"; };
1424		92FF041123AA0B7000AC97F6 /* ShapeTranspose.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeTranspose.cpp; sourceTree = "<group>"; };
1425		92FF041223AA0B7000AC97F6 /* ShapeReduction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeReduction.cpp; sourceTree = "<group>"; };
1426		92FF041323AA0B7000AC97F6 /* ShapeRegister.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeRegister.cpp; sourceTree = "<group>"; };
1427		92FF041423AA0B7000AC97F6 /* ShapeBinaryOp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeBinaryOp.cpp; sourceTree = "<group>"; };
1428		92FF041523AA0B7000AC97F6 /* ShapeShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeShape.cpp; sourceTree = "<group>"; };
1429		92FF041623AA0B7000AC97F6 /* ShapeBroadcastTo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeBroadcastTo.cpp; sourceTree = "<group>"; };
1430		92FF041723AA0B7100AC97F6 /* ShapeCast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeCast.cpp; sourceTree = "<group>"; };
1431		92FF048323AA0BF900AC97F6 /* Interpreter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Interpreter.cpp; sourceTree = "<group>"; };
1432		92FF048423AA0BF900AC97F6 /* AutoStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoStorage.h; sourceTree = "<group>"; };
1433		92FF048523AA0BFA00AC97F6 /* FileLoader.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = FileLoader.hpp; sourceTree = "<group>"; };
1434		92FF048623AA0BFA00AC97F6 /* BackendRegister.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BackendRegister.cpp; sourceTree = "<group>"; };
1435		92FF048723AA0BFA00AC97F6 /* AutoTime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AutoTime.cpp; sourceTree = "<group>"; };
1436		92FF048823AA0BFA00AC97F6 /* Schedule.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Schedule.hpp; sourceTree = "<group>"; };
1437		92FF048923AA0BFA00AC97F6 /* BufferAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BufferAllocator.cpp; sourceTree = "<group>"; };
1438		92FF048A23AA0BFA00AC97F6 /* Pipeline.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Pipeline.hpp; sourceTree = "<group>"; };
1439		92FF048C23AA0BFA00AC97F6 /* Execution.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Execution.hpp; sourceTree = "<group>"; };
1440		92FF048D23AA0BFA00AC97F6 /* Backend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Backend.cpp; sourceTree = "<group>"; };
1441		92FF048E23AA0BFA00AC97F6 /* Macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Macro.h; sourceTree = "<group>"; };
1442		92FF049223AA0BFA00AC97F6 /* Schedule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Schedule.cpp; sourceTree = "<group>"; };
1443		92FF049323AA0BFA00AC97F6 /* MNNMemoryUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MNNMemoryUtils.h; sourceTree = "<group>"; };
1444		92FF049423AA0BFA00AC97F6 /* TensorUtils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = TensorUtils.hpp; sourceTree = "<group>"; };
1445		92FF049523AA0BFA00AC97F6 /* TensorUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TensorUtils.cpp; sourceTree = "<group>"; };
1446		92FF049623AA0BFA00AC97F6 /* WrapExecution.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = WrapExecution.hpp; sourceTree = "<group>"; };
1447		92FF049723AA0BFB00AC97F6 /* MNNMemoryUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MNNMemoryUtils.cpp; sourceTree = "<group>"; };
1448		92FF049923AA0BFB00AC97F6 /* WrapExecution.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WrapExecution.cpp; sourceTree = "<group>"; };
1449		92FF049A23AA0BFB00AC97F6 /* BufferAllocator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = BufferAllocator.hpp; sourceTree = "<group>"; };
1450		92FF049B23AA0BFB00AC97F6 /* NonCopyable.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = NonCopyable.hpp; sourceTree = "<group>"; };
1451		92FF049C23AA0BFB00AC97F6 /* Execution.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Execution.cpp; sourceTree = "<group>"; };
1452		92FF049D23AA0BFB00AC97F6 /* FileLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FileLoader.cpp; sourceTree = "<group>"; };
1453		92FF049E23AA0BFB00AC97F6 /* Concurrency.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Concurrency.h; sourceTree = "<group>"; };
1454		92FF049F23AA0BFB00AC97F6 /* Tensor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tensor.cpp; sourceTree = "<group>"; };
1455		92FF04A023AA0BFB00AC97F6 /* Backend.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Backend.hpp; sourceTree = "<group>"; };
1456		92FF04A123AA0BFB00AC97F6 /* Pipeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pipeline.cpp; sourceTree = "<group>"; };
1457		92FF04A223AA0BFB00AC97F6 /* Session.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Session.hpp; sourceTree = "<group>"; };
1458		92FF04A323AA0BFB00AC97F6 /* Session.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Session.cpp; sourceTree = "<group>"; };
1459		C43C81F8251894A500A0FF84 /* CommonOptFunctionNeon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CommonOptFunctionNeon.cpp; sourceTree = "<group>"; };
1460		C43C81FB251894BD00A0FF84 /* CPUPlugin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPUPlugin.cpp; sourceTree = "<group>"; };
1461		C43C81FC251894BD00A0FF84 /* ThreadPool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadPool.cpp; sourceTree = "<group>"; };
1462		C43C81FD251894BD00A0FF84 /* ThreadPool.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ThreadPool.hpp; sourceTree = "<group>"; };
1463		C43C8222251894F400A0FF84 /* WingoradGenerater.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = WingoradGenerater.hpp; sourceTree = "<group>"; };
1464		C43C8223251894F400A0FF84 /* Matrix.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Matrix.hpp; sourceTree = "<group>"; };
1465		C43C8224251894F400A0FF84 /* Vec.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Vec.hpp; sourceTree = "<group>"; };
1466		C43C82282518951800A0FF84 /* SkNx_neon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkNx_neon.h; sourceTree = "<group>"; };
1467		C43C82292518951800A0FF84 /* ImageSampler.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ImageSampler.hpp; sourceTree = "<group>"; };
1468		C43C822A2518951800A0FF84 /* SkNx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkNx.h; sourceTree = "<group>"; };
1469		C43C822B2518951800A0FF84 /* ImageFloatBlitter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ImageFloatBlitter.hpp; sourceTree = "<group>"; };
1470		C43C822C2518951800A0FF84 /* ImageBlitter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ImageBlitter.hpp; sourceTree = "<group>"; };
1471		C4EF5FB02657A9E70094235C /* ConvInt8Winograd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvInt8Winograd.cpp; sourceTree = "<group>"; };
1472		C4EF5FB12657A9E70094235C /* ConvInt8Winograd.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvInt8Winograd.hpp; sourceTree = "<group>"; };
1473		C4EF5FB22657A9E70094235C /* ConvInt8TiledExecutor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvInt8TiledExecutor.cpp; sourceTree = "<group>"; };
1474		C4EF5FB32657A9E70094235C /* ConvInt8TiledExecutor.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ConvInt8TiledExecutor.hpp; sourceTree = "<group>"; };
1475		C4EF5FB82657A9EF0094235C /* WinogradInt8Helper.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = WinogradInt8Helper.hpp; sourceTree = "<group>"; };
1476		C4EF5FB92657A9F00094235C /* WinogradInt8Helper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WinogradInt8Helper.cpp; sourceTree = "<group>"; };
1477		EB45C773244D7C4F00E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S; sourceTree = "<group>"; };
1478		EB45C775244D7C6600E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S; sourceTree = "<group>"; };
1479		EB8D2ABD246A4975009948D1 /* Arm82OpRegister.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82OpRegister.cpp; path = ../arm82/Arm82OpRegister.cpp; sourceTree = "<group>"; };
1480		EBD484242485FF640083CE95 /* Arm82Interp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82Interp.hpp; path = ../arm82/Arm82Interp.hpp; sourceTree = "<group>"; };
1481		EBD484292485FF650083CE95 /* Arm82Interp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82Interp.cpp; path = ../arm82/Arm82Interp.cpp; sourceTree = "<group>"; };
1482		EBECA37A24643D110062C7A3 /* MNNGemmInt8AddBiasScale_ARMV82_Unit.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = MNNGemmInt8AddBiasScale_ARMV82_Unit.S; sourceTree = "<group>"; };
1483		EBECA38324643D310062C7A3 /* Arm82Backend.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82Backend.hpp; path = ../arm82/Arm82Backend.hpp; sourceTree = "<group>"; };
1484		EBECA38424643D310062C7A3 /* Arm82Eltwise.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82Eltwise.hpp; path = ../arm82/Arm82Eltwise.hpp; sourceTree = "<group>"; };
1485		EBECA38524643D310062C7A3 /* Arm82Eltwise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82Eltwise.cpp; path = ../arm82/Arm82Eltwise.cpp; sourceTree = "<group>"; };
1486		EBECA38624643D310062C7A3 /* Arm82Relu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82Relu.cpp; path = ../arm82/Arm82Relu.cpp; sourceTree = "<group>"; };
1487		EBECA38724643D310062C7A3 /* Arm82Relu.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arm82Relu.hpp; path = ../arm82/Arm82Relu.hpp; sourceTree = "<group>"; };
1488		EBECA38924643D310062C7A3 /* Arm82Backend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arm82Backend.cpp; path = ../arm82/Arm82Backend.cpp; sourceTree = "<group>"; };
1489		EBECA3A024643D4E0062C7A3 /* MNNAsmGlobal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MNNAsmGlobal.h; path = ../arm82/asm/MNNAsmGlobal.h; sourceTree = "<group>"; };
1490		EBECA3A324643D5D0062C7A3 /* MNNQuantizeFP16_UNIT4.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = MNNQuantizeFP16_UNIT4.S; path = ../arm82/asm/arm64/MNNQuantizeFP16_UNIT4.S; sourceTree = "<group>"; };
1491/* End PBXFileReference section */
1492
1493/* Begin PBXFrameworksBuildPhase section */
1494		0F1465B31FA18D1000F9860A /* Frameworks */ = {
1495			isa = PBXFrameworksBuildPhase;
1496			buildActionMask = 2147483647;
1497			files = (
1498			);
1499			runOnlyForDeploymentPostprocessing = 0;
1500		};
1501		9273AB481FE7BE4D00477B22 /* Frameworks */ = {
1502			isa = PBXFrameworksBuildPhase;
1503			buildActionMask = 2147483647;
1504			files = (
1505				4D9A93D426255ECD00F9B43C /* CoreML.framework in Frameworks */,
1506				22EA50B02051681600C3906C /* MNN.framework in Frameworks */,
1507				22EA50A92051677800C3906C /* Metal.framework in Frameworks */,
1508			);
1509			runOnlyForDeploymentPostprocessing = 0;
1510		};
1511/* End PBXFrameworksBuildPhase section */
1512
1513/* Begin PBXGroup section */
1514		0F1465AD1FA18D1000F9860A = {
1515			isa = PBXGroup;
1516			children = (
1517				0F1465B91FA18D1000F9860A /* MNN */,
1518				9273AB4C1FE7BE4D00477B22 /* Playground */,
1519				0F1465B81FA18D1000F9860A /* Products */,
1520				0F78AC251FCD495800205A7C /* Frameworks */,
1521				489404DC24A2F4BB001E456C /* Recovered References */,
1522			);
1523			sourceTree = "<group>";
1524			wrapsLines = 0;
1525		};
1526		0F1465B81FA18D1000F9860A /* Products */ = {
1527			isa = PBXGroup;
1528			children = (
1529				0F1465B71FA18D1000F9860A /* MNN.framework */,
1530				9273AB4B1FE7BE4D00477B22 /* Playground.app */,
1531			);
1532			name = Products;
1533			sourceTree = "<group>";
1534		};
1535		0F1465B91FA18D1000F9860A /* MNN */ = {
1536			isa = PBXGroup;
1537			children = (
1538				48593FB423A89B2F0069452A /* express */,
1539				488873A8215B639D0079B12E /* source */,
1540				48027FAA210571FB001E5982 /* include */,
1541				0F1465BB1FA18D1000F9860A /* Info.plist */,
1542			);
1543			path = MNN;
1544			sourceTree = "<group>";
1545		};
1546		0F78AC251FCD495800205A7C /* Frameworks */ = {
1547			isa = PBXGroup;
1548			children = (
1549				4D9A93D326255ECD00F9B43C /* CoreML.framework */,
1550				924B11AB21E73B9C006B37DB /* XCTest.framework */,
1551				926F5C5F1FFF3D360078EE0A /* libc.tbd */,
1552				0F78AC261FCD495800205A7C /* Metal.framework */,
1553			);
1554			name = Frameworks;
1555			sourceTree = "<group>";
1556		};
1557		48027FAA210571FB001E5982 /* include */ = {
1558			isa = PBXGroup;
1559			children = (
1560				1F501F742397BA5A004E8721 /* AutoTime.hpp */,
1561				1F501F782397BA5A004E8721 /* ErrorCode.hpp */,
1562				1F501F762397BA5A004E8721 /* expr */,
1563				1F501F722397BA5A004E8721 /* HalideRuntime.h */,
1564				1F501F772397BA5A004E8721 /* ImageProcess.hpp */,
1565				1F501F752397BA5A004E8721 /* Interpreter.hpp */,
1566				1F501F7A2397BA5A004E8721 /* Matrix.h */,
1567				1F501F732397BA5A004E8721 /* MNNDefine.h */,
1568				1F501F7C2397BA5A004E8721 /* MNNForwardType.h */,
1569				1F501F7E2397BA5B004E8721 /* MNNSharedContext.h */,
1570				1F501F792397BA5A004E8721 /* Rect.h */,
1571				1F501F7B2397BA5A004E8721 /* Tensor.hpp */,
1572			);
1573			name = include;
1574			path = ../../../include;
1575			sourceTree = "<group>";
1576		};
1577		4829A2CA23CC26AD00623BF5 /* expr */ = {
1578			isa = PBXGroup;
1579			children = (
1580				4829A2CB23CC26AD00623BF5 /* MatMulTest.cpp */,
1581				4829A2CC23CC26AD00623BF5 /* GatherTest.cpp */,
1582				4829A2CD23CC26AD00623BF5 /* MatrixBandTest.cpp */,
1583				4829A2CE23CC26AD00623BF5 /* ExtraTest.cpp */,
1584				4829A2CF23CC26AD00623BF5 /* AllAnyTest.cpp */,
1585				4829A2D023CC26AD00623BF5 /* MultiThreadLoad.cpp */,
1586				4829A2D223CC26AD00623BF5 /* ExprResizeTest.cpp */,
1587				4829A2D323CC26AD00623BF5 /* ReverseSequenceTest.cpp */,
1588				4829A2D423CC26AD00623BF5 /* ReplaceTest.cpp */,
1589				4829A2D523CC26AD00623BF5 /* PaddingTest.cpp */,
1590			);
1591			name = expr;
1592			path = ../../../test/expr;
1593			sourceTree = "<group>";
1594		};
1595		48593FB423A89B2F0069452A /* express */ = {
1596			isa = PBXGroup;
1597			children = (
1598				489D7AC42550FF9F00AD896A /* ExecutorScope.cpp */,
1599				48C84B6F250F711600EE7666 /* module */,
1600				48FA474C23AA136300172C3B /* MergeOptimizer.cpp */,
1601				48FA473D23AA127B00172C3B /* Executor.cpp */,
1602				48FA474023AA127B00172C3B /* Expr.cpp */,
1603				48FA474123AA127B00172C3B /* MathOp.cpp */,
1604				48FA473C23AA127A00172C3B /* MergeOptimizer.hpp */,
1605				48FA473E23AA127B00172C3B /* NeuralNetWorkOp.cpp */,
1606				48FA473F23AA127B00172C3B /* Optimizer.cpp */,
1607				48FA474223AA127B00172C3B /* Utils.cpp */,
1608				48FA474323AA127B00172C3B /* Utils.hpp */,
1609			);
1610			name = express;
1611			path = ../../../express;
1612			sourceTree = "<group>";
1613		};
1614		48747D51245D9E33000B9709 /* geometry */ = {
1615			isa = PBXGroup;
1616			children = (
1617				4D759B2B25FF89EE0037B0B6 /* GeometryShape.cpp */,
1618				48A046FB25E4ABAC00CFA868 /* GeometryUnary.cpp */,
1619				48BFC50025B84D2700580F9E /* GeometryGather.cpp */,
1620				481FA84E259C27B30047F01F /* GeometryTensorArray.cpp */,
1621				48608B4D250632EC00CB1D71 /* GeometryComputer.cpp */,
1622				48608B50250632EC00CB1D71 /* GeometryComputer.hpp */,
1623				48608B4E250632EC00CB1D71 /* GeometryComputerUtils.cpp */,
1624				48608B4F250632EC00CB1D71 /* GeometryComputerUtils.hpp */,
1625				48F5880F24DEA3F000C484A2 /* GeometryConv3D.cpp */,
1626				48F5881024DEA3F000C484A2 /* GeometryDilation2D.cpp */,
1627				48F5880D24DEA3F000C484A2 /* GeometryPooling3D.cpp */,
1628				48417FED24D13BF50056D9A7 /* GeometryELU.cpp */,
1629				48417FEE24D13BF50056D9A7 /* GeometrySelect.cpp */,
1630				48417FEC24D13BF50056D9A7 /* GeometryThreshold.cpp */,
1631				4819FB3724C69E680050BD09 /* GeometryBatchMatMul.cpp */,
1632				4819FB3824C69E680050BD09 /* GeometryCosineSimilarity.cpp */,
1633				4819FB3524C69E680050BD09 /* GeometryInnerProduct.cpp */,
1634				4819FB3624C69E680050BD09 /* GeometrySpatialProduct.cpp */,
1635				4819FB2B24C1396A0050BD09 /* GeometryBinary.cpp */,
1636				4819FB2524C139680050BD09 /* GeometryConv2D.cpp */,
1637				4819FB2924C139690050BD09 /* GeometryLRN.cpp */,
1638				4819FB2624C139690050BD09 /* GeometryLSTM.cpp */,
1639				4819FB2424C139680050BD09 /* GeometryPoolGrad.cpp */,
1640				4819FB2A24C139690050BD09 /* GeometryReduce.cpp */,
1641				489404DD24A2FC2B001E456C /* GeometryReverseSequence.cpp */,
1642				48FD0349246AA40300456AF5 /* GeometryConvert.cpp */,
1643				48FD12BD2466A88D009E9102 /* GeometryConv2DBackPropFilter.cpp */,
1644				48FD12BC2466A88C009E9102 /* GeometryImageOp.cpp */,
1645				48747D52245D9E33000B9709 /* ConvertUtils.cpp */,
1646				48747D53245D9E33000B9709 /* GeometryOPRegister.cpp */,
1647				48747D54245D9E33000B9709 /* GeometryPermute.cpp */,
1648				48747D55245D9E33000B9709 /* GeometryTile.cpp */,
1649				48747D56245D9E33000B9709 /* GeometryReshape.cpp */,
1650				48747D57245D9E33000B9709 /* GeometryDepthToSpace.cpp */,
1651				48747D58245D9E33000B9709 /* GeometryBroadcastTo.cpp */,
1652				48747D5A245D9E33000B9709 /* GeometryCrop.cpp */,
1653				48747D5B245D9E33000B9709 /* GeometryStridedSlice.cpp */,
1654				48747D5C245D9E33000B9709 /* GeometryFill.cpp */,
1655				48747D5D245D9E33000B9709 /* GeometrySpaceToBatchND.cpp */,
1656				48747D5E245D9E33000B9709 /* ConvertUtils.hpp */,
1657				48747D5F245D9E33000B9709 /* GeometrySlice.cpp */,
1658				48747D60245D9E33000B9709 /* GeometryConcat.cpp */,
1659			);
1660			path = geometry;
1661			sourceTree = "<group>";
1662		};
1663		488873A8215B639D0079B12E /* source */ = {
1664			isa = PBXGroup;
1665			children = (
1666				4D9A931B26255BDA00F9B43C /* coreml */,
1667				6A131E3C2582331C002EC3D6 /* plugin */,
1668				489D7A152550FDC800AD896A /* metal */,
1669				48C84B9D250F725600EE7666 /* utils */,
1670				48747D51245D9E33000B9709 /* geometry */,
1671				EBB38EC621E748B9005F76D7 /* shape */,
1672				488873AC215B639D0079B12E /* core */,
1673				48887410215B639D0079B12E /* cpu */,
1674				48A8A60721D101A700C2B9A7 /* cv */,
1675				48887566215B639E0079B12E /* math */,
1676			);
1677			name = source;
1678			path = ../../../source;
1679			sourceTree = "<group>";
1680		};
1681		488873AC215B639D0079B12E /* core */ = {
1682			isa = PBXGroup;
1683			children = (
1684				4D6D7FDA2656898200F80814 /* MemoryFormater.h */,
1685				48C84B9B250F722B00EE7666 /* Command.hpp */,
1686				4819FB1524C138DF0050BD09 /* GeometryConvUtils.cpp */,
1687				4819FB1324C138DF0050BD09 /* GeometryConvUtils.hpp */,
1688				48747D45245D9D23000B9709 /* RuntimeFactory.cpp */,
1689				48747D47245D9D23000B9709 /* RuntimeFactory.hpp */,
1690				4882C8B7241A22B800DAC168 /* ConvolutionCommon.cpp */,
1691				4882C8B5241A22B800DAC168 /* ConvolutionCommon.hpp */,
1692				4882C8B6241A22B800DAC168 /* OpCommonUtils.cpp */,
1693				4882C8B4241A22B800DAC168 /* OpCommonUtils.hpp */,
1694				92FF048423AA0BF900AC97F6 /* AutoStorage.h */,
1695				92FF048723AA0BFA00AC97F6 /* AutoTime.cpp */,
1696				92FF048D23AA0BFA00AC97F6 /* Backend.cpp */,
1697				92FF04A023AA0BFB00AC97F6 /* Backend.hpp */,
1698				92FF048623AA0BFA00AC97F6 /* BackendRegister.cpp */,
1699				92FF048923AA0BFA00AC97F6 /* BufferAllocator.cpp */,
1700				92FF049A23AA0BFB00AC97F6 /* BufferAllocator.hpp */,
1701				92FF049E23AA0BFB00AC97F6 /* Concurrency.h */,
1702				92FF049C23AA0BFB00AC97F6 /* Execution.cpp */,
1703				92FF048C23AA0BFA00AC97F6 /* Execution.hpp */,
1704				92FF049D23AA0BFB00AC97F6 /* FileLoader.cpp */,
1705				92FF048523AA0BFA00AC97F6 /* FileLoader.hpp */,
1706				92FF048323AA0BF900AC97F6 /* Interpreter.cpp */,
1707				92FF048E23AA0BFA00AC97F6 /* Macro.h */,
1708				92FF049723AA0BFB00AC97F6 /* MNNMemoryUtils.cpp */,
1709				92FF049323AA0BFA00AC97F6 /* MNNMemoryUtils.h */,
1710				92FF049B23AA0BFB00AC97F6 /* NonCopyable.hpp */,
1711				92FF04A123AA0BFB00AC97F6 /* Pipeline.cpp */,
1712				92FF048A23AA0BFA00AC97F6 /* Pipeline.hpp */,
1713				92FF049223AA0BFA00AC97F6 /* Schedule.cpp */,
1714				92FF048823AA0BFA00AC97F6 /* Schedule.hpp */,
1715				92FF04A323AA0BFB00AC97F6 /* Session.cpp */,
1716				92FF04A223AA0BFB00AC97F6 /* Session.hpp */,
1717				92FF049F23AA0BFB00AC97F6 /* Tensor.cpp */,
1718				92FF049523AA0BFA00AC97F6 /* TensorUtils.cpp */,
1719				92FF049423AA0BFA00AC97F6 /* TensorUtils.hpp */,
1720				92FF049923AA0BFB00AC97F6 /* WrapExecution.cpp */,
1721				92FF049623AA0BFA00AC97F6 /* WrapExecution.hpp */,
1722			);
1723			path = core;
1724			sourceTree = "<group>";
1725		};
1726		48887410215B639D0079B12E /* cpu */ = {
1727			isa = PBXGroup;
1728			children = (
1729				4838EA7B2611BFE20027232C /* CPUGridSample.cpp */,
1730				4838EA7A2611BFE20027232C /* CPUGridSample.hpp */,
1731				481C2DE625FE2CD6001ED6DF /* Arm82Functions.cpp */,
1732				481C2DE425FE2CD6001ED6DF /* Arm82Functions.hpp */,
1733				481C2DE925FE2CD6001ED6DF /* Arm82InstanceNorm.cpp */,
1734				481C2DE825FE2CD6001ED6DF /* Arm82InstanceNorm.hpp */,
1735				481C2DEA25FE2CD6001ED6DF /* Arm82Moments.cpp */,
1736				481C2DE525FE2CD6001ED6DF /* Arm82Moments.hpp */,
1737				481C2DEB25FE2CD6001ED6DF /* Arm82OptFunc.cpp */,
1738				481C2DE725FE2CD6001ED6DF /* Arm82OptFunc.hpp */,
1739				481C2DE225FE2CD5001ED6DF /* Arm82WinogradOptFunc.cpp */,
1740				481C2DE325FE2CD5001ED6DF /* Arm82WinogradOptFunc.hpp */,
1741				4896D36425FE2A3C00717702 /* Arm82Unary.cpp */,
1742				4896D36525FE2A3C00717702 /* Arm82Unary.hpp */,
1743				4896D36825FE2A3D00717702 /* Arm82Vec.hpp */,
1744				4837147025A599EC004DBDED /* Arm82Binary.cpp */,
1745				4837147125A599EC004DBDED /* Arm82Binary.hpp */,
1746				C43C81FB251894BD00A0FF84 /* CPUPlugin.cpp */,
1747				C43C81FC251894BD00A0FF84 /* ThreadPool.cpp */,
1748				C43C81FD251894BD00A0FF84 /* ThreadPool.hpp */,
1749				48C84B99250F720C00EE7666 /* CPULayerNorm.cpp */,
1750				48C84B92250F71E900EE7666 /* CPUSoftmax.cpp */,
1751				48C84B94250F71E900EE7666 /* CPUSoftmax.hpp */,
1752				486E1A9724F5078D00C16006 /* CPURandomUniform.cpp */,
1753				486E1A9824F5078D00C16006 /* CPURandomUniform.hpp */,
1754				48747D4E245D9E13000B9709 /* CPURaster.cpp */,
1755				48747D4D245D9E12000B9709 /* CPURaster.hpp */,
1756				EBD484292485FF650083CE95 /* Arm82Interp.cpp */,
1757				EBD484242485FF640083CE95 /* Arm82Interp.hpp */,
1758				EB8D2ABD246A4975009948D1 /* Arm82OpRegister.cpp */,
1759				EBECA3A324643D5D0062C7A3 /* MNNQuantizeFP16_UNIT4.S */,
1760				EBECA3A024643D4E0062C7A3 /* MNNAsmGlobal.h */,
1761				EBECA38924643D310062C7A3 /* Arm82Backend.cpp */,
1762				EBECA38324643D310062C7A3 /* Arm82Backend.hpp */,
1763				EBECA38524643D310062C7A3 /* Arm82Eltwise.cpp */,
1764				EBECA38424643D310062C7A3 /* Arm82Eltwise.hpp */,
1765				EBECA38624643D310062C7A3 /* Arm82Relu.cpp */,
1766				EBECA38724643D310062C7A3 /* Arm82Relu.hpp */,
1767				92FF013823AA0B4E00AC97F6 /* arm */,
1768				92FF021B23AA0B5600AC97F6 /* compute */,
1769				92FF00F223AA0B4A00AC97F6 /* CPUArgMax.cpp */,
1770				92FF01C023AA0B4E00AC97F6 /* CPUArgMax.hpp */,
1771				92FF01DA23AA0B5000AC97F6 /* CPUAsString.cpp */,
1772				92FF00FA23AA0B4A00AC97F6 /* CPUAsString.hpp */,
1773				92FF012F23AA0B4E00AC97F6 /* CPUBackend.cpp */,
1774				92FF021223AA0B5600AC97F6 /* CPUBackend.hpp */,
1775				92FF012223AA0B4D00AC97F6 /* CPUBinary.cpp */,
1776				92FF01F723AA0B5200AC97F6 /* CPUBinary.hpp */,
1777				92FF01CE23AA0B4F00AC97F6 /* CPUCast.cpp */,
1778				92FF011423AA0B4C00AC97F6 /* CPUCast.hpp */,
1779				92FF012923AA0B4D00AC97F6 /* CPUConst.cpp */,
1780				92FF01ED23AA0B5100AC97F6 /* CPUConst.hpp */,
1781				92FF00F323AA0B4A00AC97F6 /* CPUConvolution.cpp */,
1782				92FF01D723AA0B5000AC97F6 /* CPUConvolution.hpp */,
1783				92FF01F823AA0B5200AC97F6 /* CPUConvolutionDepthwise.cpp */,
1784				92FF024C23AA0B5700AC97F6 /* CPUConvolutionDepthwise.hpp */,
1785				92FF00DF23AA0B4900AC97F6 /* CPUCropAndResize.cpp */,
1786				92FF012723AA0B4D00AC97F6 /* CPUCropAndResize.hpp */,
1787				92FF021323AA0B5600AC97F6 /* CPUDeconvolution.cpp */,
1788				92FF010423AA0B4B00AC97F6 /* CPUDeconvolution.hpp */,
1789				92FF00FD23AA0B4A00AC97F6 /* CPUDeconvolutionDepthwise.cpp */,
1790				92FF011C23AA0B4D00AC97F6 /* CPUDeconvolutionDepthwise.hpp */,
1791				92FF021723AA0B5600AC97F6 /* CPUDepthwiseConvInt8.cpp */,
1792				92FF011F23AA0B4D00AC97F6 /* CPUDepthwiseConvInt8.hpp */,
1793				92FF012E23AA0B4E00AC97F6 /* CPUDequantize.cpp */,
1794				92FF010623AA0B4B00AC97F6 /* CPUDequantize.hpp */,
1795				92FF010D23AA0B4C00AC97F6 /* CPUDetectionOutput.cpp */,
1796				92FF01E723AA0B5100AC97F6 /* CPUDetectionOutput.hpp */,
1797				92FF01FF23AA0B5200AC97F6 /* CPUDetectionPostProcess.cpp */,
1798				92FF01DB23AA0B5000AC97F6 /* CPUDetectionPostProcess.hpp */,
1799				92FF024523AA0B5700AC97F6 /* CPUEltwise.cpp */,
1800				92FF020D23AA0B5500AC97F6 /* CPUEltwise.hpp */,
1801				92FF01F423AA0B5200AC97F6 /* CPUEltwiseInt8.cpp */,
1802				92FF011523AA0B4C00AC97F6 /* CPUEltwiseInt8.hpp */,
1803				92FF010523AA0B4B00AC97F6 /* CPUFixedPoint.hpp */,
1804				92FF00E123AA0B4900AC97F6 /* CPUFloatToInt8.cpp */,
1805				92FF00FE23AA0B4B00AC97F6 /* CPUFloatToInt8.hpp */,
1806				92FF013123AA0B4E00AC97F6 /* CPUInstanceNorm.cpp */,
1807				92FF01FA23AA0B5200AC97F6 /* CPUInstanceNorm.hpp */,
1808				92FF00ED23AA0B4900AC97F6 /* CPUInt8ToFloat.cpp */,
1809				92FF00F423AA0B4A00AC97F6 /* CPUInt8ToFloat.hpp */,
1810				92FF024623AA0B5700AC97F6 /* CPUInterp.cpp */,
1811				92FF00DB23AA0B4800AC97F6 /* CPUInterp.hpp */,
1812				92FF020723AA0B5300AC97F6 /* CPULinSpace.cpp */,
1813				92FF010C23AA0B4B00AC97F6 /* CPULinSpace.hpp */,
1814				92FF011223AA0B4C00AC97F6 /* CPUMatMul.cpp */,
1815				92FF024B23AA0B5700AC97F6 /* CPUMatMul.hpp */,
1816				92FF00EB23AA0B4900AC97F6 /* CPUMatrixBandPart.cpp */,
1817				92FF020E23AA0B5500AC97F6 /* CPUMatrixBandPart.hpp */,
1818				92FF020623AA0B5300AC97F6 /* CPUMoments.cpp */,
1819				92FF013223AA0B4E00AC97F6 /* CPUMoments.hpp */,
1820				92FF00E823AA0B4900AC97F6 /* CPUNonMaxSuppressionV2.cpp */,
1821				92FF024823AA0B5700AC97F6 /* CPUNonMaxSuppressionV2.hpp */,
1822				92FF01D823AA0B5000AC97F6 /* CPUOneHot.cpp */,
1823				92FF01D123AA0B4F00AC97F6 /* CPUOneHot.hpp */,
1824				92FF025023AA0B5900AC97F6 /* CPUOPRegister.cpp */,
1825				92FF01F123AA0B5200AC97F6 /* CPUPool.cpp */,
1826				92FF00F823AA0B4A00AC97F6 /* CPUPool.hpp */,
1827				92FF00D723AA0B4800AC97F6 /* CPUPoolInt8.cpp */,
1828				92FF00F123AA0B4A00AC97F6 /* CPUPoolInt8.hpp */,
1829				92FF012C23AA0B4D00AC97F6 /* CPUProposal.cpp */,
1830				92FF00E423AA0B4900AC97F6 /* CPUProposal.hpp */,
1831				92FF00D523AA0B4800AC97F6 /* CPUQuanConvolutionDepthwise.cpp */,
1832				92FF00F923AA0B4A00AC97F6 /* CPUQuanConvolutionDepthwise.hpp */,
1833				92FF00EC23AA0B4900AC97F6 /* CPUQuantizationUtils.hpp */,
1834				92FF021423AA0B5600AC97F6 /* CPUQuantizedAdd.cpp */,
1835				92FF013523AA0B4E00AC97F6 /* CPUQuantizedAdd.hpp */,
1836				92FF00E323AA0B4900AC97F6 /* CPUQuantizedAvgPool.cpp */,
1837				92FF01C623AA0B4F00AC97F6 /* CPUQuantizedAvgPool.hpp */,
1838				92FF012123AA0B4D00AC97F6 /* CPUQuantizedLogistic.cpp */,
1839				92FF020923AA0B5300AC97F6 /* CPUQuantizedLogistic.hpp */,
1840				92FF011823AA0B4C00AC97F6 /* CPUQuantizedMaxPool.cpp */,
1841				92FF012423AA0B4D00AC97F6 /* CPUQuantizedMaxPool.hpp */,
1842				92FF012A23AA0B4D00AC97F6 /* CPUQuantizedSoftmax.cpp */,
1843				92FF01EF23AA0B5100AC97F6 /* CPUQuantizedSoftmax.hpp */,
1844				92FF020B23AA0B5300AC97F6 /* CPURange.cpp */,
1845				92FF011123AA0B4C00AC97F6 /* CPURange.hpp */,
1846				92FF00E523AA0B4900AC97F6 /* CPUReduceJoin.cpp */,
1847				92FF024723AA0B5700AC97F6 /* CPUReduceJoin.hpp */,
1848				92FF01C323AA0B4F00AC97F6 /* CPUReduction.cpp */,
1849				92FF010A23AA0B4B00AC97F6 /* CPUReduction.hpp */,
1850				92FF01FE23AA0B5200AC97F6 /* CPURelu.cpp */,
1851				92FF01DC23AA0B5000AC97F6 /* CPURelu.hpp */,
1852				92FF01EC23AA0B5100AC97F6 /* CPUResize.cpp */,
1853				92FF01E623AA0B5100AC97F6 /* CPUResize.hpp */,
1854				92FF01EB23AA0B5100AC97F6 /* CPURNNSequenceGRU.cpp */,
1855				92FF00DE23AA0B4900AC97F6 /* CPURNNSequenceGRU.hpp */,
1856				92FF00DC23AA0B4900AC97F6 /* CPUROIPooling.cpp */,
1857				92FF01F923AA0B5200AC97F6 /* CPUROIPooling.hpp */,
1858				92FF01F023AA0B5200AC97F6 /* CPURuntime.cpp */,
1859				92FF01E823AA0B5100AC97F6 /* CPURuntime.hpp */,
1860				92FF01E423AA0B5100AC97F6 /* CPUScale.cpp */,
1861				92FF011923AA0B4C00AC97F6 /* CPUScale.hpp */,
1862				92FF01D423AA0B5000AC97F6 /* CPUScatterNd.cpp */,
1863				92FF00F023AA0B4A00AC97F6 /* CPUScatterNd.hpp */,
1864				92FF01D523AA0B5000AC97F6 /* CPUSelect.cpp */,
1865				92FF00E023AA0B4900AC97F6 /* CPUSelect.hpp */,
1866				92FF020323AA0B5300AC97F6 /* CPUSetDiff1D.cpp */,
1867				92FF01CD23AA0B4F00AC97F6 /* CPUSetDiff1D.hpp */,
1868				92FF025223AA0B5900AC97F6 /* CPUTensorConvert.cpp */,
1869				92FF020823AA0B5300AC97F6 /* CPUTensorConvert.hpp */,
1870				92FF011623AA0B4C00AC97F6 /* CPUTFQuantizedConv2D.cpp */,
1871				92FF01D923AA0B5000AC97F6 /* CPUTFQuantizedConv2D.hpp */,
1872				92FF013323AA0B4E00AC97F6 /* CPUTopKV2.cpp */,
1873				92FF025323AA0B5900AC97F6 /* CPUTopKV2.hpp */,
1874				92FF013423AA0B4E00AC97F6 /* CPUUnary.cpp */,
1875				92FF00F523AA0B4A00AC97F6 /* CPUUnary.hpp */,
1876				92FF01E523AA0B5100AC97F6 /* CPUUnravelIndex.cpp */,
1877				92FF020C23AA0B5500AC97F6 /* CPUUnravelIndex.hpp */,
1878				92FF013623AA0B4E00AC97F6 /* CPUWhere.cpp */,
1879				92FF010B23AA0B4B00AC97F6 /* CPUWhere.hpp */,
1880				488F1156247BB2A0008E85C6 /* Arm82Raster.cpp */,
1881				488F1157247BB2A0008E85C6 /* Arm82Raster.hpp */,
1882			);
1883			name = cpu;
1884			path = backend/cpu;
1885			sourceTree = "<group>";
1886		};
1887		48887566215B639E0079B12E /* math */ = {
1888			isa = PBXGroup;
1889			children = (
1890				C43C8223251894F400A0FF84 /* Matrix.hpp */,
1891				C43C8224251894F400A0FF84 /* Vec.hpp */,
1892				C43C8222251894F400A0FF84 /* WingoradGenerater.hpp */,
1893				4888756A215B639E0079B12E /* Matrix.cpp */,
1894				48887567215B639E0079B12E /* WingoradGenerater.cpp */,
1895			);
1896			path = math;
1897			sourceTree = "<group>";
1898		};
1899		489404DC24A2F4BB001E456C /* Recovered References */ = {
1900			isa = PBXGroup;
1901			children = (
1902			);
1903			name = "Recovered References";
1904			sourceTree = "<group>";
1905		};
1906		489D7A152550FDC800AD896A /* metal */ = {
1907			isa = PBXGroup;
1908			children = (
1909				4838EA802611C00B0027232C /* MetalGridSample.hpp */,
1910				4838EA812611C00B0027232C /* MetalGridSample.metal */,
1911				4838EA822611C00B0027232C /* MetalGridSample.mm */,
1912				489D7A162550FDC800AD896A /* MetalReLU6.metal */,
1913				489D7A172550FDC800AD896A /* MetalReduction.hpp */,
1914				489D7A192550FDC800AD896A /* MetalConvolutionGEMM.hpp */,
1915				489D7A1A2550FDC800AD896A /* MetalReLU.metal */,
1916				489D7A1D2550FDC800AD896A /* MetalROIPooling.hpp */,
1917				489D7A1E2550FDC800AD896A /* MetalCast.mm */,
1918				489D7A1F2550FDC800AD896A /* MetalRaster.hpp */,
1919				489D7A202550FDC800AD896A /* MetalConvolutionDepthwise.metal */,
1920				489D7A212550FDC800AD896A /* MetalReLU6.hpp */,
1921				489D7A222550FDC800AD896A /* MetalBackend.hpp */,
1922				489D7A232550FDC800AD896A /* MetalConvolutionActivation.metal */,
1923				489D7A242550FDC800AD896A /* MetalConvolution.metal */,
1924				489D7A252550FDC800AD896A /* MetalReduction.mm */,
1925				489D7A262550FDC800AD896A /* MetalConvolutionGEMM.mm */,
1926				489D7A272550FDC800AD896A /* MetalEltwise.mm */,
1927				489D7A282550FDC800AD896A /* MetalConvolution1x1.mm */,
1928				489D7A292550FDC800AD896A /* MetalReduction.metal */,
1929				489D7A2A2550FDC800AD896A /* MetalUnary.hpp */,
1930				489D7A2B2550FDC800AD896A /* MetalBackend.metal */,
1931				489D7A2C2550FDC800AD896A /* MetalConvolution.mm */,
1932				489D7A2D2550FDC800AD896A /* MNNMetalContext.mm */,
1933				489D7A2E2550FDC800AD896A /* MetalReLU.hpp */,
1934				489D7A2F2550FDC800AD896A /* MetalEltwise.hpp */,
1935				489D7A302550FDC800AD896A /* MetalPooling.hpp */,
1936				489D7A312550FDC800AD896A /* MetalPReLU.hpp */,
1937				489D7A322550FDC800AD896A /* MetalMatMul.mm */,
1938				489D7A332550FDC800AD896A /* MetalBinary.mm */,
1939				489D7A342550FDC800AD896A /* MetalConvolutionWinograd.metal */,
1940				489D7A352550FDC800AD896A /* MetalMatMul.metal */,
1941				489D7A362550FDC800AD896A /* MetalOPRegister.mm */,
1942				489D7A372550FDC800AD896A /* MetalTensorConverter.hpp */,
1943				489D7A392550FDC800AD896A /* MetalConvolutionDepthwise.mm */,
1944				489D7A3A2550FDC800AD896A /* MetalConvolutionWinograd.hpp */,
1945				489D7A3B2550FDC800AD896A /* MetalDeconvolution.mm */,
1946				489D7A3C2550FDC800AD896A /* MetalReLU.mm */,
1947				489D7A3D2550FDC800AD896A /* MetalPooling.mm */,
1948				489D7A3E2550FDC800AD896A /* MetalScale.metal */,
1949				489D7A3F2550FDC800AD896A /* MetalConvolution.hpp */,
1950				489D7A402550FDC800AD896A /* MetalScale.mm */,
1951				489D7A422550FDC800AD896A /* MetalFixedPoint.metal */,
1952				489D7A442550FDC800AD896A /* MetalMatMul.hpp */,
1953				489D7A452550FDC800AD896A /* MetalConvolution1x1.hpp */,
1954				489D7A462550FDC800AD896A /* MetalConvolutionDepthwise.hpp */,
1955				489D7A472550FDC800AD896A /* MNNMetalContext.h */,
1956				489D7A482550FDC800AD896A /* MetalDeconvolution.metal */,
1957				489D7A492550FDC800AD896A /* MetalConvolutionCommon.mm */,
1958				489D7A4A2550FDC800AD896A /* MetalDeconvolution.hpp */,
1959				489D7A4B2550FDC800AD896A /* MetalPooling.metal */,
1960				489D7A4C2550FDC800AD896A /* MetalInterp.mm */,
1961				489D7A4D2550FDC800AD896A /* MetalROIPooling.metal */,
1962				489D7A4E2550FDC800AD896A /* MetalConvolutionCommon.hpp */,
1963				489D7A4F2550FDC800AD896A /* MetalCast.metal */,
1964				489D7A502550FDC800AD896A /* MetalUnary.mm */,
1965				489D7A522550FDC800AD896A /* MetalRaster.mm */,
1966				489D7A532550FDC800AD896A /* MetalROIPooling.mm */,
1967				489D7A542550FDC800AD896A /* MetalInterp.hpp */,
1968				489D7A552550FDC800AD896A /* MetalBackend.mm */,
1969				489D7A562550FDC800AD896A /* MetalScale.hpp */,
1970				489D7A572550FDC800AD896A /* MetalCast.hpp */,
1971				489D7A582550FDC800AD896A /* MetalConvolution1x1.metal */,
1972				489D7A5A2550FDC800AD896A /* MetalConvolutionGEMM.metal */,
1973				489D7A5B2550FDC800AD896A /* MetalTensorConverter.mm */,
1974				489D7A5C2550FDC800AD896A /* MetalResize.metal */,
1975				489D7A5D2550FDC800AD896A /* MetalPReLU.metal */,
1976				489D7A5E2550FDC800AD896A /* MetalConvolutionWinograd.mm */,
1977				489D7A5F2550FDC800AD896A /* MetalDefine.h */,
1978				489D7A602550FDC800AD896A /* MetalDefine.metal */,
1979				489D7A612550FDC800AD896A /* MetalUnary.metal */,
1980				489D7A622550FDC800AD896A /* MetalPReLU.mm */,
1981				489D7A632550FDC800AD896A /* MetalBinary.hpp */,
1982				489D7A642550FDC800AD896A /* MetalBinary.metal */,
1983				489D7A652550FDC800AD896A /* MetalReLU6.mm */,
1984				489D7A662550FDC800AD896A /* MetalEltwise.metal */,
1985			);
1986			name = metal;
1987			path = backend/metal;
1988			sourceTree = "<group>";
1989		};
1990		48A8A60721D101A700C2B9A7 /* cv */ = {
1991			isa = PBXGroup;
1992			children = (
1993				C43C822C2518951800A0FF84 /* ImageBlitter.hpp */,
1994				C43C822B2518951800A0FF84 /* ImageFloatBlitter.hpp */,
1995				C43C82292518951800A0FF84 /* ImageSampler.hpp */,
1996				C43C82282518951800A0FF84 /* SkNx_neon.h */,
1997				C43C822A2518951800A0FF84 /* SkNx.h */,
1998				48A8A60D21D101A700C2B9A7 /* ImageBlitter.cpp */,
1999				48A8A60E21D101A700C2B9A7 /* ImageFloatBlitter.cpp */,
2000				48A8A60B21D101A700C2B9A7 /* ImageProcess.cpp */,
2001				48A8A60C21D101A700C2B9A7 /* ImageSampler.cpp */,
2002				48A8A61721D101DD00C2B9A7 /* Matrix_CV.cpp */,
2003			);
2004			path = cv;
2005			sourceTree = "<group>";
2006		};
2007		48C84B6F250F711600EE7666 /* module */ = {
2008			isa = PBXGroup;
2009			children = (
2010				48C84B71250F711600EE7666 /* PipelineModule.cpp */,
2011				48C84B72250F711600EE7666 /* Module.cpp */,
2012				48C84B73250F711600EE7666 /* WhileModule.hpp */,
2013				48C84B74250F711600EE7666 /* IfModule.hpp */,
2014				48C84B75250F711600EE7666 /* StaticModule.cpp */,
2015				48C84B76250F711600EE7666 /* WhileModule.cpp */,
2016				48C84B77250F711600EE7666 /* IfModule.cpp */,
2017				48C84B78250F711600EE7666 /* StaticModule.hpp */,
2018				48C84B7A250F711600EE7666 /* PipelineModule.hpp */,
2019			);
2020			path = module;
2021			sourceTree = "<group>";
2022		};
2023		48C84B9D250F725600EE7666 /* utils */ = {
2024			isa = PBXGroup;
2025			children = (
2026				48C84B9E250F725600EE7666 /* InitNet.hpp */,
2027				48C84B9F250F725600EE7666 /* InitNet.cpp */,
2028			);
2029			path = utils;
2030			sourceTree = "<group>";
2031		};
2032		48FD03422467C64700456AF5 /* speed */ = {
2033			isa = PBXGroup;
2034			children = (
2035				48FD03432467C64700456AF5 /* MatMulSpeed.cpp */,
2036				48FD03442467C64700456AF5 /* ReluSpeed.cpp */,
2037				48FD03452467C64700456AF5 /* BinarySpeedTest.cpp */,
2038			);
2039			name = speed;
2040			path = ../../../test/speed;
2041			sourceTree = "<group>";
2042		};
2043		4D9A931B26255BDA00F9B43C /* coreml */ = {
2044			isa = PBXGroup;
2045			children = (
2046				4D9A931D26255BDA00F9B43C /* mlmodel */,
2047				4D9A933526255BDA00F9B43C /* backend */,
2048				4D9A933A26255BDA00F9B43C /* execution */,
2049			);
2050			name = coreml;
2051			path = backend/coreml;
2052			sourceTree = "<group>";
2053		};
2054		4D9A931D26255BDA00F9B43C /* mlmodel */ = {
2055			isa = PBXGroup;
2056			children = (
2057				4D9A932526255BDA00F9B43C /* include */,
2058				4D9A932E26255BDA00F9B43C /* src */,
2059			);
2060			path = mlmodel;
2061			sourceTree = "<group>";
2062		};
2063		4D9A932526255BDA00F9B43C /* include */ = {
2064			isa = PBXGroup;
2065			children = (
2066				4D9A932626255BDA00F9B43C /* Model.pb-c.h */,
2067				4D9A932726255BDA00F9B43C /* protobuf-c */,
2068				4D9A932926255BDA00F9B43C /* FeatureTypes.pb-c.h */,
2069				4D9A932A26255BDA00F9B43C /* DataStructures.pb-c.h */,
2070				4D9A932B26255BDA00F9B43C /* Parameters.pb-c.h */,
2071				4D9A932C26255BDA00F9B43C /* NeuralNetwork.pb-c.h */,
2072			);
2073			path = include;
2074			sourceTree = "<group>";
2075		};
2076		4D9A932726255BDA00F9B43C /* protobuf-c */ = {
2077			isa = PBXGroup;
2078			children = (
2079				4D9A932826255BDA00F9B43C /* protobuf-c.h */,
2080			);
2081			path = "protobuf-c";
2082			sourceTree = "<group>";
2083		};
2084		4D9A932E26255BDA00F9B43C /* src */ = {
2085			isa = PBXGroup;
2086			children = (
2087				4D9A932F26255BDA00F9B43C /* DataStructures.pb-c.c */,
2088				4D9A933026255BDA00F9B43C /* Parameters.pb-c.c */,
2089				4D9A933126255BDA00F9B43C /* NeuralNetwork.pb-c.c */,
2090				4D9A933226255BDA00F9B43C /* Model.pb-c.c */,
2091				4D9A933326255BDA00F9B43C /* protobuf-c.c */,
2092				4D9A933426255BDA00F9B43C /* FeatureTypes.pb-c.c */,
2093			);
2094			path = src;
2095			sourceTree = "<group>";
2096		};
2097		4D9A933526255BDA00F9B43C /* backend */ = {
2098			isa = PBXGroup;
2099			children = (
2100				4D4DAE67263905390060D37E /* CoreMLDefine.h */,
2101				4DDE2018263809920085AC8F /* CoreMLExecutorWrapper.h */,
2102				4DDE2017263809920085AC8F /* CoreMLExecutorWrapper.mm */,
2103				4D9A933626255BDA00F9B43C /* CoreMLBackend.cpp */,
2104				4D9A933726255BDA00F9B43C /* CoreMLExecutor.mm */,
2105				4D9A933826255BDA00F9B43C /* CoreMLBackend.hpp */,
2106				4D9A933926255BDA00F9B43C /* CoreMLExecutor.h */,
2107			);
2108			path = backend;
2109			sourceTree = "<group>";
2110		};
2111		4D9A933A26255BDA00F9B43C /* execution */ = {
2112			isa = PBXGroup;
2113			children = (
2114				4DF63F2E2660D9D100590730 /* CoreMLInterp.hpp */,
2115				4DF63F2C2660D9CB00590730 /* CoreMLInterp.cpp */,
2116				4D9A933B26255BDA00F9B43C /* CoreMLReduction.cpp */,
2117				4D9A933C26255BDA00F9B43C /* CoreMLCommonExecution.cpp */,
2118				4D9A933D26255BDA00F9B43C /* CoreMLScale.hpp */,
2119				4D9A933E26255BDA00F9B43C /* CoreMLBinary.cpp */,
2120				4D9A933F26255BDA00F9B43C /* CoreMLPool.hpp */,
2121				4D9A934026255BDA00F9B43C /* CoreMLRaster.hpp */,
2122				4D9A934126255BDA00F9B43C /* CoreMLActivation.hpp */,
2123				4D9A934226255BDA00F9B43C /* CoreMLArgMax.cpp */,
2124				4D9A934326255BDA00F9B43C /* CoreMLConvolution.cpp */,
2125				4D9A934426255BDA00F9B43C /* CoreMLUnary.cpp */,
2126				4D9A934526255BDA00F9B43C /* CoreMLArgMax.hpp */,
2127				4D9A934626255BDA00F9B43C /* CoreMLConvolution.hpp */,
2128				4D9A934726255BDA00F9B43C /* CoreMLUnary.hpp */,
2129				4D9A934826255BDA00F9B43C /* CoreMLReduction.hpp */,
2130				4D9A934926255BDA00F9B43C /* CoreMLCommonExecution.hpp */,
2131				4D9A934A26255BDA00F9B43C /* CoreMLScale.cpp */,
2132				4D9A934B26255BDA00F9B43C /* CoreMLPool.cpp */,
2133				4D9A934C26255BDA00F9B43C /* CoreMLBinary.hpp */,
2134				4D9A934D26255BDA00F9B43C /* CoreMLRaster.cpp */,
2135				4D9A934E26255BDA00F9B43C /* CoreMLActivation.cpp */,
2136			);
2137			path = execution;
2138			sourceTree = "<group>";
2139		};
2140		4D9A938926255DF800F9B43C /* benchmark */ = {
2141			isa = PBXGroup;
2142			children = (
2143				4D6D7FDE2656994600F80814 /* benchmark.cpp */,
2144				4D9A93EA26255FB000F9B43C /* models */,
2145				4D9A93CF26255E9600F9B43C /* revertMNNModel.cpp */,
2146				4D9A93CE26255E6F00F9B43C /* revertMNNModel.hpp */,
2147				4D9A93A826255DF800F9B43C /* benchmark.h */,
2148			);
2149			name = benchmark;
2150			path = ../../../benchmark;
2151			sourceTree = "<group>";
2152		};
2153		6A131E3C2582331C002EC3D6 /* plugin */ = {
2154			isa = PBXGroup;
2155			children = (
2156				6A131E3E25823349002EC3D6 /* PluginKernel.cpp */,
2157				6A131E3D25823349002EC3D6 /* PluginShapeInference.cpp */,
2158			);
2159			path = plugin;
2160			sourceTree = "<group>";
2161		};
2162		9200045021EDBCEC00BCE892 /* Tests */ = {
2163			isa = PBXGroup;
2164			children = (
2165				48FD03422467C64700456AF5 /* speed */,
2166				4829A2CA23CC26AD00623BF5 /* expr */,
2167				9200045C21EDBDF600BCE892 /* core */,
2168				9200045E21EDBDF600BCE892 /* cv */,
2169				925F018721FF1DF400E648A1 /* model */,
2170				9200046121EDBDF600BCE892 /* op */,
2171				9200045821EDBCF700BCE892 /* MNNTestSuite.cpp */,
2172				9200045321EDBCF700BCE892 /* MNNTestSuite.h */,
2173				9200045921EDBCF700BCE892 /* TestUtils.cpp */,
2174				9200045521EDBCF700BCE892 /* TestUtils.h */,
2175				9200045721EDBCF700BCE892 /* TestUtils.mm */,
2176			);
2177			name = Tests;
2178			sourceTree = "<group>";
2179		};
2180		9200045C21EDBDF600BCE892 /* core */ = {
2181			isa = PBXGroup;
2182			children = (
2183				92A4E10221F07C76000B0919 /* AutoStorageTest.cpp */,
2184				92D765B8222819EF00178BE5 /* BackendTest.cpp */,
2185				925702D121EF270D00A2A3CA /* BufferAllocatorTest.cpp */,
2186				92A4E0FB21F05A4F000B0919 /* MemoryUtilsTest.cpp */,
2187				925702F521EF604400A2A3CA /* SizeComputerTest.cpp */,
2188				9200045D21EDBDF600BCE892 /* TensorTest.cpp */,
2189				925702CE21EF0F5300A2A3CA /* TensorUtilsTest.cpp */,
2190			);
2191			name = core;
2192			path = ../../../test/core;
2193			sourceTree = "<group>";
2194		};
2195		9200045E21EDBDF600BCE892 /* cv */ = {
2196			isa = PBXGroup;
2197			children = (
2198				9200045F21EDBDF600BCE892 /* ImageProcessTest.cpp */,
2199				9200046021EDBDF600BCE892 /* MatrixTest.cpp */,
2200			);
2201			name = cv;
2202			path = ../../../test/cv;
2203			sourceTree = "<group>";
2204		};
2205		9200046121EDBDF600BCE892 /* op */ = {
2206			isa = PBXGroup;
2207			children = (
2208				4882C8D6241A24D900DAC168 /* ArgMaxTest.cpp */,
2209				4882C8D5241A24D800DAC168 /* BroadcastToTest.cpp */,
2210				4882C8DA241A24D900DAC168 /* Conv2DBackPropFilterTest.cpp */,
2211				4882C8CE241A24D800DAC168 /* Conv2DBackPropTest.cpp */,
2212				4882C8C6241A24D700DAC168 /* ConvInt8Test.cpp */,
2213				4882C8BC241A24D600DAC168 /* Convolution3DTest.cpp */,
2214				4882C8CC241A24D800DAC168 /* DepthToSpaceTest.cpp */,
2215				4882C8C3241A24D700DAC168 /* Dilation2DTest.cpp */,
2216				4882C8C0241A24D700DAC168 /* EluTest.cpp */,
2217				4882C8CF241A24D800DAC168 /* ExpandDimsTest.cpp */,
2218				4882C8D8241A24D900DAC168 /* LinSpaceTest.cpp */,
2219				4882C8D2241A24D800DAC168 /* MatrixBandPart.cpp */,
2220				4882C8D3241A24D800DAC168 /* MomentsTest.cpp */,
2221				4882C8C2241A24D700DAC168 /* MultiConvolutionTest.cpp */,
2222				4882C8D9241A24D900DAC168 /* MultiDeconvolutionTest.cpp */,
2223				4882C8C9241A24D700DAC168 /* OneHotTest.cpp */,
2224				4882C8D0241A24D800DAC168 /* PadTest.cpp */,
2225				4882C8C1241A24D700DAC168 /* Pool3DTest.cpp */,
2226				4882C8DB241A24D900DAC168 /* PoolGradTest.cpp */,
2227				4882C8C8241A24D700DAC168 /* ScatterNdTest.cpp */,
2228				4882C8D7241A24D900DAC168 /* SetDiff1DTest.cpp */,
2229				4882C8DC241A24D900DAC168 /* ShapeTest.cpp */,
2230				4882C8BD241A24D600DAC168 /* SizeTest.cpp */,
2231				4882C8CB241A24D800DAC168 /* SoftplusTest.cpp */,
2232				4882C8BE241A24D700DAC168 /* SoftsignTest.cpp */,
2233				4882C8CD241A24D800DAC168 /* SpaceToDepthTest.cpp */,
2234				4882C8CA241A24D800DAC168 /* SplitTest.cpp */,
2235				4882C8D1241A24D800DAC168 /* StackTest.cpp */,
2236				4882C8C7241A24D700DAC168 /* UnravelIndexTest.cpp */,
2237				4882C8BF241A24D700DAC168 /* UnstackTest.cpp */,
2238				4882C8C5241A24D700DAC168 /* ZerosLikeTest.cpp */,
2239				9200047C21EDBDF600BCE892 /* BatchToSpaceNDTest.cpp */,
2240				9200047B21EDBDF600BCE892 /* BinaryOPTest.cpp */,
2241				9200048A21EDBDF600BCE892 /* ConcatTest.cpp */,
2242				9200047421EDBDF600BCE892 /* ConvolutionTest.cpp */,
2243				9200048D21EDBDF600BCE892 /* CropTest.cpp */,
2244				9200048221EDBDF600BCE892 /* FillTest.cpp */,
2245				9200046E21EDBDF600BCE892 /* GatherTest.cpp */,
2246				9200047021EDBDF600BCE892 /* GatherV2Test.cpp */,
2247				9200046A21EDBDF600BCE892 /* MatMulTest.cpp */,
2248				9200049621EDBDF600BCE892 /* PReLUTest.cpp */,
2249				9200049221EDBDF600BCE892 /* RangeTest.cpp */,
2250				9200046D21EDBDF600BCE892 /* RankTest.cpp */,
2251				9200046F21EDBDF600BCE892 /* ReductionTest.cpp */,
2252				92C674FD22549C9900011D33 /* ReLU6Test.cpp */,
2253				9200047921EDBDF600BCE892 /* ReLUTest.cpp */,
2254				9200047821EDBDF600BCE892 /* ReshapeTest.cpp */,
2255				9200048521EDBDF600BCE892 /* ResizeTest.cpp */,
2256				9200049321EDBDF600BCE892 /* SeLUTest.cpp */,
2257				9200047E21EDBDF600BCE892 /* SoftmaxTest.cpp */,
2258				9200049121EDBDF600BCE892 /* SpaceToBatchNDTest.cpp */,
2259				9200046621EDBDF600BCE892 /* SqueezeTest.cpp */,
2260				9200046B21EDBDF600BCE892 /* TileTest.cpp */,
2261				9200049421EDBDF600BCE892 /* UnaryTest.cpp */,
2262			);
2263			name = op;
2264			path = ../../../test/op;
2265			sourceTree = "<group>";
2266		};
2267		925F018721FF1DF400E648A1 /* model */ = {
2268			isa = PBXGroup;
2269			children = (
2270				925F018A21FF222E00E648A1 /* model */,
2271				925F018C21FFF3D300E648A1 /* MobileNetTest.cpp */,
2272				925F018821FF1E0B00E648A1 /* SqueezeNetTest.cpp */,
2273			);
2274			name = model;
2275			path = ../../../test/model;
2276			sourceTree = "<group>";
2277		};
2278		9273AB4C1FE7BE4D00477B22 /* Playground */ = {
2279			isa = PBXGroup;
2280			children = (
2281				4D9A938926255DF800F9B43C /* benchmark */,
2282				9200045021EDBCEC00BCE892 /* Tests */,
2283				9273AB4D1FE7BE4D00477B22 /* AppDelegate.h */,
2284				9273AB4E1FE7BE4D00477B22 /* AppDelegate.mm */,
2285				9273AB561FE7BE4D00477B22 /* Assets.xcassets */,
2286				9273AB5B1FE7BE4D00477B22 /* Info.plist */,
2287				9273AB5C1FE7BE4D00477B22 /* main.m */,
2288			);
2289			path = Playground;
2290			sourceTree = "<group>";
2291		};
2292		92FF013823AA0B4E00AC97F6 /* arm */ = {
2293			isa = PBXGroup;
2294			children = (
2295				C43C81F8251894A500A0FF84 /* CommonOptFunctionNeon.cpp */,
2296				92FF013A23AA0B4E00AC97F6 /* arm32 */,
2297				92FF017C23AA0B4E00AC97F6 /* arm64 */,
2298				92FF01BD23AA0B4E00AC97F6 /* MNNAsmGlobal.h */,
2299			);
2300			path = arm;
2301			sourceTree = "<group>";
2302		};
2303		92FF013A23AA0B4E00AC97F6 /* arm32 */ = {
2304			isa = PBXGroup;
2305			children = (
2306				4D6D7FCA265688F600F80814 /* MNNPackedSparseMatMulEpx4.S */,
2307				4D6D7FC8265688EA00F80814 /* MNNPackedSparseMatMulEpx1.S */,
2308				4D6D7FC6265688E200F80814 /* MNNPackC4ForMatMul_A_BF16.S */,
2309				11A01A05258785EA00745FA7 /* MNNVectorTop1Float.S */,
2310				11A01A04258785EA00745FA7 /* MNNVectorTop1Int32.S */,
2311				48034562254157CE004738E3 /* MNNNV21ToBGRAUnit.S */,
2312				48BB6EF525220AA80056E195 /* MNNTranspose32Bit4x4.S */,
2313				48FB9DC624A848D0008E1A2D /* MNNAxByClampBroadcastC4.S */,
2314				48FB9DC424A848D0008E1A2D /* MNNPackC4ForMatMul_A.S */,
2315				48FB9DC324A848D0008E1A2D /* MNNPackedMatMul.S */,
2316				48FB9DC524A848D0008E1A2D /* MNNPackedMatMulRemain.S */,
2317				EB45C773244D7C4F00E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S */,
2318				92FF013B23AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S */,
2319				92FF013C23AA0B4E00AC97F6 /* MNNScaleAddInt8.S */,
2320				92FF013D23AA0B4E00AC97F6 /* MNNMatrixProd.S */,
2321				92FF013E23AA0B4E00AC97F6 /* MNNFloat2Int8.S */,
2322				92FF013F23AA0B4E00AC97F6 /* MNNSamplerC4NearestOpt.S */,
2323				92FF014023AA0B4E00AC97F6 /* MNNAddC4WithStride.S */,
2324				92FF014123AA0B4E00AC97F6 /* MNNQuanToDestUint8.S */,
2325				92FF014223AA0B4E00AC97F6 /* MNNLoadU8AndSum.S */,
2326				92FF014523AA0B4E00AC97F6 /* MNNStrassenMergeCFunction.S */,
2327				92FF014623AA0B4E00AC97F6 /* MNNBlitC1ToFloatRGBA.S */,
2328				92FF014723AA0B4E00AC97F6 /* MNNCopyC4WithStride.S */,
2329				92FF014823AA0B4E00AC97F6 /* MNNNV21ToBGRUnit.S */,
2330				92FF014923AA0B4E00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S */,
2331				92FF014A23AA0B4E00AC97F6 /* MNNUnPackC4.S */,
2332				92FF014B23AA0B4E00AC97F6 /* MNNSamplerC1NearestOpt.S */,
2333				92FF014D23AA0B4E00AC97F6 /* MNNNV21ToRGBUnit.S */,
2334				92FF014E23AA0B4E00AC97F6 /* MNNPackC4.S */,
2335				92FF014F23AA0B4E00AC97F6 /* MNNMinFloat.S */,
2336				92FF015123AA0B4E00AC97F6 /* MNNMaxFloat.S */,
2337				92FF015223AA0B4E00AC97F6 /* MNNNV21ToRGBAUnit.S */,
2338				92FF015523AA0B4E00AC97F6 /* MNNMatrixMax.S */,
2339				92FF015623AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S */,
2340				92FF015723AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S */,
2341				92FF015B23AA0B4E00AC97F6 /* MNNScaleAndAddBias.S */,
2342				92FF015C23AA0B4E00AC97F6 /* MNNReluInt8.S */,
2343				92FF015D23AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S */,
2344				92FF015E23AA0B4E00AC97F6 /* MNNSamplerC4BilinearOpt.S */,
2345				92FF016023AA0B4E00AC97F6 /* MNNMatrixSub.S */,
2346				92FF016123AA0B4E00AC97F6 /* MNNPowC8.S */,
2347				92FF016223AA0B4E00AC97F6 /* MNNMatrixAdd.S */,
2348				92FF016323AA0B4E00AC97F6 /* MNNExpC8.S */,
2349				92FF016523AA0B4E00AC97F6 /* MNNConvDwF23SourceTransUnit.S */,
2350				92FF016623AA0B4E00AC97F6 /* MNNWinogradMatrixProductLeft.S */,
2351				92FF016723AA0B4E00AC97F6 /* MNNDeconvRunForUnitDepthWise.S */,
2352				92FF016823AA0B4E00AC97F6 /* MNNSamplerC1BilinearOpt.S */,
2353				92FF016A23AA0B4E00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S */,
2354				92FF016C23AA0B4E00AC97F6 /* MNNWinogradMatrixProductRight.S */,
2355				92FF016E23AA0B4E00AC97F6 /* MNNReluWithSlopeChannel.S */,
2356				92FF017223AA0B4E00AC97F6 /* MNNBlitC3ToFloatRGBA.S */,
2357				92FF017423AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S */,
2358				92FF017523AA0B4E00AC97F6 /* MNNInt8ScaleToFloat.S */,
2359				92FF017623AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWise.S */,
2360				92FF017723AA0B4E00AC97F6 /* MNNConvDwF23MulTransUnit.S */,
2361				92FF017823AA0B4E00AC97F6 /* MNNConvRunForLineDepthwise.S */,
2362				92FF017923AA0B4E00AC97F6 /* MNNGemmint8to32_8x4_Unit.S */,
2363			);
2364			path = arm32;
2365			sourceTree = "<group>";
2366		};
2367		92FF017C23AA0B4E00AC97F6 /* arm64 */ = {
2368			isa = PBXGroup;
2369			children = (
2370				4D6D7FD02656891400F80814 /* MNNPackedSparseMatMulEpx4.S */,
2371				4D6D7FCE2656890C00F80814 /* MNNPackedSparseMatMulEpx1.S */,
2372				4D6D7FCC2656890500F80814 /* MNNPackC4ForMatMul_A_BF16.S */,
2373				4896D37625FE2A6B00717702 /* Arm82MNNPackForMatMul_A.S */,
2374				4896D37325FE2A6B00717702 /* MNNConvDwF23MulTransUnitFP16.S */,
2375				4896D37425FE2A6B00717702 /* MNNConvDwF23SourceTransUnitFP16.S */,
2376				4896D37725FE2A6B00717702 /* MNNConvRunForLineDepthwiseFP16.S */,
2377				4896D37025FE2A6A00717702 /* MNNExpFP16.S */,
2378				4896D37525FE2A6B00717702 /* MNNPackC8FP16.S */,
2379				4896D37125FE2A6A00717702 /* MNNPackedMatMulFP16.S */,
2380				4896D37225FE2A6A00717702 /* MNNPackedMatMulRemainFP16.S */,
2381				11A01A0A258785FB00745FA7 /* MNNVectorTop1Float.S */,
2382				11A01A0B258785FB00745FA7 /* MNNVectorTop1Int32.S */,
2383				48034566254157DF004738E3 /* MNNNV21ToBGRAUnit.S */,
2384				48BB6EEF25220A930056E195 /* MNNTranspose32Bit4x4.S */,
2385				48FB9DBF24A8445A008E1A2D /* MNNAxByClampBroadcastC4.S */,
2386				48FB9DC024A8445A008E1A2D /* MNNPackedMatMulRemain.S */,
2387				EBECA37A24643D110062C7A3 /* MNNGemmInt8AddBiasScale_ARMV82_Unit.S */,
2388				EB45C775244D7C6600E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S */,
2389				92FF017D23AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S */,
2390				92FF017E23AA0B4E00AC97F6 /* MNNScaleAddInt8.S */,
2391				92FF017F23AA0B4E00AC97F6 /* MNNMatrixProd.S */,
2392				92FF018023AA0B4E00AC97F6 /* MNNFloat2Int8.S */,
2393				92FF018123AA0B4E00AC97F6 /* MNNSamplerC4NearestOpt.S */,
2394				92FF018223AA0B4E00AC97F6 /* MNNAddC4WithStride.S */,
2395				92FF018323AA0B4E00AC97F6 /* MNNQuanToDestUint8.S */,
2396				92FF018423AA0B4E00AC97F6 /* MNNLoadU8AndSum.S */,
2397				92FF018723AA0B4E00AC97F6 /* MNNStrassenMergeCFunction.S */,
2398				92FF018823AA0B4E00AC97F6 /* MNNBlitC1ToFloatRGBA.S */,
2399				92FF018923AA0B4E00AC97F6 /* MNNCopyC4WithStride.S */,
2400				92FF018A23AA0B4E00AC97F6 /* MNNNV21ToBGRUnit.S */,
2401				92FF018B23AA0B4E00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S */,
2402				92FF018C23AA0B4E00AC97F6 /* MNNUnPackC4.S */,
2403				92FF018D23AA0B4E00AC97F6 /* MNNSamplerC1NearestOpt.S */,
2404				92FF018F23AA0B4E00AC97F6 /* MNNNV21ToRGBUnit.S */,
2405				92FF019023AA0B4E00AC97F6 /* MNNPackC4.S */,
2406				92FF019123AA0B4E00AC97F6 /* MNNMinFloat.S */,
2407				92FF019323AA0B4E00AC97F6 /* MNNMaxFloat.S */,
2408				92FF019423AA0B4E00AC97F6 /* MNNNV21ToRGBAUnit.S */,
2409				92FF019723AA0B4E00AC97F6 /* MNNMatrixMax.S */,
2410				92FF019823AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S */,
2411				92FF019923AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S */,
2412				92FF019C23AA0B4E00AC97F6 /* MNNScaleAndAddBias.S */,
2413				92FF019D23AA0B4E00AC97F6 /* MNNReluInt8.S */,
2414				92FF019E23AA0B4E00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S */,
2415				92FF019F23AA0B4E00AC97F6 /* MNNSamplerC4BilinearOpt.S */,
2416				92FF01A123AA0B4E00AC97F6 /* MNNMatrixSub.S */,
2417				92FF01A223AA0B4E00AC97F6 /* MNNPowC8.S */,
2418				92FF01A323AA0B4E00AC97F6 /* MNNMatrixAdd.S */,
2419				92FF01A423AA0B4E00AC97F6 /* MNNExpC8.S */,
2420				92FF01A623AA0B4E00AC97F6 /* MNNConvDwF23SourceTransUnit.S */,
2421				92FF01A723AA0B4E00AC97F6 /* MNNWinogradMatrixProductLeft.S */,
2422				92FF01A823AA0B4E00AC97F6 /* MNNDeconvRunForUnitDepthWise.S */,
2423				92FF01A923AA0B4E00AC97F6 /* MNNSamplerC1BilinearOpt.S */,
2424				92FF01AB23AA0B4E00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S */,
2425				92FF01AD23AA0B4E00AC97F6 /* MNNWinogradMatrixProductRight.S */,
2426				92FF01AF23AA0B4E00AC97F6 /* MNNReluWithSlopeChannel.S */,
2427				92FF01B323AA0B4E00AC97F6 /* MNNBlitC3ToFloatRGBA.S */,
2428				92FF01B523AA0B4E00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S */,
2429				92FF01B623AA0B4E00AC97F6 /* MNNInt8ScaleToFloat.S */,
2430				92FF01B723AA0B4E00AC97F6 /* MNNConvRunForUnitDepthWise.S */,
2431				92FF01B823AA0B4E00AC97F6 /* MNNConvDwF23MulTransUnit.S */,
2432				92FF01B923AA0B4E00AC97F6 /* MNNConvRunForLineDepthwise.S */,
2433				92FF01BA23AA0B4E00AC97F6 /* MNNGemmint8to32_8x4_Unit.S */,
2434				48F9E54B2493511200E46522 /* MNNPackedMatMul.S */,
2435				48F9E54D2493A0A800E46522 /* MNNPackC4ForMatMul_A.S */,
2436				48FB9DCD24AB080C008E1A2D /* MNNPackC8.S */,
2437			);
2438			path = arm64;
2439			sourceTree = "<group>";
2440		};
2441		92FF021B23AA0B5600AC97F6 /* compute */ = {
2442			isa = PBXGroup;
2443			children = (
2444				C4EF5FB92657A9F00094235C /* WinogradInt8Helper.cpp */,
2445				C4EF5FB82657A9EF0094235C /* WinogradInt8Helper.hpp */,
2446				C4EF5FB22657A9E70094235C /* ConvInt8TiledExecutor.cpp */,
2447				C4EF5FB32657A9E70094235C /* ConvInt8TiledExecutor.hpp */,
2448				C4EF5FB02657A9E70094235C /* ConvInt8Winograd.cpp */,
2449				C4EF5FB12657A9E70094235C /* ConvInt8Winograd.hpp */,
2450				4D6D7FD82656897200F80814 /* SparseConvolutionTiledExecutor.hpp */,
2451				4D6D7FD62656896D00F80814 /* SparseConvolutionTiledExecutor.cpp */,
2452				4D6D7FD42656896600F80814 /* DenseConvolutionTiledExecutor.hpp */,
2453				4D6D7FD22656895C00F80814 /* DenseConvolutionTiledExecutor.cpp */,
2454				92FF021C23AA0B5600AC97F6 /* Convolution1x1Strassen.hpp */,
2455				92FF021D23AA0B5600AC97F6 /* CommonOptFunction.cpp */,
2456				92FF021F23AA0B5600AC97F6 /* StrassenMatmulComputor.cpp */,
2457				92FF022123AA0B5600AC97F6 /* CommonOptFunction.h */,
2458				92FF022223AA0B5600AC97F6 /* ConvolutionWinograd.cpp */,
2459				92FF022323AA0B5600AC97F6 /* Int8FunctionsOpt.cpp */,
2460				92FF022523AA0B5600AC97F6 /* ConvOpt.cpp */,
2461				92FF022623AA0B5600AC97F6 /* OptimizedComputer.cpp */,
2462				92FF022723AA0B5600AC97F6 /* DeconvolutionWithStride.hpp */,
2463				92FF022823AA0B5600AC97F6 /* ConvolutionTiledExecutor.hpp */,
2464				92FF022923AA0B5600AC97F6 /* ConvolutionIntFactory.cpp */,
2465				92FF022A23AA0B5600AC97F6 /* WinogradOptFunction.cpp */,
2466				92FF022B23AA0B5600AC97F6 /* ConvolutionGroup.hpp */,
2467				92FF022C23AA0B5600AC97F6 /* ConvolutionFloatFactory.h */,
2468				92FF022D23AA0B5600AC97F6 /* ConvolutionInt8Executor.cpp */,
2469				92FF022E23AA0B5600AC97F6 /* ResizeFunction.h */,
2470				92FF022F23AA0B5600AC97F6 /* ConvolutionDepthwise3x3.cpp */,
2471				92FF023023AA0B5600AC97F6 /* ConvolutionIntFactory.hpp */,
2472				92FF023123AA0B5600AC97F6 /* WinogradOptFunction.hpp */,
2473				92FF023223AA0B5600AC97F6 /* ConvolutionGroup.cpp */,
2474				92FF023323AA0B5600AC97F6 /* ConvolutionFloatFactory.cpp */,
2475				92FF023423AA0B5600AC97F6 /* ConvolutionInt8Executor.hpp */,
2476				92FF023523AA0B5600AC97F6 /* ConvolutionDepthwise3x3.hpp */,
2477				92FF023623AA0B5600AC97F6 /* Convolution1x1Strassen.cpp */,
2478				92FF023723AA0B5600AC97F6 /* ResizeFunction.cpp */,
2479				92FF023823AA0B5600AC97F6 /* StrassenMatmulComputor.hpp */,
2480				92FF023B23AA0B5600AC97F6 /* ConvOpt.h */,
2481				92FF023C23AA0B5600AC97F6 /* ConvolutionWinograd.hpp */,
2482				92FF023E23AA0B5600AC97F6 /* OptimizedComputer.hpp */,
2483				92FF023F23AA0B5600AC97F6 /* Int8FunctionsOpt.h */,
2484				92FF024023AA0B5600AC97F6 /* DeconvolutionWithStride.cpp */,
2485				92FF024123AA0B5600AC97F6 /* ConvolutionTiledExecutor.cpp */,
2486			);
2487			path = compute;
2488			sourceTree = "<group>";
2489		};
2490		EBB38EC621E748B9005F76D7 /* shape */ = {
2491			isa = PBXGroup;
2492			children = (
2493				4838EA8A2611C1310027232C /* ShapeGridSample.cpp */,
2494				481FA852259C27E00047F01F /* ShapeTensorArray.cpp */,
2495				4836CEE4257744120068F6CE /* ShapePlugin.cpp */,
2496				48C84B6B250F709E00EE7666 /* SizeComputer.cpp */,
2497				48C84B6A250F709E00EE7666 /* SizeComputer.hpp */,
2498				486E1A9B24F507A600C16006 /* ShapeRandomUniform.cpp */,
2499				92FF040B23AA0B7000AC97F6 /* ShapeArgMax.cpp */,
2500				92FF040D23AA0B7000AC97F6 /* ShapeAsString.cpp */,
2501				92FF03F823AA0B6E00AC97F6 /* ShapeBatchToSpaceND.cpp */,
2502				92FF041423AA0B7000AC97F6 /* ShapeBinaryOp.cpp */,
2503				92FF041623AA0B7000AC97F6 /* ShapeBroadcastTo.cpp */,
2504				92FF041723AA0B7100AC97F6 /* ShapeCast.cpp */,
2505				92FF03DC23AA0B6D00AC97F6 /* ShapeConcat.cpp */,
2506				92FF040723AA0B6F00AC97F6 /* ShapeConst.cpp */,
2507				92FF040423AA0B6F00AC97F6 /* ShapeConvolution.cpp */,
2508				92FF03EF23AA0B6E00AC97F6 /* ShapeConvolution3D.cpp */,
2509				92FF03E023AA0B6D00AC97F6 /* ShapeCosineSimilarity.cpp */,
2510				92FF03ED23AA0B6E00AC97F6 /* ShapeCrop.cpp */,
2511				92FF040A23AA0B7000AC97F6 /* ShapeCropAndResize.cpp */,
2512				92FF03DB23AA0B6D00AC97F6 /* ShapeDeconvolution.cpp */,
2513				92FF040923AA0B7000AC97F6 /* ShapeDepthToSpace.cpp */,
2514				92FF03F323AA0B6E00AC97F6 /* ShapeDequantize.cpp */,
2515				92FF03F123AA0B6E00AC97F6 /* ShapeDetectionOutput.cpp */,
2516				92FF03F523AA0B6E00AC97F6 /* ShapeDetectionPostProcess.cpp */,
2517				92FF040823AA0B7000AC97F6 /* ShapeEltwise.cpp */,
2518				92FF03F623AA0B6E00AC97F6 /* ShapeExpandDims.cpp */,
2519				92FF03D423AA0B6C00AC97F6 /* ShapeFill.cpp */,
2520				92FF040323AA0B6F00AC97F6 /* ShapeGatherND.cpp */,
2521				92FF03F723AA0B6E00AC97F6 /* ShapeGatherV2.cpp */,
2522				92FF040023AA0B6F00AC97F6 /* ShapeInnerProduct.cpp */,
2523				92FF03E223AA0B6D00AC97F6 /* ShapeInterp.cpp */,
2524				92FF03E323AA0B6D00AC97F6 /* ShapeLinSpace.cpp */,
2525				92FF03FE23AA0B6F00AC97F6 /* ShapeLSTM.cpp */,
2526				92FF03E123AA0B6D00AC97F6 /* ShapeMatMul.cpp */,
2527				92FF03FB23AA0B6F00AC97F6 /* ShapeMoments.cpp */,
2528				92FF03D623AA0B6C00AC97F6 /* ShapeNonMaxSuppressionV2.cpp */,
2529				92FF03E523AA0B6D00AC97F6 /* ShapeOneHot.cpp */,
2530				92FF03DA23AA0B6D00AC97F6 /* ShapePack.cpp */,
2531				92FF03E723AA0B6D00AC97F6 /* ShapePadding.cpp */,
2532				92FF03F423AA0B6E00AC97F6 /* ShapePermute.cpp */,
2533				92FF03D723AA0B6C00AC97F6 /* ShapePool.cpp */,
2534				92FF040623AA0B6F00AC97F6 /* ShapePool3D.cpp */,
2535				92FF040F23AA0B7000AC97F6 /* ShapePriorbox.cpp */,
2536				92FF03E823AA0B6D00AC97F6 /* ShapeProposal.cpp */,
2537				92FF03EA23AA0B6D00AC97F6 /* ShapeQuantizedAvgPool.cpp */,
2538				92FF03D323AA0B6C00AC97F6 /* ShapeQuantizedMaxPool.cpp */,
2539				92FF03D823AA0B6C00AC97F6 /* ShapeRange.cpp */,
2540				92FF03D923AA0B6C00AC97F6 /* ShapeRank.cpp */,
2541				92FF03E623AA0B6D00AC97F6 /* ShapeReduceJoin.cpp */,
2542				92FF041223AA0B7000AC97F6 /* ShapeReduction.cpp */,
2543				92FF041323AA0B7000AC97F6 /* ShapeRegister.cpp */,
2544				92FF041023AA0B7000AC97F6 /* ShapeReshape.cpp */,
2545				92FF040C23AA0B7000AC97F6 /* ShapeResize.cpp */,
2546				92FF040E23AA0B7000AC97F6 /* ShapeRNNSequenceGRU.cpp */,
2547				92FF03DE23AA0B6D00AC97F6 /* ShapeROIPooling.cpp */,
2548				92FF03DD23AA0B6D00AC97F6 /* ShapeScatterNd.cpp */,
2549				92FF03F023AA0B6E00AC97F6 /* ShapeSelect.cpp */,
2550				92FF041523AA0B7000AC97F6 /* ShapeShape.cpp */,
2551				92FF03DF23AA0B6D00AC97F6 /* ShapeSize.cpp */,
2552				92FF03FA23AA0B6F00AC97F6 /* ShapeSlice.cpp */,
2553				92FF03E923AA0B6D00AC97F6 /* ShapeSliceTf.cpp */,
2554				92FF03EB23AA0B6E00AC97F6 /* ShapeSpaceToBatchND.cpp */,
2555				92FF03FF23AA0B6F00AC97F6 /* ShapeSpaceToDepth.cpp */,
2556				92FF040123AA0B6F00AC97F6 /* ShapeSqueeze.cpp */,
2557				92FF03EE23AA0B6E00AC97F6 /* ShapeStridedSlice.cpp */,
2558				92FF03F923AA0B6F00AC97F6 /* ShapeTensorConvert.cpp */,
2559				92FF040523AA0B6F00AC97F6 /* ShapeTile.cpp */,
2560				92FF03FD23AA0B6F00AC97F6 /* ShapeTopKV2.cpp */,
2561				92FF041123AA0B7000AC97F6 /* ShapeTranspose.cpp */,
2562				92FF03D523AA0B6C00AC97F6 /* ShapeUnpack.cpp */,
2563				92FF03F223AA0B6E00AC97F6 /* ShapeUnravelIndex.cpp */,
2564				92FF03EC23AA0B6E00AC97F6 /* ShapeWhere.cpp */,
2565			);
2566			path = shape;
2567			sourceTree = "<group>";
2568		};
2569/* End PBXGroup section */
2570
2571/* Begin PBXHeadersBuildPhase section */
2572		0F1465B41FA18D1000F9860A /* Headers */ = {
2573			isa = PBXHeadersBuildPhase;
2574			buildActionMask = 2147483647;
2575			files = (
2576				48C84B89250F711700EE7666 /* StaticModule.hpp in Headers */,
2577				1F501F812397BA5B004E8721 /* AutoTime.hpp in Headers */,
2578				92FF04A523AA0BFB00AC97F6 /* AutoStorage.h in Headers */,
2579				EBECA3A124643D4E0062C7A3 /* MNNAsmGlobal.h in Headers */,
2580				4D9A936526255BDA00F9B43C /* CoreMLBackend.hpp in Headers */,
2581				1F501F852397BA5B004E8721 /* ErrorCode.hpp in Headers */,
2582				92FF02B423AA0B5A00AC97F6 /* CPUMoments.hpp in Headers */,
2583				C43C822D2518951800A0FF84 /* SkNx_neon.h in Headers */,
2584				489D7AA82550FDC900AD896A /* MetalCast.hpp in Headers */,
2585				C43C822F2518951800A0FF84 /* SkNx.h in Headers */,
2586				1F501F842397BA5B004E8721 /* ImageProcess.hpp in Headers */,
2587				1F501F822397BA5B004E8721 /* Interpreter.hpp in Headers */,
2588				1F501F882397BA5B004E8721 /* Tensor.hpp in Headers */,
2589				1F501F872397BA5B004E8721 /* Matrix.h in Headers */,
2590				48C84B85250F711700EE7666 /* IfModule.hpp in Headers */,
2591				4D9A937326255BDA00F9B43C /* CoreMLUnary.hpp in Headers */,
2592				48C84B98250F71E900EE7666 /* CPUSoftmax.hpp in Headers */,
2593				4882C8B8241A22B800DAC168 /* OpCommonUtils.hpp in Headers */,
2594				48608B54250632EC00CB1D71 /* GeometryComputer.hpp in Headers */,
2595				92FF04A623AA0BFB00AC97F6 /* FileLoader.hpp in Headers */,
2596				C43C8226251894F400A0FF84 /* Matrix.hpp in Headers */,
2597				92FF026E23AA0B5A00AC97F6 /* CPUQuantizationUtils.hpp in Headers */,
2598				92FF03AA23AA0B5A00AC97F6 /* ConvolutionFloatFactory.h in Headers */,
2599				4896D36A25FE2A3D00717702 /* Arm82Unary.hpp in Headers */,
2600				489D7A882550FDC900AD896A /* MetalTensorConverter.hpp in Headers */,
2601				1F501F862397BA5B004E8721 /* Rect.h in Headers */,
2602				1F501F8B2397BA5B004E8721 /* MNNSharedContext.h in Headers */,
2603				92FF029623AA0B5A00AC97F6 /* CPUCast.hpp in Headers */,
2604				4D9A937826255BDA00F9B43C /* CoreMLBinary.hpp in Headers */,
2605				489D7AB02550FDC900AD896A /* MetalDefine.h in Headers */,
2606				4D6D7FD52656896600F80814 /* DenseConvolutionTiledExecutor.hpp in Headers */,
2607				4D9A936626255BDA00F9B43C /* CoreMLExecutor.h in Headers */,
2608				92FF027A23AA0B5A00AC97F6 /* CPUPool.hpp in Headers */,
2609				1F501F892397BA5B004E8721 /* MNNForwardType.h in Headers */,
2610				92FF027323AA0B5A00AC97F6 /* CPUPoolInt8.hpp in Headers */,
2611				1F501F802397BA5B004E8721 /* MNNDefine.h in Headers */,
2612				489D7A682550FDC800AD896A /* MetalReduction.hpp in Headers */,
2613				1F501F7F2397BA5B004E8721 /* HalideRuntime.h in Headers */,
2614				92FF029E23AA0B5A00AC97F6 /* CPUDeconvolutionDepthwise.hpp in Headers */,
2615				4D9A935B26255BDA00F9B43C /* NeuralNetwork.pb-c.h in Headers */,
2616				4D9A936D26255BDA00F9B43C /* CoreMLActivation.hpp in Headers */,
2617				4D4DAE68263905390060D37E /* CoreMLDefine.h in Headers */,
2618				92FF035623AA0B5A00AC97F6 /* CPUConvolution.hpp in Headers */,
2619				1F501F9D2397BB00004E8721 /* expr in Headers */,
2620				92FF027623AA0B5A00AC97F6 /* CPUInt8ToFloat.hpp in Headers */,
2621				92FF033C23AA0B5A00AC97F6 /* MNNAsmGlobal.h in Headers */,
2622				489D7A962550FDC900AD896A /* MetalConvolution1x1.hpp in Headers */,
2623				92FF029723AA0B5A00AC97F6 /* CPUEltwiseInt8.hpp in Headers */,
2624				92FF027B23AA0B5A00AC97F6 /* CPUQuanConvolutionDepthwise.hpp in Headers */,
2625				92FF028E23AA0B5A00AC97F6 /* CPULinSpace.hpp in Headers */,
2626				92FF038823AA0B5A00AC97F6 /* CPUQuantizedLogistic.hpp in Headers */,
2627				4D9A936926255BDA00F9B43C /* CoreMLScale.hpp in Headers */,
2628				4D9A937126255BDA00F9B43C /* CoreMLArgMax.hpp in Headers */,
2629				481C2DF225FE2CD6001ED6DF /* Arm82InstanceNorm.hpp in Headers */,
2630				481C2DEE25FE2CD6001ED6DF /* Arm82Functions.hpp in Headers */,
2631				EBD4842A2485FF650083CE95 /* Arm82Interp.hpp in Headers */,
2632				92FF037623AA0B5A00AC97F6 /* CPUBinary.hpp in Headers */,
2633				4D9A935826255BDA00F9B43C /* FeatureTypes.pb-c.h in Headers */,
2634				48608B53250632EC00CB1D71 /* GeometryComputerUtils.hpp in Headers */,
2635				489D7A732550FDC800AD896A /* MetalBackend.hpp in Headers */,
2636				92FF03AC23AA0B5A00AC97F6 /* ResizeFunction.h in Headers */,
2637				92FF037823AA0B5A00AC97F6 /* CPUROIPooling.hpp in Headers */,
2638				4D9A935626255BDA00F9B43C /* Model.pb-c.h in Headers */,
2639				48747D6D245D9E33000B9709 /* ConvertUtils.hpp in Headers */,
2640				4838EA832611C00B0027232C /* MetalGridSample.hpp in Headers */,
2641				92FF038723AA0B5A00AC97F6 /* CPUTensorConvert.hpp in Headers */,
2642				92FF036E23AA0B5A00AC97F6 /* CPUQuantizedSoftmax.hpp in Headers */,
2643				4D9A936B26255BDA00F9B43C /* CoreMLPool.hpp in Headers */,
2644				4DF63F2F2660D9D100590730 /* CoreMLInterp.hpp in Headers */,
2645				92FF04BF23AA0BFB00AC97F6 /* Concurrency.h in Headers */,
2646				489D7A9B2550FDC900AD896A /* MetalDeconvolution.hpp in Headers */,
2647				4D9A935726255BDA00F9B43C /* protobuf-c.h in Headers */,
2648				489D7A982550FDC900AD896A /* MNNMetalContext.h in Headers */,
2649				92FF03C523AA0B5A00AC97F6 /* CPUReduceJoin.hpp in Headers */,
2650				92FF029323AA0B5A00AC97F6 /* CPURange.hpp in Headers */,
2651				4D9A937526255BDA00F9B43C /* CoreMLCommonExecution.hpp in Headers */,
2652				48747D4B245D9D24000B9709 /* RuntimeFactory.hpp in Headers */,
2653				92FF03B323AA0B5A00AC97F6 /* ConvolutionDepthwise3x3.hpp in Headers */,
2654				4D9A937226255BDA00F9B43C /* CoreMLConvolution.hpp in Headers */,
2655				92FF038B23AA0B5A00AC97F6 /* CPUUnravelIndex.hpp in Headers */,
2656				92FF03BC23AA0B5A00AC97F6 /* OptimizedComputer.hpp in Headers */,
2657				48C84BA0250F725600EE7666 /* InitNet.hpp in Headers */,
2658				92FF03C623AA0B5A00AC97F6 /* CPUNonMaxSuppressionV2.hpp in Headers */,
2659				92FF028C23AA0B5A00AC97F6 /* CPUReduction.hpp in Headers */,
2660				92FF03B923AA0B5A00AC97F6 /* ConvOpt.h in Headers */,
2661				92FF04AB23AA0BFB00AC97F6 /* Pipeline.hpp in Headers */,
2662				481C2DEF25FE2CD6001ED6DF /* Arm82Moments.hpp in Headers */,
2663				489D7A6E2550FDC800AD896A /* MetalROIPooling.hpp in Headers */,
2664				4882C8B9241A22B800DAC168 /* ConvolutionCommon.hpp in Headers */,
2665				92FF03AE23AA0B5A00AC97F6 /* ConvolutionIntFactory.hpp in Headers */,
2666				C4EF5FB72657A9E70094235C /* ConvInt8TiledExecutor.hpp in Headers */,
2667				EBECA39524643D320062C7A3 /* Arm82Backend.hpp in Headers */,
2668				92FF04C323AA0BFB00AC97F6 /* Session.hpp in Headers */,
2669				48FA474423AA127B00172C3B /* MergeOptimizer.hpp in Headers */,
2670				92FF039F23AA0B5A00AC97F6 /* CommonOptFunction.h in Headers */,
2671				92FF03BA23AA0B5A00AC97F6 /* ConvolutionWinograd.hpp in Headers */,
2672				4D9A935A26255BDA00F9B43C /* Parameters.pb-c.h in Headers */,
2673				4896D36D25FE2A3D00717702 /* Arm82Vec.hpp in Headers */,
2674				92FF027723AA0B5A00AC97F6 /* CPUUnary.hpp in Headers */,
2675				92FF035B23AA0B5A00AC97F6 /* CPURelu.hpp in Headers */,
2676				481C2DED25FE2CD6001ED6DF /* Arm82WinogradOptFunc.hpp in Headers */,
2677				92FF038D23AA0B5A00AC97F6 /* CPUMatrixBandPart.hpp in Headers */,
2678				C43C822E2518951800A0FF84 /* ImageSampler.hpp in Headers */,
2679				92FF035A23AA0B5A00AC97F6 /* CPUDetectionPostProcess.hpp in Headers */,
2680				C43C8200251894BD00A0FF84 /* ThreadPool.hpp in Headers */,
2681				C4EF5FBA2657A9F00094235C /* WinogradInt8Helper.hpp in Headers */,
2682				92FF04B723AA0BFB00AC97F6 /* WrapExecution.hpp in Headers */,
2683				92FF04AD23AA0BFB00AC97F6 /* Execution.hpp in Headers */,
2684				92FF025D23AA0B5A00AC97F6 /* CPUInterp.hpp in Headers */,
2685				489D7A8B2550FDC900AD896A /* MetalConvolutionWinograd.hpp in Headers */,
2686				92FF039A23AA0B5A00AC97F6 /* Convolution1x1Strassen.hpp in Headers */,
2687				92FF029B23AA0B5A00AC97F6 /* CPUScale.hpp in Headers */,
2688				489D7A7B2550FDC800AD896A /* MetalUnary.hpp in Headers */,
2689				92FF036C23AA0B5A00AC97F6 /* CPUConst.hpp in Headers */,
2690				92FF03CA23AA0B5A00AC97F6 /* CPUConvolutionDepthwise.hpp in Headers */,
2691				92FF04A923AA0BFB00AC97F6 /* Schedule.hpp in Headers */,
2692				489D7A9F2550FDC900AD896A /* MetalConvolutionCommon.hpp in Headers */,
2693				92FF028623AA0B5A00AC97F6 /* CPUDeconvolution.hpp in Headers */,
2694				489D7A722550FDC800AD896A /* MetalReLU6.hpp in Headers */,
2695				92FF04B523AA0BFB00AC97F6 /* TensorUtils.hpp in Headers */,
2696				92FF04BB23AA0BFB00AC97F6 /* BufferAllocator.hpp in Headers */,
2697				489D7A802550FDC900AD896A /* MetalEltwise.hpp in Headers */,
2698				92FF035823AA0B5A00AC97F6 /* CPUTFQuantizedConv2D.hpp in Headers */,
2699				92FF027223AA0B5A00AC97F6 /* CPUScatterNd.hpp in Headers */,
2700				4DDE201A263809920085AC8F /* CoreMLExecutorWrapper.h in Headers */,
2701				489D7A902550FDC900AD896A /* MetalConvolution.hpp in Headers */,
2702				92FF03A923AA0B5A00AC97F6 /* ConvolutionGroup.hpp in Headers */,
2703				4837147325A599EC004DBDED /* Arm82Binary.hpp in Headers */,
2704				92FF03BD23AA0B5A00AC97F6 /* Int8FunctionsOpt.h in Headers */,
2705				C4EF5FB52657A9E70094235C /* ConvInt8Winograd.hpp in Headers */,
2706				488F1159247BB2A0008E85C6 /* Arm82Raster.hpp in Headers */,
2707				92FF036623AA0B5A00AC97F6 /* CPUDetectionOutput.hpp in Headers */,
2708				92FF04BC23AA0BFB00AC97F6 /* NonCopyable.hpp in Headers */,
2709				48FA474B23AA127B00172C3B /* Utils.hpp in Headers */,
2710				4D9A935926255BDA00F9B43C /* DataStructures.pb-c.h in Headers */,
2711				C43C82302518951800A0FF84 /* ImageFloatBlitter.hpp in Headers */,
2712				489D7A972550FDC900AD896A /* MetalConvolutionDepthwise.hpp in Headers */,
2713				489D7AB42550FDC900AD896A /* MetalBinary.hpp in Headers */,
2714				92FF04AF23AA0BFB00AC97F6 /* Macro.h in Headers */,
2715				4D9A936C26255BDA00F9B43C /* CoreMLRaster.hpp in Headers */,
2716				92FF028D23AA0B5A00AC97F6 /* CPUWhere.hpp in Headers */,
2717				92FF03AF23AA0B5A00AC97F6 /* WinogradOptFunction.hpp in Headers */,
2718				92FF03C923AA0B5A00AC97F6 /* CPUMatMul.hpp in Headers */,
2719				EBECA39924643D320062C7A3 /* Arm82Relu.hpp in Headers */,
2720				4838EA7C2611BFE20027232C /* CPUGridSample.hpp in Headers */,
2721				92FF03B223AA0B5A00AC97F6 /* ConvolutionInt8Executor.hpp in Headers */,
2722				92FF03A523AA0B5A00AC97F6 /* DeconvolutionWithStride.hpp in Headers */,
2723				489D7A7F2550FDC900AD896A /* MetalReLU.hpp in Headers */,
2724				92FF03D123AA0B5A00AC97F6 /* CPUTopKV2.hpp in Headers */,
2725				EBECA39624643D320062C7A3 /* Arm82Eltwise.hpp in Headers */,
2726				92FF033F23AA0B5A00AC97F6 /* CPUArgMax.hpp in Headers */,
2727				92FF034C23AA0B5A00AC97F6 /* CPUSetDiff1D.hpp in Headers */,
2728				92FF02A123AA0B5A00AC97F6 /* CPUDepthwiseConvInt8.hpp in Headers */,
2729				92FF036723AA0B5A00AC97F6 /* CPURuntime.hpp in Headers */,
2730				92FF026623AA0B5A00AC97F6 /* CPUProposal.hpp in Headers */,
2731				48C84B9C250F722B00EE7666 /* Command.hpp in Headers */,
2732				92FF026023AA0B5A00AC97F6 /* CPURNNSequenceGRU.hpp in Headers */,
2733				48747D4F245D9E13000B9709 /* CPURaster.hpp in Headers */,
2734				489D7A822550FDC900AD896A /* MetalPReLU.hpp in Headers */,
2735				C43C82312518951800A0FF84 /* ImageBlitter.hpp in Headers */,
2736				48C84B84250F711700EE7666 /* WhileModule.hpp in Headers */,
2737				92FF02A923AA0B5A00AC97F6 /* CPUCropAndResize.hpp in Headers */,
2738				4D6D7FDB2656898300F80814 /* MemoryFormater.h in Headers */,
2739				4D6D7FD92656897200F80814 /* SparseConvolutionTiledExecutor.hpp in Headers */,
2740				92FF037923AA0B5A00AC97F6 /* CPUInstanceNorm.hpp in Headers */,
2741				92FF026223AA0B5A00AC97F6 /* CPUSelect.hpp in Headers */,
2742				92FF02B723AA0B5A00AC97F6 /* CPUQuantizedAdd.hpp in Headers */,
2743				92FF03B623AA0B5A00AC97F6 /* StrassenMatmulComputor.hpp in Headers */,
2744				92FF03A623AA0B5A00AC97F6 /* ConvolutionTiledExecutor.hpp in Headers */,
2745				92FF036523AA0B5A00AC97F6 /* CPUResize.hpp in Headers */,
2746				92FF04B423AA0BFB00AC97F6 /* MNNMemoryUtils.h in Headers */,
2747				4D9A937426255BDA00F9B43C /* CoreMLReduction.hpp in Headers */,
2748				48C84B8B250F711700EE7666 /* PipelineModule.hpp in Headers */,
2749				92FF04C123AA0BFB00AC97F6 /* Backend.hpp in Headers */,
2750				489D7A812550FDC900AD896A /* MetalPooling.hpp in Headers */,
2751				92FF02A623AA0B5A00AC97F6 /* CPUQuantizedMaxPool.hpp in Headers */,
2752				92FF028023AA0B5A00AC97F6 /* CPUFloatToInt8.hpp in Headers */,
2753				92FF028723AA0B5A00AC97F6 /* CPUFixedPoint.hpp in Headers */,
2754				C43C8227251894F400A0FF84 /* Vec.hpp in Headers */,
2755				4819FB1D24C138DF0050BD09 /* GeometryConvUtils.hpp in Headers */,
2756				489D7A952550FDC900AD896A /* MetalMatMul.hpp in Headers */,
2757				489D7A702550FDC800AD896A /* MetalRaster.hpp in Headers */,
2758				92FF034523AA0B5A00AC97F6 /* CPUQuantizedAvgPool.hpp in Headers */,
2759				489D7AA72550FDC900AD896A /* MetalScale.hpp in Headers */,
2760				48C84B6C250F709E00EE7666 /* SizeComputer.hpp in Headers */,
2761				92FF027C23AA0B5A00AC97F6 /* CPUAsString.hpp in Headers */,
2762				92FF035023AA0B5A00AC97F6 /* CPUOneHot.hpp in Headers */,
2763				92FF039123AA0B5A00AC97F6 /* CPUBackend.hpp in Headers */,
2764				489D7AA52550FDC900AD896A /* MetalInterp.hpp in Headers */,
2765				486E1A9A24F5078D00C16006 /* CPURandomUniform.hpp in Headers */,
2766				92FF038C23AA0B5A00AC97F6 /* CPUEltwise.hpp in Headers */,
2767				92FF028823AA0B5A00AC97F6 /* CPUDequantize.hpp in Headers */,
2768				481C2DF125FE2CD6001ED6DF /* Arm82OptFunc.hpp in Headers */,
2769				C43C8225251894F400A0FF84 /* WingoradGenerater.hpp in Headers */,
2770				489D7A6A2550FDC800AD896A /* MetalConvolutionGEMM.hpp in Headers */,
2771			);
2772			runOnlyForDeploymentPostprocessing = 0;
2773		};
2774/* End PBXHeadersBuildPhase section */
2775
2776/* Begin PBXNativeTarget section */
2777		0F1465B61FA18D1000F9860A /* MNN */ = {
2778			isa = PBXNativeTarget;
2779			buildConfigurationList = 0F1465BF1FA18D1000F9860A /* Build configuration list for PBXNativeTarget "MNN" */;
2780			buildPhases = (
2781				0F1465B21FA18D1000F9860A /* Sources */,
2782				0F1465B31FA18D1000F9860A /* Frameworks */,
2783				0F1465B41FA18D1000F9860A /* Headers */,
2784				0F1465B51FA18D1000F9860A /* Resources */,
2785			);
2786			buildRules = (
2787			);
2788			dependencies = (
2789			);
2790			name = MNN;
2791			productName = MNN;
2792			productReference = 0F1465B71FA18D1000F9860A /* MNN.framework */;
2793			productType = "com.apple.product-type.framework";
2794		};
2795		9273AB4A1FE7BE4D00477B22 /* Playground */ = {
2796			isa = PBXNativeTarget;
2797			buildConfigurationList = 9273AB601FE7BE4D00477B22 /* Build configuration list for PBXNativeTarget "Playground" */;
2798			buildPhases = (
2799				9273AB471FE7BE4D00477B22 /* Sources */,
2800				9273AB481FE7BE4D00477B22 /* Frameworks */,
2801				9273AB491FE7BE4D00477B22 /* Resources */,
2802				98533E6C205A262D00DA46E3 /* Run Script */,
2803			);
2804			buildRules = (
2805			);
2806			dependencies = (
2807				22EA50AF2051680900C3906C /* PBXTargetDependency */,
2808			);
2809			name = Playground;
2810			productName = Playground;
2811			productReference = 9273AB4B1FE7BE4D00477B22 /* Playground.app */;
2812			productType = "com.apple.product-type.application";
2813		};
2814/* End PBXNativeTarget section */
2815
2816/* Begin PBXProject section */
2817		0F1465AE1FA18D1000F9860A /* Project object */ = {
2818			isa = PBXProject;
2819			attributes = {
2820				LastUpgradeCheck = 0940;
2821				ORGANIZATIONNAME = Alibaba;
2822				TargetAttributes = {
2823					0F1465B61FA18D1000F9860A = {
2824						CreatedOnToolsVersion = 9.0.1;
2825						ProvisioningStyle = Manual;
2826					};
2827					9273AB4A1FE7BE4D00477B22 = {
2828						CreatedOnToolsVersion = 9.2;
2829						ProvisioningStyle = Automatic;
2830					};
2831				};
2832			};
2833			buildConfigurationList = 0F1465B11FA18D1000F9860A /* Build configuration list for PBXProject "MNN" */;
2834			compatibilityVersion = "Xcode 8.0";
2835			developmentRegion = en;
2836			hasScannedForEncodings = 0;
2837			knownRegions = (
2838				en,
2839				Base,
2840			);
2841			mainGroup = 0F1465AD1FA18D1000F9860A;
2842			productRefGroup = 0F1465B81FA18D1000F9860A /* Products */;
2843			projectDirPath = "";
2844			projectRoot = "";
2845			targets = (
2846				0F1465B61FA18D1000F9860A /* MNN */,
2847				9273AB4A1FE7BE4D00477B22 /* Playground */,
2848			);
2849		};
2850/* End PBXProject section */
2851
2852/* Begin PBXResourcesBuildPhase section */
2853		0F1465B51FA18D1000F9860A /* Resources */ = {
2854			isa = PBXResourcesBuildPhase;
2855			buildActionMask = 2147483647;
2856			files = (
2857			);
2858			runOnlyForDeploymentPostprocessing = 0;
2859		};
2860		9273AB491FE7BE4D00477B22 /* Resources */ = {
2861			isa = PBXResourcesBuildPhase;
2862			buildActionMask = 2147483647;
2863			files = (
2864				4D9A93EB26255FB000F9B43C /* models in Resources */,
2865				9273AB571FE7BE4D00477B22 /* Assets.xcassets in Resources */,
2866				925F018B21FF222E00E648A1 /* model in Resources */,
2867			);
2868			runOnlyForDeploymentPostprocessing = 0;
2869		};
2870/* End PBXResourcesBuildPhase section */
2871
2872/* Begin PBXShellScriptBuildPhase section */
2873		98533E6C205A262D00DA46E3 /* Run Script */ = {
2874			isa = PBXShellScriptBuildPhase;
2875			buildActionMask = 12;
2876			files = (
2877			);
2878			inputPaths = (
2879			);
2880			name = "Run Script";
2881			outputPaths = (
2882			);
2883			runOnlyForDeploymentPostprocessing = 0;
2884			shellPath = /bin/sh;
2885			shellScript = "\necho \"==========\"\necho ${TARGET_NAME}\necho ${PROJECT_FILE_PATH}\necho ${TARGET_BUILD_DIR}\n\ntouch ${TARGET_BUILD_DIR}/MNN.framework/mnn.metallib\ncp ${TARGET_BUILD_DIR}/MNN.framework/mnn.metallib ${TARGET_BUILD_DIR}/Playground.app/\n";
2886		};
2887/* End PBXShellScriptBuildPhase section */
2888
2889/* Begin PBXSourcesBuildPhase section */
2890		0F1465B21FA18D1000F9860A /* Sources */ = {
2891			isa = PBXSourcesBuildPhase;
2892			buildActionMask = 2147483647;
2893			files = (
2894				92FF04BD23AA0BFB00AC97F6 /* Execution.cpp in Sources */,
2895				92FF030A23AA0B5A00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S in Sources */,
2896				92FF03B023AA0B5A00AC97F6 /* ConvolutionGroup.cpp in Sources */,
2897				48FA474623AA127B00172C3B /* NeuralNetWorkOp.cpp in Sources */,
2898				4D9A936E26255BDA00F9B43C /* CoreMLArgMax.cpp in Sources */,
2899				92FF02F423AA0B5A00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S in Sources */,
2900				92FF038623AA0B5A00AC97F6 /* CPULinSpace.cpp in Sources */,
2901				4819FB2D24C1396A0050BD09 /* GeometryConv2D.cpp in Sources */,
2902				48747D63245D9E33000B9709 /* GeometryPermute.cpp in Sources */,
2903				C4EF5FB42657A9E70094235C /* ConvInt8Winograd.cpp in Sources */,
2904				92FF032C23AA0B5A00AC97F6 /* MNNWinogradMatrixProductRight.S in Sources */,
2905				48BB6EF625220AA80056E195 /* MNNTranspose32Bit4x4.S in Sources */,
2906				48BB6EF025220A930056E195 /* MNNTranspose32Bit4x4.S in Sources */,
2907				92FF031223AA0B5A00AC97F6 /* MNNMaxFloat.S in Sources */,
2908				481C2DF325FE2CD6001ED6DF /* Arm82InstanceNorm.cpp in Sources */,
2909				92FF02CB23AA0B5A00AC97F6 /* MNNSamplerC1NearestOpt.S in Sources */,
2910				92FF02C223AA0B5A00AC97F6 /* MNNLoadU8AndSum.S in Sources */,
2911				4819FB2E24C1396A0050BD09 /* GeometryLSTM.cpp in Sources */,
2912				92FF02E323AA0B5A00AC97F6 /* MNNExpC8.S in Sources */,
2913				92FF044D23AA0B7100AC97F6 /* ShapeConst.cpp in Sources */,
2914				92FF030223AA0B5A00AC97F6 /* MNNQuanToDestUint8.S in Sources */,
2915				489D7AA12550FDC900AD896A /* MetalUnary.mm in Sources */,
2916				92FF037323AA0B5A00AC97F6 /* CPUEltwiseInt8.cpp in Sources */,
2917				489D7AC52550FF9F00AD896A /* ExecutorScope.cpp in Sources */,
2918				481C2DF025FE2CD6001ED6DF /* Arm82Functions.cpp in Sources */,
2919				92FF042F23AA0B7100AC97F6 /* ShapeSliceTf.cpp in Sources */,
2920				4D9A936F26255BDA00F9B43C /* CoreMLConvolution.cpp in Sources */,
2921				92FF03B523AA0B5A00AC97F6 /* ResizeFunction.cpp in Sources */,
2922				489D7A7D2550FDC900AD896A /* MetalConvolution.mm in Sources */,
2923				4838EA7D2611BFE20027232C /* CPUGridSample.cpp in Sources */,
2924				C4EF5FBB2657A9F00094235C /* WinogradInt8Helper.cpp in Sources */,
2925				92FF04B323AA0BFB00AC97F6 /* Schedule.cpp in Sources */,
2926				92FF036423AA0B5A00AC97F6 /* CPUUnravelIndex.cpp in Sources */,
2927				92FF02C623AA0B5A00AC97F6 /* MNNBlitC1ToFloatRGBA.S in Sources */,
2928				4D9A935F26255BDA00F9B43C /* NeuralNetwork.pb-c.c in Sources */,
2929				92FF02BE23AA0B5A00AC97F6 /* MNNFloat2Int8.S in Sources */,
2930				48608B52250632EC00CB1D71 /* GeometryComputerUtils.cpp in Sources */,
2931				489D7A8A2550FDC900AD896A /* MetalConvolutionDepthwise.mm in Sources */,
2932				92FF037D23AA0B5A00AC97F6 /* CPURelu.cpp in Sources */,
2933				489D7A842550FDC900AD896A /* MetalBinary.mm in Sources */,
2934				48747D6B245D9E33000B9709 /* GeometryFill.cpp in Sources */,
2935				4819FB1F24C138DF0050BD09 /* GeometryConvUtils.cpp in Sources */,
2936				92FF028F23AA0B5A00AC97F6 /* CPUDetectionOutput.cpp in Sources */,
2937				4819FB3324C1396A0050BD09 /* GeometryBinary.cpp in Sources */,
2938				48747D65245D9E33000B9709 /* GeometryReshape.cpp in Sources */,
2939				489D7AAE2550FDC900AD896A /* MetalPReLU.metal in Sources */,
2940				92FF041D23AA0B7100AC97F6 /* ShapePool.cpp in Sources */,
2941				92FF02C523AA0B5A00AC97F6 /* MNNStrassenMergeCFunction.S in Sources */,
2942				4882C8BB241A22B800DAC168 /* ConvolutionCommon.cpp in Sources */,
2943				4D6D7FC9265688EA00F80814 /* MNNPackedSparseMatMulEpx1.S in Sources */,
2944				4D9A935E26255BDA00F9B43C /* Parameters.pb-c.c in Sources */,
2945				92FF02B823AA0B5A00AC97F6 /* CPUWhere.cpp in Sources */,
2946				4D9A936126255BDA00F9B43C /* protobuf-c.c in Sources */,
2947				92FF027423AA0B5A00AC97F6 /* CPUArgMax.cpp in Sources */,
2948				4D6D7FD32656895C00F80814 /* DenseConvolutionTiledExecutor.cpp in Sources */,
2949				92FF044523AA0B7100AC97F6 /* ShapeSpaceToDepth.cpp in Sources */,
2950				92FF04B823AA0BFB00AC97F6 /* MNNMemoryUtils.cpp in Sources */,
2951				92FF042D23AA0B7100AC97F6 /* ShapePadding.cpp in Sources */,
2952				48747D6A245D9E33000B9709 /* GeometryStridedSlice.cpp in Sources */,
2953				92FF04BE23AA0BFB00AC97F6 /* FileLoader.cpp in Sources */,
2954				92FF02F623AA0B5A00AC97F6 /* MNNConvRunForUnitDepthWise.S in Sources */,
2955				92FF042323AA0B7100AC97F6 /* ShapeScatterNd.cpp in Sources */,
2956				4896D37D25FE2A6B00717702 /* MNNPackC8FP16.S in Sources */,
2957				92FF045A23AA0B7100AC97F6 /* ShapeBinaryOp.cpp in Sources */,
2958				92FF02E523AA0B5A00AC97F6 /* MNNConvDwF23SourceTransUnit.S in Sources */,
2959				EBECA37B24643D110062C7A3 /* MNNGemmInt8AddBiasScale_ARMV82_Unit.S in Sources */,
2960				489D7A862550FDC900AD896A /* MetalMatMul.metal in Sources */,
2961				481C2DF525FE2CD6001ED6DF /* Arm82OptFunc.cpp in Sources */,
2962				489D7A672550FDC800AD896A /* MetalReLU6.metal in Sources */,
2963				92FF033623AA0B5A00AC97F6 /* MNNConvRunForUnitDepthWise.S in Sources */,
2964				92FF043523AA0B7100AC97F6 /* ShapeConvolution3D.cpp in Sources */,
2965				92FF043923AA0B7100AC97F6 /* ShapeDequantize.cpp in Sources */,
2966				48747D50245D9E13000B9709 /* CPURaster.cpp in Sources */,
2967				489D7A782550FDC800AD896A /* MetalEltwise.mm in Sources */,
2968				92FF02FD23AA0B5A00AC97F6 /* MNNScaleAddInt8.S in Sources */,
2969				4D9A935D26255BDA00F9B43C /* DataStructures.pb-c.c in Sources */,
2970				4896D37E25FE2A6B00717702 /* Arm82MNNPackForMatMul_A.S in Sources */,
2971				92FF04A723AA0BFB00AC97F6 /* BackendRegister.cpp in Sources */,
2972				489D7A852550FDC900AD896A /* MetalConvolutionWinograd.metal in Sources */,
2973				92FF02BF23AA0B5A00AC97F6 /* MNNSamplerC4NearestOpt.S in Sources */,
2974				48747D69245D9E33000B9709 /* GeometryCrop.cpp in Sources */,
2975				489D7AAB2550FDC900AD896A /* MetalConvolutionGEMM.metal in Sources */,
2976				48747D67245D9E33000B9709 /* GeometryBroadcastTo.cpp in Sources */,
2977				92FF04B623AA0BFB00AC97F6 /* TensorUtils.cpp in Sources */,
2978				4DF63F2D2660D9CB00590730 /* CoreMLInterp.cpp in Sources */,
2979				92FF045223AA0B7100AC97F6 /* ShapeResize.cpp in Sources */,
2980				48747D6F245D9E33000B9709 /* GeometryConcat.cpp in Sources */,
2981				488F1158247BB2A0008E85C6 /* Arm82Raster.cpp in Sources */,
2982				4819FB3224C1396A0050BD09 /* GeometryReduce.cpp in Sources */,
2983				92FF02B023AA0B5A00AC97F6 /* CPUDequantize.cpp in Sources */,
2984				92FF04C223AA0BFB00AC97F6 /* Pipeline.cpp in Sources */,
2985				92FF04C423AA0BFB00AC97F6 /* Session.cpp in Sources */,
2986				4D9A936826255BDA00F9B43C /* CoreMLCommonExecution.cpp in Sources */,
2987				48A8A61321D101A700C2B9A7 /* ImageSampler.cpp in Sources */,
2988				92FF02D123AA0B5A00AC97F6 /* MNNMaxFloat.S in Sources */,
2989				92FF03B123AA0B5A00AC97F6 /* ConvolutionFloatFactory.cpp in Sources */,
2990				92FF032123AA0B5A00AC97F6 /* MNNPowC8.S in Sources */,
2991				92FF03C323AA0B5A00AC97F6 /* CPUEltwise.cpp in Sources */,
2992				48C84B96250F71E900EE7666 /* CPUSoftmax.cpp in Sources */,
2993				92FF02F223AA0B5A00AC97F6 /* MNNBlitC3ToFloatRGBA.S in Sources */,
2994				489D7AA92550FDC900AD896A /* MetalConvolution1x1.metal in Sources */,
2995				489D7A6F2550FDC800AD896A /* MetalCast.mm in Sources */,
2996				92FF030323AA0B5A00AC97F6 /* MNNLoadU8AndSum.S in Sources */,
2997				C4EF5FB62657A9E70094235C /* ConvInt8TiledExecutor.cpp in Sources */,
2998				92FF02D223AA0B5A00AC97F6 /* MNNNV21ToRGBAUnit.S in Sources */,
2999				48747D66245D9E33000B9709 /* GeometryDepthToSpace.cpp in Sources */,
3000				481C2DF425FE2CD6001ED6DF /* Arm82Moments.cpp in Sources */,
3001				481FA853259C27E00047F01F /* ShapeTensorArray.cpp in Sources */,
3002				6A131E3F25823349002EC3D6 /* PluginShapeInference.cpp in Sources */,
3003				92FF025723AA0B5A00AC97F6 /* CPUQuanConvolutionDepthwise.cpp in Sources */,
3004				48034563254157CE004738E3 /* MNNNV21ToBGRAUnit.S in Sources */,
3005				48FA474823AA127B00172C3B /* Expr.cpp in Sources */,
3006				4838EA842611C00B0027232C /* MetalGridSample.metal in Sources */,
3007				4D6D7FCF2656890C00F80814 /* MNNPackedSparseMatMulEpx1.S in Sources */,
3008				481C2DEC25FE2CD6001ED6DF /* Arm82WinogradOptFunc.cpp in Sources */,
3009				92FF039223AA0B5A00AC97F6 /* CPUDeconvolution.cpp in Sources */,
3010				92FF042923AA0B7100AC97F6 /* ShapeLinSpace.cpp in Sources */,
3011				92FF03A723AA0B5A00AC97F6 /* ConvolutionIntFactory.cpp in Sources */,
3012				48FB9DC224A8445A008E1A2D /* MNNPackedMatMulRemain.S in Sources */,
3013				4836CEE5257744120068F6CE /* ShapePlugin.cpp in Sources */,
3014				92FF027523AA0B5A00AC97F6 /* CPUConvolution.cpp in Sources */,
3015				48747D61245D9E33000B9709 /* ConvertUtils.cpp in Sources */,
3016				92FF043B23AA0B7100AC97F6 /* ShapeDetectionPostProcess.cpp in Sources */,
3017				48417FF124D13BF50056D9A7 /* GeometryELU.cpp in Sources */,
3018				92FF03A023AA0B5A00AC97F6 /* ConvolutionWinograd.cpp in Sources */,
3019				48C84B9A250F720C00EE7666 /* CPULayerNorm.cpp in Sources */,
3020				6A131E4025823349002EC3D6 /* PluginKernel.cpp in Sources */,
3021				4D9A937026255BDA00F9B43C /* CoreMLUnary.cpp in Sources */,
3022				92FF04A823AA0BFB00AC97F6 /* AutoTime.cpp in Sources */,
3023				92FF04AE23AA0BFB00AC97F6 /* Backend.cpp in Sources */,
3024				92FF041E23AA0B7100AC97F6 /* ShapeRange.cpp in Sources */,
3025				489D7AA42550FDC900AD896A /* MetalROIPooling.mm in Sources */,
3026				92FF03B423AA0B5A00AC97F6 /* Convolution1x1Strassen.cpp in Sources */,
3027				489D7A772550FDC800AD896A /* MetalConvolutionGEMM.mm in Sources */,
3028				92FF031623AA0B5A00AC97F6 /* MNNMatrixMax.S in Sources */,
3029				92FF043A23AA0B7100AC97F6 /* ShapePermute.cpp in Sources */,
3030				489D7A8E2550FDC900AD896A /* MetalPooling.mm in Sources */,
3031				92FF030823AA0B5A00AC97F6 /* MNNCopyC4WithStride.S in Sources */,
3032				4DDE2019263809920085AC8F /* CoreMLExecutorWrapper.mm in Sources */,
3033				EBECA39B24643D320062C7A3 /* Arm82Backend.cpp in Sources */,
3034				92FF030023AA0B5A00AC97F6 /* MNNSamplerC4NearestOpt.S in Sources */,
3035				11A01A0C258785FB00745FA7 /* MNNVectorTop1Float.S in Sources */,
3036				48FB9DC924A848D0008E1A2D /* MNNPackedMatMulRemain.S in Sources */,
3037				92FF044023AA0B7100AC97F6 /* ShapeSlice.cpp in Sources */,
3038				92FF044723AA0B7100AC97F6 /* ShapeSqueeze.cpp in Sources */,
3039				92FF033923AA0B5A00AC97F6 /* MNNGemmint8to32_8x4_Unit.S in Sources */,
3040				4896D36925FE2A3D00717702 /* Arm82Unary.cpp in Sources */,
3041				92FF043423AA0B7100AC97F6 /* ShapeStridedSlice.cpp in Sources */,
3042				4896D37825FE2A6B00717702 /* MNNExpFP16.S in Sources */,
3043				48FA474A23AA127B00172C3B /* Utils.cpp in Sources */,
3044				92FF043F23AA0B7100AC97F6 /* ShapeTensorConvert.cpp in Sources */,
3045				92FF044B23AA0B7100AC97F6 /* ShapeTile.cpp in Sources */,
3046				489D7A792550FDC800AD896A /* MetalConvolution1x1.mm in Sources */,
3047				92FF030723AA0B5A00AC97F6 /* MNNBlitC1ToFloatRGBA.S in Sources */,
3048				92FF03A423AA0B5A00AC97F6 /* OptimizedComputer.cpp in Sources */,
3049				92FF032E23AA0B5A00AC97F6 /* MNNReluWithSlopeChannel.S in Sources */,
3050				92FF032323AA0B5A00AC97F6 /* MNNExpC8.S in Sources */,
3051				92FF044C23AA0B7100AC97F6 /* ShapePool3D.cpp in Sources */,
3052				92FF029823AA0B5A00AC97F6 /* CPUTFQuantizedConv2D.cpp in Sources */,
3053				489D7AB22550FDC900AD896A /* MetalUnary.metal in Sources */,
3054				92FF031323AA0B5A00AC97F6 /* MNNNV21ToRGBAUnit.S in Sources */,
3055				489D7A992550FDC900AD896A /* MetalDeconvolution.metal in Sources */,
3056				92FF038523AA0B5A00AC97F6 /* CPUMoments.cpp in Sources */,
3057				489D7A9C2550FDC900AD896A /* MetalPooling.metal in Sources */,
3058				92FF031E23AA0B5A00AC97F6 /* MNNSamplerC4BilinearOpt.S in Sources */,
3059				92FF02A423AA0B5A00AC97F6 /* CPUBinary.cpp in Sources */,
3060				489D7A9E2550FDC900AD896A /* MetalROIPooling.metal in Sources */,
3061				92FF034223AA0B5A00AC97F6 /* CPUReduction.cpp in Sources */,
3062				92FF02CF23AA0B5A00AC97F6 /* MNNMinFloat.S in Sources */,
3063				92FF030E23AA0B5A00AC97F6 /* MNNNV21ToRGBUnit.S in Sources */,
3064				48FA474D23AA136300172C3B /* MergeOptimizer.cpp in Sources */,
3065				4837147225A599EC004DBDED /* Arm82Binary.cpp in Sources */,
3066				92FF03CE23AA0B5A00AC97F6 /* CPUOPRegister.cpp in Sources */,
3067				92FF02B323AA0B5A00AC97F6 /* CPUInstanceNorm.cpp in Sources */,
3068				4819FB2C24C1396A0050BD09 /* GeometryPoolGrad.cpp in Sources */,
3069				92FF042223AA0B7100AC97F6 /* ShapeConcat.cpp in Sources */,
3070				4D6D7FD12656891400F80814 /* MNNPackedSparseMatMulEpx4.S in Sources */,
3071				92FF025E23AA0B5A00AC97F6 /* CPUROIPooling.cpp in Sources */,
3072				92FF044A23AA0B7100AC97F6 /* ShapeConvolution.cpp in Sources */,
3073				11A01A0D258785FB00745FA7 /* MNNVectorTop1Int32.S in Sources */,
3074				92FF026A23AA0B5A00AC97F6 /* CPUNonMaxSuppressionV2.cpp in Sources */,
3075				92FF045123AA0B7100AC97F6 /* ShapeArgMax.cpp in Sources */,
3076				48F9E54E2493A0A800E46522 /* MNNPackC4ForMatMul_A.S in Sources */,
3077				92FF033823AA0B5A00AC97F6 /* MNNConvRunForLineDepthwise.S in Sources */,
3078				92FF044F23AA0B7100AC97F6 /* ShapeDepthToSpace.cpp in Sources */,
3079				92FF043323AA0B7100AC97F6 /* ShapeCrop.cpp in Sources */,
3080				4D9A936726255BDA00F9B43C /* CoreMLReduction.cpp in Sources */,
3081				48F5881324DEA3F000C484A2 /* GeometryConv3D.cpp in Sources */,
3082				4882C8BA241A22B800DAC168 /* OpCommonUtils.cpp in Sources */,
3083				92FF02B523AA0B5A00AC97F6 /* CPUTopKV2.cpp in Sources */,
3084				489D7A742550FDC800AD896A /* MetalConvolutionActivation.metal in Sources */,
3085				92FF02BD23AA0B5A00AC97F6 /* MNNMatrixProd.S in Sources */,
3086				489D7A872550FDC900AD896A /* MetalOPRegister.mm in Sources */,
3087				48FB9DC724A848D0008E1A2D /* MNNPackedMatMul.S in Sources */,
3088				48BFC50125B84D2700580F9E /* GeometryGather.cpp in Sources */,
3089				48FB9DC824A848D0008E1A2D /* MNNPackC4ForMatMul_A.S in Sources */,
3090				48C84B6D250F709E00EE7666 /* SizeComputer.cpp in Sources */,
3091				92FF02EE23AA0B5A00AC97F6 /* MNNReluWithSlopeChannel.S in Sources */,
3092				92FF036A23AA0B5A00AC97F6 /* CPURNNSequenceGRU.cpp in Sources */,
3093				92FF02FC23AA0B5A00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S in Sources */,
3094				C43C81FE251894BD00A0FF84 /* CPUPlugin.cpp in Sources */,
3095				92FF02E823AA0B5A00AC97F6 /* MNNSamplerC1BilinearOpt.S in Sources */,
3096				92FF031C23AA0B5A00AC97F6 /* MNNReluInt8.S in Sources */,
3097				489D7A912550FDC900AD896A /* MetalScale.mm in Sources */,
3098				92FF043D23AA0B7100AC97F6 /* ShapeGatherV2.cpp in Sources */,
3099				489D7AA32550FDC900AD896A /* MetalRaster.mm in Sources */,
3100				4D9A936A26255BDA00F9B43C /* CoreMLBinary.cpp in Sources */,
3101				92FF02C123AA0B5A00AC97F6 /* MNNQuanToDestUint8.S in Sources */,
3102				489D7A7C2550FDC900AD896A /* MetalBackend.metal in Sources */,
3103				92FF039323AA0B5A00AC97F6 /* CPUQuantizedAdd.cpp in Sources */,
3104				92FF02F723AA0B5A00AC97F6 /* MNNConvDwF23MulTransUnit.S in Sources */,
3105				EBECA39824643D320062C7A3 /* Arm82Relu.cpp in Sources */,
3106				92FF043823AA0B7100AC97F6 /* ShapeUnravelIndex.cpp in Sources */,
3107				92FF035723AA0B5A00AC97F6 /* CPUOneHot.cpp in Sources */,
3108				92FF03C423AA0B5A00AC97F6 /* CPUInterp.cpp in Sources */,
3109				92FF02E023AA0B5A00AC97F6 /* MNNMatrixSub.S in Sources */,
3110				48417FF024D13BF50056D9A7 /* GeometryThreshold.cpp in Sources */,
3111				48747D6C245D9E33000B9709 /* GeometrySpaceToBatchND.cpp in Sources */,
3112				489D7A9A2550FDC900AD896A /* MetalConvolutionCommon.mm in Sources */,
3113				92FF044623AA0B7100AC97F6 /* ShapeInnerProduct.cpp in Sources */,
3114				92FF036F23AA0B5A00AC97F6 /* CPURuntime.cpp in Sources */,
3115				92FF039D23AA0B5A00AC97F6 /* StrassenMatmulComputor.cpp in Sources */,
3116				92FF030B23AA0B5A00AC97F6 /* MNNUnPackC4.S in Sources */,
3117				48FD034A246AA40300456AF5 /* GeometryConvert.cpp in Sources */,
3118				92FF03BF23AA0B5A00AC97F6 /* ConvolutionTiledExecutor.cpp in Sources */,
3119				486E1A9C24F507A600C16006 /* ShapeRandomUniform.cpp in Sources */,
3120				4819FB3A24C69E680050BD09 /* GeometryInnerProduct.cpp in Sources */,
3121				92FF037723AA0B5A00AC97F6 /* CPUConvolutionDepthwise.cpp in Sources */,
3122				EB45C774244D7C4F00E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S in Sources */,
3123				4896D37B25FE2A6B00717702 /* MNNConvDwF23MulTransUnitFP16.S in Sources */,
3124				92FF02DE23AA0B5A00AC97F6 /* MNNSamplerC4BilinearOpt.S in Sources */,
3125				48FD12BF2466A88D009E9102 /* GeometryConv2DBackPropFilter.cpp in Sources */,
3126				489D7A932550FDC900AD896A /* MetalFixedPoint.metal in Sources */,
3127				92FF02F923AA0B5A00AC97F6 /* MNNGemmint8to32_8x4_Unit.S in Sources */,
3128				92FF02E623AA0B5A00AC97F6 /* MNNWinogradMatrixProductLeft.S in Sources */,
3129				48747D64245D9E33000B9709 /* GeometryTile.cpp in Sources */,
3130				92FF043723AA0B7100AC97F6 /* ShapeDetectionOutput.cpp in Sources */,
3131				92FF042623AA0B7100AC97F6 /* ShapeCosineSimilarity.cpp in Sources */,
3132				92FF02DC23AA0B5A00AC97F6 /* MNNReluInt8.S in Sources */,
3133				92FF041A23AA0B7100AC97F6 /* ShapeFill.cpp in Sources */,
3134				EB45C776244D7C6600E28F44 /* MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S in Sources */,
3135				4D759B2C25FF89EE0037B0B6 /* GeometryShape.cpp in Sources */,
3136				11A01A07258785EA00745FA7 /* MNNVectorTop1Float.S in Sources */,
3137				92FF035323AA0B5A00AC97F6 /* CPUScatterNd.cpp in Sources */,
3138				48747D6E245D9E33000B9709 /* GeometrySlice.cpp in Sources */,
3139				92FF041923AA0B7100AC97F6 /* ShapeQuantizedMaxPool.cpp in Sources */,
3140				92FF038A23AA0B5A00AC97F6 /* CPURange.cpp in Sources */,
3141				92FF03A123AA0B5A00AC97F6 /* Int8FunctionsOpt.cpp in Sources */,
3142				92FF026523AA0B5A00AC97F6 /* CPUQuantizedAvgPool.cpp in Sources */,
3143				92FF029423AA0B5A00AC97F6 /* CPUMatMul.cpp in Sources */,
3144				48747D62245D9E33000B9709 /* GeometryOPRegister.cpp in Sources */,
3145				4838EA8B2611C1310027232C /* ShapeGridSample.cpp in Sources */,
3146				92FF03A323AA0B5A00AC97F6 /* ConvOpt.cpp in Sources */,
3147				92FF02CD23AA0B5A00AC97F6 /* MNNNV21ToRGBUnit.S in Sources */,
3148				92FF029A23AA0B5A00AC97F6 /* CPUQuantizedMaxPool.cpp in Sources */,
3149				48F5881124DEA3F000C484A2 /* GeometryPooling3D.cpp in Sources */,
3150				92FF042423AA0B7100AC97F6 /* ShapeROIPooling.cpp in Sources */,
3151				92FF033723AA0B5A00AC97F6 /* MNNConvDwF23MulTransUnit.S in Sources */,
3152				92FF042C23AA0B7100AC97F6 /* ShapeReduceJoin.cpp in Sources */,
3153				4896D37A25FE2A6B00717702 /* MNNPackedMatMulRemainFP16.S in Sources */,
3154				92FF043023AA0B7100AC97F6 /* ShapeQuantizedAvgPool.cpp in Sources */,
3155				92FF030623AA0B5A00AC97F6 /* MNNStrassenMergeCFunction.S in Sources */,
3156				92FF033223AA0B5A00AC97F6 /* MNNBlitC3ToFloatRGBA.S in Sources */,
3157				92FF03BE23AA0B5A00AC97F6 /* DeconvolutionWithStride.cpp in Sources */,
3158				4D6D7FC7265688E200F80814 /* MNNPackC4ForMatMul_A_BF16.S in Sources */,
3159				92FF044923AA0B7100AC97F6 /* ShapeGatherND.cpp in Sources */,
3160				489D7AB32550FDC900AD896A /* MetalPReLU.mm in Sources */,
3161				489D7AB12550FDC900AD896A /* MetalDefine.metal in Sources */,
3162				48FB9DCE24AB080C008E1A2D /* MNNPackC8.S in Sources */,
3163				4D9A937A26255BDA00F9B43C /* CoreMLActivation.cpp in Sources */,
3164				92FF02E123AA0B5A00AC97F6 /* MNNPowC8.S in Sources */,
3165				92FF02B123AA0B5A00AC97F6 /* CPUBackend.cpp in Sources */,
3166				4D9A936226255BDA00F9B43C /* FeatureTypes.pb-c.c in Sources */,
3167				486E1A9924F5078D00C16006 /* CPURandomUniform.cpp in Sources */,
3168				92FF02C823AA0B5A00AC97F6 /* MNNNV21ToBGRUnit.S in Sources */,
3169				92FF045C23AA0B7100AC97F6 /* ShapeBroadcastTo.cpp in Sources */,
3170				489D7A8D2550FDC900AD896A /* MetalReLU.mm in Sources */,
3171				48747D49245D9D24000B9709 /* RuntimeFactory.cpp in Sources */,
3172				92FF02AE23AA0B5A00AC97F6 /* CPUProposal.cpp in Sources */,
3173				489D7AAC2550FDC900AD896A /* MetalTensorConverter.mm in Sources */,
3174				92FF042723AA0B7100AC97F6 /* ShapeMatMul.cpp in Sources */,
3175				92FF042823AA0B7100AC97F6 /* ShapeInterp.cpp in Sources */,
3176				92FF02D623AA0B5A00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S in Sources */,
3177				48FB9DCA24A848D0008E1A2D /* MNNAxByClampBroadcastC4.S in Sources */,
3178				489D7A832550FDC900AD896A /* MetalMatMul.mm in Sources */,
3179				92FF04BA23AA0BFB00AC97F6 /* WrapExecution.cpp in Sources */,
3180				11A01A06258785EA00745FA7 /* MNNVectorTop1Int32.S in Sources */,
3181				48FB9DC124A8445A008E1A2D /* MNNAxByClampBroadcastC4.S in Sources */,
3182				EBD4842F2485FF660083CE95 /* Arm82Interp.cpp in Sources */,
3183				4819FB3B24C69E680050BD09 /* GeometrySpatialProduct.cpp in Sources */,
3184				92FF02DB23AA0B5A00AC97F6 /* MNNScaleAndAddBias.S in Sources */,
3185				92FF034D23AA0B5A00AC97F6 /* CPUCast.cpp in Sources */,
3186				48C84B83250F711700EE7666 /* Module.cpp in Sources */,
3187				4D9A937726255BDA00F9B43C /* CoreMLPool.cpp in Sources */,
3188				92FF030C23AA0B5A00AC97F6 /* MNNSamplerC1NearestOpt.S in Sources */,
3189				92FF042E23AA0B7100AC97F6 /* ShapeProposal.cpp in Sources */,
3190				92FF025923AA0B5A00AC97F6 /* CPUPoolInt8.cpp in Sources */,
3191				92FF041F23AA0B7100AC97F6 /* ShapeRank.cpp in Sources */,
3192				92FF045B23AA0B7100AC97F6 /* ShapeShape.cpp in Sources */,
3193				4D6D7FD72656896D00F80814 /* SparseConvolutionTiledExecutor.cpp in Sources */,
3194				92FF03A823AA0B5A00AC97F6 /* WinogradOptFunction.cpp in Sources */,
3195				92FF045323AA0B7100AC97F6 /* ShapeAsString.cpp in Sources */,
3196				92FF044123AA0B7100AC97F6 /* ShapeMoments.cpp in Sources */,
3197				4D9A936026255BDA00F9B43C /* Model.pb-c.c in Sources */,
3198				92FF03AB23AA0B5A00AC97F6 /* ConvolutionInt8Executor.cpp in Sources */,
3199				48FA474523AA127B00172C3B /* Executor.cpp in Sources */,
3200				EBECA39724643D320062C7A3 /* Arm82Eltwise.cpp in Sources */,
3201				92FF02EA23AA0B5A00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S in Sources */,
3202				48A8A61A21D101DE00C2B9A7 /* Matrix_CV.cpp in Sources */,
3203				489D7A8C2550FDC900AD896A /* MetalDeconvolution.mm in Sources */,
3204				489D7AA62550FDC900AD896A /* MetalBackend.mm in Sources */,
3205				92FF031823AA0B5A00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S in Sources */,
3206				92FF039623AA0B5A00AC97F6 /* CPUDepthwiseConvInt8.cpp in Sources */,
3207				92FF04AA23AA0BFB00AC97F6 /* BufferAllocator.cpp in Sources */,
3208				92FF030F23AA0B5A00AC97F6 /* MNNPackC4.S in Sources */,
3209				92FF031D23AA0B5A00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S in Sources */,
3210				C43C81FA251894A600A0FF84 /* CommonOptFunctionNeon.cpp in Sources */,
3211				92FF030123AA0B5A00AC97F6 /* MNNAddC4WithStride.S in Sources */,
3212				489D7A7A2550FDC800AD896A /* MetalReduction.metal in Sources */,
3213				4D9A936426255BDA00F9B43C /* CoreMLExecutor.mm in Sources */,
3214				92FF02E223AA0B5A00AC97F6 /* MNNMatrixAdd.S in Sources */,
3215				92FF038223AA0B5A00AC97F6 /* CPUSetDiff1D.cpp in Sources */,
3216				92FF031B23AA0B5A00AC97F6 /* MNNScaleAndAddBias.S in Sources */,
3217				4D6D7FCB265688F600F80814 /* MNNPackedSparseMatMulEpx4.S in Sources */,
3218				92FF042123AA0B7100AC97F6 /* ShapeDeconvolution.cpp in Sources */,
3219				92FF027F23AA0B5A00AC97F6 /* CPUDeconvolutionDepthwise.cpp in Sources */,
3220				92FF044E23AA0B7100AC97F6 /* ShapeEltwise.cpp in Sources */,
3221				EBECA3A724643D5D0062C7A3 /* MNNQuantizeFP16_UNIT4.S in Sources */,
3222				92FF04A423AA0BFB00AC97F6 /* Interpreter.cpp in Sources */,
3223				92FF045623AA0B7100AC97F6 /* ShapeReshape.cpp in Sources */,
3224				92FF032523AA0B5A00AC97F6 /* MNNConvDwF23SourceTransUnit.S in Sources */,
3225				92FF044423AA0B7100AC97F6 /* ShapeLSTM.cpp in Sources */,
3226				92FF043E23AA0B7100AC97F6 /* ShapeBatchToSpaceND.cpp in Sources */,
3227				48C84B88250F711700EE7666 /* IfModule.cpp in Sources */,
3228				481FA84F259C27B30047F01F /* GeometryTensorArray.cpp in Sources */,
3229				48C84B86250F711700EE7666 /* StaticModule.cpp in Sources */,
3230				92FF043223AA0B7100AC97F6 /* ShapeWhere.cpp in Sources */,
3231				92FF045523AA0B7100AC97F6 /* ShapePriorbox.cpp in Sources */,
3232				92FF02F523AA0B5A00AC97F6 /* MNNInt8ScaleToFloat.S in Sources */,
3233				92FF02D523AA0B5A00AC97F6 /* MNNMatrixMax.S in Sources */,
3234				92FF042023AA0B7100AC97F6 /* ShapePack.cpp in Sources */,
3235				489D7AAD2550FDC900AD896A /* MetalResize.metal in Sources */,
3236				489D7A9D2550FDC900AD896A /* MetalInterp.mm in Sources */,
3237				48FA474723AA127B00172C3B /* Optimizer.cpp in Sources */,
3238				489D7A6B2550FDC800AD896A /* MetalReLU.metal in Sources */,
3239				48F5881424DEA3F000C484A2 /* GeometryDilation2D.cpp in Sources */,
3240				4819FB3D24C69E680050BD09 /* GeometryCosineSimilarity.cpp in Sources */,
3241				92FF041B23AA0B7100AC97F6 /* ShapeUnpack.cpp in Sources */,
3242				92FF033523AA0B5A00AC97F6 /* MNNInt8ScaleToFloat.S in Sources */,
3243				4819FB3124C1396A0050BD09 /* GeometryLRN.cpp in Sources */,
3244				48F9E54C2493511200E46522 /* MNNPackedMatMul.S in Sources */,
3245				92FF026F23AA0B5A00AC97F6 /* CPUInt8ToFloat.cpp in Sources */,
3246				92FF037E23AA0B5A00AC97F6 /* CPUDetectionPostProcess.cpp in Sources */,
3247				92FF045023AA0B7100AC97F6 /* ShapeCropAndResize.cpp in Sources */,
3248				92FF02AB23AA0B5A00AC97F6 /* CPUConst.cpp in Sources */,
3249				92FF03D023AA0B5A00AC97F6 /* CPUTensorConvert.cpp in Sources */,
3250				92FF02C023AA0B5A00AC97F6 /* MNNAddC4WithStride.S in Sources */,
3251				92FF02F823AA0B5A00AC97F6 /* MNNConvRunForLineDepthwise.S in Sources */,
3252				4896D37925FE2A6B00717702 /* MNNPackedMatMulFP16.S in Sources */,
3253				92FF02B623AA0B5A00AC97F6 /* CPUUnary.cpp in Sources */,
3254				92FF032723AA0B5A00AC97F6 /* MNNDeconvRunForUnitDepthWise.S in Sources */,
3255				92FF02CA23AA0B5A00AC97F6 /* MNNUnPackC4.S in Sources */,
3256				92FF02E723AA0B5A00AC97F6 /* MNNDeconvRunForUnitDepthWise.S in Sources */,
3257				92FF02BB23AA0B5A00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Fast.S in Sources */,
3258				92FF045923AA0B7100AC97F6 /* ShapeRegister.cpp in Sources */,
3259				489D7AB62550FDC900AD896A /* MetalReLU6.mm in Sources */,
3260				48A8A61221D101A700C2B9A7 /* ImageProcess.cpp in Sources */,
3261				4D9A936326255BDA00F9B43C /* CoreMLBackend.cpp in Sources */,
3262				4888772B215B639F0079B12E /* Matrix.cpp in Sources */,
3263				92FF045823AA0B7100AC97F6 /* ShapeReduction.cpp in Sources */,
3264				92FF026D23AA0B5A00AC97F6 /* CPUMatrixBandPart.cpp in Sources */,
3265				92FF02A323AA0B5A00AC97F6 /* CPUQuantizedLogistic.cpp in Sources */,
3266				4838EA852611C00B0027232C /* MetalGridSample.mm in Sources */,
3267				489D7AAF2550FDC900AD896A /* MetalConvolutionWinograd.mm in Sources */,
3268				489D7AA02550FDC900AD896A /* MetalCast.metal in Sources */,
3269				48887728215B639F0079B12E /* WingoradGenerater.cpp in Sources */,
3270				92FF045423AA0B7100AC97F6 /* ShapeRNNSequenceGRU.cpp in Sources */,
3271				4896D37C25FE2A6B00717702 /* MNNConvDwF23SourceTransUnitFP16.S in Sources */,
3272				EB8D2ABE246A4975009948D1 /* Arm82OpRegister.cpp in Sources */,
3273				48C84B87250F711700EE7666 /* WhileModule.cpp in Sources */,
3274				48608B51250632EC00CB1D71 /* GeometryComputer.cpp in Sources */,
3275				92FF02FF23AA0B5A00AC97F6 /* MNNFloat2Int8.S in Sources */,
3276				4D9A937926255BDA00F9B43C /* CoreMLRaster.cpp in Sources */,
3277				48417FF224D13BF50056D9A7 /* GeometrySelect.cpp in Sources */,
3278				489D7A7E2550FDC900AD896A /* MNNMetalContext.mm in Sources */,
3279				92FF033423AA0B5A00AC97F6 /* MNNUInt8ToInt16WithOffsetC4Common.S in Sources */,
3280				92FF036B23AA0B5A00AC97F6 /* CPUResize.cpp in Sources */,
3281				92FF02C723AA0B5A00AC97F6 /* MNNCopyC4WithStride.S in Sources */,
3282				92FF030923AA0B5A00AC97F6 /* MNNNV21ToBGRUnit.S in Sources */,
3283				92FF032623AA0B5A00AC97F6 /* MNNWinogradMatrixProductLeft.S in Sources */,
3284				92FF04C023AA0BFB00AC97F6 /* Tensor.cpp in Sources */,
3285				92FF045D23AA0B7100AC97F6 /* ShapeCast.cpp in Sources */,
3286				48A8A61421D101A700C2B9A7 /* ImageBlitter.cpp in Sources */,
3287				92FF032223AA0B5A00AC97F6 /* MNNMatrixAdd.S in Sources */,
3288				92FF02D723AA0B5A00AC97F6 /* MNNConvRunForUnitDepthWiseUint8.S in Sources */,
3289				92FF026123AA0B5A00AC97F6 /* CPUCropAndResize.cpp in Sources */,
3290				48FA474923AA127B00172C3B /* MathOp.cpp in Sources */,
3291				489D7A752550FDC800AD896A /* MetalConvolution.metal in Sources */,
3292				4819FB3C24C69E680050BD09 /* GeometryBatchMatMul.cpp in Sources */,
3293				489404DE24A2FC2C001E456C /* GeometryReverseSequence.cpp in Sources */,
3294				92FF035923AA0B5A00AC97F6 /* CPUAsString.cpp in Sources */,
3295				92FF041C23AA0B7100AC97F6 /* ShapeNonMaxSuppressionV2.cpp in Sources */,
3296				92FF02CE23AA0B5A00AC97F6 /* MNNPackC4.S in Sources */,
3297				92FF037023AA0B5A00AC97F6 /* CPUPool.cpp in Sources */,
3298				92FF03AD23AA0B5A00AC97F6 /* ConvolutionDepthwise3x3.cpp in Sources */,
3299				92FF031723AA0B5A00AC97F6 /* MNNConvRunForLineDepthWiseInt8.S in Sources */,
3300				489D7AB72550FDC900AD896A /* MetalEltwise.metal in Sources */,
3301				489D7A762550FDC800AD896A /* MetalReduction.mm in Sources */,
3302				92FF032023AA0B5A00AC97F6 /* MNNMatrixSub.S in Sources */,
3303				C43C81FF251894BD00A0FF84 /* ThreadPool.cpp in Sources */,
3304				92FF036323AA0B5A00AC97F6 /* CPUScale.cpp in Sources */,
3305				92FF02FE23AA0B5A00AC97F6 /* MNNMatrixProd.S in Sources */,
3306				92FF026723AA0B5A00AC97F6 /* CPUReduceJoin.cpp in Sources */,
3307				92FF039B23AA0B5A00AC97F6 /* CommonOptFunction.cpp in Sources */,
3308				92FF02BC23AA0B5A00AC97F6 /* MNNScaleAddInt8.S in Sources */,
3309				92FF02DD23AA0B5A00AC97F6 /* MNNConvRunForLineDepthWiseUint8.S in Sources */,
3310				92FF026323AA0B5A00AC97F6 /* CPUFloatToInt8.cpp in Sources */,
3311				48A046FC25E4ABAC00CFA868 /* GeometryUnary.cpp in Sources */,
3312				48C84B82250F711700EE7666 /* PipelineModule.cpp in Sources */,
3313				48FD12BE2466A88D009E9102 /* GeometryImageOp.cpp in Sources */,
3314				92FF035423AA0B5A00AC97F6 /* CPUSelect.cpp in Sources */,
3315				489D7AB52550FDC900AD896A /* MetalBinary.metal in Sources */,
3316				489D7A8F2550FDC900AD896A /* MetalScale.metal in Sources */,
3317				92FF02C923AA0B5A00AC97F6 /* MNNLineDepthWiseInt8AddBiasScaleUnit.S in Sources */,
3318				92FF032823AA0B5A00AC97F6 /* MNNSamplerC1BilinearOpt.S in Sources */,
3319				4896D37F25FE2A6B00717702 /* MNNConvRunForLineDepthwiseFP16.S in Sources */,
3320				92FF044323AA0B7100AC97F6 /* ShapeTopKV2.cpp in Sources */,
3321				4D6D7FCD2656890500F80814 /* MNNPackC4ForMatMul_A_BF16.S in Sources */,
3322				92FF02EC23AA0B5A00AC97F6 /* MNNWinogradMatrixProductRight.S in Sources */,
3323				48C84BA1250F725600EE7666 /* InitNet.cpp in Sources */,
3324				92FF02AC23AA0B5A00AC97F6 /* CPUQuantizedSoftmax.cpp in Sources */,
3325				92FF042523AA0B7100AC97F6 /* ShapeSize.cpp in Sources */,
3326				92FF043123AA0B7100AC97F6 /* ShapeSpaceToBatchND.cpp in Sources */,
3327				48A8A61521D101A700C2B9A7 /* ImageFloatBlitter.cpp in Sources */,
3328				92FF043623AA0B7100AC97F6 /* ShapeSelect.cpp in Sources */,
3329				92FF042B23AA0B7100AC97F6 /* ShapeOneHot.cpp in Sources */,
3330				92FF043C23AA0B7100AC97F6 /* ShapeExpandDims.cpp in Sources */,
3331				92FF045723AA0B7100AC97F6 /* ShapeTranspose.cpp in Sources */,
3332				92FF031023AA0B5A00AC97F6 /* MNNMinFloat.S in Sources */,
3333				489D7A712550FDC800AD896A /* MetalConvolutionDepthwise.metal in Sources */,
3334				92FF032A23AA0B5A00AC97F6 /* MNNGemmInt8AddBiasScale_16x4_Unit.S in Sources */,
3335				4D9A937626255BDA00F9B43C /* CoreMLScale.cpp in Sources */,
3336				48034567254157DF004738E3 /* MNNNV21ToBGRAUnit.S in Sources */,
3337			);
3338			runOnlyForDeploymentPostprocessing = 0;
3339		};
3340		9273AB471FE7BE4D00477B22 /* Sources */ = {
3341			isa = PBXSourcesBuildPhase;
3342			buildActionMask = 2147483647;
3343			files = (
3344				92A4E0FC21F05A4F000B0919 /* MemoryUtilsTest.cpp in Sources */,
3345				48FD03462467C64700456AF5 /* MatMulSpeed.cpp in Sources */,
3346				4882C8F1241A24D900DAC168 /* PadTest.cpp in Sources */,
3347				920004B521EDBDF600BCE892 /* BinaryOPTest.cpp in Sources */,
3348				4829A2D623CC26AE00623BF5 /* MatMulTest.cpp in Sources */,
3349				920004D221EDBE1100BCE892 /* MNNTestSuite.cpp in Sources */,
3350				4882C8F8241A24D900DAC168 /* SetDiff1DTest.cpp in Sources */,
3351				920004C421EDBDF600BCE892 /* ConcatTest.cpp in Sources */,
3352				4882C8EA241A24D900DAC168 /* OneHotTest.cpp in Sources */,
3353				4829A2DB23CC26AE00623BF5 /* MultiThreadLoad.cpp in Sources */,
3354				4829A2DA23CC26AE00623BF5 /* AllAnyTest.cpp in Sources */,
3355				4882C8E6241A24D900DAC168 /* ZerosLikeTest.cpp in Sources */,
3356				920004AA21EDBDF600BCE892 /* GatherV2Test.cpp in Sources */,
3357				920004B621EDBDF600BCE892 /* BatchToSpaceNDTest.cpp in Sources */,
3358				920004D021EDBDF600BCE892 /* PReLUTest.cpp in Sources */,
3359				920004CE21EDBDF600BCE892 /* UnaryTest.cpp in Sources */,
3360				4882C8F9241A24D900DAC168 /* LinSpaceTest.cpp in Sources */,
3361				4882C8FC241A24D900DAC168 /* PoolGradTest.cpp in Sources */,
3362				920004A921EDBDF600BCE892 /* ReductionTest.cpp in Sources */,
3363				4882C8FB241A24D900DAC168 /* Conv2DBackPropFilterTest.cpp in Sources */,
3364				920004A521EDBDF600BCE892 /* TileTest.cpp in Sources */,
3365				4D6D7FDF2656994600F80814 /* benchmark.cpp in Sources */,
3366				920004A421EDBDF600BCE892 /* MatMulTest.cpp in Sources */,
3367				4882C8DE241A24D900DAC168 /* SizeTest.cpp in Sources */,
3368				920004C721EDBDF600BCE892 /* CropTest.cpp in Sources */,
3369				4829A2D823CC26AE00623BF5 /* MatrixBandTest.cpp in Sources */,
3370				4829A2DD23CC26AE00623BF5 /* ExprResizeTest.cpp in Sources */,
3371				4882C8EE241A24D900DAC168 /* SpaceToDepthTest.cpp in Sources */,
3372				9273AB5D1FE7BE4D00477B22 /* main.m in Sources */,
3373				48FD03482467C64700456AF5 /* BinarySpeedTest.cpp in Sources */,
3374				9200049A21EDBDF600BCE892 /* ImageProcessTest.cpp in Sources */,
3375				920004A021EDBDF600BCE892 /* SqueezeTest.cpp in Sources */,
3376				925702D221EF270D00A2A3CA /* BufferAllocatorTest.cpp in Sources */,
3377				4882C8FA241A24D900DAC168 /* MultiDeconvolutionTest.cpp in Sources */,
3378				925702D021EF0F5300A2A3CA /* TensorUtilsTest.cpp in Sources */,
3379				4882C8FD241A24D900DAC168 /* ShapeTest.cpp in Sources */,
3380				4829A2E023CC26AE00623BF5 /* PaddingTest.cpp in Sources */,
3381				4829A2DE23CC26AE00623BF5 /* ReverseSequenceTest.cpp in Sources */,
3382				920004CC21EDBDF600BCE892 /* RangeTest.cpp in Sources */,
3383				920004BF21EDBDF600BCE892 /* ResizeTest.cpp in Sources */,
3384				4882C8E2241A24D900DAC168 /* Pool3DTest.cpp in Sources */,
3385				925F018921FF1E0B00E648A1 /* SqueezeNetTest.cpp in Sources */,
3386				920004CD21EDBDF600BCE892 /* SeLUTest.cpp in Sources */,
3387				920004BC21EDBDF600BCE892 /* FillTest.cpp in Sources */,
3388				4882C8F3241A24D900DAC168 /* MatrixBandPart.cpp in Sources */,
3389				4882C8DF241A24D900DAC168 /* SoftsignTest.cpp in Sources */,
3390				4882C8ED241A24D900DAC168 /* DepthToSpaceTest.cpp in Sources */,
3391				4882C8E7241A24D900DAC168 /* ConvInt8Test.cpp in Sources */,
3392				4882C8EB241A24D900DAC168 /* SplitTest.cpp in Sources */,
3393				92A4E10321F07C76000B0919 /* AutoStorageTest.cpp in Sources */,
3394				4D9A93D026255E9600F9B43C /* revertMNNModel.cpp in Sources */,
3395				4882C8E8241A24D900DAC168 /* UnravelIndexTest.cpp in Sources */,
3396				4882C8F4241A24D900DAC168 /* MomentsTest.cpp in Sources */,
3397				4882C8EC241A24D900DAC168 /* SoftplusTest.cpp in Sources */,
3398				920004B221EDBDF600BCE892 /* ReshapeTest.cpp in Sources */,
3399				920004B821EDBDF600BCE892 /* SoftmaxTest.cpp in Sources */,
3400				4882C8F7241A24D900DAC168 /* ArgMaxTest.cpp in Sources */,
3401				925702F621EF604400A2A3CA /* SizeComputerTest.cpp in Sources */,
3402				4882C8E9241A24D900DAC168 /* ScatterNdTest.cpp in Sources */,
3403				920004AE21EDBDF600BCE892 /* ConvolutionTest.cpp in Sources */,
3404				4882C8EF241A24D900DAC168 /* Conv2DBackPropTest.cpp in Sources */,
3405				4882C8E0241A24D900DAC168 /* UnstackTest.cpp in Sources */,
3406				925F018D21FFF3D300E648A1 /* MobileNetTest.cpp in Sources */,
3407				920004B321EDBDF600BCE892 /* ReLUTest.cpp in Sources */,
3408				4882C8F6241A24D900DAC168 /* BroadcastToTest.cpp in Sources */,
3409				4882C8E3241A24D900DAC168 /* MultiConvolutionTest.cpp in Sources */,
3410				920004D321EDBE1100BCE892 /* TestUtils.cpp in Sources */,
3411				4829A2DF23CC26AE00623BF5 /* ReplaceTest.cpp in Sources */,
3412				920004A721EDBDF600BCE892 /* RankTest.cpp in Sources */,
3413				4882C8F0241A24D900DAC168 /* ExpandDimsTest.cpp in Sources */,
3414				4882C8DD241A24D900DAC168 /* Convolution3DTest.cpp in Sources */,
3415				920004CB21EDBDF600BCE892 /* SpaceToBatchNDTest.cpp in Sources */,
3416				4829A2D923CC26AE00623BF5 /* ExtraTest.cpp in Sources */,
3417				4882C8F2241A24D900DAC168 /* StackTest.cpp in Sources */,
3418				920004D421EDBE1100BCE892 /* TestUtils.mm in Sources */,
3419				9200049B21EDBDF600BCE892 /* MatrixTest.cpp in Sources */,
3420				92D765BB222819EF00178BE5 /* BackendTest.cpp in Sources */,
3421				4882C8E1241A24D900DAC168 /* EluTest.cpp in Sources */,
3422				4882C8E4241A24D900DAC168 /* Dilation2DTest.cpp in Sources */,
3423				9200049921EDBDF600BCE892 /* TensorTest.cpp in Sources */,
3424				4829A2D723CC26AE00623BF5 /* GatherTest.cpp in Sources */,
3425				48FD03472467C64700456AF5 /* ReluSpeed.cpp in Sources */,
3426				9273AB4F1FE7BE4D00477B22 /* AppDelegate.mm in Sources */,
3427				92C674FF22549C9900011D33 /* ReLU6Test.cpp in Sources */,
3428				920004A821EDBDF600BCE892 /* GatherTest.cpp in Sources */,
3429			);
3430			runOnlyForDeploymentPostprocessing = 0;
3431		};
3432/* End PBXSourcesBuildPhase section */
3433
3434/* Begin PBXTargetDependency section */
3435		22EA50AF2051680900C3906C /* PBXTargetDependency */ = {
3436			isa = PBXTargetDependency;
3437			target = 0F1465B61FA18D1000F9860A /* MNN */;
3438			targetProxy = 22EA50AE2051680900C3906C /* PBXContainerItemProxy */;
3439		};
3440/* End PBXTargetDependency section */
3441
3442/* Begin XCBuildConfiguration section */
3443		0F1465BD1FA18D1000F9860A /* Debug */ = {
3444			isa = XCBuildConfiguration;
3445			buildSettings = {
3446				ALWAYS_SEARCH_USER_PATHS = NO;
3447				CLANG_ANALYZER_NONNULL = YES;
3448				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
3449				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
3450				CLANG_CXX_LIBRARY = "libc++";
3451				CLANG_ENABLE_MODULES = YES;
3452				CLANG_ENABLE_OBJC_ARC = YES;
3453				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
3454				CLANG_WARN_BOOL_CONVERSION = YES;
3455				CLANG_WARN_COMMA = YES;
3456				CLANG_WARN_CONSTANT_CONVERSION = YES;
3457				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
3458				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
3459				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
3460				CLANG_WARN_EMPTY_BODY = YES;
3461				CLANG_WARN_ENUM_CONVERSION = YES;
3462				CLANG_WARN_INFINITE_RECURSION = YES;
3463				CLANG_WARN_INT_CONVERSION = YES;
3464				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
3465				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
3466				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
3467				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
3468				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
3469				CLANG_WARN_STRICT_PROTOTYPES = YES;
3470				CLANG_WARN_SUSPICIOUS_MOVE = YES;
3471				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
3472				CLANG_WARN_UNREACHABLE_CODE = YES;
3473				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
3474				CODE_SIGN_IDENTITY = "iPhone Developer";
3475				COPY_PHASE_STRIP = NO;
3476				CURRENT_PROJECT_VERSION = 1;
3477				DEBUG_INFORMATION_FORMAT = dwarf;
3478				ENABLE_BITCODE = NO;
3479				ENABLE_STRICT_OBJC_MSGSEND = YES;
3480				ENABLE_TESTABILITY = YES;
3481				GCC_C_LANGUAGE_STANDARD = gnu11;
3482				GCC_DYNAMIC_NO_PIC = NO;
3483				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
3484				GCC_NO_COMMON_BLOCKS = YES;
3485				GCC_OPTIMIZATION_LEVEL = 0;
3486				GCC_PREPROCESSOR_DEFINITIONS = (
3487					"DEBUG=1",
3488					"$(inherited)",
3489				);
3490				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
3491				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
3492				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
3493				GCC_WARN_SHADOW = YES;
3494				GCC_WARN_UNDECLARED_SELECTOR = YES;
3495				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
3496				GCC_WARN_UNUSED_FUNCTION = YES;
3497				GCC_WARN_UNUSED_VARIABLE = YES;
3498				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
3499				MTL_ENABLE_DEBUG_INFO = YES;
3500				ONLY_ACTIVE_ARCH = YES;
3501				OTHER_LDFLAGS = "-all_load";
3502				SDKROOT = iphoneos;
3503				SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos";
3504				VALID_ARCHS = "arm64 armv7 armv7s i386 x86_64";
3505				VERSIONING_SYSTEM = "apple-generic";
3506				VERSION_INFO_PREFIX = "";
3507			};
3508			name = Debug;
3509		};
3510		0F1465BE1FA18D1000F9860A /* Release */ = {
3511			isa = XCBuildConfiguration;
3512			buildSettings = {
3513				ALWAYS_SEARCH_USER_PATHS = NO;
3514				CLANG_ANALYZER_NONNULL = YES;
3515				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
3516				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
3517				CLANG_CXX_LIBRARY = "libc++";
3518				CLANG_ENABLE_MODULES = YES;
3519				CLANG_ENABLE_OBJC_ARC = YES;
3520				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
3521				CLANG_WARN_BOOL_CONVERSION = YES;
3522				CLANG_WARN_COMMA = YES;
3523				CLANG_WARN_CONSTANT_CONVERSION = YES;
3524				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
3525				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
3526				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
3527				CLANG_WARN_EMPTY_BODY = YES;
3528				CLANG_WARN_ENUM_CONVERSION = YES;
3529				CLANG_WARN_INFINITE_RECURSION = YES;
3530				CLANG_WARN_INT_CONVERSION = YES;
3531				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
3532				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
3533				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
3534				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
3535				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
3536				CLANG_WARN_STRICT_PROTOTYPES = YES;
3537				CLANG_WARN_SUSPICIOUS_MOVE = YES;
3538				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
3539				CLANG_WARN_UNREACHABLE_CODE = YES;
3540				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
3541				CODE_SIGN_IDENTITY = "iPhone Developer";
3542				COPY_PHASE_STRIP = NO;
3543				CURRENT_PROJECT_VERSION = 1;
3544				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
3545				ENABLE_BITCODE = NO;
3546				ENABLE_NS_ASSERTIONS = NO;
3547				ENABLE_STRICT_OBJC_MSGSEND = YES;
3548				GCC_C_LANGUAGE_STANDARD = gnu11;
3549				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
3550				GCC_NO_COMMON_BLOCKS = YES;
3551				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
3552				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
3553				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
3554				GCC_WARN_SHADOW = YES;
3555				GCC_WARN_UNDECLARED_SELECTOR = YES;
3556				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
3557				GCC_WARN_UNUSED_FUNCTION = YES;
3558				GCC_WARN_UNUSED_VARIABLE = YES;
3559				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
3560				MTL_ENABLE_DEBUG_INFO = NO;
3561				OTHER_LDFLAGS = "-all_load";
3562				SDKROOT = iphoneos;
3563				SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos";
3564				VALIDATE_PRODUCT = YES;
3565				VALID_ARCHS = "arm64 armv7 armv7s i386 x86_64";
3566				VERSIONING_SYSTEM = "apple-generic";
3567				VERSION_INFO_PREFIX = "";
3568			};
3569			name = Release;
3570		};
3571		0F1465C01FA18D1000F9860A /* Debug */ = {
3572			isa = XCBuildConfiguration;
3573			buildSettings = {
3574				CODE_SIGN_IDENTITY = "Apple Development";
3575				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
3576				CODE_SIGN_STYLE = Manual;
3577				DEAD_CODE_STRIPPING = YES;
3578				DEFINES_MODULE = YES;
3579				DEVELOPMENT_TEAM = "";
3580				DYLIB_COMPATIBILITY_VERSION = 1;
3581				DYLIB_CURRENT_VERSION = 1;
3582				DYLIB_INSTALL_NAME_BASE = "@rpath";
3583				"EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*]" = (
3584					"*/source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_ARMV82_Unit.S",
3585					"*/source/backend/arm82/*",
3586					"*/source/backend/arm82/asm/arm64/*",
3587				);
3588				GCC_ENABLE_CPP_EXCEPTIONS = NO;
3589				GCC_ENABLE_CPP_RTTI = NO;
3590				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
3591				GCC_PREPROCESSOR_DEFINITIONS = (
3592					"$(inherited)",
3593					"MNN_CODEGEN_REGISTER=1",
3594					"MNN_METAL_ENABLED=1",
3595					"MNN_SUPPORT_TFLITE_QUAN=1",
3596					"ENABLE_ARMV82=1",
3597					"MNN_WITH_PLUGIN=1",
3598					"MNN_COREML_ENABLED=1",
3599				);
3600				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
3601				GCC_WARN_SHADOW = NO;
3602				HEADER_SEARCH_PATHS = (
3603					"${inherited}",
3604					"${SRCROOT}/../../3rd_party/flatbuffers/include",
3605					"${SRCROOT}/../../3rd_party/half",
3606					"${SRCROOT}/../../include/",
3607					"${SRCROOT}/../../source/",
3608					"${SRCROOT}/../../source/backend/coreml/mlmodel/include",
3609				);
3610				INFOPLIST_FILE = "$(SRCROOT)/MNN/Info.plist";
3611				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
3612				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
3613				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
3614				LIBRARY_SEARCH_PATHS = (
3615					"${inherited}",
3616					"${PROJECT_DIR}/../../3rdparty/openmp",
3617				);
3618				MACH_O_TYPE = staticlib;
3619				METAL_LIBRARY_FILE_BASE = mnn;
3620				ONLY_ACTIVE_ARCH = YES;
3621				OTHER_CFLAGS = "";
3622				PRODUCT_BUNDLE_IDENTIFIER = com.alibaba.MNN.yyavdsavds;
3623				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
3624				PROVISIONING_PROFILE_SPECIFIER = "";
3625				"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
3626				SDKROOT = iphoneos;
3627				SKIP_INSTALL = YES;
3628				SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos";
3629				TARGETED_DEVICE_FAMILY = "1,2";
3630				USER_HEADER_SEARCH_PATHS = "${SRCROOT}/../../schema/current";
3631				VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386";
3632			};
3633			name = Debug;
3634		};
3635		0F1465C11FA18D1000F9860A /* Release */ = {
3636			isa = XCBuildConfiguration;
3637			buildSettings = {
3638				CODE_SIGN_IDENTITY = "Apple Development";
3639				CODE_SIGN_STYLE = Manual;
3640				DEAD_CODE_STRIPPING = YES;
3641				DEFINES_MODULE = YES;
3642				DEVELOPMENT_TEAM = 6G7464HHUS;
3643				DYLIB_COMPATIBILITY_VERSION = 1;
3644				DYLIB_CURRENT_VERSION = 1;
3645				DYLIB_INSTALL_NAME_BASE = "@rpath";
3646				"EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*]" = (
3647					"*/source/backend/arm82/asm/arm64/*",
3648					"*/source/backend/arm82/*",
3649					"*/source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_ARMV82_Unit.S",
3650				);
3651				GCC_ENABLE_CPP_EXCEPTIONS = NO;
3652				GCC_ENABLE_CPP_RTTI = NO;
3653				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
3654				GCC_PREPROCESSOR_DEFINITIONS = (
3655					"MNN_CODEGEN_REGISTER=1",
3656					"MNN_METAL_ENABLED=1",
3657					"MNN_SUPPORT_TFLITE_QUAN=1",
3658					"ENABLE_ARMV82=1",
3659					"MNN_WITH_PLUGIN=1",
3660					"MNN_COREML_ENABLED=1",
3661				);
3662				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
3663				GCC_WARN_SHADOW = YES;
3664				HEADER_SEARCH_PATHS = (
3665					"${inherited}",
3666					"${SRCROOT}/../../3rd_party/flatbuffers/include",
3667					"${SRCROOT}/../../3rd_party/half",
3668					"${SRCROOT}/../../include/",
3669					"${SRCROOT}/../../source/",
3670					"${SRCROOT}/../../source/backend/coreml/mlmodel/include",
3671				);
3672				INFOPLIST_FILE = "$(SRCROOT)/MNN/Info.plist";
3673				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
3674				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
3675				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
3676				LIBRARY_SEARCH_PATHS = (
3677					"${inherited}",
3678					"${PROJECT_DIR}/../../3rdparty/openmp",
3679				);
3680				MACH_O_TYPE = staticlib;
3681				METAL_LIBRARY_FILE_BASE = mnn;
3682				OTHER_CFLAGS = "";
3683				PRODUCT_BUNDLE_IDENTIFIER = com.alibaba.MNN.yyavdsavds;
3684				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
3685				PROVISIONING_PROFILE_SPECIFIER = "";
3686				"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
3687				SDKROOT = iphoneos;
3688				SKIP_INSTALL = YES;
3689				SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos";
3690				TARGETED_DEVICE_FAMILY = "1,2";
3691				USER_HEADER_SEARCH_PATHS = "${SRCROOT}/../../schema/current";
3692				VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386";
3693			};
3694			name = Release;
3695		};
3696		9273AB5E1FE7BE4D00477B22 /* Debug */ = {
3697			isa = XCBuildConfiguration;
3698			buildSettings = {
3699				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
3700				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
3701				CODE_SIGN_STYLE = Automatic;
3702				DEVELOPMENT_TEAM = 6G7464HHUS;
3703				GCC_ENABLE_CPP_EXCEPTIONS = NO;
3704				GCC_ENABLE_CPP_RTTI = NO;
3705				HEADER_SEARCH_PATHS = (
3706					"${inherited}",
3707					"${SRCROOT}/../../3rd_party/flatbuffers/include",
3708					"${SRCROOT}/../../source",
3709					"${SRCROOT}/../../schema/current",
3710				);
3711				INFOPLIST_FILE = Playground/Info.plist;
3712				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
3713				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
3714				OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
3715				PRODUCT_BUNDLE_IDENTIFIER = com.cat.MNN.playgroundvvs33;
3716				PRODUCT_NAME = "$(TARGET_NAME)";
3717				TARGETED_DEVICE_FAMILY = "1,2";
3718			};
3719			name = Debug;
3720		};
3721		9273AB5F1FE7BE4D00477B22 /* Release */ = {
3722			isa = XCBuildConfiguration;
3723			buildSettings = {
3724				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
3725				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
3726				CODE_SIGN_STYLE = Automatic;
3727				DEVELOPMENT_TEAM = 6G7464HHUS;
3728				GCC_ENABLE_CPP_EXCEPTIONS = NO;
3729				GCC_ENABLE_CPP_RTTI = NO;
3730				HEADER_SEARCH_PATHS = (
3731					"${inherited}",
3732					"${SRCROOT}/../../3rd_party/flatbuffers/include",
3733					"${SRCROOT}/../../source",
3734					"${SRCROOT}/../../schema/current",
3735				);
3736				INFOPLIST_FILE = Playground/Info.plist;
3737				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
3738				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
3739				OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
3740				PRODUCT_BUNDLE_IDENTIFIER = com.cat.MNN.playgroundvv;
3741				PRODUCT_NAME = "$(TARGET_NAME)";
3742				TARGETED_DEVICE_FAMILY = "1,2";
3743			};
3744			name = Release;
3745		};
3746/* End XCBuildConfiguration section */
3747
3748/* Begin XCConfigurationList section */
3749		0F1465B11FA18D1000F9860A /* Build configuration list for PBXProject "MNN" */ = {
3750			isa = XCConfigurationList;
3751			buildConfigurations = (
3752				0F1465BD1FA18D1000F9860A /* Debug */,
3753				0F1465BE1FA18D1000F9860A /* Release */,
3754			);
3755			defaultConfigurationIsVisible = 0;
3756			defaultConfigurationName = Release;
3757		};
3758		0F1465BF1FA18D1000F9860A /* Build configuration list for PBXNativeTarget "MNN" */ = {
3759			isa = XCConfigurationList;
3760			buildConfigurations = (
3761				0F1465C01FA18D1000F9860A /* Debug */,
3762				0F1465C11FA18D1000F9860A /* Release */,
3763			);
3764			defaultConfigurationIsVisible = 0;
3765			defaultConfigurationName = Release;
3766		};
3767		9273AB601FE7BE4D00477B22 /* Build configuration list for PBXNativeTarget "Playground" */ = {
3768			isa = XCConfigurationList;
3769			buildConfigurations = (
3770				9273AB5E1FE7BE4D00477B22 /* Debug */,
3771				9273AB5F1FE7BE4D00477B22 /* Release */,
3772			);
3773			defaultConfigurationIsVisible = 0;
3774			defaultConfigurationName = Release;
3775		};
3776/* End XCConfigurationList section */
3777	};
3778	rootObject = 0F1465AE1FA18D1000F9860A /* Project object */;
3779}
3780