Browse Source

Add CONTRAST Mobile project -- 添加CONTRAST Mobile 工程(resolve: #14762)
cam scan add sorce setting, indicate the data type -- cam scan 增加 sorce 设置,标明数据类型(resolve: #14794)
In projects without offline mode, hide the offline option of the login box -- 在没有离线模式的项目里要隐藏登陆框的离线选项 (resolve: #14793)
Test and fix UI compatibility issues -- 测试和修复UI 兼容性问题(resolve: #14750)
The lack of necessary parameters to communicate with the background leads to a series of problems -- 与后台通信缺少必要参数,导致一系列问题(resolve: #14789)
The problem that the project cannot be compiled after the app framework is modified -- 修改app框架改变后,工程无法编译的问题(resolve: #14748)

Ray Zhang 4 năm trước cách đây
mục cha
commit
3b60bd9796
100 tập tin đã thay đổi với 4517 bổ sung500 xóa
  1. 271 236
      RedAnt ERP Mobile/HMLG Mobile.xcodeproj/project.pbxproj
  2. 1 1
      RedAnt ERP Mobile/HMLG Mobile/config.h
  3. 3 0
      RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/contents.xcworkspacedata
  4. 6 6
      RedAnt ERP Mobile/common/AppDelegateBase.h
  5. 36 34
      RedAnt ERP Mobile/common/AppDelegateBase.m
  6. 17 0
      RedAnt ERP Mobile/common/DBUtil.h
  7. 40 0
      RedAnt ERP Mobile/common/DBUtil.m
  8. 5 5
      RedAnt ERP Mobile/common/ERPUtils.m
  9. 39 62
      RedAnt ERP Mobile/common/ERP_Mobile_Search.storyboard
  10. 13 9
      RedAnt ERP Mobile/common/Functions/MainViewController.m
  11. 2 1
      RedAnt ERP Mobile/common/Functions/camscan/ScannerViewController.h
  12. 81 1
      RedAnt ERP Mobile/common/Functions/camscan/ScannerViewController.m
  13. 8 8
      RedAnt ERP Mobile/common/Functions/cart/CartViewController.m
  14. 1 1
      RedAnt ERP Mobile/common/Functions/category/CategorySearchFilterViewController.m
  15. 1 1
      RedAnt ERP Mobile/common/Functions/category/CategoryViewController.m
  16. 1 1
      RedAnt ERP Mobile/common/Functions/contact/CustomerInfoViewController.m
  17. 5 5
      RedAnt ERP Mobile/common/Functions/home/HomeViewController.m
  18. 3 2
      RedAnt ERP Mobile/common/Functions/modelDetail/DetailHeaderCell.m
  19. 3 3
      RedAnt ERP Mobile/common/Functions/modelDetail/DetailViewController.m
  20. 2 2
      RedAnt ERP Mobile/common/Functions/modelDetail/HomerModelDetailHeaderCell.m
  21. 8 5
      RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m
  22. 2 2
      RedAnt ERP Mobile/common/Functions/offline/SelectUploadOrderViewController.m
  23. 2 1
      RedAnt ERP Mobile/common/Functions/offline/SyncControlPanelViewController.m
  24. 6 5
      RedAnt ERP Mobile/common/Functions/order/CreateOrderViewController.m
  25. 13 13
      RedAnt ERP Mobile/common/Functions/order/OrderDetailViewController.m
  26. 16 16
      RedAnt ERP Mobile/common/Functions/order/OrderListViewController.m
  27. 4 2
      RedAnt ERP Mobile/common/Functions/order/RAOrderEditorViewController.m
  28. 6 5
      RedAnt ERP Mobile/common/Functions/order/RAOrderPreviewController.m
  29. 1 1
      RedAnt ERP Mobile/common/Functions/portfolio/TearSheetParamViewController.m
  30. 11 5
      RedAnt ERP Mobile/common/Functions/sidemenu/LoginViewController.m
  31. 1 1
      RedAnt ERP Mobile/common/PDFUtils.m
  32. 1 1
      RedAnt ERP Mobile/common/Price Setting/CategoryPriceCell.m
  33. 6 6
      RedAnt ERP Mobile/common/Price Setting/PriceSettingViewController.m
  34. 3 3
      RedAnt ERP Mobile/common/Price Setting/SetCategoryPriceController.m
  35. 11 1
      RedAnt ERP Mobile/common/RASingleton.h
  36. 33 4
      RedAnt ERP Mobile/common/RASingleton.m
  37. 1 1
      RedAnt ERP Mobile/common/categoryMenu_RATree/RAViewController.h
  38. 136 0
      RedAnt ERP Mobile/common/const.h
  39. 21 0
      RedAnt ERP Mobile/common/data_provider/RADataProvider.h
  40. 254 0
      RedAnt ERP Mobile/common/data_provider/RADataProvider.m
  41. 4 4
      RedAnt ERP Mobile/common/data_provider/RANetwork.h
  42. 122 42
      RedAnt ERP Mobile/common/data_provider/RANetwork.m
  43. 4 4
      RedAnt ERP Mobile/common/data_provider/iSalesDB.m
  44. 2623 0
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.pbxproj
  45. 7 0
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  46. 46 0
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Mobile.xccheckout
  47. 25 0
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Mobile.xcscmblueprint
  48. 46 0
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Suite.xccheckout
  49. BIN
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate
  50. 10 0
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/WorkspaceSettings.xcsettings
  51. 82 0
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Expressions.xcexplist
  52. 19 0
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/xcuserdata/ray.xcuserdatad/xcschemes/xcschememanagement.plist
  53. 19 0
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/xcuserdata/ruizhang.xcuserdatad/xcschemes/xcschememanagement.plist
  54. 161 0
      RedAnt ERP Mobile/iSales-CONTRAST/AppDelegate.h
  55. 17 0
      RedAnt ERP Mobile/iSales-CONTRAST/AppDelegate.m
  56. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/DejaVuSans-Bold.ttf
  57. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/DejaVuSans.ttf
  58. 68 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/Contents.json
  59. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-1.png
  60. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-2.png
  61. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-3.png
  62. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-4.png
  63. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-5.png
  64. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-6.png
  65. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-7.png
  66. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-8.png
  67. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-9.png
  68. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon.png
  69. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Assembly icon.imageset/Assembly icon.png
  70. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Assembly icon.imageset/Assembly icon@2x.png
  71. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Assembly icon.imageset/Assembly icon@3x.png
  72. 23 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Assembly icon.imageset/Contents.json
  73. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combine.imageset/Combine.png
  74. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combine.imageset/Combine@2x.png
  75. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combine.imageset/Combine@3x.png
  76. 23 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combine.imageset/Contents.json
  77. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegray.imageset/Combinegray.png
  78. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegray.imageset/Combinegray@2x.png
  79. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegray.imageset/Combinegray@3x.png
  80. 23 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegray.imageset/Contents.json
  81. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegreen.imageset/Combinegreen.png
  82. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegreen.imageset/Combinegreen@2x.png
  83. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegreen.imageset/Combinegreen@3x.png
  84. 23 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegreen.imageset/Contents.json
  85. 6 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Contents.json
  86. 23 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_18.imageset/Contents.json
  87. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_18.imageset/DX_18.png
  88. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_18.imageset/DX_18@2x.png
  89. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_18.imageset/DX_18@3x.png
  90. 23 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_22.imageset/Contents.json
  91. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_22.imageset/DX_22.png
  92. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_22.imageset/DX_22@2x.png
  93. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_22.imageset/DX_22@3x.png
  94. 23 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_18.imageset/Contents.json
  95. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_18.imageset/IS_18.png
  96. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_18.imageset/IS_18@2x.png
  97. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_18.imageset/IS_18@3x.png
  98. 23 0
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_22.imageset/Contents.json
  99. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_22.imageset/IS_22.png
  100. BIN
      RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_22.imageset/IS_22@2x.png

+ 271 - 236
RedAnt ERP Mobile/HMLG Mobile.xcodeproj/project.pbxproj

@@ -7,6 +7,42 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		3C3F4F08276B357500B091AE /* PhotoList.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C3F4EFF276B357500B091AE /* PhotoList.storyboard */; };
+		3C3F4F09276B357500B091AE /* ContentPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F01276B357500B091AE /* ContentPreviewController.m */; };
+		3C3F4F0A276B357500B091AE /* VideoPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F04276B357500B091AE /* VideoPreviewCell.m */; };
+		3C3F4F0B276B357500B091AE /* PhotoPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F06276B357500B091AE /* PhotoPreviewCell.m */; };
+		3C3F4F0E276B358700B091AE /* DefaultTableHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F0C276B358700B091AE /* DefaultTableHeaderView.m */; };
+		3C3F4F17276B35A100B091AE /* TouchImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F0F276B35A000B091AE /* TouchImageView.m */; };
+		3C3F4F18276B35A100B091AE /* CustomIOSAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F10276B35A000B091AE /* CustomIOSAlertView.m */; };
+		3C3F4F19276B35A100B091AE /* RTLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F13276B35A000B091AE /* RTLabel.m */; };
+		3C3F4F1A276B35A100B091AE /* StrikethroughLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F15276B35A100B091AE /* StrikethroughLabel.m */; };
+		3C3F4F34276B362B00B091AE /* CommonEditorCellEnum.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F1E276B362A00B091AE /* CommonEditorCellEnum.m */; };
+		3C3F4F35276B362B00B091AE /* CommonEditorCellLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F1F276B362A00B091AE /* CommonEditorCellLabel.m */; };
+		3C3F4F36276B362B00B091AE /* CommonEditorCellEdit.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F20276B362A00B091AE /* CommonEditorCellEdit.m */; };
+		3C3F4F37276B362B00B091AE /* CommonEditorCellAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F21276B362A00B091AE /* CommonEditorCellAction.m */; };
+		3C3F4F38276B362B00B091AE /* CommonEditorCellImg.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F22276B362A00B091AE /* CommonEditorCellImg.m */; };
+		3C3F4F39276B362B00B091AE /* CommonEditorCellSignature.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F27276B362A00B091AE /* CommonEditorCellSignature.m */; };
+		3C3F4F3A276B362B00B091AE /* CommonEditorCellTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F28276B362A00B091AE /* CommonEditorCellTextView.m */; };
+		3C3F4F3B276B362B00B091AE /* CommonEditorCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F2C276B362B00B091AE /* CommonEditorCellModel.m */; };
+		3C3F4F3C276B362B00B091AE /* CommonEditorCellSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F2F276B362B00B091AE /* CommonEditorCellSwitch.m */; };
+		3C3F4F3D276B362B00B091AE /* CommonEditorCellMAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F32276B362B00B091AE /* CommonEditorCellMAction.m */; };
+		3C3F4F3E276B362B00B091AE /* CommonEditorCellEditor.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F33276B362B00B091AE /* CommonEditorCellEditor.m */; };
+		3C3F4F43276B366A00B091AE /* CommonEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F40276B366A00B091AE /* CommonEditorViewController.m */; };
+		3C3F4F44276B366A00B091AE /* CommonEditorTableContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F42276B366A00B091AE /* CommonEditorTableContainerView.m */; };
+		3C3F4F4F276B368600B091AE /* EnumSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F45276B368500B091AE /* EnumSelectorCell.m */; };
+		3C3F4F50276B368600B091AE /* DatePickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F46276B368500B091AE /* DatePickerViewController.m */; };
+		3C3F4F51276B368600B091AE /* SRMonthPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F47276B368500B091AE /* SRMonthPicker.m */; };
+		3C3F4F52276B368600B091AE /* MonthPickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F48276B368500B091AE /* MonthPickerViewController.m */; };
+		3C3F4F53276B368600B091AE /* EnumSelectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F4B276B368500B091AE /* EnumSelectViewController.m */; };
+		3C3F4F5C276B36B900B091AE /* EnumModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F55276B36B900B091AE /* EnumModel.m */; };
+		3C3F4F5D276B36B900B091AE /* EnumSelectAndSort.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C3F4F56276B36B900B091AE /* EnumSelectAndSort.storyboard */; };
+		3C3F4F5E276B36B900B091AE /* EnumSelectAndSortViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F5A276B36B900B091AE /* EnumSelectAndSortViewController.m */; };
+		3C3F4F5F276B36B900B091AE /* EnumSelectAndSortCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F5B276B36B900B091AE /* EnumSelectAndSortCell.m */; };
+		3C3F4F61276B36C900B091AE /* CommonEditor.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C3F4F60276B36C900B091AE /* CommonEditor.storyboard */; };
+		3C3F4F65276B370300B091AE /* RAUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F63276B370300B091AE /* RAUtils.m */; };
+		3C3F4F68276B370C00B091AE /* RADataProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F67276B370C00B091AE /* RADataProvider.m */; };
+		3C3F4F6B276B374100B091AE /* DBUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F6A276B374100B091AE /* DBUtil.m */; };
+		3C3F4F6F276B377B00B091AE /* RAProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3F4F6E276B377B00B091AE /* RAProgressHUD.m */; };
 		3C7C791F23F66821003F4342 /* ERP_Mobile_Model.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C7C791823F66821003F4342 /* ERP_Mobile_Model.storyboard */; };
 		3C7C792023F66821003F4342 /* ERP_Mobile_Contact.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C7C791923F66821003F4342 /* ERP_Mobile_Contact.storyboard */; };
 		3C7C792123F66821003F4342 /* ERP_Mobile_Cart.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C7C791A23F66821003F4342 /* ERP_Mobile_Cart.storyboard */; };
@@ -21,7 +57,6 @@
 		3C7C793223F6689D003F4342 /* RAYTPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C7C792F23F6689D003F4342 /* RAYTPlayer.m */; };
 		3C7C793523F668EC003F4342 /* PortfolioListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C7C793423F668EC003F4342 /* PortfolioListTableViewCell.m */; };
 		3C7C793723F6695B003F4342 /* CommonEditor.iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C7C793623F6695B003F4342 /* CommonEditor.iPad.xib */; };
-		3C7C793923F66961003F4342 /* CommonEditor.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C7C793823F66960003F4342 /* CommonEditor.storyboard */; };
 		3C7C794523F66992003F4342 /* iPadCommonEditorCellAction.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C7C793A23F66991003F4342 /* iPadCommonEditorCellAction.xib */; };
 		3C7C794623F66992003F4342 /* iPadCommonEditorCellSwitch.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C7C793B23F66992003F4342 /* iPadCommonEditorCellSwitch.xib */; };
 		3C7C794723F66992003F4342 /* iPadCommonEditorCellImg.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C7C793C23F66992003F4342 /* iPadCommonEditorCellImg.xib */; };
@@ -52,7 +87,7 @@
 		4289806A1E24A9DE005F1BD8 /* OfflineUnlockViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980651E24A9DE005F1BD8 /* OfflineUnlockViewController.m */; };
 		4289806B1E24A9DE005F1BD8 /* SelectOrderTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980671E24A9DE005F1BD8 /* SelectOrderTableViewCell.m */; };
 		4289806C1E24A9DE005F1BD8 /* SelectUploadOrderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980691E24A9DE005F1BD8 /* SelectUploadOrderViewController.m */; };
-		4289806F1E24AEA6005F1BD8 /* Singleton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289806E1E24AEA6005F1BD8 /* Singleton.m */; };
+		4289806F1E24AEA6005F1BD8 /* RASingleton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289806E1E24AEA6005F1BD8 /* RASingleton.m */; };
 		4289808A1E24B2C2005F1BD8 /* BasicDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980751E24B2C2005F1BD8 /* BasicDrawable.m */; };
 		4289808B1E24B2C2005F1BD8 /* GridDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980771E24B2C2005F1BD8 /* GridDrawable.m */; };
 		4289808C1E24B2C2005F1BD8 /* GroupDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980791E24B2C2005F1BD8 /* GroupDrawable.m */; };
@@ -89,13 +124,8 @@
 		42BEF3A41E8A4D0700632AB6 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF3A31E8A4D0700632AB6 /* CoreData.framework */; };
 		42D587B81F789731006B13F5 /* HWWeakTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 42D587B71F789731006B13F5 /* HWWeakTimer.m */; };
 		42D587BB1F7898F7006B13F5 /* ModelDescriptionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 42D587BA1F7898F7006B13F5 /* ModelDescriptionController.m */; };
-		42D8CD561FC661F0005BEA15 /* CommonEditorTableContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 42D8CD541FC661EF005BEA15 /* CommonEditorTableContainerView.m */; };
 		42EC5FEE1FA1D84D00F8FAA4 /* FileCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 42EC5FEC1FA1D84D00F8FAA4 /* FileCache.m */; };
 		42EC5FEF1FA1D84D00F8FAA4 /* RAConvertor.m in Sources */ = {isa = PBXBuildFile; fileRef = 42EC5FED1FA1D84D00F8FAA4 /* RAConvertor.m */; };
-		42EC5FF81FA1D86300F8FAA4 /* EnumModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 42EC5FF21FA1D86300F8FAA4 /* EnumModel.m */; };
-		42EC5FF91FA1D86300F8FAA4 /* EnumSelectAndSort.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 42EC5FF31FA1D86300F8FAA4 /* EnumSelectAndSort.storyboard */; };
-		42EC5FFA1FA1D86300F8FAA4 /* EnumSelectAndSortCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 42EC5FF51FA1D86300F8FAA4 /* EnumSelectAndSortCell.m */; };
-		42EC5FFB1FA1D86300F8FAA4 /* EnumSelectAndSortViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 42EC5FF71FA1D86300F8FAA4 /* EnumSelectAndSortViewController.m */; };
 		42F9FAD71F8C5A8700D9C781 /* NetworkUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 42F9FAD31F8C5A8600D9C781 /* NetworkUtils.m */; };
 		42F9FAD81F8C5A8700D9C781 /* RANetworkTaskDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 42F9FAD61F8C5A8600D9C781 /* RANetworkTaskDelegate.m */; };
 		42FD1A1A1FBD5CC900C5D9A8 /* RAOrderEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 42FD1A191FBD5CC900C5D9A8 /* RAOrderEditorViewController.m */; };
@@ -122,14 +152,12 @@
 		7183E8A11CF29F3900524787 /* AESCrypt.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E87F1CF29F3900524787 /* AESCrypt.m */; };
 		7183E8A21CF29F3900524787 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 7183E8801CF29F3900524787 /* LICENSE */; };
 		7183E8A61CF29F3900524787 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8891CF29F3900524787 /* Reachability.m */; };
-		7183E8A71CF29F3900524787 /* RAUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E88C1CF29F3900524787 /* RAUtils.m */; };
 		7183E8A81CF29F3900524787 /* iSalesDB.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E88E1CF29F3900524787 /* iSalesDB.m */; };
 		7183E8A91CF29F3900524787 /* RANetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8901CF29F3900524787 /* RANetwork.m */; };
 		7183E8FD1CF29F4500524787 /* PhotoBorder.png in Resources */ = {isa = PBXBuildFile; fileRef = 7183E8AB1CF29F4500524787 /* PhotoBorder.png */; };
 		7183E8FE1CF29F4500524787 /* PhotoBorder@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7183E8AC1CF29F4500524787 /* PhotoBorder@2x.png */; };
 		7183E8FF1CF29F4500524787 /* PhotoStackView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8AE1CF29F4500524787 /* PhotoStackView.m */; };
 		7183E9001CF29F4500524787 /* PhotoStackViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8B01CF29F4500524787 /* PhotoStackViewController.m */; };
-		7183E9011CF29F4500524787 /* CustomIOSAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8B31CF29F4500524787 /* CustomIOSAlertView.m */; };
 		7183E9021CF29F4500524787 /* ImageScrollerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8B51CF29F4500524787 /* ImageScrollerView.m */; };
 		7183E9031CF29F4500524787 /* ImageScrollerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8B71CF29F4500524787 /* ImageScrollerViewController.m */; };
 		7183E9041CF29F4500524787 /* ImageUploadViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8B91CF29F4500524787 /* ImageUploadViewController.m */; };
@@ -137,28 +165,9 @@
 		7183E9061CF29F4500524787 /* NIDropDown.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8BD1CF29F4500524787 /* NIDropDown.m */; };
 		7183E9071CF29F4500524787 /* PulldownMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8BF1CF29F4500524787 /* PulldownMenu.m */; };
 		7183E9081CF29F4500524787 /* RadioButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8C11CF29F4500524787 /* RadioButton.m */; };
-		7183E9091CF29F4500524787 /* RTLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8C31CF29F4500524787 /* RTLabel.m */; };
 		7183E90A1CF29F4500524787 /* SimpleGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8C51CF29F4500524787 /* SimpleGrid.m */; };
-		7183E90B1CF29F4500524787 /* StrikethroughLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8C71CF29F4500524787 /* StrikethroughLabel.m */; };
 		7183E90C1CF29F4500524787 /* TouchLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8C91CF29F4500524787 /* TouchLabel.m */; };
-		7183E90D1CF29F4500524787 /* TouchImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8CB1CF29F4500524787 /* TouchImageView.m */; };
 		7183E90E1CF29F4500524787 /* UILabel+FontAppearance.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8CD1CF29F4500524787 /* UILabel+FontAppearance.m */; };
-		7183E90F1CF29F4500524787 /* CommonEditorCellAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8D01CF29F4500524787 /* CommonEditorCellAction.m */; };
-		7183E9101CF29F4500524787 /* CommonEditorCellEdit.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8D21CF29F4500524787 /* CommonEditorCellEdit.m */; };
-		7183E9111CF29F4500524787 /* CommonEditorCellEnum.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8D41CF29F4500524787 /* CommonEditorCellEnum.m */; };
-		7183E9121CF29F4500524787 /* CommonEditorCellImg.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8D61CF29F4500524787 /* CommonEditorCellImg.m */; };
-		7183E9131CF29F4500524787 /* CommonEditorCellLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8D81CF29F4500524787 /* CommonEditorCellLabel.m */; };
-		7183E9141CF29F4500524787 /* CommonEditorCellMAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8DA1CF29F4500524787 /* CommonEditorCellMAction.m */; };
-		7183E9151CF29F4500524787 /* CommonEditorCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8DC1CF29F4500524787 /* CommonEditorCellModel.m */; };
-		7183E9161CF29F4500524787 /* CommonEditorCellSignature.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8DE1CF29F4500524787 /* CommonEditorCellSignature.m */; };
-		7183E9171CF29F4500524787 /* CommonEditorCellSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8E01CF29F4500524787 /* CommonEditorCellSwitch.m */; };
-		7183E9181CF29F4500524787 /* CommonEditorCellTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8E21CF29F4500524787 /* CommonEditorCellTextView.m */; };
-		7183E9191CF29F4500524787 /* CommonEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8E41CF29F4500524787 /* CommonEditorViewController.m */; };
-		7183E91A1CF29F4500524787 /* DatePickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8E61CF29F4500524787 /* DatePickerViewController.m */; };
-		7183E91B1CF29F4500524787 /* EnumSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8E81CF29F4500524787 /* EnumSelectorCell.m */; };
-		7183E91C1CF29F4500524787 /* EnumSelectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8EA1CF29F4500524787 /* EnumSelectViewController.m */; };
-		7183E91D1CF29F4500524787 /* MonthPickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8EC1CF29F4500524787 /* MonthPickerViewController.m */; };
-		7183E91E1CF29F4500524787 /* SRMonthPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8EE1CF29F4500524787 /* SRMonthPicker.m */; };
 		7183E91F1CF29F4500524787 /* ActiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8F11CF29F4500524787 /* ActiveViewController.m */; };
 		7183E9211CF29F4500524787 /* DeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8F61CF29F4500524787 /* DeviceInfo.m */; };
 		7183E9221CF29F4500524787 /* ScanApiHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7183E8F81CF29F4500524787 /* ScanApiHelper.mm */; };
@@ -266,19 +275,86 @@
 		7183EA6E1CF2B05C00524787 /* NSData+CommonCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183EA6A1CF2B05C00524787 /* NSData+CommonCrypto.m */; };
 		7183EA6F1CF2B05C00524787 /* NSString+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 7183EA6C1CF2B05C00524787 /* NSString+Base64.m */; };
 		719562391CF57BFC00C74A49 /* CategoryHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 719562381CF57BFC00C74A49 /* CategoryHeaderView.m */; };
-		7195623F1CF580E800C74A49 /* DefaultTableHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7195623E1CF580E800C74A49 /* DefaultTableHeaderView.m */; };
 		719562441CF6937F00C74A49 /* default_appearance.json in Resources */ = {isa = PBXBuildFile; fileRef = 719562431CF6937F00C74A49 /* default_appearance.json */; };
 		71AD1E0A1D3E039E008B7685 /* SyncControlPanelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71AD1E091D3E039E008B7685 /* SyncControlPanelViewController.m */; };
 		71BF07011D2F3CCC00981938 /* OLDataProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF07001D2F3CCC00981938 /* OLDataProvider.m */; };
 		71BF07051D2F3CF300981938 /* OfflineSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF07041D2F3CF300981938 /* OfflineSettingViewController.m */; };
-		71C1D8181F45564000CEA1C9 /* ContentPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71C1D8171F45564000CEA1C9 /* ContentPreviewController.m */; };
-		71C1D8201F45574200CEA1C9 /* PhotoList.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71C1D81F1F45574200CEA1C9 /* PhotoList.storyboard */; };
-		71C1D8251F45574B00CEA1C9 /* PhotoPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 71C1D8221F45574B00CEA1C9 /* PhotoPreviewCell.m */; };
-		71C1D8261F45574B00CEA1C9 /* VideoPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 71C1D8241F45574B00CEA1C9 /* VideoPreviewCell.m */; };
 		71D30A2A1CFC0EDD006F9477 /* DefaultImageButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D30A291CFC0EDD006F9477 /* DefaultImageButton.m */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
+		3C3F4EFF276B357500B091AE /* PhotoList.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = PhotoList.storyboard; sourceTree = "<group>"; };
+		3C3F4F01276B357500B091AE /* ContentPreviewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContentPreviewController.m; sourceTree = "<group>"; };
+		3C3F4F02276B357500B091AE /* ContentPreviewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContentPreviewController.h; sourceTree = "<group>"; };
+		3C3F4F04276B357500B091AE /* VideoPreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VideoPreviewCell.m; sourceTree = "<group>"; };
+		3C3F4F05276B357500B091AE /* PhotoPreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhotoPreviewCell.h; sourceTree = "<group>"; };
+		3C3F4F06276B357500B091AE /* PhotoPreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhotoPreviewCell.m; sourceTree = "<group>"; };
+		3C3F4F07276B357500B091AE /* VideoPreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoPreviewCell.h; sourceTree = "<group>"; };
+		3C3F4F0C276B358700B091AE /* DefaultTableHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultTableHeaderView.m; path = ../../common/customUI/commoneditor/DefaultTableHeaderView.m; sourceTree = "<group>"; };
+		3C3F4F0D276B358700B091AE /* DefaultTableHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultTableHeaderView.h; path = ../../common/customUI/commoneditor/DefaultTableHeaderView.h; sourceTree = "<group>"; };
+		3C3F4F0F276B35A000B091AE /* TouchImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TouchImageView.m; path = ../../common/customUI/TouchImageView.m; sourceTree = "<group>"; };
+		3C3F4F10276B35A000B091AE /* CustomIOSAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CustomIOSAlertView.m; path = ../../common/customUI/CustomIOSAlertView.m; sourceTree = "<group>"; };
+		3C3F4F11276B35A000B091AE /* TouchImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchImageView.h; path = ../../common/customUI/TouchImageView.h; sourceTree = "<group>"; };
+		3C3F4F12276B35A000B091AE /* CustomIOSAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomIOSAlertView.h; path = ../../common/customUI/CustomIOSAlertView.h; sourceTree = "<group>"; };
+		3C3F4F13276B35A000B091AE /* RTLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RTLabel.m; path = ../../common/customUI/RTLabel.m; sourceTree = "<group>"; };
+		3C3F4F14276B35A000B091AE /* StrikethroughLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StrikethroughLabel.h; path = ../../common/customUI/StrikethroughLabel.h; sourceTree = "<group>"; };
+		3C3F4F15276B35A100B091AE /* StrikethroughLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StrikethroughLabel.m; path = ../../common/customUI/StrikethroughLabel.m; sourceTree = "<group>"; };
+		3C3F4F16276B35A100B091AE /* RTLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTLabel.h; path = ../../common/customUI/RTLabel.h; sourceTree = "<group>"; };
+		3C3F4F1C276B360800B091AE /* RASingleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RASingleton.h; path = common/RASingleton.h; sourceTree = SOURCE_ROOT; };
+		3C3F4F1E276B362A00B091AE /* CommonEditorCellEnum.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEnum.m; path = ../../common/customUI/commoneditor/CommonEditorCellEnum.m; sourceTree = "<group>"; };
+		3C3F4F1F276B362A00B091AE /* CommonEditorCellLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellLabel.m; path = ../../common/customUI/commoneditor/CommonEditorCellLabel.m; sourceTree = "<group>"; };
+		3C3F4F20276B362A00B091AE /* CommonEditorCellEdit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEdit.m; path = ../../common/customUI/commoneditor/CommonEditorCellEdit.m; sourceTree = "<group>"; };
+		3C3F4F21276B362A00B091AE /* CommonEditorCellAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellAction.m; path = ../../common/customUI/commoneditor/CommonEditorCellAction.m; sourceTree = "<group>"; };
+		3C3F4F22276B362A00B091AE /* CommonEditorCellImg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellImg.m; path = ../../common/customUI/commoneditor/CommonEditorCellImg.m; sourceTree = "<group>"; };
+		3C3F4F23276B362A00B091AE /* CommonEditorCellLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellLabel.h; path = ../../common/customUI/commoneditor/CommonEditorCellLabel.h; sourceTree = "<group>"; };
+		3C3F4F24276B362A00B091AE /* CommonEditorCellEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEnum.h; path = ../../common/customUI/commoneditor/CommonEditorCellEnum.h; sourceTree = "<group>"; };
+		3C3F4F25276B362A00B091AE /* CommonEditorCellImg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellImg.h; path = ../../common/customUI/commoneditor/CommonEditorCellImg.h; sourceTree = "<group>"; };
+		3C3F4F26276B362A00B091AE /* CommonEditorCellAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellAction.h; path = ../../common/customUI/commoneditor/CommonEditorCellAction.h; sourceTree = "<group>"; };
+		3C3F4F27276B362A00B091AE /* CommonEditorCellSignature.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellSignature.m; path = ../../common/customUI/commoneditor/CommonEditorCellSignature.m; sourceTree = "<group>"; };
+		3C3F4F28276B362A00B091AE /* CommonEditorCellTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellTextView.m; path = ../../common/customUI/commoneditor/CommonEditorCellTextView.m; sourceTree = "<group>"; };
+		3C3F4F29276B362A00B091AE /* CommonEditorCellModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellModel.h; path = ../../common/customUI/commoneditor/CommonEditorCellModel.h; sourceTree = "<group>"; };
+		3C3F4F2A276B362B00B091AE /* CommonEditorCellEdit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEdit.h; path = ../../common/customUI/commoneditor/CommonEditorCellEdit.h; sourceTree = "<group>"; };
+		3C3F4F2B276B362B00B091AE /* CommonEditorCellEditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEditor.h; path = ../../common/customUI/commoneditor/CommonEditorCellEditor.h; sourceTree = "<group>"; };
+		3C3F4F2C276B362B00B091AE /* CommonEditorCellModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellModel.m; path = ../../common/customUI/commoneditor/CommonEditorCellModel.m; sourceTree = "<group>"; };
+		3C3F4F2D276B362B00B091AE /* CommonEditorCellSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellSwitch.h; path = ../../common/customUI/commoneditor/CommonEditorCellSwitch.h; sourceTree = "<group>"; };
+		3C3F4F2E276B362B00B091AE /* CommonEditorCellSignature.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellSignature.h; path = ../../common/customUI/commoneditor/CommonEditorCellSignature.h; sourceTree = "<group>"; };
+		3C3F4F2F276B362B00B091AE /* CommonEditorCellSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellSwitch.m; path = ../../common/customUI/commoneditor/CommonEditorCellSwitch.m; sourceTree = "<group>"; };
+		3C3F4F30276B362B00B091AE /* CommonEditorCellTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellTextView.h; path = ../../common/customUI/commoneditor/CommonEditorCellTextView.h; sourceTree = "<group>"; };
+		3C3F4F31276B362B00B091AE /* CommonEditorCellMAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellMAction.h; path = ../../common/customUI/commoneditor/CommonEditorCellMAction.h; sourceTree = "<group>"; };
+		3C3F4F32276B362B00B091AE /* CommonEditorCellMAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellMAction.m; path = ../../common/customUI/commoneditor/CommonEditorCellMAction.m; sourceTree = "<group>"; };
+		3C3F4F33276B362B00B091AE /* CommonEditorCellEditor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEditor.m; path = ../../common/customUI/commoneditor/CommonEditorCellEditor.m; sourceTree = "<group>"; };
+		3C3F4F3F276B366A00B091AE /* CommonEditorTableContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorTableContainerView.h; path = ../../common/customUI/commoneditor/CommonEditorTableContainerView.h; sourceTree = "<group>"; };
+		3C3F4F40276B366A00B091AE /* CommonEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorViewController.m; path = ../../common/customUI/commoneditor/CommonEditorViewController.m; sourceTree = "<group>"; };
+		3C3F4F41276B366A00B091AE /* CommonEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorViewController.h; path = ../../common/customUI/commoneditor/CommonEditorViewController.h; sourceTree = "<group>"; };
+		3C3F4F42276B366A00B091AE /* CommonEditorTableContainerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorTableContainerView.m; path = ../../common/customUI/commoneditor/CommonEditorTableContainerView.m; sourceTree = "<group>"; };
+		3C3F4F45276B368500B091AE /* EnumSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectorCell.m; path = ../../common/customUI/commoneditor/EnumSelectorCell.m; sourceTree = "<group>"; };
+		3C3F4F46276B368500B091AE /* DatePickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DatePickerViewController.m; path = ../../common/customUI/commoneditor/DatePickerViewController.m; sourceTree = "<group>"; };
+		3C3F4F47276B368500B091AE /* SRMonthPicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRMonthPicker.m; path = ../../common/customUI/commoneditor/SRMonthPicker.m; sourceTree = "<group>"; };
+		3C3F4F48276B368500B091AE /* MonthPickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MonthPickerViewController.m; path = ../../common/customUI/commoneditor/MonthPickerViewController.m; sourceTree = "<group>"; };
+		3C3F4F49276B368500B091AE /* SRMonthPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRMonthPicker.h; path = ../../common/customUI/commoneditor/SRMonthPicker.h; sourceTree = "<group>"; };
+		3C3F4F4A276B368500B091AE /* DatePickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DatePickerViewController.h; path = ../../common/customUI/commoneditor/DatePickerViewController.h; sourceTree = "<group>"; };
+		3C3F4F4B276B368500B091AE /* EnumSelectViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectViewController.m; path = ../../common/customUI/commoneditor/EnumSelectViewController.m; sourceTree = "<group>"; };
+		3C3F4F4C276B368500B091AE /* EnumSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectorCell.h; path = ../../common/customUI/commoneditor/EnumSelectorCell.h; sourceTree = "<group>"; };
+		3C3F4F4D276B368600B091AE /* EnumSelectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectViewController.h; path = ../../common/customUI/commoneditor/EnumSelectViewController.h; sourceTree = "<group>"; };
+		3C3F4F4E276B368600B091AE /* MonthPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MonthPickerViewController.h; path = ../../common/customUI/commoneditor/MonthPickerViewController.h; sourceTree = "<group>"; };
+		3C3F4F55276B36B900B091AE /* EnumModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumModel.m; sourceTree = "<group>"; };
+		3C3F4F56276B36B900B091AE /* EnumSelectAndSort.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = EnumSelectAndSort.storyboard; sourceTree = "<group>"; };
+		3C3F4F57276B36B900B091AE /* EnumSelectAndSortCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumSelectAndSortCell.h; sourceTree = "<group>"; };
+		3C3F4F58276B36B900B091AE /* EnumSelectAndSortViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumSelectAndSortViewController.h; sourceTree = "<group>"; };
+		3C3F4F59276B36B900B091AE /* EnumModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumModel.h; sourceTree = "<group>"; };
+		3C3F4F5A276B36B900B091AE /* EnumSelectAndSortViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumSelectAndSortViewController.m; sourceTree = "<group>"; };
+		3C3F4F5B276B36B900B091AE /* EnumSelectAndSortCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumSelectAndSortCell.m; sourceTree = "<group>"; };
+		3C3F4F60276B36C900B091AE /* CommonEditor.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CommonEditor.storyboard; path = ../../common/customUI/commoneditor/CommonEditor.storyboard; sourceTree = "<group>"; };
+		3C3F4F62276B36E600B091AE /* common_const.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = common_const.h; path = ../../common/common_const.h; sourceTree = "<group>"; };
+		3C3F4F63276B370300B091AE /* RAUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAUtils.m; path = ../../common/RAUtils.m; sourceTree = "<group>"; };
+		3C3F4F64276B370300B091AE /* RAUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAUtils.h; path = ../../common/RAUtils.h; sourceTree = "<group>"; };
+		3C3F4F66276B370C00B091AE /* RADataProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RADataProvider.h; path = common/data_provider/RADataProvider.h; sourceTree = SOURCE_ROOT; };
+		3C3F4F67276B370C00B091AE /* RADataProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RADataProvider.m; path = common/data_provider/RADataProvider.m; sourceTree = SOURCE_ROOT; };
+		3C3F4F69276B374100B091AE /* DBUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DBUtil.h; path = common/DBUtil.h; sourceTree = SOURCE_ROOT; };
+		3C3F4F6A276B374100B091AE /* DBUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DBUtil.m; path = common/DBUtil.m; sourceTree = SOURCE_ROOT; };
+		3C3F4F6D276B377B00B091AE /* RAProgressHUD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RAProgressHUD.h; sourceTree = "<group>"; };
+		3C3F4F6E276B377B00B091AE /* RAProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RAProgressHUD.m; sourceTree = "<group>"; };
+		3C3F4F70276C42C200B091AE /* const.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = const.h; path = common/const.h; sourceTree = SOURCE_ROOT; };
 		3C7C791823F66821003F4342 /* ERP_Mobile_Model.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Model.storyboard; path = common/ERP_Mobile_Model.storyboard; sourceTree = SOURCE_ROOT; };
 		3C7C791923F66821003F4342 /* ERP_Mobile_Contact.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Contact.storyboard; path = common/ERP_Mobile_Contact.storyboard; sourceTree = SOURCE_ROOT; };
 		3C7C791A23F66821003F4342 /* ERP_Mobile_Cart.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Cart.storyboard; path = common/ERP_Mobile_Cart.storyboard; sourceTree = SOURCE_ROOT; };
@@ -297,7 +373,6 @@
 		3C7C793323F668EC003F4342 /* PortfolioListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PortfolioListTableViewCell.h; path = common/Functions/portfolio/PortfolioListTableViewCell.h; sourceTree = SOURCE_ROOT; };
 		3C7C793423F668EC003F4342 /* PortfolioListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PortfolioListTableViewCell.m; path = common/Functions/portfolio/PortfolioListTableViewCell.m; sourceTree = SOURCE_ROOT; };
 		3C7C793623F6695B003F4342 /* CommonEditor.iPad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CommonEditor.iPad.xib; path = ../../common/customUI/CommonEditoriPad/CommonEditor.iPad.xib; sourceTree = "<group>"; };
-		3C7C793823F66960003F4342 /* CommonEditor.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CommonEditor.storyboard; path = common/CommonEditor/CommonEditor.storyboard; sourceTree = SOURCE_ROOT; };
 		3C7C793A23F66991003F4342 /* iPadCommonEditorCellAction.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellAction.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellAction.xib; sourceTree = "<group>"; };
 		3C7C793B23F66992003F4342 /* iPadCommonEditorCellSwitch.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellSwitch.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellSwitch.xib; sourceTree = "<group>"; };
 		3C7C793C23F66992003F4342 /* iPadCommonEditorCellImg.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellImg.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellImg.xib; sourceTree = "<group>"; };
@@ -347,8 +422,7 @@
 		428980671E24A9DE005F1BD8 /* SelectOrderTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SelectOrderTableViewCell.m; path = common/Functions/offline/SelectOrderTableViewCell.m; sourceTree = SOURCE_ROOT; };
 		428980681E24A9DE005F1BD8 /* SelectUploadOrderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SelectUploadOrderViewController.h; path = common/Functions/offline/SelectUploadOrderViewController.h; sourceTree = SOURCE_ROOT; };
 		428980691E24A9DE005F1BD8 /* SelectUploadOrderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SelectUploadOrderViewController.m; path = common/Functions/offline/SelectUploadOrderViewController.m; sourceTree = SOURCE_ROOT; };
-		4289806D1E24AEA6005F1BD8 /* Singleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Singleton.h; path = common/Singleton.h; sourceTree = SOURCE_ROOT; };
-		4289806E1E24AEA6005F1BD8 /* Singleton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Singleton.m; path = common/Singleton.m; sourceTree = SOURCE_ROOT; };
+		4289806E1E24AEA6005F1BD8 /* RASingleton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RASingleton.m; path = common/RASingleton.m; sourceTree = SOURCE_ROOT; };
 		428980741E24B2C2005F1BD8 /* BasicDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BasicDrawable.h; sourceTree = "<group>"; };
 		428980751E24B2C2005F1BD8 /* BasicDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BasicDrawable.m; sourceTree = "<group>"; };
 		428980761E24B2C2005F1BD8 /* GridDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GridDrawable.h; sourceTree = "<group>"; };
@@ -424,19 +498,10 @@
 		42D587B71F789731006B13F5 /* HWWeakTimer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HWWeakTimer.m; path = common/AutoScrollImage/HWWeakTimer.m; sourceTree = SOURCE_ROOT; };
 		42D587B91F7898F7006B13F5 /* ModelDescriptionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModelDescriptionController.h; path = common/Functions/modelDetail/ModelDescriptionController.h; sourceTree = SOURCE_ROOT; };
 		42D587BA1F7898F7006B13F5 /* ModelDescriptionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ModelDescriptionController.m; path = common/Functions/modelDetail/ModelDescriptionController.m; sourceTree = SOURCE_ROOT; };
-		42D8CD541FC661EF005BEA15 /* CommonEditorTableContainerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorTableContainerView.m; path = common/CommonEditor/CommonEditorTableContainerView.m; sourceTree = SOURCE_ROOT; };
-		42D8CD551FC661EF005BEA15 /* CommonEditorTableContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorTableContainerView.h; path = common/CommonEditor/CommonEditorTableContainerView.h; sourceTree = SOURCE_ROOT; };
 		42EC5FEA1FA1D84C00F8FAA4 /* FileCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileCache.h; path = ../../common/FileCache.h; sourceTree = "<group>"; };
 		42EC5FEB1FA1D84C00F8FAA4 /* RAConvertor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAConvertor.h; path = ../../common/RAConvertor.h; sourceTree = "<group>"; };
 		42EC5FEC1FA1D84D00F8FAA4 /* FileCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FileCache.m; path = ../../common/FileCache.m; sourceTree = "<group>"; };
 		42EC5FED1FA1D84D00F8FAA4 /* RAConvertor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAConvertor.m; path = ../../common/RAConvertor.m; sourceTree = "<group>"; };
-		42EC5FF11FA1D86300F8FAA4 /* EnumModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumModel.h; sourceTree = "<group>"; };
-		42EC5FF21FA1D86300F8FAA4 /* EnumModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumModel.m; sourceTree = "<group>"; };
-		42EC5FF31FA1D86300F8FAA4 /* EnumSelectAndSort.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = EnumSelectAndSort.storyboard; sourceTree = "<group>"; };
-		42EC5FF41FA1D86300F8FAA4 /* EnumSelectAndSortCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumSelectAndSortCell.h; sourceTree = "<group>"; };
-		42EC5FF51FA1D86300F8FAA4 /* EnumSelectAndSortCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumSelectAndSortCell.m; sourceTree = "<group>"; };
-		42EC5FF61FA1D86300F8FAA4 /* EnumSelectAndSortViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumSelectAndSortViewController.h; sourceTree = "<group>"; };
-		42EC5FF71FA1D86300F8FAA4 /* EnumSelectAndSortViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumSelectAndSortViewController.m; sourceTree = "<group>"; };
 		42F9FAD31F8C5A8600D9C781 /* NetworkUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NetworkUtils.m; path = ../../common/NetworkUtils.m; sourceTree = "<group>"; };
 		42F9FAD41F8C5A8600D9C781 /* NetworkUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkUtils.h; path = ../../common/NetworkUtils.h; sourceTree = "<group>"; };
 		42F9FAD51F8C5A8600D9C781 /* RANetworkTaskDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RANetworkTaskDelegate.h; path = ../../common/upload/RANetworkTaskDelegate.h; sourceTree = "<group>"; };
@@ -487,9 +552,6 @@
 		7183E8801CF29F3900524787 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = ../common/AES/LICENSE; sourceTree = "<group>"; };
 		7183E8881CF29F3900524787 /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Reachability.h; path = ../common/Reachability.h; sourceTree = "<group>"; };
 		7183E8891CF29F3900524787 /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Reachability.m; path = ../common/Reachability.m; sourceTree = "<group>"; };
-		7183E88A1CF29F3900524787 /* const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = const.h; path = ../common/const.h; sourceTree = "<group>"; };
-		7183E88B1CF29F3900524787 /* RAUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAUtils.h; path = ../common/RAUtils.h; sourceTree = "<group>"; };
-		7183E88C1CF29F3900524787 /* RAUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAUtils.m; path = ../common/RAUtils.m; sourceTree = "<group>"; };
 		7183E88D1CF29F3900524787 /* iSalesDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iSalesDB.h; path = ../common/data_provider/iSalesDB.h; sourceTree = "<group>"; };
 		7183E88E1CF29F3900524787 /* iSalesDB.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iSalesDB.m; path = ../common/data_provider/iSalesDB.m; sourceTree = "<group>"; };
 		7183E88F1CF29F3900524787 /* RANetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RANetwork.h; path = ../common/data_provider/RANetwork.h; sourceTree = "<group>"; };
@@ -500,8 +562,6 @@
 		7183E8AE1CF29F4500524787 /* PhotoStackView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PhotoStackView.m; path = ../common/photoStack/PhotoStackView.m; sourceTree = "<group>"; };
 		7183E8AF1CF29F4500524787 /* PhotoStackViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhotoStackViewController.h; path = ../common/photoStack/PhotoStackViewController.h; sourceTree = "<group>"; };
 		7183E8B01CF29F4500524787 /* PhotoStackViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PhotoStackViewController.m; path = ../common/photoStack/PhotoStackViewController.m; sourceTree = "<group>"; };
-		7183E8B21CF29F4500524787 /* CustomIOSAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomIOSAlertView.h; path = ../common/customUI/CustomIOSAlertView.h; sourceTree = "<group>"; };
-		7183E8B31CF29F4500524787 /* CustomIOSAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CustomIOSAlertView.m; path = ../common/customUI/CustomIOSAlertView.m; sourceTree = "<group>"; };
 		7183E8B41CF29F4500524787 /* ImageScrollerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageScrollerView.h; path = ../common/customUI/ImageScrollerView.h; sourceTree = "<group>"; };
 		7183E8B51CF29F4500524787 /* ImageScrollerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageScrollerView.m; path = ../common/customUI/ImageScrollerView.m; sourceTree = "<group>"; };
 		7183E8B61CF29F4500524787 /* ImageScrollerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageScrollerViewController.h; path = ../common/customUI/ImageScrollerViewController.h; sourceTree = "<group>"; };
@@ -516,50 +576,12 @@
 		7183E8BF1CF29F4500524787 /* PulldownMenu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PulldownMenu.m; path = ../common/customUI/PulldownMenu.m; sourceTree = "<group>"; };
 		7183E8C01CF29F4500524787 /* RadioButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RadioButton.h; path = ../common/customUI/RadioButton.h; sourceTree = "<group>"; };
 		7183E8C11CF29F4500524787 /* RadioButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RadioButton.m; path = ../common/customUI/RadioButton.m; sourceTree = "<group>"; };
-		7183E8C21CF29F4500524787 /* RTLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTLabel.h; path = ../common/customUI/RTLabel.h; sourceTree = "<group>"; };
-		7183E8C31CF29F4500524787 /* RTLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RTLabel.m; path = ../common/customUI/RTLabel.m; sourceTree = "<group>"; };
 		7183E8C41CF29F4500524787 /* SimpleGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimpleGrid.h; path = ../common/customUI/SimpleGrid.h; sourceTree = "<group>"; };
 		7183E8C51CF29F4500524787 /* SimpleGrid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SimpleGrid.m; path = ../common/customUI/SimpleGrid.m; sourceTree = "<group>"; };
-		7183E8C61CF29F4500524787 /* StrikethroughLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StrikethroughLabel.h; path = ../common/customUI/StrikethroughLabel.h; sourceTree = "<group>"; };
-		7183E8C71CF29F4500524787 /* StrikethroughLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StrikethroughLabel.m; path = ../common/customUI/StrikethroughLabel.m; sourceTree = "<group>"; };
 		7183E8C81CF29F4500524787 /* TouchLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchLabel.h; path = ../common/customUI/TouchLabel.h; sourceTree = "<group>"; };
 		7183E8C91CF29F4500524787 /* TouchLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TouchLabel.m; path = ../common/customUI/TouchLabel.m; sourceTree = "<group>"; };
-		7183E8CA1CF29F4500524787 /* TouchImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchImageView.h; path = ../common/customUI/TouchImageView.h; sourceTree = "<group>"; };
-		7183E8CB1CF29F4500524787 /* TouchImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TouchImageView.m; path = ../common/customUI/TouchImageView.m; sourceTree = "<group>"; };
 		7183E8CC1CF29F4500524787 /* UILabel+FontAppearance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UILabel+FontAppearance.h"; path = "../common/customUI/UILabel+FontAppearance.h"; sourceTree = "<group>"; };
 		7183E8CD1CF29F4500524787 /* UILabel+FontAppearance.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UILabel+FontAppearance.m"; path = "../common/customUI/UILabel+FontAppearance.m"; sourceTree = "<group>"; };
-		7183E8CF1CF29F4500524787 /* CommonEditorCellAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellAction.h; path = ../common/CommonEditor/CommonEditorCellAction.h; sourceTree = "<group>"; };
-		7183E8D01CF29F4500524787 /* CommonEditorCellAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellAction.m; path = ../common/CommonEditor/CommonEditorCellAction.m; sourceTree = "<group>"; };
-		7183E8D11CF29F4500524787 /* CommonEditorCellEdit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEdit.h; path = ../common/CommonEditor/CommonEditorCellEdit.h; sourceTree = "<group>"; };
-		7183E8D21CF29F4500524787 /* CommonEditorCellEdit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEdit.m; path = ../common/CommonEditor/CommonEditorCellEdit.m; sourceTree = "<group>"; };
-		7183E8D31CF29F4500524787 /* CommonEditorCellEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEnum.h; path = ../common/CommonEditor/CommonEditorCellEnum.h; sourceTree = "<group>"; };
-		7183E8D41CF29F4500524787 /* CommonEditorCellEnum.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEnum.m; path = ../common/CommonEditor/CommonEditorCellEnum.m; sourceTree = "<group>"; };
-		7183E8D51CF29F4500524787 /* CommonEditorCellImg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellImg.h; path = ../common/CommonEditor/CommonEditorCellImg.h; sourceTree = "<group>"; };
-		7183E8D61CF29F4500524787 /* CommonEditorCellImg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellImg.m; path = ../common/CommonEditor/CommonEditorCellImg.m; sourceTree = "<group>"; };
-		7183E8D71CF29F4500524787 /* CommonEditorCellLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellLabel.h; path = ../common/CommonEditor/CommonEditorCellLabel.h; sourceTree = "<group>"; };
-		7183E8D81CF29F4500524787 /* CommonEditorCellLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellLabel.m; path = ../common/CommonEditor/CommonEditorCellLabel.m; sourceTree = "<group>"; };
-		7183E8D91CF29F4500524787 /* CommonEditorCellMAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellMAction.h; path = ../common/CommonEditor/CommonEditorCellMAction.h; sourceTree = "<group>"; };
-		7183E8DA1CF29F4500524787 /* CommonEditorCellMAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellMAction.m; path = ../common/CommonEditor/CommonEditorCellMAction.m; sourceTree = "<group>"; };
-		7183E8DB1CF29F4500524787 /* CommonEditorCellModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellModel.h; path = ../common/CommonEditor/CommonEditorCellModel.h; sourceTree = "<group>"; };
-		7183E8DC1CF29F4500524787 /* CommonEditorCellModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellModel.m; path = ../common/CommonEditor/CommonEditorCellModel.m; sourceTree = "<group>"; };
-		7183E8DD1CF29F4500524787 /* CommonEditorCellSignature.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellSignature.h; path = ../common/CommonEditor/CommonEditorCellSignature.h; sourceTree = "<group>"; };
-		7183E8DE1CF29F4500524787 /* CommonEditorCellSignature.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellSignature.m; path = ../common/CommonEditor/CommonEditorCellSignature.m; sourceTree = "<group>"; };
-		7183E8DF1CF29F4500524787 /* CommonEditorCellSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellSwitch.h; path = ../common/CommonEditor/CommonEditorCellSwitch.h; sourceTree = "<group>"; };
-		7183E8E01CF29F4500524787 /* CommonEditorCellSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellSwitch.m; path = ../common/CommonEditor/CommonEditorCellSwitch.m; sourceTree = "<group>"; };
-		7183E8E11CF29F4500524787 /* CommonEditorCellTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellTextView.h; path = ../common/CommonEditor/CommonEditorCellTextView.h; sourceTree = "<group>"; };
-		7183E8E21CF29F4500524787 /* CommonEditorCellTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellTextView.m; path = ../common/CommonEditor/CommonEditorCellTextView.m; sourceTree = "<group>"; };
-		7183E8E31CF29F4500524787 /* CommonEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorViewController.h; path = ../common/CommonEditor/CommonEditorViewController.h; sourceTree = "<group>"; };
-		7183E8E41CF29F4500524787 /* CommonEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorViewController.m; path = ../common/CommonEditor/CommonEditorViewController.m; sourceTree = "<group>"; };
-		7183E8E51CF29F4500524787 /* DatePickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DatePickerViewController.h; path = ../common/CommonEditor/DatePickerViewController.h; sourceTree = "<group>"; };
-		7183E8E61CF29F4500524787 /* DatePickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DatePickerViewController.m; path = ../common/CommonEditor/DatePickerViewController.m; sourceTree = "<group>"; };
-		7183E8E71CF29F4500524787 /* EnumSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectorCell.h; path = ../common/CommonEditor/EnumSelectorCell.h; sourceTree = "<group>"; };
-		7183E8E81CF29F4500524787 /* EnumSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectorCell.m; path = ../common/CommonEditor/EnumSelectorCell.m; sourceTree = "<group>"; };
-		7183E8E91CF29F4500524787 /* EnumSelectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectViewController.h; path = ../common/CommonEditor/EnumSelectViewController.h; sourceTree = "<group>"; };
-		7183E8EA1CF29F4500524787 /* EnumSelectViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectViewController.m; path = ../common/CommonEditor/EnumSelectViewController.m; sourceTree = "<group>"; };
-		7183E8EB1CF29F4500524787 /* MonthPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MonthPickerViewController.h; path = ../common/CommonEditor/MonthPickerViewController.h; sourceTree = "<group>"; };
-		7183E8EC1CF29F4500524787 /* MonthPickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MonthPickerViewController.m; path = ../common/CommonEditor/MonthPickerViewController.m; sourceTree = "<group>"; };
-		7183E8ED1CF29F4500524787 /* SRMonthPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRMonthPicker.h; path = ../common/CommonEditor/SRMonthPicker.h; sourceTree = "<group>"; };
-		7183E8EE1CF29F4500524787 /* SRMonthPicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRMonthPicker.m; path = ../common/CommonEditor/SRMonthPicker.m; sourceTree = "<group>"; };
 		7183E8F01CF29F4500524787 /* ActiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActiveViewController.h; path = ../common/ActiveViewController.h; sourceTree = "<group>"; };
 		7183E8F11CF29F4500524787 /* ActiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ActiveViewController.m; path = ../common/ActiveViewController.m; sourceTree = "<group>"; };
 		7183E8F51CF29F4500524787 /* DeviceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeviceInfo.h; path = "../ScanApiSDK-10.2.227-2/DeviceInfo.h"; sourceTree = "<group>"; };
@@ -757,8 +779,6 @@
 		7183EA6C1CF2B05C00524787 /* NSString+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+Base64.m"; path = "../common/AES/NSString+Base64.m"; sourceTree = "<group>"; };
 		719562371CF57BFC00C74A49 /* CategoryHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryHeaderView.h; path = common/Functions/category/CategoryHeaderView.h; sourceTree = SOURCE_ROOT; };
 		719562381CF57BFC00C74A49 /* CategoryHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategoryHeaderView.m; path = common/Functions/category/CategoryHeaderView.m; sourceTree = SOURCE_ROOT; };
-		7195623D1CF580E800C74A49 /* DefaultTableHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultTableHeaderView.h; path = common/customUI/DefaultTableHeaderView.h; sourceTree = SOURCE_ROOT; };
-		7195623E1CF580E800C74A49 /* DefaultTableHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultTableHeaderView.m; path = common/customUI/DefaultTableHeaderView.m; sourceTree = SOURCE_ROOT; };
 		719562431CF6937F00C74A49 /* default_appearance.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = default_appearance.json; sourceTree = "<group>"; };
 		71AD1E081D3E039E008B7685 /* SyncControlPanelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SyncControlPanelViewController.h; path = common/Functions/offline/SyncControlPanelViewController.h; sourceTree = SOURCE_ROOT; };
 		71AD1E091D3E039E008B7685 /* SyncControlPanelViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SyncControlPanelViewController.m; path = common/Functions/offline/SyncControlPanelViewController.m; sourceTree = SOURCE_ROOT; };
@@ -766,13 +786,6 @@
 		71BF07001D2F3CCC00981938 /* OLDataProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OLDataProvider.m; path = common/Functions/offline/OLDataProvider.m; sourceTree = SOURCE_ROOT; };
 		71BF07031D2F3CF300981938 /* OfflineSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OfflineSettingViewController.h; path = common/Functions/offline/OfflineSettingViewController.h; sourceTree = SOURCE_ROOT; };
 		71BF07041D2F3CF300981938 /* OfflineSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OfflineSettingViewController.m; path = common/Functions/offline/OfflineSettingViewController.m; sourceTree = SOURCE_ROOT; };
-		71C1D8161F45564000CEA1C9 /* ContentPreviewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ContentPreviewController.h; path = Controller/ContentPreviewController.h; sourceTree = "<group>"; };
-		71C1D8171F45564000CEA1C9 /* ContentPreviewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ContentPreviewController.m; path = Controller/ContentPreviewController.m; sourceTree = "<group>"; };
-		71C1D81F1F45574200CEA1C9 /* PhotoList.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = PhotoList.storyboard; path = Storyboard/PhotoList.storyboard; sourceTree = "<group>"; };
-		71C1D8211F45574B00CEA1C9 /* PhotoPreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhotoPreviewCell.h; path = View/PhotoPreviewCell.h; sourceTree = "<group>"; };
-		71C1D8221F45574B00CEA1C9 /* PhotoPreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PhotoPreviewCell.m; path = View/PhotoPreviewCell.m; sourceTree = "<group>"; };
-		71C1D8231F45574B00CEA1C9 /* VideoPreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VideoPreviewCell.h; path = View/VideoPreviewCell.h; sourceTree = "<group>"; };
-		71C1D8241F45574B00CEA1C9 /* VideoPreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VideoPreviewCell.m; path = View/VideoPreviewCell.m; sourceTree = "<group>"; };
 		71D30A281CFC0EDD006F9477 /* DefaultImageButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultImageButton.h; path = common/Functions/DefaultImageButton.h; sourceTree = SOURCE_ROOT; };
 		71D30A291CFC0EDD006F9477 /* DefaultImageButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultImageButton.m; path = common/Functions/DefaultImageButton.m; sourceTree = SOURCE_ROOT; };
 /* End PBXFileReference section */
@@ -807,6 +820,70 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		3C3F4EFD276B357500B091AE /* PhotoList */ = {
+			isa = PBXGroup;
+			children = (
+				3C3F4EFE276B357500B091AE /* Storyboard */,
+				3C3F4F00276B357500B091AE /* Controller */,
+				3C3F4F03276B357500B091AE /* View */,
+			);
+			name = PhotoList;
+			path = ../../common/customUI/PhotoList;
+			sourceTree = "<group>";
+		};
+		3C3F4EFE276B357500B091AE /* Storyboard */ = {
+			isa = PBXGroup;
+			children = (
+				3C3F4EFF276B357500B091AE /* PhotoList.storyboard */,
+			);
+			path = Storyboard;
+			sourceTree = "<group>";
+		};
+		3C3F4F00276B357500B091AE /* Controller */ = {
+			isa = PBXGroup;
+			children = (
+				3C3F4F01276B357500B091AE /* ContentPreviewController.m */,
+				3C3F4F02276B357500B091AE /* ContentPreviewController.h */,
+			);
+			path = Controller;
+			sourceTree = "<group>";
+		};
+		3C3F4F03276B357500B091AE /* View */ = {
+			isa = PBXGroup;
+			children = (
+				3C3F4F04276B357500B091AE /* VideoPreviewCell.m */,
+				3C3F4F05276B357500B091AE /* PhotoPreviewCell.h */,
+				3C3F4F06276B357500B091AE /* PhotoPreviewCell.m */,
+				3C3F4F07276B357500B091AE /* VideoPreviewCell.h */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		3C3F4F54276B36B900B091AE /* EnumSelectAndSort */ = {
+			isa = PBXGroup;
+			children = (
+				3C3F4F55276B36B900B091AE /* EnumModel.m */,
+				3C3F4F56276B36B900B091AE /* EnumSelectAndSort.storyboard */,
+				3C3F4F57276B36B900B091AE /* EnumSelectAndSortCell.h */,
+				3C3F4F58276B36B900B091AE /* EnumSelectAndSortViewController.h */,
+				3C3F4F59276B36B900B091AE /* EnumModel.h */,
+				3C3F4F5A276B36B900B091AE /* EnumSelectAndSortViewController.m */,
+				3C3F4F5B276B36B900B091AE /* EnumSelectAndSortCell.m */,
+			);
+			name = EnumSelectAndSort;
+			path = ../../common/customUI/commoneditor/EnumSelectAndSort;
+			sourceTree = "<group>";
+		};
+		3C3F4F6C276B377B00B091AE /* HUD */ = {
+			isa = PBXGroup;
+			children = (
+				3C3F4F6D276B377B00B091AE /* RAProgressHUD.h */,
+				3C3F4F6E276B377B00B091AE /* RAProgressHUD.m */,
+			);
+			name = HUD;
+			path = ../../common/HUD;
+			sourceTree = "<group>";
+		};
 		42897FFE1E24902E005F1BD8 /* JKTimer */ = {
 			isa = PBXGroup;
 			children = (
@@ -1070,21 +1147,6 @@
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
-		42EC5FF01FA1D86200F8FAA4 /* EnumSelectAndSort */ = {
-			isa = PBXGroup;
-			children = (
-				42EC5FF11FA1D86300F8FAA4 /* EnumModel.h */,
-				42EC5FF21FA1D86300F8FAA4 /* EnumModel.m */,
-				42EC5FF31FA1D86300F8FAA4 /* EnumSelectAndSort.storyboard */,
-				42EC5FF41FA1D86300F8FAA4 /* EnumSelectAndSortCell.h */,
-				42EC5FF51FA1D86300F8FAA4 /* EnumSelectAndSortCell.m */,
-				42EC5FF61FA1D86300F8FAA4 /* EnumSelectAndSortViewController.h */,
-				42EC5FF71FA1D86300F8FAA4 /* EnumSelectAndSortViewController.m */,
-			);
-			name = EnumSelectAndSort;
-			path = common/CommonEditor/EnumSelectAndSort;
-			sourceTree = SOURCE_ROOT;
-		};
 		7183E83B1CF2913E00524787 = {
 			isa = PBXGroup;
 			children = (
@@ -1134,8 +1196,8 @@
 				7183EA3A1CF2A04000524787 /* AppDelegate.m */,
 				428EF77121D37B8D001C9A3B /* AppDelegateBase.h */,
 				428EF77021D37B8C001C9A3B /* AppDelegateBase.m */,
-				4289806D1E24AEA6005F1BD8 /* Singleton.h */,
-				4289806E1E24AEA6005F1BD8 /* Singleton.m */,
+				3C3F4F1C276B360800B091AE /* RASingleton.h */,
+				4289806E1E24AEA6005F1BD8 /* RASingleton.m */,
 				428980051E2490E3005F1BD8 /* NotificationNameCenter.h */,
 				428980061E2490E3005F1BD8 /* NotificationNameCenter.m */,
 				7183EA3B1CF2A04000524787 /* MainViewController.h */,
@@ -1229,6 +1291,8 @@
 		7183E8931CF29F3900524787 /* utils */ = {
 			isa = PBXGroup;
 			children = (
+				3C3F4F69276B374100B091AE /* DBUtil.h */,
+				3C3F4F6A276B374100B091AE /* DBUtil.m */,
 				42EC5FEA1FA1D84C00F8FAA4 /* FileCache.h */,
 				42EC5FEC1FA1D84D00F8FAA4 /* FileCache.m */,
 				42EC5FEB1FA1D84C00F8FAA4 /* RAConvertor.h */,
@@ -1245,9 +1309,11 @@
 				7183E8871CF29F3900524787 /* AES */,
 				7183E8881CF29F3900524787 /* Reachability.h */,
 				7183E8891CF29F3900524787 /* Reachability.m */,
-				7183E88A1CF29F3900524787 /* const.h */,
-				7183E88B1CF29F3900524787 /* RAUtils.h */,
-				7183E88C1CF29F3900524787 /* RAUtils.m */,
+				3C3F4F62276B36E600B091AE /* common_const.h */,
+				3C3F4F64276B370300B091AE /* RAUtils.h */,
+				3C3F4F63276B370300B091AE /* RAUtils.m */,
+				3C3F4F66276B370C00B091AE /* RADataProvider.h */,
+				3C3F4F67276B370C00B091AE /* RADataProvider.m */,
 				428980951E24B2E7005F1BD8 /* ImageUtils.h */,
 				428980961E24B2E7005F1BD8 /* ImageUtils.m */,
 				4289800B1E2491A6005F1BD8 /* CartUtils.h */,
@@ -1289,8 +1355,14 @@
 		7183E8CE1CF29F4500524787 /* customUI */ = {
 			isa = PBXGroup;
 			children = (
-				7183E8B21CF29F4500524787 /* CustomIOSAlertView.h */,
-				7183E8B31CF29F4500524787 /* CustomIOSAlertView.m */,
+				3C3F4F12276B35A000B091AE /* CustomIOSAlertView.h */,
+				3C3F4F10276B35A000B091AE /* CustomIOSAlertView.m */,
+				3C3F4F16276B35A100B091AE /* RTLabel.h */,
+				3C3F4F13276B35A000B091AE /* RTLabel.m */,
+				3C3F4F14276B35A000B091AE /* StrikethroughLabel.h */,
+				3C3F4F15276B35A100B091AE /* StrikethroughLabel.m */,
+				3C3F4F11276B35A000B091AE /* TouchImageView.h */,
+				3C3F4F0F276B35A000B091AE /* TouchImageView.m */,
 				7183E8B41CF29F4500524787 /* ImageScrollerView.h */,
 				7183E8B51CF29F4500524787 /* ImageScrollerView.m */,
 				7183E8B61CF29F4500524787 /* ImageScrollerViewController.h */,
@@ -1305,16 +1377,10 @@
 				7183E8BF1CF29F4500524787 /* PulldownMenu.m */,
 				7183E8C01CF29F4500524787 /* RadioButton.h */,
 				7183E8C11CF29F4500524787 /* RadioButton.m */,
-				7183E8C21CF29F4500524787 /* RTLabel.h */,
-				7183E8C31CF29F4500524787 /* RTLabel.m */,
 				7183E8C41CF29F4500524787 /* SimpleGrid.h */,
 				7183E8C51CF29F4500524787 /* SimpleGrid.m */,
-				7183E8C61CF29F4500524787 /* StrikethroughLabel.h */,
-				7183E8C71CF29F4500524787 /* StrikethroughLabel.m */,
 				7183E8C81CF29F4500524787 /* TouchLabel.h */,
 				7183E8C91CF29F4500524787 /* TouchLabel.m */,
-				7183E8CA1CF29F4500524787 /* TouchImageView.h */,
-				7183E8CB1CF29F4500524787 /* TouchImageView.m */,
 				7183E8CC1CF29F4500524787 /* UILabel+FontAppearance.h */,
 				7183E8CD1CF29F4500524787 /* UILabel+FontAppearance.m */,
 			);
@@ -1325,7 +1391,7 @@
 			isa = PBXGroup;
 			children = (
 				3C7C793623F6695B003F4342 /* CommonEditor.iPad.xib */,
-				3C7C793823F66960003F4342 /* CommonEditor.storyboard */,
+				3C3F4F60276B36C900B091AE /* CommonEditor.storyboard */,
 				3C7C794023F66992003F4342 /* CommonEditorViewControlleriPad.xib */,
 				3C7C793A23F66991003F4342 /* iPadCommonEditorCellAction.xib */,
 				3C7C794323F66992003F4342 /* iPadCommonEditorCellEdit.xib */,
@@ -1340,41 +1406,42 @@
 				428EF77521D37F3C001C9A3B /* CommonEditorAutoCompleteView.h */,
 				428EF77321D37F3C001C9A3B /* CommonEditorAutoCompleteView.m */,
 				428EF77421D37F3C001C9A3B /* CommonEditorAutoCompleteView.xib */,
-				42D8CD551FC661EF005BEA15 /* CommonEditorTableContainerView.h */,
-				42D8CD541FC661EF005BEA15 /* CommonEditorTableContainerView.m */,
-				7183E8CF1CF29F4500524787 /* CommonEditorCellAction.h */,
-				7183E8D01CF29F4500524787 /* CommonEditorCellAction.m */,
-				7183E8D11CF29F4500524787 /* CommonEditorCellEdit.h */,
-				7183E8D21CF29F4500524787 /* CommonEditorCellEdit.m */,
-				7183E8D31CF29F4500524787 /* CommonEditorCellEnum.h */,
-				7183E8D41CF29F4500524787 /* CommonEditorCellEnum.m */,
-				7183E8D51CF29F4500524787 /* CommonEditorCellImg.h */,
-				7183E8D61CF29F4500524787 /* CommonEditorCellImg.m */,
-				7183E8D71CF29F4500524787 /* CommonEditorCellLabel.h */,
-				7183E8D81CF29F4500524787 /* CommonEditorCellLabel.m */,
-				7183E8D91CF29F4500524787 /* CommonEditorCellMAction.h */,
-				7183E8DA1CF29F4500524787 /* CommonEditorCellMAction.m */,
-				7183E8DB1CF29F4500524787 /* CommonEditorCellModel.h */,
-				7183E8DC1CF29F4500524787 /* CommonEditorCellModel.m */,
-				7183E8DD1CF29F4500524787 /* CommonEditorCellSignature.h */,
-				7183E8DE1CF29F4500524787 /* CommonEditorCellSignature.m */,
-				7183E8DF1CF29F4500524787 /* CommonEditorCellSwitch.h */,
-				7183E8E01CF29F4500524787 /* CommonEditorCellSwitch.m */,
-				7183E8E11CF29F4500524787 /* CommonEditorCellTextView.h */,
-				7183E8E21CF29F4500524787 /* CommonEditorCellTextView.m */,
-				7183E8E31CF29F4500524787 /* CommonEditorViewController.h */,
-				7183E8E41CF29F4500524787 /* CommonEditorViewController.m */,
-				7183E8E51CF29F4500524787 /* DatePickerViewController.h */,
-				7183E8E61CF29F4500524787 /* DatePickerViewController.m */,
-				7183E8E71CF29F4500524787 /* EnumSelectorCell.h */,
-				7183E8E81CF29F4500524787 /* EnumSelectorCell.m */,
-				7183E8E91CF29F4500524787 /* EnumSelectViewController.h */,
-				7183E8EA1CF29F4500524787 /* EnumSelectViewController.m */,
-				7183E8EB1CF29F4500524787 /* MonthPickerViewController.h */,
-				7183E8EC1CF29F4500524787 /* MonthPickerViewController.m */,
-				7183E8ED1CF29F4500524787 /* SRMonthPicker.h */,
-				7183E8EE1CF29F4500524787 /* SRMonthPicker.m */,
-				42EC5FF01FA1D86200F8FAA4 /* EnumSelectAndSort */,
+				3C3F4F3F276B366A00B091AE /* CommonEditorTableContainerView.h */,
+				3C3F4F42276B366A00B091AE /* CommonEditorTableContainerView.m */,
+				3C3F4F41276B366A00B091AE /* CommonEditorViewController.h */,
+				3C3F4F40276B366A00B091AE /* CommonEditorViewController.m */,
+				3C3F4F26276B362A00B091AE /* CommonEditorCellAction.h */,
+				3C3F4F21276B362A00B091AE /* CommonEditorCellAction.m */,
+				3C3F4F2A276B362B00B091AE /* CommonEditorCellEdit.h */,
+				3C3F4F2B276B362B00B091AE /* CommonEditorCellEditor.h */,
+				3C3F4F33276B362B00B091AE /* CommonEditorCellEditor.m */,
+				3C3F4F20276B362A00B091AE /* CommonEditorCellEdit.m */,
+				3C3F4F24276B362A00B091AE /* CommonEditorCellEnum.h */,
+				3C3F4F25276B362A00B091AE /* CommonEditorCellImg.h */,
+				3C3F4F22276B362A00B091AE /* CommonEditorCellImg.m */,
+				3C3F4F23276B362A00B091AE /* CommonEditorCellLabel.h */,
+				3C3F4F31276B362B00B091AE /* CommonEditorCellMAction.h */,
+				3C3F4F32276B362B00B091AE /* CommonEditorCellMAction.m */,
+				3C3F4F29276B362A00B091AE /* CommonEditorCellModel.h */,
+				3C3F4F2C276B362B00B091AE /* CommonEditorCellModel.m */,
+				3C3F4F2E276B362B00B091AE /* CommonEditorCellSignature.h */,
+				3C3F4F2D276B362B00B091AE /* CommonEditorCellSwitch.h */,
+				3C3F4F2F276B362B00B091AE /* CommonEditorCellSwitch.m */,
+				3C3F4F30276B362B00B091AE /* CommonEditorCellTextView.h */,
+				3C3F4F1E276B362A00B091AE /* CommonEditorCellEnum.m */,
+				3C3F4F1F276B362A00B091AE /* CommonEditorCellLabel.m */,
+				3C3F4F27276B362A00B091AE /* CommonEditorCellSignature.m */,
+				3C3F4F28276B362A00B091AE /* CommonEditorCellTextView.m */,
+				3C3F4F4A276B368500B091AE /* DatePickerViewController.h */,
+				3C3F4F46276B368500B091AE /* DatePickerViewController.m */,
+				3C3F4F4C276B368500B091AE /* EnumSelectorCell.h */,
+				3C3F4F4D276B368600B091AE /* EnumSelectViewController.h */,
+				3C3F4F4B276B368500B091AE /* EnumSelectViewController.m */,
+				3C3F4F4E276B368600B091AE /* MonthPickerViewController.h */,
+				3C3F4F48276B368500B091AE /* MonthPickerViewController.m */,
+				3C3F4F49276B368500B091AE /* SRMonthPicker.h */,
+				3C3F4F45276B368500B091AE /* EnumSelectorCell.m */,
+				3C3F4F47276B368500B091AE /* SRMonthPicker.m */,
 			);
 			name = CommonEditor;
 			sourceTree = "<group>";
@@ -1382,7 +1449,8 @@
 		7183E8F41CF29F4500524787 /* CommonUI */ = {
 			isa = PBXGroup;
 			children = (
-				71C1D8141F4555B800CEA1C9 /* PhotoList */,
+				3C3F4F6C276B377B00B091AE /* HUD */,
+				3C3F4EFD276B357500B091AE /* PhotoList */,
 				71C1D80A1F45554B00CEA1C9 /* youtube player */,
 				428980181E24925A005F1BD8 /* sort */,
 				7183E8B11CF29F4500524787 /* photoStack */,
@@ -1392,10 +1460,11 @@
 				7183E8F11CF29F4500524787 /* ActiveViewController.m */,
 				71D30A281CFC0EDD006F9477 /* DefaultImageButton.h */,
 				71D30A291CFC0EDD006F9477 /* DefaultImageButton.m */,
-				7195623D1CF580E800C74A49 /* DefaultTableHeaderView.h */,
-				7195623E1CF580E800C74A49 /* DefaultTableHeaderView.m */,
+				3C3F4F0D276B358700B091AE /* DefaultTableHeaderView.h */,
+				3C3F4F0C276B358700B091AE /* DefaultTableHeaderView.m */,
 				715002001D13CDBE00F5927F /* BundleDetailButton.h */,
 				715002011D13CDBE00F5927F /* BundleDetailButton.m */,
+				3C3F4F54276B36B900B091AE /* EnumSelectAndSort */,
 			);
 			name = CommonUI;
 			path = "../iSales-NPD";
@@ -1428,6 +1497,7 @@
 		7183E9261CF29F7F00524787 /* config */ = {
 			isa = PBXGroup;
 			children = (
+				3C3F4F70276C42C200B091AE /* const.h */,
 				7183E9271CF29FA600524787 /* config.h */,
 			);
 			name = config;
@@ -1813,45 +1883,6 @@
 			name = "youtube player";
 			sourceTree = "<group>";
 		};
-		71C1D8141F4555B800CEA1C9 /* PhotoList */ = {
-			isa = PBXGroup;
-			children = (
-				71C1D81E1F45572C00CEA1C9 /* view */,
-				71C1D81D1F45571F00CEA1C9 /* storyboard */,
-				71C1D8151F4555CB00CEA1C9 /* Controller */,
-			);
-			name = PhotoList;
-			path = ../common/PhotoList;
-			sourceTree = "<group>";
-		};
-		71C1D8151F4555CB00CEA1C9 /* Controller */ = {
-			isa = PBXGroup;
-			children = (
-				71C1D8161F45564000CEA1C9 /* ContentPreviewController.h */,
-				71C1D8171F45564000CEA1C9 /* ContentPreviewController.m */,
-			);
-			name = Controller;
-			sourceTree = "<group>";
-		};
-		71C1D81D1F45571F00CEA1C9 /* storyboard */ = {
-			isa = PBXGroup;
-			children = (
-				71C1D81F1F45574200CEA1C9 /* PhotoList.storyboard */,
-			);
-			name = storyboard;
-			sourceTree = "<group>";
-		};
-		71C1D81E1F45572C00CEA1C9 /* view */ = {
-			isa = PBXGroup;
-			children = (
-				71C1D8211F45574B00CEA1C9 /* PhotoPreviewCell.h */,
-				71C1D8221F45574B00CEA1C9 /* PhotoPreviewCell.m */,
-				71C1D8231F45574B00CEA1C9 /* VideoPreviewCell.h */,
-				71C1D8241F45574B00CEA1C9 /* VideoPreviewCell.m */,
-			);
-			name = view;
-			sourceTree = "<group>";
-		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -1923,18 +1954,18 @@
 				3C7C792523F66821003F4342 /* ERP_Mobile_Order.storyboard in Resources */,
 				7183E9231CF29F4500524787 /* softScanBeep.wav in Resources */,
 				423CC87121D22F87008BD2C4 /* Launch Screen.storyboard in Resources */,
+				3C3F4F61276B36C900B091AE /* CommonEditor.storyboard in Resources */,
 				3C7C792B23F66853003F4342 /* wkweb.storyboard in Resources */,
 				3C7C794B23F66992003F4342 /* CommonEditorViewControlleriPad.xib in Resources */,
 				3C7C794A23F66992003F4342 /* iPadCommonEditorCellMAction.xib in Resources */,
 				3C7C793123F6689D003F4342 /* ytplayer.html in Resources */,
+				3C3F4F5D276B36B900B091AE /* EnumSelectAndSort.storyboard in Resources */,
 				7183E9F31CF29FCB00524787 /* debug_category_filter.json in Resources */,
 				7183EA441CF2A06600524787 /* Main.storyboard in Resources */,
-				71C1D8201F45574200CEA1C9 /* PhotoList.storyboard in Resources */,
 				7183EA411CF2A04D00524787 /* OLM.storyboard in Resources */,
 				3C7C794C23F66992003F4342 /* iPadCommonEditorCellTextView.xib in Resources */,
 				3C7C794523F66992003F4342 /* iPadCommonEditorCellAction.xib in Resources */,
 				3C7C792323F66821003F4342 /* ERP_Mobile_Search.storyboard in Resources */,
-				42EC5FF91FA1D86300F8FAA4 /* EnumSelectAndSort.storyboard in Resources */,
 				7183EA041CF29FCB00524787 /* customer_info_template.json in Resources */,
 				3C7C794D23F66992003F4342 /* iPadCommonEditorCellModel.xib in Resources */,
 				3C7C794623F66992003F4342 /* iPadCommonEditorCellSwitch.xib in Resources */,
@@ -1950,7 +1981,7 @@
 				3C7C792423F66821003F4342 /* ERP_Mobile_Portfolio.storyboard in Resources */,
 				7183E8FD1CF29F4500524787 /* PhotoBorder.png in Resources */,
 				3C7C794F23F66992003F4342 /* iPadCommonEditorCellSignature.xib in Resources */,
-				3C7C793923F66961003F4342 /* CommonEditor.storyboard in Resources */,
+				3C3F4F08276B357500B091AE /* PhotoList.storyboard in Resources */,
 				42BB2F081E28986B0025C6CE /* signature.storyboard in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1967,29 +1998,26 @@
 				7183E90A1CF29F4500524787 /* SimpleGrid.m in Sources */,
 				7183E9EF1CF29FCB00524787 /* CategoryCellNPD.m in Sources */,
 				7183E8961CF29F3900524787 /* unzip.c in Sources */,
-				71C1D8251F45574B00CEA1C9 /* PhotoPreviewCell.m in Sources */,
 				7183EA261CF29FCB00524787 /* FilterCellCadedate.m in Sources */,
+				3C3F4F0A276B357500B091AE /* VideoPreviewCell.m in Sources */,
 				428980011E24902E005F1BD8 /* JKTimerManager.m in Sources */,
 				719562391CF57BFC00C74A49 /* CategoryHeaderView.m in Sources */,
 				428EF77221D37B8D001C9A3B /* AppDelegateBase.m in Sources */,
 				428980201E24925A005F1BD8 /* SortItemCell.m in Sources */,
 				428EF77A21D3800F001C9A3B /* RABackOrderSubmitAlertController.m in Sources */,
-				7183E91E1CF29F4500524787 /* SRMonthPicker.m in Sources */,
+				3C3F4F52276B368600B091AE /* MonthPickerViewController.m in Sources */,
 				7183EA2B1CF29FCB00524787 /* SignatureView.m in Sources */,
 				42A85BFD1E6004180058A9CE /* PDFUtils.m in Sources */,
 				7183EA3E1CF2A04000524787 /* MainViewController.m in Sources */,
+				3C3F4F4F276B368600B091AE /* EnumSelectorCell.m in Sources */,
 				4289808C1E24B2C2005F1BD8 /* GroupDrawable.m in Sources */,
-				7183E91B1CF29F4500524787 /* EnumSelectorCell.m in Sources */,
 				7183EA061CF29FCB00524787 /* CustomerEditViewController.m in Sources */,
 				7183E9021CF29F4500524787 /* ImageScrollerView.m in Sources */,
-				42D8CD561FC661F0005BEA15 /* CommonEditorTableContainerView.m in Sources */,
 				7183EA311CF29FCB00524787 /* RetrievePassViewController.m in Sources */,
 				4289808E1E24B2C2005F1BD8 /* LineDrawable.m in Sources */,
-				7183E90D1CF29F4500524787 /* TouchImageView.m in Sources */,
 				7183EA081CF29FCB00524787 /* DetailHeaderCell.m in Sources */,
 				7183E9FB1CF29FCB00524787 /* RATreeView+TableViewDataSource.m in Sources */,
 				715002021D13CDBE00F5927F /* BundleDetailButton.m in Sources */,
-				7183E9171CF29F4500524787 /* CommonEditorCellSwitch.m in Sources */,
 				7183E9EE1CF29FCB00524787 /* CartGeneralNotesViewController.m in Sources */,
 				4289806A1E24A9DE005F1BD8 /* OfflineUnlockViewController.m in Sources */,
 				42F9FAD81F8C5A8700D9C781 /* RANetworkTaskDelegate.m in Sources */,
@@ -2001,19 +2029,22 @@
 				7183EA331CF29FCB00524787 /* SettingViewController.m in Sources */,
 				7183E9E51CF29FCB00524787 /* CycleScrollView.m in Sources */,
 				7183EA6E1CF2B05C00524787 /* NSData+CommonCrypto.m in Sources */,
-				7183E9181CF29F4500524787 /* CommonEditorCellTextView.m in Sources */,
+				3C3F4F51276B368600B091AE /* SRMonthPicker.m in Sources */,
+				3C3F4F34276B362B00B091AE /* CommonEditorCellEnum.m in Sources */,
 				7183EA0E1CF29FCB00524787 /* HomeTableViewCellBanner.m in Sources */,
-				7183E9141CF29F4500524787 /* CommonEditorCellMAction.m in Sources */,
 				7183EA2D1CF29FCB00524787 /* AboutViewController.m in Sources */,
 				7183EA091CF29FCB00524787 /* DetailImageCell.m in Sources */,
 				4289806B1E24A9DE005F1BD8 /* SelectOrderTableViewCell.m in Sources */,
 				7183EA011CF29FCB00524787 /* ContactListTableViewCell.m in Sources */,
 				7183EA0B1CF29FCB00524787 /* DetailTopicCell.m in Sources */,
+				3C3F4F5C276B36B900B091AE /* EnumModel.m in Sources */,
 				428980921E24B2C2005F1BD8 /* RectDrawable.m in Sources */,
-				7183E9191CF29F4500524787 /* CommonEditorViewController.m in Sources */,
 				428980211E24925A005F1BD8 /* SortItemViewController.m in Sources */,
+				3C3F4F0B276B357500B091AE /* PhotoPreviewCell.m in Sources */,
 				7183E9F61CF29FCB00524787 /* RATreeNodeInfo.m in Sources */,
 				7183E9ED1CF29FCB00524787 /* ItemNotesViewController.m in Sources */,
+				3C3F4F5F276B36B900B091AE /* EnumSelectAndSortCell.m in Sources */,
+				3C3F4F65276B370300B091AE /* RAUtils.m in Sources */,
 				7183EA251CF29FCB00524787 /* SCShapeView.m in Sources */,
 				7183EA201CF29FCB00524787 /* PortfolioViewController.m in Sources */,
 				7183E8FF1CF29F4500524787 /* PhotoStackView.m in Sources */,
@@ -2022,27 +2053,25 @@
 				4289809A1E24B304005F1BD8 /* TextUtils.m in Sources */,
 				42FD1A1D1FBD5CE200C5D9A8 /* RAOrderPreviewController.m in Sources */,
 				7183EA6F1CF2B05C00524787 /* NSString+Base64.m in Sources */,
+				3C3F4F38276B362B00B091AE /* CommonEditorCellImg.m in Sources */,
 				7183E91F1CF29F4500524787 /* ActiveViewController.m in Sources */,
 				7183EA071CF29FCB00524787 /* CustomerInfoViewController.m in Sources */,
 				7183EA361CF29FCB00524787 /* UserListViewController.m in Sources */,
-				7183E9131CF29F4500524787 /* CommonEditorCellLabel.m in Sources */,
+				3C3F4F44276B366A00B091AE /* CommonEditorTableContainerView.m in Sources */,
 				7183EA111CF29FCB00524787 /* HomeTableViewCellTopic.m in Sources */,
 				42BEF39A1E8A4C7D00632AB6 /* README.md in Sources */,
-				42EC5FFA1FA1D86300F8FAA4 /* EnumSelectAndSortCell.m in Sources */,
-				7195623F1CF580E800C74A49 /* DefaultTableHeaderView.m in Sources */,
 				7183EA1F1CF29FCB00524787 /* PortfolioListViewController.m in Sources */,
 				7183E8A81CF29F3900524787 /* iSalesDB.m in Sources */,
 				7183E9071CF29F4500524787 /* PulldownMenu.m in Sources */,
 				7183E9FC1CF29FCB00524787 /* RATreeView+TableViewDelegate.m in Sources */,
 				428980531E249340005F1BD8 /* JKLockButton.m in Sources */,
-				7183E9101CF29F4500524787 /* CommonEditorCellEdit.m in Sources */,
 				7183EA101CF29FCB00524787 /* HomeTableViewCellSlide.m in Sources */,
-				7183E91C1CF29F4500524787 /* EnumSelectViewController.m in Sources */,
 				7183EA291CF29FCB00524787 /* ItemSearchViewController.m in Sources */,
 				7183E9EC1CF29FCB00524787 /* ModelItemCell.m in Sources */,
 				7183EA351CF29FCB00524787 /* SimplifiedBuyingProgramViewController.m in Sources */,
 				7183EA471CF2A06E00524787 /* iSalesNavigationController.m in Sources */,
 				7183E9EA1CF29FCB00524787 /* CartViewController.m in Sources */,
+				3C3F4F1A276B35A100B091AE /* StrikethroughLabel.m in Sources */,
 				4289808B1E24B2C2005F1BD8 /* GridDrawable.m in Sources */,
 				42D587B81F789731006B13F5 /* HWWeakTimer.m in Sources */,
 				7183E8A01CF29F3900524787 /* split.c in Sources */,
@@ -2050,47 +2079,53 @@
 				7183E8981CF29F3900524787 /* ZipArchive.mm in Sources */,
 				3C7C793223F6689D003F4342 /* RAYTPlayer.m in Sources */,
 				4289808A1E24B2C2005F1BD8 /* BasicDrawable.m in Sources */,
+				3C3F4F6F276B377B00B091AE /* RAProgressHUD.m in Sources */,
 				428980381E2492E0005F1BD8 /* CategoryPriceCell.m in Sources */,
+				3C3F4F35276B362B00B091AE /* CommonEditorCellLabel.m in Sources */,
 				7183EA341CF29FCB00524787 /* FunctionTestViewController.m in Sources */,
+				3C3F4F3C276B362B00B091AE /* CommonEditorCellSwitch.m in Sources */,
 				7183E9211CF29F4500524787 /* DeviceInfo.m in Sources */,
 				42D587BB1F7898F7006B13F5 /* ModelDescriptionController.m in Sources */,
-				7183E90F1CF29F4500524787 /* CommonEditorCellAction.m in Sources */,
 				428980591E24935E005F1BD8 /* UIColor+JK_HEX.m in Sources */,
 				7183EA211CF29FCB00524787 /* TearSheetParamViewController.m in Sources */,
 				7183EA0F1CF29FCB00524787 /* HomeTableViewCellButtonBanner.m in Sources */,
 				7183EA2C1CF29FCB00524787 /* SignatureViewController.m in Sources */,
 				7183E9EB1CF29FCB00524787 /* EditModelPriceViewController.m in Sources */,
 				7183EA221CF29FCB00524787 /* PortfolioEditQTYViewController.m in Sources */,
+				3C3F4F0E276B358700B091AE /* DefaultTableHeaderView.m in Sources */,
 				7183EA2E1CF29FCB00524787 /* CacheViewController.m in Sources */,
-				4289806F1E24AEA6005F1BD8 /* Singleton.m in Sources */,
+				4289806F1E24AEA6005F1BD8 /* RASingleton.m in Sources */,
 				71D30A2A1CFC0EDD006F9477 /* DefaultImageButton.m in Sources */,
 				7183E8941CF29F3900524787 /* ioapi.c in Sources */,
-				42EC5FFB1FA1D86300F8FAA4 /* EnumSelectAndSortViewController.m in Sources */,
 				7183E8A61CF29F3900524787 /* Reachability.m in Sources */,
 				7183EA6D1CF2B05C00524787 /* NSData+Base64.m in Sources */,
 				7183E9F91CF29FCB00524787 /* RATreeView+Enums.m in Sources */,
+				3C3F4F53276B368600B091AE /* EnumSelectViewController.m in Sources */,
 				428980391E2492E0005F1BD8 /* CategoryPriceViewController.m in Sources */,
+				3C3F4F39276B362B00B091AE /* CommonEditorCellSignature.m in Sources */,
 				4289808D1E24B2C2005F1BD8 /* ImageDrawable.m in Sources */,
 				7183EA151CF29FCB00524787 /* OrderDetailInfoCell.m in Sources */,
 				428980551E249340005F1BD8 /* JKMessageBoxController.m in Sources */,
 				4289808F1E24B2C2005F1BD8 /* pdfCreator.m in Sources */,
+				3C3F4F3A276B362B00B091AE /* CommonEditorCellTextView.m in Sources */,
 				7183E89A1CF29F3900524787 /* mask.c in Sources */,
 				7183E8A91CF29F3900524787 /* RANetwork.m in Sources */,
 				7183E9081CF29F4500524787 /* RadioButton.m in Sources */,
 				715850431CF6F0C400856B20 /* DefaultAppearance.m in Sources */,
 				7183E9E41CF29FCB00524787 /* AddressEditorViewController.m in Sources */,
 				7183E9051CF29F4500524787 /* ImageViewController.m in Sources */,
-				7183E91D1CF29F4500524787 /* MonthPickerViewController.m in Sources */,
 				428EF77621D37F3D001C9A3B /* CommonEditorAutoCompleteView.m in Sources */,
 				7183EA2A1CF29FCB00524787 /* SearchViewController.m in Sources */,
+				3C3F4F68276B370C00B091AE /* RADataProvider.m in Sources */,
 				7183EA3D1CF2A04000524787 /* AppDelegate.m in Sources */,
 				428980941E24B2C2005F1BD8 /* TextDrawable.m in Sources */,
 				4289803B1E2492E0005F1BD8 /* SetCategoryPriceController.m in Sources */,
-				7183E9111CF29F4500524787 /* CommonEditorCellEnum.m in Sources */,
+				3C3F4F18276B35A100B091AE /* CustomIOSAlertView.m in Sources */,
 				7183E8A11CF29F3900524787 /* AESCrypt.m in Sources */,
 				7183EA141CF29FCB00524787 /* OrderDetailHtmlCell.m in Sources */,
 				42BEF39F1E8A4C7D00632AB6 /* README.md in Sources */,
 				7183EA321CF29FCB00524787 /* ScannerSettingViewController.m in Sources */,
+				3C3F4F36276B362B00B091AE /* CommonEditorCellEdit.m in Sources */,
 				42F9FAD71F8C5A8700D9C781 /* NetworkUtils.m in Sources */,
 				428980901E24B2C2005F1BD8 /* PDFDrawable.m in Sources */,
 				3C7C793523F668EC003F4342 /* PortfolioListTableViewCell.m in Sources */,
@@ -2100,65 +2135,65 @@
 				42FD1A1A1FBD5CC900C5D9A8 /* RAOrderEditorViewController.m in Sources */,
 				7183E9E71CF29FCB00524787 /* SliderPage.m in Sources */,
 				7183E9FE1CF29FCB00524787 /* RAViewController.m in Sources */,
+				3C3F4F19276B35A100B091AE /* RTLabel.m in Sources */,
 				7183EA001CF29FCB00524787 /* ContactAdvanceSearchViewController.m in Sources */,
 				7183E9E81CF29FCB00524787 /* BundleModelCell.m in Sources */,
 				71BF07011D2F3CCC00981938 /* OLDataProvider.m in Sources */,
 				7183E8971CF29F3900524787 /* zip.c in Sources */,
 				428980971E24B2E7005F1BD8 /* ImageUtils.m in Sources */,
 				7183EA1A1CF29FCB00524787 /* OrderListViewController.m in Sources */,
-				7183E91A1CF29F4500524787 /* DatePickerViewController.m in Sources */,
+				3C3F4F50276B368600B091AE /* DatePickerViewController.m in Sources */,
 				7183E8491CF2913E00524787 /* main.m in Sources */,
-				42EC5FF81FA1D86300F8FAA4 /* EnumModel.m in Sources */,
 				42BEF3971E8A4C7D00632AB6 /* README.md in Sources */,
 				42BEF39D1E8A4C7D00632AB6 /* GTMNSData+zlib.m in Sources */,
 				7183E9E91CF29FCB00524787 /* BundleModelViewController.m in Sources */,
+				3C3F4F3D276B362B00B091AE /* CommonEditorCellMAction.m in Sources */,
 				7183E8991CF29F3900524787 /* bitstream.c in Sources */,
+				3C3F4F3E276B362B00B091AE /* CommonEditorCellEditor.m in Sources */,
 				428980541E249340005F1BD8 /* JKLockController.m in Sources */,
 				42BEF3951E8A4C7D00632AB6 /* CHANGELOG.md in Sources */,
 				7183E9F51CF29FCB00524787 /* RATreeNodeCollectionController.m in Sources */,
 				7183EA281CF29FCB00524787 /* ItemSearchFilterViewController.m in Sources */,
-				71C1D8181F45564000CEA1C9 /* ContentPreviewController.m in Sources */,
 				7183EA1D1CF29FCB00524787 /* OrderDetailSignatureCell.m in Sources */,
-				7183E9091CF29F4500524787 /* RTLabel.m in Sources */,
 				7183E9F41CF29FCB00524787 /* RATreeNode.m in Sources */,
 				3C7C792C23F66853003F4342 /* WebViewController.m in Sources */,
 				4289803A1E2492E0005F1BD8 /* PriceSettingViewController.m in Sources */,
 				4289800D1E2491A6005F1BD8 /* CartUtils.m in Sources */,
 				7183E89E1CF29F3900524787 /* qrspec.c in Sources */,
-				7183E9151CF29F4500524787 /* CommonEditorCellModel.m in Sources */,
 				7183E90E1CF29F4500524787 /* UILabel+FontAppearance.m in Sources */,
-				7183E9121CF29F4500524787 /* CommonEditorCellImg.m in Sources */,
 				428980071E2490E3005F1BD8 /* NotificationNameCenter.m in Sources */,
 				4289806C1E24A9DE005F1BD8 /* SelectUploadOrderViewController.m in Sources */,
-				71C1D8261F45574B00CEA1C9 /* VideoPreviewCell.m in Sources */,
 				428980521E249340005F1BD8 /* JKDotView.m in Sources */,
 				7183E89B1CF29F3900524787 /* QRCodeGenerator.m in Sources */,
 				7183EA191CF29FCB00524787 /* OrderListTableViewCell.m in Sources */,
 				7183E9FA1CF29FCB00524787 /* RATreeView+Private.m in Sources */,
-				7183E8A71CF29F3900524787 /* RAUtils.m in Sources */,
 				7183EA171CF29FCB00524787 /* OrderDetailPriceCell.m in Sources */,
+				3C3F4F3B276B362B00B091AE /* CommonEditorCellModel.m in Sources */,
 				7183E89F1CF29F3900524787 /* rscode.c in Sources */,
 				7183E90C1CF29F4500524787 /* TouchLabel.m in Sources */,
 				7183EA0D1CF29FCB00524787 /* LineView.m in Sources */,
-				7183E9161CF29F4500524787 /* CommonEditorCellSignature.m in Sources */,
 				7183E9F71CF29FCB00524787 /* RATreeNodeInfo+Private.m in Sources */,
 				71BF07051D2F3CF300981938 /* OfflineSettingViewController.m in Sources */,
-				7183E9011CF29F4500524787 /* CustomIOSAlertView.m in Sources */,
 				7183E8951CF29F3900524787 /* mztools.c in Sources */,
 				7183EA301CF29FCB00524787 /* PopupNavigationController.m in Sources */,
 				7183E9041CF29F4500524787 /* ImageUploadViewController.m in Sources */,
 				42EC5FEE1FA1D84D00F8FAA4 /* FileCache.m in Sources */,
 				7183E9F11CF29FCB00524787 /* CategorySearchFilterViewController.m in Sources */,
+				3C3F4F6B276B374100B091AE /* DBUtil.m in Sources */,
+				3C3F4F5E276B36B900B091AE /* EnumSelectAndSortViewController.m in Sources */,
 				7183E9F01CF29FCB00524787 /* CategoryCellSmall.m in Sources */,
 				7183EA241CF29FCB00524787 /* ScannerViewController.m in Sources */,
+				3C3F4F17276B35A100B091AE /* TouchImageView.m in Sources */,
 				7183E9E61CF29FCB00524787 /* NSTimer+Addition.m in Sources */,
 				7183EA181CF29FCB00524787 /* OrderDetailViewController.m in Sources */,
-				7183E90B1CF29F4500524787 /* StrikethroughLabel.m in Sources */,
+				3C3F4F37276B362B00B091AE /* CommonEditorCellAction.m in Sources */,
 				7183E9001CF29F4500524787 /* PhotoStackViewController.m in Sources */,
 				7183EA0C1CF29FCB00524787 /* DetailViewController.m in Sources */,
 				7183EA161CF29FCB00524787 /* OrderDetailModelCell.m in Sources */,
+				3C3F4F09276B357500B091AE /* ContentPreviewController.m in Sources */,
 				7183E9221CF29F4500524787 /* ScanApiHelper.mm in Sources */,
 				7183EA381CF29FCB00524787 /* WatchListViewController.m in Sources */,
+				3C3F4F43276B366A00B091AE /* CommonEditorViewController.m in Sources */,
 				42BEF39B1E8A4C7D00632AB6 /* GoogleAnalyst.m in Sources */,
 				7183EA131CF29FCB00524787 /* CreateOrderViewController.m in Sources */,
 				7183E9FF1CF29FCB00524787 /* CreditCardEditorViewController.m in Sources */,

+ 1 - 1
RedAnt ERP Mobile/HMLG Mobile/config.h

@@ -25,7 +25,7 @@
 # endif
 
 
-#import "Singleton.h"
+#import "RASingleton.h"
 #define notifyMe_switch 1
 #define exception_switch 1
 #define PDF_DEBUG 1

+ 3 - 0
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/contents.xcworkspacedata

@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Workspace
    version = "1.0">
+   <FileRef
+      location = "group:iSales-CONTRAST.xcodeproj">
+   </FileRef>
    <Group
       location = "container:"
       name = "not active">

+ 6 - 6
RedAnt ERP Mobile/common/AppDelegateBase.h

@@ -173,12 +173,12 @@ typedef enum {
 
 @property (nonatomic,assign) BOOL can_create_backorder;
 
-#pragma mark - Global Param Begin
-
-- (void)setGlobalParameter:(id)param forKey:(NSString *)key;
-- (id)globalParameterForKey:(NSString *)key;
-
-#pragma mark - Globale Param End
+//#pragma mark - Global Param Begin
+//
+//- (void)setGlobalParameter:(id)param forKey:(NSString *)key;
+//- (id)globalParameterForKey:(NSString *)key;
+//
+//#pragma mark - Globale Param End
 
 - (void)checkLogin:(BOOL)reloadCurVC;
 

+ 36 - 34
RedAnt ERP Mobile/common/AppDelegateBase.m

@@ -24,11 +24,12 @@
 #import "OrderDetailViewController.h"
 #import "AddressEditorViewController.h"
 #import "config.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "Analytics.h"
 #import "GoogleAnalyst.h"
 #import "ERPUtils.h"
 #import "RANetwork.h"
+#import "RASingleton.h"
 #ifdef BACKORDER_PROCESS
 #import "RAOrderEditorViewController.h"
 #endif
@@ -40,7 +41,7 @@
 #define UNZIP_FILE_DAMAGE 3
 @interface AppDelegateBase ()
 
-@property (nonatomic,strong) NSMutableDictionary *globalParameters;
+
 
 @property (nonatomic,strong) NSDate *forgroundDate;
 
@@ -62,43 +63,43 @@
 @synthesize price_hidden = _price_hidden;
 #pragma mark - Global Parameter
 
-- (NSMutableDictionary *)globalParameters {
-    if (!_globalParameters) {
-        _globalParameters = [NSMutableDictionary dictionary];
-    }
-    return _globalParameters;
-}
-
-
-- (void)setGlobalParameter:(id)param forKey:(NSString *)key {
-    if (param == nil || key == nil) {
-        return;
-    }
-    [self.globalParameters setObject:param forKey:key];
-}
+//- (NSMutableDictionary *)globalParameters {
+//    if (!_globalParameters) {
+//        _globalParameters = [NSMutableDictionary dictionary];
+//    }
+//    return _globalParameters;
+//}
 
-- (id)globalParameterForKey:(NSString *)key {
-    if (key == nil) {
-        return nil;
-    }
-    return [self.globalParameters objectForKey:key];
-}
+//
+//- (void)setGlobalParameter:(id)param forKey:(NSString *)key {
+//    if (param == nil || key == nil) {
+//        return;
+//    }
+//    [self.globalParameters setObject:param forKey:key];
+//}
+//
+//- (id)globalParameterForKey:(NSString *)key {
+//    if (key == nil) {
+//        return nil;
+//    }
+//    return [self.globalParameters objectForKey:key];
+//}
 
 #pragma mark - Setter
 
 - (void)setUrgencyDic:(NSMutableDictionary *)urgencyDic {
     _urgencyDic = urgencyDic;
-    [self setGlobalParameter:_urgencyDic forKey:@"urgencyDic"];
+    [RASingleton.sharedInstance setGlobalParameter:_urgencyDic forKey:@"urgencyDic"];
 }
 
 - (void)setCan_see_price:(bool)can_see_price {
     _can_see_price = can_see_price;
-    [self setGlobalParameter:@(_can_see_price) forKey:@"can_see_price"];
+    [RASingleton.sharedInstance setGlobalParameter:@(_can_see_price) forKey:@"can_see_price"];
 }
 
 - (void)setPrice_hidden:(bool)price_hidden {
     _price_hidden = price_hidden;
-    [self setGlobalParameter:@(_price_hidden) forKey:@"price_hidden"];
+    [RASingleton.sharedInstance setGlobalParameter:@(_price_hidden) forKey:@"price_hidden"];
     
 #ifdef RA_NOTIFICATION
     [ActiveViewController Notify:@"" Message:RA_NOTIFICATION_UPDATE_PRICE];
@@ -111,17 +112,17 @@
 
 - (void)setOffline_mode:(bool)offline_mode {
     _offline_mode = offline_mode;
-    [self setGlobalParameter:@(_offline_mode) forKey:@"offline_mode"];
+    [RASingleton.sharedInstance setGlobalParameter:@(_offline_mode) forKey:@"offline_mode"];
 }
 
 - (void)setUser:(NSString *)user {
     _user = user;
-    [self setGlobalParameter:_user forKey:@"user"];
+    [RASingleton.sharedInstance setGlobalParameter:_user forKey:@"user"];
 }
 
 - (void)setPassword:(NSString *)password {
     _password = password;
-    [self setGlobalParameter:_password forKey:@"password"];
+    [RASingleton.sharedInstance setGlobalParameter:_password forKey:@"password"];
 }
 
 #pragma mark - Normal
@@ -506,7 +507,7 @@
         if (self.user_type == USER_ROLE_CUSTOMER) {
             if (So == nil) {
                 // 释放订单
-                [Singleton sharedInstance].currentOrderIsMerged = NO;
+                [RASingleton sharedInstance].currentOrderIsMerged = NO;
             }
         }
         
@@ -594,8 +595,8 @@ void UncaughtExceptionHandler(NSException *exception) {
     
     
     NSString *sql = [NSString stringWithFormat:@"insert into errlog (errmsg,params) values ('%@','%@');",versionNum,content];
-    if ([Singleton sharedInstance].currentDB) {
-        [iSalesDB close_db:[Singleton sharedInstance].currentDB];
+    if ([RASingleton sharedInstance].currentDB) {
+        [iSalesDB close_db:[RASingleton sharedInstance].currentDB];
     }
     [iSalesDB execSql:sql];
     
@@ -939,7 +940,7 @@ void UncaughtExceptionHandler(NSException *exception) {
     // Place Order恢复是否能提交订单
     [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:@"urgency_resume"];
     [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInteger:self.user_type] forKey:@"urgency_userType"];
-    if ([Singleton sharedInstance].currentOrderIsMerged && [Singleton sharedInstance].permissions_submit_order) {
+    if ([RASingleton sharedInstance].currentOrderIsMerged && [RASingleton sharedInstance].permissions_submit_order) {
         [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:@"urgency_submitOrder"];
     }
 }
@@ -1565,6 +1566,7 @@ void UncaughtExceptionHandler(NSException *exception) {
                 if([download_json[@"result"] intValue]!=RESULT_TRUE)
                 {
                     [self add_downloadlog:download_json[@"err_msg"]];
+                    [self add_downloadlog:@"Download Abort."];
                     dispatch_async(dispatch_get_main_queue(), ^{
                         //                    self.downloadlog=nil;
                         self.downloading=false;
@@ -2737,11 +2739,11 @@ void UncaughtExceptionHandler(NSException *exception) {
     }
     ViewController.mail_to = arrsend_to;
     
-#if defined(BUILD_NPD) || defined(BUILD_USAI)
+#if defined(BUILD_NPD) || defined(BUILD_USAI)|| defined (BUILD_CONTRAST)
     
     NSString* subject=[NSString stringWithFormat:@"%@ -- SO# %@ from %@",company,soid,COMPANY_NAME];//[arr_subject componentsJoinedByString:@" : "];
     
-    if (self.user_type == USER_ROLE_CUSTOMER && ![Singleton sharedInstance].currentOrderIsMerged) {
+    if (self.user_type == USER_ROLE_CUSTOMER && ![RASingleton sharedInstance].currentOrderIsMerged) {
         NSString *companyName = [self.customerInfo objectForKey:@"customer_name"];
         subject=[NSString stringWithFormat:@"%@ -- SO# %@ from %@",company,soid,companyName];
     }

+ 17 - 0
RedAnt ERP Mobile/common/DBUtil.h

@@ -0,0 +1,17 @@
+//
+//  DBUtil.h
+//  iSales-USAI
+//
+//  Created by Rui Zhang on 11/11/21.
+//  Copyright © 2021 United Software Applications, Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface DBUtil : NSObject
++(NSString*) getdbzip:(NSString*)dbname;
+@end
+
+NS_ASSUME_NONNULL_END

+ 40 - 0
RedAnt ERP Mobile/common/DBUtil.m

@@ -0,0 +1,40 @@
+//
+//  DBUtil.m
+//  iSales-USAI
+//
+//  Created by Rui Zhang on 11/11/21.
+//  Copyright © 2021 United Software Applications, Inc. All rights reserved.
+//
+
+#import "DBUtil.h"
+#import "ZipArchive.h"
+
+@implementation DBUtil
++(NSString*) getdbzip:(NSString*)dbname
+{
+
+
+    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
+    NSString *documents = /*[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];*/[paths objectAtIndex:0];
+    NSString *database_path = [documents stringByAppendingPathComponent:dbname];
+
+
+            NSString* temp = NSTemporaryDirectory();
+
+    NSString* uuid=[[NSUUID UUID] UUIDString];
+
+    NSString *tempfile = [temp stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.zip",uuid]];
+
+    ZipArchive* zip = [[ZipArchive alloc] init];
+
+
+    BOOL result = [zip CreateZipFile2:tempfile Password:@"usai2010"];
+
+
+        result = [zip addFileToZip:database_path newname:[database_path lastPathComponent]];
+    return tempfile;
+
+
+
+}
+@end

+ 5 - 5
RedAnt ERP Mobile/common/ERPUtils.m

@@ -8,7 +8,7 @@
 
 #import "ERPUtils.h"
 #import "AppDelegate.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "GoogleAnalyst.h"
 #import "RANetwork.h"
 
@@ -30,10 +30,10 @@
         }
             break;
         case USER_ROLE_CUSTOMER: {
-            if ([Singleton sharedInstance].customer_order_type == 0) {
-                filter = [Singleton sharedInstance].shop_order_status_filter;
+            if ([RASingleton sharedInstance].customer_order_type == 0) {
+                filter = [RASingleton sharedInstance].shop_order_status_filter;
             } else {
-                filter = [Singleton sharedInstance].sales_order_status_filter;
+                filter = [RASingleton sharedInstance].sales_order_status_filter;
             }
         }
             break;
@@ -182,7 +182,7 @@
 //    URL_LOGOUT
 //    URL_RETRIEVE_PASS // forget password
 //    URL_REQUEST_LOGIN // request login
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER) || defined (BUILD_CONTRAST)
     if ([urlString isEqualToString:URL_REQUEST_LOGIN] || [urlString isEqualToString:URL_RETRIEVE_PASS] || [urlString isEqualToString:URL_UPDATE_AUTH]) {
         return @"Login View";
     }

+ 39 - 62
RedAnt ERP Mobile/common/ERP_Mobile_Search.storyboard

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="19162" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="ipad9_7" orientation="portrait" layout="fullscreen" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19144"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -132,7 +132,7 @@
                                         </connections>
                                     </collectionViewCell>
                                     <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="CategoryCellNPD" id="YRD-3R-JTD" customClass="CategoryCellNPD">
-                                        <rect key="frame" x="588" y="94.5" width="180" height="251"/>
+                                        <rect key="frame" x="588" y="95" width="180" height="251"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                                             <rect key="frame" x="0.0" y="0.0" width="180" height="251"/>
@@ -356,7 +356,7 @@
                                             <action selector="onChangeDisplay:" destination="OAq-wC-Znd" eventType="touchUpInside" id="UPh-Mx-gxo"/>
                                         </connections>
                                     </button>
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7rl-VN-VwT">
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7rl-VN-VwT">
                                         <rect key="frame" x="713" y="7" width="45" height="30"/>
                                         <constraints>
                                             <constraint firstAttribute="width" constant="45" id="awh-3z-JNv"/>
@@ -401,7 +401,7 @@
                                         <color key="textColor" red="0.59999999999999998" green="0.40000000000000002" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <nil key="highlightedColor"/>
                                     </label>
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MNy-Uo-r2r">
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MNy-Uo-r2r">
                                         <rect key="frame" x="537" y="6" width="32" height="32"/>
                                         <constraints>
                                             <constraint firstAttribute="width" constant="32" id="4eK-ip-LqP"/>
@@ -477,7 +477,7 @@
                                 </items>
                             </toolbar>
                             <label hidden="YES" opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Cannot get data from server.
Tap to try again." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9wz-xR-dz8">
-                                <rect key="frame" x="262" y="489.5" width="244" height="45.5"/>
+                                <rect key="frame" x="263.5" y="489.5" width="241.5" height="45.5"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="19"/>
                                 <color key="textColor" red="0.33333333329999998" green="0.33333333329999998" blue="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
@@ -487,6 +487,7 @@
                                 <color key="color" red="0.59999999999999998" green="0.40000000000000002" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             </activityIndicatorView>
                         </subviews>
+                        <viewLayoutGuide key="safeArea" id="Y97-Y9-Uum"/>
                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <constraints>
                             <constraint firstItem="liz-4V-QlK" firstAttribute="top" secondItem="c2b-Th-UhH" secondAttribute="top" id="MeY-WH-hvE"/>
@@ -497,7 +498,6 @@
                             <constraint firstItem="liz-4V-QlK" firstAttribute="trailing" secondItem="Y97-Y9-Uum" secondAttribute="trailing" id="tQa-FA-GvW"/>
                             <constraint firstItem="liz-4V-QlK" firstAttribute="leading" secondItem="Y97-Y9-Uum" secondAttribute="leading" id="thr-1H-24J"/>
                         </constraints>
-                        <viewLayoutGuide key="safeArea" id="Y97-Y9-Uum"/>
                     </view>
                     <connections>
                         <outlet property="addAllBtn" destination="388-Ug-Mxj" id="SsU-35-N0e"/>
@@ -642,7 +642,7 @@
                                         </connections>
                                     </collectionViewCell>
                                     <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="CategoryCellNPD" id="oKQ-UZ-bSj" customClass="CategoryCellNPD">
-                                        <rect key="frame" x="588" y="94.5" width="180" height="251"/>
+                                        <rect key="frame" x="588" y="95" width="180" height="251"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                                             <rect key="frame" x="0.0" y="0.0" width="180" height="251"/>
@@ -927,7 +927,7 @@
                                             <action selector="onChangeDisplay:" destination="7Gd-Dn-BSm" eventType="touchUpInside" id="HXM-Nc-YEx"/>
                                         </connections>
                                     </button>
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vol-Dr-c7u">
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vol-Dr-c7u">
                                         <rect key="frame" x="713" y="7" width="45" height="30"/>
                                         <constraints>
                                             <constraint firstAttribute="width" constant="45" id="7ly-74-v6D"/>
@@ -1007,7 +1007,7 @@
                                 </items>
                             </toolbar>
                             <label hidden="YES" opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Cannot get data from server.
Tap to try again." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="423-YP-V6q">
-                                <rect key="frame" x="262" y="489.5" width="244" height="45.5"/>
+                                <rect key="frame" x="263.5" y="489.5" width="241.5" height="45.5"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="19"/>
                                 <color key="textColor" red="0.33333333329999998" green="0.33333333329999998" blue="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
@@ -1017,6 +1017,7 @@
                                 <color key="color" red="0.59999999999999998" green="0.40000000000000002" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             </activityIndicatorView>
                         </subviews>
+                        <viewLayoutGuide key="safeArea" id="TYD-IC-O3a"/>
                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <constraints>
                             <constraint firstItem="wIZ-01-YqU" firstAttribute="centerX" secondItem="TYD-IC-O3a" secondAttribute="centerX" id="2iC-Ju-3Wh"/>
@@ -1027,7 +1028,6 @@
                             <constraint firstItem="423-YP-V6q" firstAttribute="centerY" secondItem="t7y-zK-XJN" secondAttribute="centerY" id="lyx-f9-ris"/>
                             <constraint firstItem="423-YP-V6q" firstAttribute="centerX" secondItem="TYD-IC-O3a" secondAttribute="centerX" id="na8-q6-24Z"/>
                         </constraints>
-                        <viewLayoutGuide key="safeArea" id="TYD-IC-O3a"/>
                     </view>
                     <connections>
                         <outlet property="addAllBtn" destination="1bP-Ac-JaX" id="V2C-rY-Rw3"/>
@@ -1103,7 +1103,7 @@
                                                 <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                                 <textInputTraits key="textInputTraits"/>
                                             </textField>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jz1-eL-bX5" customClass="DefaultImageButton">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jz1-eL-bX5" customClass="DefaultImageButton">
                                                 <rect key="frame" x="20" y="630" width="102" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="I6w-Gn-RXQ"/>
@@ -1127,7 +1127,7 @@
                                                     <constraint firstAttribute="height" constant="320" id="Wyb-to-M5i"/>
                                                 </constraints>
                                             </view>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Rgu-uk-snk" customClass="DefaultImageButton">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Rgu-uk-snk" customClass="DefaultImageButton">
                                                 <rect key="frame" x="219" y="630" width="102" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="Md2-Gv-iEy"/>
@@ -1140,7 +1140,7 @@
                                                     <action selector="onResetClick:" destination="7KM-2e-YVW" eventType="touchUpInside" id="ZVz-Qz-KME"/>
                                                 </connections>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Zo9-e6-33l" customClass="DefaultImageButton">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Zo9-e6-33l" customClass="DefaultImageButton">
                                                 <rect key="frame" x="418" y="630" width="102" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="102" id="ULk-GQ-auH"/>
@@ -1168,7 +1168,7 @@
                                                 <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 <nil key="highlightedColor"/>
                                             </label>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Jfe-5Y-slQ">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Jfe-5Y-slQ">
                                                 <rect key="frame" x="148" y="483.5" width="372" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="lRh-ct-NRc"/>
@@ -1181,7 +1181,7 @@
                                                     <action selector="onQTYClick:" destination="7KM-2e-YVW" eventType="touchUpInside" id="dbG-Qa-0iG"/>
                                                 </connections>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2Qp-FH-fAz">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2Qp-FH-fAz">
                                                 <rect key="frame" x="148" y="519.5" width="372" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="372" id="Gwh-OR-mkF"/>
@@ -1224,7 +1224,7 @@
                                                 <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 <nil key="highlightedColor"/>
                                             </label>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5mh-pW-BYL">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5mh-pW-BYL">
                                                 <rect key="frame" x="148" y="411.5" width="372" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="372" id="7V5-hg-IOc"/>
@@ -1237,7 +1237,7 @@
                                                     <action selector="onAvailabilityClick:" destination="7KM-2e-YVW" eventType="touchUpInside" id="IUO-os-vdX"/>
                                                 </connections>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bAe-Za-GgE">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bAe-Za-GgE">
                                                 <rect key="frame" x="148" y="555.5" width="372" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="372" id="7uj-7x-l8U"/>
@@ -1250,7 +1250,7 @@
                                                     <action selector="onPriceClick:" destination="7KM-2e-YVW" eventType="touchUpInside" id="faV-ta-oaJ"/>
                                                 </connections>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8zh-Mf-35k">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8zh-Mf-35k">
                                                 <rect key="frame" x="148" y="447.5" width="372" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="BuO-pO-KfJ"/>
@@ -1326,6 +1326,7 @@
                                 </constraints>
                             </scrollView>
                         </subviews>
+                        <viewLayoutGuide key="safeArea" id="wyb-4p-ncE"/>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                         <constraints>
                             <constraint firstItem="VVf-hI-5G1" firstAttribute="leading" secondItem="wyb-4p-ncE" secondAttribute="leading" id="PmB-ub-vIq"/>
@@ -1333,7 +1334,6 @@
                             <constraint firstAttribute="bottom" secondItem="VVf-hI-5G1" secondAttribute="bottom" id="hfJ-wU-eZ0"/>
                             <constraint firstItem="VVf-hI-5G1" firstAttribute="top" secondItem="tzb-Sy-Soy" secondAttribute="top" id="l4V-Th-7xM"/>
                         </constraints>
-                        <viewLayoutGuide key="safeArea" id="wyb-4p-ncE"/>
                     </view>
                     <value key="contentSizeForViewInPopover" type="size" width="540" height="680"/>
                     <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
@@ -1375,7 +1375,7 @@
                                 </collectionViewFlowLayout>
                                 <cells>
                                     <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="CategoryCellNPD" id="JSt-6l-I6L" customClass="CategoryCellNPD">
-                                        <rect key="frame" x="0.0" y="94.5" width="180" height="251"/>
+                                        <rect key="frame" x="0.0" y="95" width="180" height="251"/>
                                         <autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                                             <rect key="frame" x="0.0" y="0.0" width="180" height="251"/>
@@ -1685,7 +1685,7 @@
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0tN-LM-2Xd" customClass="CategoryHeaderView">
                                 <rect key="frame" x="0.0" y="0.0" width="768" height="44"/>
                                 <subviews>
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="r17-6z-y2f">
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="r17-6z-y2f">
                                         <rect key="frame" x="713" y="7" width="45" height="30"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="30" id="aLX-of-izd"/>
@@ -1752,7 +1752,7 @@
                                             <action selector="onChangeDisplay:" destination="ayt-8S-R1j" eventType="touchUpInside" id="SSm-GQ-tq4"/>
                                         </connections>
                                     </button>
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MJz-NK-Tfa">
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MJz-NK-Tfa">
                                         <rect key="frame" x="537" y="6" width="32" height="32"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="32" id="0SY-Zq-Fdt"/>
@@ -1835,12 +1835,13 @@
                                 <color key="color" red="0.59999999999999998" green="0.40000000000000002" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             </activityIndicatorView>
                             <label hidden="YES" opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Cannot get data from server.
Tap to try again." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CYf-aH-yiE">
-                                <rect key="frame" x="262" y="489.5" width="244" height="45.5"/>
+                                <rect key="frame" x="263.5" y="489.5" width="241.5" height="45.5"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="19"/>
                                 <color key="textColor" red="0.33333333329999998" green="0.33333333329999998" blue="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
                         </subviews>
+                        <viewLayoutGuide key="safeArea" id="Fr5-Zu-LYs"/>
                         <constraints>
                             <constraint firstItem="WTH-xD-Oln" firstAttribute="centerY" secondItem="uLt-37-b3b" secondAttribute="centerY" id="7Sq-dV-qwd"/>
                             <constraint firstItem="0tN-LM-2Xd" firstAttribute="top" secondItem="uLt-37-b3b" secondAttribute="top" id="EgZ-q3-18O"/>
@@ -1850,7 +1851,6 @@
                             <constraint firstItem="CYf-aH-yiE" firstAttribute="centerX" secondItem="Fr5-Zu-LYs" secondAttribute="centerX" id="j28-7X-iSH"/>
                             <constraint firstItem="0tN-LM-2Xd" firstAttribute="trailing" secondItem="Fr5-Zu-LYs" secondAttribute="trailing" id="uBf-Wk-QcI"/>
                         </constraints>
-                        <viewLayoutGuide key="safeArea" id="Fr5-Zu-LYs"/>
                     </view>
                     <connections>
                         <outlet property="addAllBtn" destination="4nE-gy-r5m" id="MNr-3d-xkS"/>
@@ -1881,52 +1881,30 @@
                         <rect key="frame" x="0.0" y="0.0" width="540" height="620"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
-                            <navigationBar contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wXt-wd-XeS">
-                                <rect key="frame" x="0.0" y="0.0" width="540" height="44"/>
-                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="44" id="jNQ-MG-Uzb"/>
-                                </constraints>
-                                <color key="barTintColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                <items>
-                                    <navigationItem title="Category" id="fRE-hQ-mVA">
-                                        <barButtonItem key="rightBarButtonItem" image="close" id="rrN-ys-VED">
-                                            <color key="tintColor" red="0.59999999999999998" green="0.40000000000000002" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                            <connections>
-                                                <action selector="CloseClick:" destination="Dnb-uE-W12" id="Vhh-Uu-Plc"/>
-                                            </connections>
-                                        </barButtonItem>
-                                    </navigationItem>
-                                </items>
-                            </navigationBar>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="axf-kj-0b6" userLabel="treeview container">
                                 <rect key="frame" x="0.0" y="44" width="540" height="576"/>
                             </view>
-                            <label hidden="YES" opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Cannot get data from server.
Tap to try again." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kRL-ks-spB">
+                            <label hidden="YES" opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Cannot get data from server.
Tap to try again." textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kRL-ks-spB">
                                 <rect key="frame" x="131" y="274" width="277" height="73"/>
-                                <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="19"/>
                                 <color key="textColor" red="0.33333333329999998" green="0.33333333329999998" blue="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
                         </subviews>
+                        <viewLayoutGuide key="safeArea" id="dIL-G4-QNB"/>
                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <constraints>
                             <constraint firstAttribute="bottom" secondItem="axf-kj-0b6" secondAttribute="bottom" id="2BW-pD-F7U"/>
-                            <constraint firstItem="wXt-wd-XeS" firstAttribute="top" secondItem="eFT-gS-v0L" secondAttribute="top" id="8yk-kB-a4G"/>
-                            <constraint firstItem="axf-kj-0b6" firstAttribute="top" secondItem="wXt-wd-XeS" secondAttribute="bottom" id="Qxt-uP-tT7"/>
                             <constraint firstItem="axf-kj-0b6" firstAttribute="leading" secondItem="dIL-G4-QNB" secondAttribute="leading" id="S8a-MF-thI"/>
-                            <constraint firstItem="wXt-wd-XeS" firstAttribute="trailing" secondItem="dIL-G4-QNB" secondAttribute="trailing" id="cCS-Gj-6NA"/>
                             <constraint firstItem="axf-kj-0b6" firstAttribute="trailing" secondItem="dIL-G4-QNB" secondAttribute="trailing" id="eTY-SI-Zn8"/>
-                            <constraint firstItem="wXt-wd-XeS" firstAttribute="leading" secondItem="dIL-G4-QNB" secondAttribute="leading" id="lvo-9Y-nbx"/>
+                            <constraint firstItem="axf-kj-0b6" firstAttribute="top" secondItem="dIL-G4-QNB" secondAttribute="top" constant="24" id="o2Z-67-eYO"/>
+                            <constraint firstItem="axf-kj-0b6" firstAttribute="centerX" secondItem="kRL-ks-spB" secondAttribute="centerX" id="prS-AL-Hfi"/>
                         </constraints>
-                        <viewLayoutGuide key="safeArea" id="dIL-G4-QNB"/>
                     </view>
                     <value key="contentSizeForViewInPopover" type="size" width="540" height="620"/>
                     <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
                     <size key="freeformSize" width="540" height="620"/>
                     <connections>
-                        <outlet property="headerview" destination="wXt-wd-XeS" id="5qO-m9-ueZ"/>
                         <outlet property="label_net_err" destination="kRL-ks-spB" id="YMR-Tv-vB4"/>
                         <outlet property="treeContainer" destination="axf-kj-0b6" id="v1b-OK-aT7"/>
                     </connections>
@@ -1971,7 +1949,7 @@
                                                 <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 <nil key="highlightedColor"/>
                                             </label>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ei3-Zk-MvM">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ei3-Zk-MvM">
                                                 <rect key="frame" x="126" y="482.5" width="394" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="3T8-Zn-kaw"/>
@@ -1983,7 +1961,7 @@
                                                     <action selector="onQTYClick:" destination="g8P-mU-4x1" eventType="touchUpInside" id="1uH-z8-fxT"/>
                                                 </connections>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7ds-kb-06q">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7ds-kb-06q">
                                                 <rect key="frame" x="176" y="518.5" width="344" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="NrN-ga-xBg"/>
@@ -2027,7 +2005,7 @@
                                                 <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 <nil key="highlightedColor"/>
                                             </label>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="T1S-Bo-LHK">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="T1S-Bo-LHK">
                                                 <rect key="frame" x="176" y="446.5" width="344" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="4hG-qy-GVW"/>
@@ -2039,7 +2017,7 @@
                                                     <action selector="onAlertClick:" destination="g8P-mU-4x1" eventType="touchUpInside" id="WBe-2V-rSi"/>
                                                 </connections>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Qwu-mH-sLI">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Qwu-mH-sLI">
                                                 <rect key="frame" x="176" y="410.5" width="344" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="oQr-aV-xte"/>
@@ -2051,7 +2029,7 @@
                                                     <action selector="onAvailabilityClick:" destination="g8P-mU-4x1" eventType="touchUpInside" id="J9J-de-7eR"/>
                                                 </connections>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qBx-yX-au5" customClass="DefaultImageButton">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qBx-yX-au5" customClass="DefaultImageButton">
                                                 <rect key="frame" x="50" y="630" width="100" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="kWV-44-Jxb"/>
@@ -2069,7 +2047,7 @@
                                                     <action selector="onResetClick:" destination="g8P-mU-4x1" eventType="touchUpInside" id="4X8-QH-2Pq"/>
                                                 </connections>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xAv-TP-7vv" customClass="DefaultImageButton">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xAv-TP-7vv" customClass="DefaultImageButton">
                                                 <rect key="frame" x="390" y="630" width="100" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="100" id="agn-G2-wis"/>
@@ -2087,7 +2065,7 @@
                                                     <action selector="onSearchClick:" destination="g8P-mU-4x1" eventType="touchUpInside" id="9tX-1O-OSE"/>
                                                 </connections>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a8R-bc-me5">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a8R-bc-me5">
                                                 <rect key="frame" x="176" y="554.5" width="344" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="ZzD-F7-mWc"/>
@@ -2100,13 +2078,13 @@
                                                 </connections>
                                             </button>
                                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Item Number:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MvV-eq-cCO">
-                                                <rect key="frame" x="20" y="337" width="104.5" height="21"/>
+                                                <rect key="frame" x="20" y="337" width="104" height="21"/>
                                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                 <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 <nil key="highlightedColor"/>
                                             </label>
                                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Description:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EGa-0v-X88">
-                                                <rect key="frame" x="280" y="337" width="92.5" height="21"/>
+                                                <rect key="frame" x="280" y="337" width="92" height="21"/>
                                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                 <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 <nil key="highlightedColor"/>
@@ -2193,6 +2171,7 @@
                                 </constraints>
                             </scrollView>
                         </subviews>
+                        <viewLayoutGuide key="safeArea" id="d47-Eq-xrt"/>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                         <constraints>
                             <constraint firstAttribute="bottom" secondItem="9pl-MJ-YCv" secondAttribute="bottom" id="OAv-1Q-EOX"/>
@@ -2200,7 +2179,6 @@
                             <constraint firstItem="9pl-MJ-YCv" firstAttribute="top" secondItem="VMz-d0-X7j" secondAttribute="top" id="ZYl-ra-F9e"/>
                             <constraint firstItem="9pl-MJ-YCv" firstAttribute="leading" secondItem="d47-Eq-xrt" secondAttribute="leading" id="odv-Ba-YiA"/>
                         </constraints>
-                        <viewLayoutGuide key="safeArea" id="d47-Eq-xrt"/>
                     </view>
                     <value key="contentSizeForViewInPopover" type="size" width="540" height="680"/>
                     <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
@@ -2230,7 +2208,6 @@
         <image name="btn_search" width="102" height="30"/>
         <image name="check_0_24" width="24" height="24"/>
         <image name="check_1_24" width="24" height="24"/>
-        <image name="close" width="40" height="40"/>
         <image name="filter" width="32" height="32"/>
         <image name="layout_list" width="40" height="40"/>
         <image name="layout_small" width="40" height="40"/>

+ 13 - 9
RedAnt ERP Mobile/common/Functions/MainViewController.m

@@ -29,7 +29,7 @@
 #import "DefaultAppearance.h"
 #import "PriceSettingViewController.h"
 #import "JKLockController.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "NotificationNameCenter.h"
 
 @interface MainViewController ()
@@ -2099,12 +2099,12 @@
     //    [map setValue:@"rect_search_history" forKey:@"img"];
     //    [self.sideMenuItems addObject:map.copy];
     //
-#if defined(BUILD_NPD) || defined(BUILD_USAI) 
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined (BUILD_CONTRAST)
     [map setValue:@"Scanner Setting" forKey:@"title"];
     [map setValue:@"rect_change_password" forKey:@"img"];
     [self.sideMenuItems addObject:map.copy];
 
-#ifdef BUILD_NPD
+#if defined(BUILD_NPD)|| defined (BUILD_CONTRAST)
     if(appDelegate.user_type==USER_ROLE_EMPLOYEE)
     {
         [map setValue:@"Offline Setting" forKey:@"title"];
@@ -2120,7 +2120,7 @@
         [self.sideMenuItems addObject:map.copy];
     }
     if (appDelegate.user && appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore ) {
-        if ([Singleton sharedInstance].global_lock) {
+        if ([RASingleton sharedInstance].global_lock) {
             [map setValue:@"Unlock" forKey:@"title"];
         } else {
             [map setValue:@"Lock" forKey:@"title"];
@@ -2191,7 +2191,7 @@
     [self.sideMenuItems addObject:map.copy];
 #endif
     
-#ifdef BUILD_NPD
+#if defined(BUILD_NPD) || defined (BUILD_CONTRAST)
     [map setValue:@"BLOG" forKey:@"title"];
     [map setValue:@"rect_change_password" forKey:@"img"];
     [self.sideMenuItems addObject:map.copy];
@@ -2564,6 +2564,10 @@
 #ifdef BUILD_USAI
         NSString* title = @"USAI BLOG";
 #endif
+#ifdef BUILD_CONTRAST
+        NSString* title = @"CONTRAST BLOG";
+#endif
+        
 
         
         title = [NSString stringWithFormat:@"%@ BLOG",COMPANY_SHORT_NAME];
@@ -2814,7 +2818,7 @@
         UIApplication * app = [UIApplication sharedApplication];
         AppDelegate *appDelegate = (AppDelegate *)[app delegate];
         
-        if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore  && [Singleton sharedInstance].global_lock) {
+        if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore  && [RASingleton sharedInstance].global_lock) {
             
             JKLockController *lockVC = [[JKLockController alloc] init];
             [lockVC setPasswordKey:[NSString stringWithFormat:@"%@_password",appDelegate.user]];
@@ -2848,7 +2852,7 @@
         UIApplication * app = [UIApplication sharedApplication];
         AppDelegate *appDelegate = (AppDelegate *)[app delegate];
         
-        if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore  && [Singleton sharedInstance].global_lock) {
+        if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore  && [RASingleton sharedInstance].global_lock) {
             
             JKLockController *lockVC = [[JKLockController alloc] init];
             [lockVC setPasswordKey:[NSString stringWithFormat:@"%@_password",appDelegate.user]];
@@ -2937,7 +2941,7 @@
         UIApplication * app = [UIApplication sharedApplication];
         AppDelegate *appDelegate = (AppDelegate *)[app delegate];
         
-        if ([Singleton sharedInstance].global_lock) {
+        if ([RASingleton sharedInstance].global_lock) {
             
             JKLockController *lockVC = [[JKLockController alloc] init];
             [lockVC setPasswordKey:[NSString stringWithFormat:@"%@_password",appDelegate.user]];
@@ -2988,7 +2992,7 @@
             if (weakself) {
                 __strong typeof(weakself) strongself = weakself;
                 
-                [Singleton sharedInstance].global_lock = ![Singleton sharedInstance].global_lock;
+                [RASingleton sharedInstance].global_lock = ![RASingleton sharedInstance].global_lock;
                 [strongself initMenuItems];
                 [strongself hideMenu];
             }

+ 2 - 1
RedAnt ERP Mobile/common/Functions/camscan/ScannerViewController.h

@@ -25,10 +25,11 @@
 @property (strong, nonatomic) IBOutlet ScannerControllerView *backgroundView;
 //@property (strong,nonatomic) ScannerControllerView* scannerController;
 @property (strong, nonatomic) IBOutlet UIImageView *focusZone;
+@property (weak, nonatomic) IBOutlet UIButton *typeButton;
 
 @property (strong, nonatomic) IBOutlet UIButton *targetButton;
 @property  int target;
-
+@property  int type;
 @property (strong, nonatomic)  NSString *scan_val;
 
 @end

+ 81 - 1
RedAnt ERP Mobile/common/Functions/camscan/ScannerViewController.m

@@ -32,7 +32,8 @@
 #define SCANNER_TARGET_DETAIL 0
 #define SCANNER_TARGET_CART 1
 
-
+#define SCANNER_TYPE_MODELNAME 0
+#define SCANNER_TYPE_UPCCODE 1
 //#import "ScannerControlViewController.h"
 @interface ScannerViewController () <AVCaptureMetadataOutputObjectsDelegate> {
     AVCaptureVideoPreviewLayer *_previewLayer;
@@ -387,6 +388,14 @@
     
 #endif
     
+#ifdef BUILD_CONTRAST
+    self.typeButton.hidden = false;
+    self.type = SCANNER_TYPE_UPCCODE;
+#else
+    self.typeButton.hidden = true;
+    self.type = SCANNER_TYPE_MODELNAME;
+#endif
+    
 }
 //#pragma mark - ScannerControllerDelegate
 //-(void)BeginScan:(bool)begin
@@ -834,6 +843,77 @@
 //        });
     
     
+}
+- (IBAction)TypeButtonClick:(id)sender {
+    
+    BOOL shouldChangeTarget = NO;
+#ifdef BUILD_CONTRAST
+    shouldChangeTarget = YES;
+#endif
+    
+    if (!shouldChangeTarget) {
+        return;
+    }
+    
+    UIAlertController *alertControl = [UIAlertController alertControllerWithTitle:@"Change code type to" message:nil preferredStyle:UIAlertControllerStyleAlert];
+    //block代码块取代了delegate
+    
+    
+    
+    UIAlertAction *actionOne = [UIAlertAction actionWithTitle:@"Model Name" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+        
+        [self.typeButton setTitle:@"Type: Model Name" forState:UIControlStateNormal];
+        
+        self.type = SCANNER_TYPE_MODELNAME;
+        //        UIAlertController * waitalert = [RAUtils waiting_alert:self title:@"Remove Models From Cart"];
+        //        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+        //
+        //            NSDictionary* cart_json = [iSalesNetwork cart_remove:ids];
+        //
+        //            dispatch_async(dispatch_get_main_queue(), ^{
+        //
+        //                [waitalert dismissViewControllerAnimated:YES completion:nil];
+        //
+        //                if([[cart_json valueForKey:@"result"] intValue]==2)
+        //                {
+        //
+        //                    [self end_edit];
+        //                    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+        //                    [((MainViewController*)appDelegate.main_vc) reloadCart:true immediately:true];
+        //                    [((MainViewController*)appDelegate.main_vc) reloadCategory:true immediately:true];
+        //                }
+        //                else
+        //                {
+        //                    [RAUtils message_alert:[cart_json valueForKey:@"err_msg"] title:@"Delete Model" controller:self] ;
+        //                }
+        //
+        //
+        //
+        //            });
+        //        });
+        
+        
+    }];
+    
+    UIAlertAction *alertthree = [UIAlertAction actionWithTitle:@"UPC CODE" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+        
+        
+        [self.typeButton setTitle:@"Type: UPC Code" forState:UIControlStateNormal];
+        self.type = SCANNER_TYPE_UPCCODE;
+        
+        DebugLog(@"No");
+    }];
+    [alertControl addAction:actionOne];
+    
+    [alertControl addAction:alertthree];
+    
+    //UIAlertControllerStyle类型为UIAlertControllerStyleAlert可以添加addTextFieldWithConfigurationHandler:^(UITextField *textField)
+    
+    
+    [self presentViewController:alertControl animated:YES completion:nil];
+    
+    
+    
 }
 - (IBAction)TargetButtonClick:(id)sender {
     

+ 8 - 8
RedAnt ERP Mobile/common/Functions/cart/CartViewController.m

@@ -25,7 +25,7 @@
 #import "SortItemViewController.h"
 #import "SortButton.h"
 #import "NotificationNameCenter.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "JKMessageBoxController.h"
 #import "RAPDFViewController.h"
 
@@ -680,7 +680,7 @@
     // Shop 权限检查
     AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
     if (appDelegate.user && appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
-        if (![Singleton sharedInstance].permissions_edit_order) {
+        if (![RASingleton sharedInstance].permissions_edit_order) {
             
             CGRect frame0 = self.cancelOrderButton.frame;
             CGRect frame1 = self.placeOrderButton.frame;
@@ -771,7 +771,7 @@
         self.content_arr = nil;
         self.currentOrderIsMerged = nil;
         self.cart_json = nil;
-        [Singleton sharedInstance].currentOrderIsMerged = NO;
+        [RASingleton sharedInstance].currentOrderIsMerged = NO;
         self.print_url = nil;
         
         [self checkProductAvailable:self.content_arr];
@@ -845,7 +845,7 @@
                                 weakself.notes = [cart_json valueForKey:@"general_note"];
                                 weakself.content_arr = [RAUtils dictionary2array:cart_json count_fields:@"count" item_mark:@"item_" items_mark:nil];
                                 weakself.currentOrderIsMerged = [[cart_json valueForKey:@"is_merged_order"] boolValue];
-                                [Singleton sharedInstance].currentOrderIsMerged = weakself.currentOrderIsMerged;
+                                [RASingleton sharedInstance].currentOrderIsMerged = weakself.currentOrderIsMerged;
                                 [weakself.itemListTable reloadData];
                                 weakself.print_url = [cart_json valueForKey:@"cart_print_url"];
                                 
@@ -1208,7 +1208,7 @@
     if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
         
         
-        if (![Singleton sharedInstance].permissions_edit_order) {
+        if (![RASingleton sharedInstance].permissions_edit_order) {
             
             return;
         }
@@ -2862,9 +2862,9 @@
                 return ;
             }
             
-            if ([Singleton sharedInstance].npd_shop_price_type == 0) { // 提货价不能编辑价格
+            if ([RASingleton sharedInstance].npd_shop_price_type == 0) { // 提货价不能编辑价格
                 
-                UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Warning" message:[NSString stringWithFormat:@"Current Price Type is %@,You Can't Change it",[Singleton sharedInstance].deliveryString] preferredStyle:UIAlertControllerStyleAlert];
+                UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Warning" message:[NSString stringWithFormat:@"Current Price Type is %@,You Can't Change it",[RASingleton sharedInstance].deliveryString] preferredStyle:UIAlertControllerStyleAlert];
                 
                 UIAlertAction *action = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
                     [alert dismissViewControllerAnimated:YES completion:nil];
@@ -3269,7 +3269,7 @@
         NSMutableArray* arr=[@[] mutableCopy];
 
         BOOL condition = outOfStock;
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
 #ifdef OFFLINE_MODE
         condition = !appDelegate.offline_mode && outOfStock;
 #endif

+ 1 - 1
RedAnt ERP Mobile/common/Functions/category/CategorySearchFilterViewController.m

@@ -633,7 +633,7 @@
 - (void)treeView:(RATreeView *)treeView didSelectRowForItem:(id)item treeNodeInfo:(RATreeNodeInfo *)treeNodeInfo
 {
     
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     NSDictionary *data = item;
     int count = [[data valueForKey:@"count"] intValue];
     if(count==0)

+ 1 - 1
RedAnt ERP Mobile/common/Functions/category/CategoryViewController.m

@@ -252,7 +252,7 @@
     
     filterVC.OkClick =^(NSString *ids,NSString* modelname,NSString* modeldescrip,NSString* available,NSString* QTY,NSString* alert,NSString* price,NSString* bestseller)
     {
-#if defined(BUILD_NPD) || defined(BUILD_USAI)
+#if defined(BUILD_NPD) || defined(BUILD_USAI)|| defined (BUILD_CONTRAST)
         NSArray *idArr = [ids componentsSeparatedByString:@","];
         if (idArr.count == 1) {
             self.categoryString = [@"Category" stringByAppendingString:[self categoryString:ids node:menu level:0]];

+ 1 - 1
RedAnt ERP Mobile/common/Functions/contact/CustomerInfoViewController.m

@@ -358,7 +358,7 @@
     
     if(self.edit_icon)
         [items addObject:self.btn_edit];
-    if ((appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) && appDelegate.order_code.length > 0 && ![Singleton sharedInstance].currentOrderIsMerged) {
+    if ((appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) && appDelegate.order_code.length > 0 && ![RASingleton sharedInstance].currentOrderIsMerged) {
         // shop order 隐藏assign
     } else {
         if(self.assig_icon)

+ 5 - 5
RedAnt ERP Mobile/common/Functions/home/HomeViewController.m

@@ -535,7 +535,7 @@
             NSDictionary * item_json =[view_json objectForKey:[NSString stringWithFormat:@"item_%ld",pageIndex] ];
             NSString* action = [item_json valueForKeyPath:@"action"];
             
-            [Singleton sharedInstance].homeClickedItemName = @"slide_view";
+            [RASingleton sharedInstance].homeClickedItemName = @"slide_view";
             
 //            if([action isEqualToString:@"itemSearch"])
 //            {
@@ -551,7 +551,7 @@
 //            else
                 if([action isEqualToString:@"category"])
             {
-                [Singleton sharedInstance].homeItemClick = YES;
+                [RASingleton sharedInstance].homeItemClick = YES;
                 NSString* cid = [item_json valueForKeyPath:@"category_id"];
                 
                 UIApplication * app = [UIApplication sharedApplication];
@@ -751,11 +751,11 @@
     NSDictionary* item_json = [view_json objectForKey:[NSString stringWithFormat:@"item_%d",idx]];
     NSString* action = [item_json valueForKeyPath:@"action"];
     
-    [Singleton sharedInstance].homeClickedItemName = item_json[@"description"];
+    [RASingleton sharedInstance].homeClickedItemName = item_json[@"description"];
     
     if([action isEqualToString:@"itemSearch"])
     {
-        [Singleton sharedInstance].homeItemClick = YES;
+        [RASingleton sharedInstance].homeItemClick = YES;
         NSString* covertype = [item_json valueForKeyPath:@"covertype"];
         
         UIApplication * app = [UIApplication sharedApplication];
@@ -766,7 +766,7 @@
     }
     else if([action isEqualToString:@"category"])
     {
-        [Singleton sharedInstance].homeItemClick = YES;
+        [RASingleton sharedInstance].homeItemClick = YES;
         NSString* cid = [item_json valueForKeyPath:@"category_id"];
         
         UIApplication * app = [UIApplication sharedApplication];

+ 3 - 2
RedAnt ERP Mobile/common/Functions/modelDetail/DetailHeaderCell.m

@@ -20,6 +20,7 @@
 #import "CustomIOSAlertView.h"
 #import "TextUtils.h"
 
+
 #import "ContentPreviewController.h"
 #import "DetailViewController.h"
 #import "RAPDFViewController.h"
@@ -817,7 +818,7 @@
         AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
         if (appDelegate.user_type == USER_ROLE_CUSTOMER) {
             
-            if ([Singleton sharedInstance].currentOrderIsMerged) { // Purchase Order不允许购买数量大于库存
+            if ([RASingleton sharedInstance].currentOrderIsMerged) { // Purchase Order不允许购买数量大于库存
                 msg = [NSString stringWithFormat:@"Item is OUT OF STOCK and not available to order from %@.",COMPANY_SHORT_NAME];
                 continueAdd = NO;
             } else { // Shop Order购买数量大于库存需要确认
@@ -2153,7 +2154,7 @@
             
         } else {
             // 打开订单状态
-            if (![Singleton sharedInstance].currentOrderIsMerged) {
+            if (![RASingleton sharedInstance].currentOrderIsMerged) {
                 // Shop Order
                 self.btnaddCart.enabled = YES;
                 // 默认未缺货

+ 3 - 3
RedAnt ERP Mobile/common/Functions/modelDetail/DetailViewController.m

@@ -1388,7 +1388,7 @@ dispatch_async(dispatch_get_main_queue(), ^{
 #endif
         } else {
             
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
 //            NSString *qtyStr = [section_json valueForKey:@"Availability"];
             
             __weak typeof(self) weakself = self;
@@ -1514,7 +1514,7 @@ dispatch_async(dispatch_get_main_queue(), ^{
                         
                     } else {
                         // 打开订单状态
-                        if (![Singleton sharedInstance].currentOrderIsMerged) {
+                        if (![RASingleton sharedInstance].currentOrderIsMerged) {
                             // Shop Order
                             cell.btnaddCart.enabled = YES;
                             // 默认未缺货
@@ -2591,7 +2591,7 @@ dispatch_async(dispatch_get_main_queue(), ^{
 
     [cell begin_refresh];
 //    UIAlertController * waitalert = [RAUtils waiting_alert:selftitle:@"Refreshing"];
-    [RANetwork request_commoneditor_partialrefresh:params url:url completionHandler:^(NSMutableDictionary *result) {
+    [RADataProvider request_commoneditor_partialrefresh:params url:url completionHandler:^(NSMutableDictionary *result) {
         NSDictionary* editor_json =result;
                 [cell end_refresh ];
     //            [waitalert dismissViewControllerAnimated:YES completion:nil];

+ 2 - 2
RedAnt ERP Mobile/common/Functions/modelDetail/HomerModelDetailHeaderCell.m

@@ -448,7 +448,7 @@ self.informationLabel.frame = CGRectMake(self.informationLabel.frame.origin.x, s
         AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
         if (appDelegate.user_type == USER_ROLE_CUSTOMER) {
             
-            if ([Singleton sharedInstance].currentOrderIsMerged) { // Purchase Order不允许购买数量大于库存
+            if ([RASingleton sharedInstance].currentOrderIsMerged) { // Purchase Order不允许购买数量大于库存
                 msg = [NSString stringWithFormat:@"Item is OUT OF STOCK and not available to order from %@.",COMPANY_SHORT_NAME];
                 continueAdd = NO;
             } else { // Shop Order购买数量大于库存需要确认
@@ -1331,7 +1331,7 @@ self.informationLabel.frame = CGRectMake(self.informationLabel.frame.origin.x, s
             
         } else {
             // 打开订单状态
-            if (![Singleton sharedInstance].currentOrderIsMerged) {
+            if (![RASingleton sharedInstance].currentOrderIsMerged) {
                 // Shop Order
                 self.btnaddCart.enabled = YES;
                 // 默认未缺货

+ 8 - 5
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m

@@ -16,7 +16,7 @@
 //#import "AFHTTPSessionManager.h"
 #import "AppDelegate.h"
 #import "pdfCreator.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "QRCodeGenerator.h"
 #import "config.h"
 #import "ImageUtils.h"
@@ -4231,7 +4231,7 @@ NSString* gprice = [self get_portfolio_price :params[@"contact_id"] item_id:item
                 }
                 
             }
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
             cuft=ucbf*count;
             weight= uweight*count;
 #endif
@@ -11651,14 +11651,17 @@ NSString* gprice = [self get_portfolio_price :params[@"contact_id"] item_id:item
     NSString *product_name = [params objectForKey:@"product_name"];
     product_name = [self translateSingleQuote:product_name];
     NSArray *product_name_array = [product_name componentsSeparatedByString:@","];
-    
+    bool search_upc = [params[@"search_upc"] boolValue];
     sqlite3 *db = [iSalesDB get_db];
     
     __block NSMutableString *product_id_string = [NSMutableString string];
     for (int i = 0; i < product_name_array.count; i++) {
         NSString *name = [product_name_array objectAtIndex:i];
-        
-        NSString *sql = [NSString stringWithFormat:@"select product_id from product where name = '%@';",name];
+        NSString *sql =nil;
+        if(search_upc)
+            sql= [NSString stringWithFormat:@"select product_id from product where upc_code = '%@' or upc_code like '%@;%%' or upc_code like '%%;%@;%%' or upc_code like '%%;%@';",name,name,name,name];
+        else
+            sql= [NSString stringWithFormat:@"select product_id from product where name = '%@';",name];
         
         [iSalesDB jk_query:sql db:db close:NO completion:^(sqlite3_stmt *stmt, NSMutableDictionary *container, long *count) {
             

+ 2 - 2
RedAnt ERP Mobile/common/Functions/offline/SelectUploadOrderViewController.m

@@ -15,7 +15,7 @@
 #import "RANetwork.h"
 #import "RAUtils.h"
 #import "AppDelegate.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 
 @interface SelectUploadOrderViewController ()<UITableViewDataSource,UITableViewDelegate>
 
@@ -230,7 +230,7 @@
         NSMutableDictionary *params = [NSMutableDictionary dictionary];
         [params setObject:order_ids forKey:@"order_ids"];
         [params setObject:checked_id forKey:@"targetOrderId"];
-        [params setObject:[Singleton sharedInstance].customerInfo forKey:@"customerInfo"];
+        [params setObject:[RASingleton sharedInstance].customerInfo forKey:@"customerInfo"];
         
         __block UIAlertController * waitalert = [RAUtils waiting_alert:self title:@"Merge Order" completion:^{
             [RANetwork request_mergeorder:params completionHandler:^(NSMutableDictionary *result) {

+ 2 - 1
RedAnt ERP Mobile/common/Functions/offline/SyncControlPanelViewController.m

@@ -9,6 +9,7 @@
 #import "SyncControlPanelViewController.h"
 #import "AppDelegate.h"
 #import "RAUtils.h"
+#import "DBUtil.h"
 @interface SyncControlPanelViewController ()
 
 @end
@@ -124,7 +125,7 @@
     //    if(self.attachment_name.length>0)
     //        filename = self.attachment_name;
     
-    NSString* dbzippath= [RAUtils getdbzip:DBNAME];
+    NSString* dbzippath= [DBUtil getdbzip:DBNAME];
     NSData *data1 = [NSData dataWithContentsOfFile:dbzippath];
 //    filename=@"database.db";
     

+ 6 - 5
RedAnt ERP Mobile/common/Functions/order/CreateOrderViewController.m

@@ -9,7 +9,7 @@
 #import "CreateOrderViewController.h"
 #import "RANetwork.h"
 #import "MainViewController.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "config.h"
 #import "CustomIOSAlertView.h"
 #import "AddressEditorViewController.h"
@@ -298,7 +298,7 @@
     
     UIImage *submit_img = [[UIImage imageNamed:@"commit"] imageWithRenderingMode:UIImageRenderingModeAutomatic];
     
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     submit_img = [[UIImage imageNamed:@"submit_red"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
 #endif
     
@@ -325,7 +325,7 @@
         // 正常情况
         if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
             // customer的订单必须是Sales Order并且有提交权限才能提交
-            if ([Singleton sharedInstance].currentOrderIsMerged && [Singleton sharedInstance].permissions_submit_order) {
+            if ([RASingleton sharedInstance].currentOrderIsMerged && [RASingleton sharedInstance].permissions_submit_order) {
                 
                 [items addObject:self.btnSubmitOrder];
 
@@ -1980,7 +1980,7 @@
                         
                         if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
                             
-                            if (![Singleton sharedInstance].currentOrderIsMerged) {
+                            if (![RASingleton sharedInstance].currentOrderIsMerged) {
                                 [self releaseOrderAfterSave];
                             }
                             
@@ -2796,6 +2796,7 @@
     NSString* refresh_trigger = [item_json valueForKey:@"name"];
     NSDictionary* sub_action = [item_json objectForKey:[NSString stringWithFormat:@"item_%ld",(long)sender.tag]];
     NSString* type = [sub_action valueForKey:@"type"];
+    bool discardDirty = [[sub_action valueForKey:@"discard_dirty"] boolValue];
     if([type isEqualToString:@"pull"])
     {
         
@@ -2909,7 +2910,7 @@
             //                }
             //
             //            }
-            [self refresh:refresh_trigger] ;
+            [self refresh:refresh_trigger discardDirty:discardDirty] ;
             return ;
         }
         

+ 13 - 13
RedAnt ERP Mobile/common/Functions/order/OrderDetailViewController.m

@@ -175,7 +175,7 @@
     
 //    self.btnSign.tintColor = UIColorFromRGB(0x996633);
     
-#if defined(BUILD_NPD) || defined(BUILD_USAI)
+#if defined(BUILD_NPD) || defined(BUILD_USAI)|| defined (BUILD_CONTRAST)
     self.btnCopy =[[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"order_copy"] imageWithRenderingMode:UIImageRenderingModeAutomatic]
                                                    style:UIBarButtonItemStylePlain
                                                   target:self
@@ -421,7 +421,7 @@
     ViewController.mail_to = send_to;
     NSString* subject = nil;
     
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     subject=[NSString stringWithFormat:@"%@ -- SO# %@ from %@",company,so,COMPANY_NAME];
     
     if (appDelegate.user_type == USER_ROLE_CUSTOMER&&self.is_shoporder) {
@@ -749,7 +749,7 @@
                                                 //                                [((MainViewController*)appDelegate.main_vc) reloadCart:true immediately:false];
                                                 //                                if(self.selectOrder)
                                                 //                                    self.selectOrder(self.content_data);
-                    #if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+                    #if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
                                                 int count = [[self.content_data objectForKey:@"count"] intValue];
                                                 for (int i = 0; i < count; i++) {
                                                     NSString *key = [NSString stringWithFormat:@"section_%d",i];
@@ -908,7 +908,7 @@
                                         if([[order_json valueForKey:@"result"] intValue]==2)
                                         {
                                             
-            #if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+            #if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
                                             int count = [[weakSelf.content_data objectForKey:@"count"] intValue];
                                             for (int i = 0; i < count; i++) {
                                                 NSString *key = [NSString stringWithFormat:@"section_%d",i];
@@ -1939,7 +1939,7 @@
     //        return 150;
     
  
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     NSDictionary *section_item = [self.content_data objectForKey:[NSString stringWithFormat:@"section_%ld",indexPath.section]];
     NSDictionary *data = [section_item objectForKey:@"data"];
     NSString *type = [section_item objectForKey:@"type"];
@@ -2144,7 +2144,7 @@
     
     NSString*labeltitle = nil;
     
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     NSDictionary *section_item = [self.content_data objectForKey:[NSString stringWithFormat:@"section_%ld",section]];
     NSString *title = [section_item objectForKey:@"title"];
     labeltitle = title;
@@ -2324,7 +2324,7 @@
      self.content_data_control = [self translate_json:self.content_data_download changed:self.changed_data];
      
      */
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     NSUInteger section = sender.tag;
     NSMutableDictionary *section_item = [[self.content_data objectForKey:[NSString stringWithFormat:@"section_%ld",section]] mutableCopy];
     NSString *title = [section_item objectForKey:@"title"];
@@ -2433,7 +2433,7 @@
     
     if(self.content_data==nil)
         return 0;
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     return [[self.content_data objectForKey:@"count"] integerValue];
 #endif
     
@@ -2455,7 +2455,7 @@
 }
 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
 {
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     
     NSDictionary *section_item = [self.content_data objectForKey:[NSString stringWithFormat:@"section_%ld",section]];
     NSDictionary *data = [section_item objectForKey:@"data"];
@@ -2550,7 +2550,7 @@
         }
     }
     if(section==3) {
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
         return 6;
 #endif
         
@@ -2575,7 +2575,7 @@
     UIApplication * app = [UIApplication sharedApplication];
     AppDelegate *appDelegate = (AppDelegate *)[app delegate];
  
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     /**
      * ver1.90
      */
@@ -3903,7 +3903,7 @@
                     cell.priceLabel.text =[self.content_data valueForKey:@"Shipping"];
                     break;
                 case 2: {
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
                     cell.chargeLabel.text = @"Liftgate Fee(No loading dock):";
                     cell.priceLabel.text =[self.content_data valueForKey:@"Liftgate Fee(No loading dock)"];
 #endif
@@ -3921,7 +3921,7 @@
                 }
                     break;
                 case 3: {
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
                     cell.chargeLabel.text = @"Handling Fee:";
                     cell.priceLabel.text =[self.content_data valueForKey:@"Handling Fee"];
 #endif

+ 16 - 16
RedAnt ERP Mobile/common/Functions/order/OrderListViewController.m

@@ -18,7 +18,7 @@
 #import "DefaultTableHeaderView.h"
 #import "SelectUploadOrderViewController.h"
 #import "NotificationNameCenter.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "ERPUtils.h"
 
 
@@ -136,7 +136,7 @@
     self.content_data = [[NSMutableArray alloc]init];
     // Customer Order Type 0 Shop Order/ 1 Sales Order
     self.orderType = self.orderTypeSegmentControl.selectedSegmentIndex;
-    [Singleton sharedInstance].customer_order_type = self.orderType;
+    [RASingleton sharedInstance].customer_order_type = self.orderType;
     
     
     UIRefreshControl *ref = [[UIRefreshControl alloc]init];
@@ -191,8 +191,8 @@
     AppDelegate *appDelegate = (AppDelegate *)[app delegate];
     
     if (appDelegate.user && appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
-        self.shop_order_filter = [Singleton sharedInstance].shop_order_status_filter;
-        self.sales_order_filter = [Singleton sharedInstance].sales_order_status_filter;
+        self.shop_order_filter = [RASingleton sharedInstance].shop_order_status_filter;
+        self.sales_order_filter = [RASingleton sharedInstance].sales_order_status_filter;
         if(self.init_style==OL_OPEN)
         {
             NSData *data=[NSData dataWithContentsOfFile:[[NSBundle mainBundle]  pathForResource:@"status_filter_cadedate_open" ofType:@"json" ]];
@@ -260,13 +260,13 @@
     if(appDelegate.user && appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
         
         //  Check for Saved Order中Type和History Type不一致导致Status不正确
-        [Singleton sharedInstance].customer_order_type = self.orderType;
+        [RASingleton sharedInstance].customer_order_type = self.orderType;
 //        if (!self.table_order.isEditing) { // 在编辑状态下不能change Type否则显示混乱
 //            [self changeOrderType:self.orderType];
 //        }
         
         // 合并订单的权限
-        if ([Singleton sharedInstance].permissions_merge_order) { // 能够合并
+        if ([RASingleton sharedInstance].permissions_merge_order) { // 能够合并
             
             // 4 6 顺序不能换
             if (![items containsObject:self.editOrderListButton]) { // 没显示button
@@ -373,7 +373,7 @@
     
     // 显示Sales Order与否
     if (appDelegate.user && appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
-        if ([Singleton sharedInstance].global_lock || ![Singleton sharedInstance].customer_can_see_sales_Order) { // 是否解锁,是否有查看Sales Order权限
+        if ([RASingleton sharedInstance].global_lock || ![RASingleton sharedInstance].customer_can_see_sales_Order) { // 是否解锁,是否有查看Sales Order权限
             if (self.orderTypeSegmentControl.numberOfSegments > 1) {
                 [self.orderTypeSegmentControl removeSegmentAtIndex:1 animated:YES];
                 [self changeOrderType:0];
@@ -1421,7 +1421,7 @@
     AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
 
     if(appDelegate.user_type==USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) { // Customer
-        if ([Singleton sharedInstance].global_lock) { // Order list 被锁
+        if ([RASingleton sharedInstance].global_lock) { // Order list 被锁
             [RAUtils message_alert:@"Permission Needed.\nGoto Menu -> Unlock" title:@"Warning" controller:self];
             return;
         }
@@ -2069,7 +2069,7 @@
                 if (!isSavedOrder) {
                     return NO;
                 } else {
-                    if ([Singleton sharedInstance].permissions_merge_order || appDelegate.can_cancel_order) {
+                    if ([RASingleton sharedInstance].permissions_merge_order || appDelegate.can_cancel_order) {
                         return YES;
                     } else {
                         return NO;
@@ -2247,7 +2247,7 @@ commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:
                 [strongself.table_order endEditing:YES];
                 [strongself ReloadData];
                 
-                if ([Singleton sharedInstance].customer_can_see_sales_Order) {
+                if ([RASingleton sharedInstance].customer_can_see_sales_Order) {
                     
                     [strongself openOrder:ret];
                     
@@ -2316,7 +2316,7 @@ commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:
 
 - (IBAction)editOrderListButtonClick:(UIBarButtonItem *)sender {
 
-    if ([Singleton sharedInstance].global_lock) { // Order list 被锁
+    if ([RASingleton sharedInstance].global_lock) { // Order list 被锁
         [RAUtils message_alert:@"Permission Needed.\nGoto Menu -> Unlock" title:@"Warning" controller:self];
         return;
     }
@@ -2327,7 +2327,7 @@ commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:
     if (self.table_order.isEditing) {
         [self mergeListButtonClick:nil];
         // 结束选择时恢复
-        if ([Singleton sharedInstance].customer_can_see_sales_Order && ![Singleton sharedInstance].global_lock) { // 有查看Sales order 权限,并且app没有锁
+        if ([RASingleton sharedInstance].customer_can_see_sales_Order && ![RASingleton sharedInstance].global_lock) { // 有查看Sales order 权限,并且app没有锁
             if (self.orderTypeSegmentControl.numberOfSegments == 1) {
                 [self.orderTypeSegmentControl insertSegmentWithTitle:[NSString stringWithFormat:@"Purchase Order to %@",COMPANY_SHORT_NAME] atIndex:1 animated:YES];
             }
@@ -2363,7 +2363,7 @@ commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:
 
 - (void)changeOrderType:(NSInteger)ordertype {
     self.orderType = ordertype;
-    [Singleton sharedInstance].customer_order_type = ordertype;
+    [RASingleton sharedInstance].customer_order_type = ordertype;
     if(self.init_style != OL_OPEN) {
         switch (ordertype) {
             case 0:{
@@ -2393,7 +2393,7 @@ commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:
         } else {
             
             // 合并订单的权限
-            if ([Singleton sharedInstance].permissions_merge_order) { // 能够合并
+            if ([RASingleton sharedInstance].permissions_merge_order) { // 能够合并
                 
                 // 4 6 顺序不能换
                 if (![items containsObject:self.editOrderListButton]) { // 没显示button
@@ -2560,7 +2560,7 @@ commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:
 //            [self changeOrderType:0];
         }
     } else { // 解锁
-        if ([Singleton sharedInstance].customer_can_see_sales_Order) { // 有查看Sales order 权限
+        if ([RASingleton sharedInstance].customer_can_see_sales_Order) { // 有查看Sales order 权限
             if (self.orderTypeSegmentControl.numberOfSegments == 1 && !self.table_order.isEditing) {
                 [self.orderTypeSegmentControl insertSegmentWithTitle:[NSString stringWithFormat:@"Purchase Order to %@",COMPANY_SHORT_NAME] atIndex:1 animated:YES];
             }
@@ -2578,7 +2578,7 @@ commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:
     }
     if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
         self.orderTypeSegmentControl.selectedSegmentIndex = 0;
-        [Singleton sharedInstance].customer_order_type = 0;
+        [RASingleton sharedInstance].customer_order_type = 0;
         
     }
 }

+ 4 - 2
RedAnt ERP Mobile/common/Functions/order/RAOrderEditorViewController.m

@@ -581,7 +581,8 @@ static const int totalPage = 3;
     [self setupPageControlBar];
 
     self.content_data_download = [NSMutableDictionary dictionary];
-    [self refresh:nil];
+    
+    [self refresh:nil discardDirty:false];
 }
 
 #pragma mark - Override
@@ -1236,6 +1237,7 @@ static const int totalPage = 3;
     NSString* refresh_trigger = [item_json valueForKey:@"name"];
     NSDictionary* sub_action = [item_json objectForKey:[NSString stringWithFormat:@"item_%ld",(long)sender.tag]];
     NSString* type = [sub_action valueForKey:@"type"];
+    bool discardDirty = [[sub_action valueForKey:@"discard_dirty"] boolValue];
     if([type isEqualToString:@"pull"])
     {
         
@@ -1349,7 +1351,7 @@ static const int totalPage = 3;
             //                }
             //
             //            }
-            [self refresh:refresh_trigger] ;
+            [self refresh:refresh_trigger discardDirty:discardDirty];
             return ;
         }
         

+ 6 - 5
RedAnt ERP Mobile/common/Functions/order/RAOrderPreviewController.m

@@ -9,7 +9,7 @@
 #import "RAOrderPreviewController.h"
 #import "RANetwork.h"
 #import "MainViewController.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "config.h"
 #import "CustomIOSAlertView.h"
 #import "AddressEditorViewController.h"
@@ -299,7 +299,7 @@
                                               action:@selector(onSaveClick:)];
     
     
-#ifdef BUILD_NPD
+#if defined(BUILD_NPD) || defined (BUILD_CONTRAST)
     UIImage *submit_img = [[UIImage imageNamed:@"submit_red"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
     self.btnSubmitOrder = nil;
     self.btnSubmitOrder =[[UIBarButtonItem alloc] initWithImage:submit_img
@@ -334,7 +334,7 @@
         // 正常情况
         if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
             // customer的订单必须是Sales Order并且有提交权限才能提交
-            if ([Singleton sharedInstance].currentOrderIsMerged && [Singleton sharedInstance].permissions_submit_order) {
+            if ([RASingleton sharedInstance].currentOrderIsMerged && [RASingleton sharedInstance].permissions_submit_order) {
                 
                 [items addObject:self.btnSubmitOrder];
                 
@@ -1957,7 +1957,7 @@
                         
                         if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) {
                             
-                            if (![Singleton sharedInstance].currentOrderIsMerged) {
+                            if (![RASingleton sharedInstance].currentOrderIsMerged) {
                                 [self releaseOrderAfterSave];
                             }
                             
@@ -2506,6 +2506,7 @@
     NSString* refresh_trigger = [item_json valueForKey:@"name"];
     NSDictionary* sub_action = [item_json objectForKey:[NSString stringWithFormat:@"item_%ld",(long)sender.tag]];
     NSString* type = [sub_action valueForKey:@"type"];
+    bool discardDirty = [[sub_action valueForKey:@"discard_dirty"] boolValue];
     if([type isEqualToString:@"pull"])
     {
         
@@ -2619,7 +2620,7 @@
             //                }
             //
             //            }
-            [self refresh:refresh_trigger] ;
+            [self refresh:refresh_trigger discardDirty:discardDirty] ;
             return ;
         }
         

+ 1 - 1
RedAnt ERP Mobile/common/Functions/portfolio/TearSheetParamViewController.m

@@ -10,7 +10,7 @@
 #import "RANetwork.h"
 #import "RAPDFViewController.h"
 #import "MainViewController.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "TextUtils.h"
 #import "JKTimerManager.h"
 

+ 11 - 5
RedAnt ERP Mobile/common/Functions/sidemenu/LoginViewController.m

@@ -35,21 +35,27 @@
 - (void)viewDidLoad
 {
     [super viewDidLoad];
+    
+#ifdef OFFLINE_MODE
+    self.checkOfflineMode.hidden=false;
+#else
+    self.checkOfflineMode.hidden=true;
+#endif
 #ifdef BUILD_HMLG
     self.title=COMPANY_SHORT_NAME;
-    self.checkOfflineMode.hidden=true;
+    
     self.requestLoginBtn.hidden = YES;
 #endif
     
 #if defined(BUILD_HOMER) || defined(BUILD_GATIT) || defined(BUILD_UWAVER)
     self.title=COMPANY_SHORT_NAME;
-    self.checkOfflineMode.hidden = YES;
+//    self.checkOfflineMode.hidden = YES;
     self.requestLoginBtn.hidden = YES;
 #endif
     
-#if defined(BUILD_NPD) || defined(BUILD_USAI)
+#if defined(BUILD_NPD) || defined(BUILD_USAI)|| defined (BUILD_CONTRAST)
     self.title=COMPANY_SHORT_NAME;
-    self.checkOfflineMode.hidden=false;
+//    self.checkOfflineMode.hidden=false;
 #endif
     self.showList = false;
     
@@ -755,7 +761,7 @@
 
 - (IBAction)requestLoginBtnClicked:(UIButton *)sender {
 
-#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)
+#if defined(BUILD_NPD) || defined(BUILD_USAI) || defined(BUILD_UWAVER)|| defined (BUILD_CONTRAST)
     WebViewController *webVC = [[UIStoryboard storyboardWithName:@"wkweb" bundle:nil] instantiateViewControllerWithIdentifier:@"WebViewController"];
     webVC.url = URL_REQUEST_LOGIN;
     webVC.title = @"Request Login";

+ 1 - 1
RedAnt ERP Mobile/common/PDFUtils.m

@@ -366,7 +366,7 @@ isnew:(bool)isNewDocument
                 
                 control_drawable=[[ImageDrawable alloc] init:[self WindowRect2PDFRect:control_rect pdf_rect:papersize window_size:window_rect.size] source_type:@"local" source:value hAlign:@"center" vAlign:@"middle"];
             }
-            else if([control_type isEqualToString:@"TextView"]||[control_type isEqualToString:@"Label"]||[control_type isEqualToString:@"DatePicker"])
+            else if([control_type isEqualToString:@"TextView"]||[control_type isEqualToString:@"Label"]||[control_type isEqualToString:@"TouchLabel"]||[control_type isEqualToString:@"DatePicker"])
             {
                 
                 

+ 1 - 1
RedAnt ERP Mobile/common/Price Setting/CategoryPriceCell.m

@@ -39,7 +39,7 @@
     NSString *price = @"";
     switch (basePrice.integerValue) {
         case 0:{
-            basePrice = [Singleton sharedInstance].deliveryString;
+            basePrice = [RASingleton sharedInstance].deliveryString;
         }
             break;
         case 1:{

+ 6 - 6
RedAnt ERP Mobile/common/Price Setting/PriceSettingViewController.m

@@ -11,7 +11,7 @@
 #import "EnumSelectViewController.h"
 #import "CategoryPriceViewController.h"
 #import "RANetwork.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 #import <objc/runtime.h>
 #import "MainViewController.h"
 #import "NotificationNameCenter.h"
@@ -34,7 +34,7 @@
     [super viewDidLoad];
     // Do any additional setup after loading the view.
     
-    self.priceType = [Singleton sharedInstance].npd_shop_price_type;
+    self.priceType = [RASingleton sharedInstance].npd_shop_price_type;
     
     [self configAppearance];
     
@@ -50,7 +50,7 @@
 - (void)configAppearance {
     
 
-    self.setPriceButton.hidden = ![Singleton sharedInstance].permissions_price_setting;
+    self.setPriceButton.hidden = ![RASingleton sharedInstance].permissions_price_setting;
 
     
     UIApplication * app = [UIApplication sharedApplication];
@@ -71,10 +71,10 @@
 
 - (void)changePriceType:(NSInteger)type {
     
-    NSString *title = [Singleton sharedInstance].deliveryString;
+    NSString *title = [RASingleton sharedInstance].deliveryString;
     switch (type) {
         case 0: {
-            title = [Singleton sharedInstance].deliveryString;
+            title = [RASingleton sharedInstance].deliveryString;
         }
             break;
         case 1: {
@@ -247,7 +247,7 @@
                     // 成功
                     if ([[dic objectForKey:@"result"] integerValue] == 2) {
                         
-                        [Singleton sharedInstance].npd_shop_price_type = self.priceType;
+                        [RASingleton sharedInstance].npd_shop_price_type = self.priceType;
                         
                         
                         

+ 3 - 3
RedAnt ERP Mobile/common/Price Setting/SetCategoryPriceController.m

@@ -79,10 +79,10 @@
 
 - (void)changePriceType:(NSInteger)type {
     
-    NSString *title = [Singleton sharedInstance].deliveryString;
+    NSString *title = [RASingleton sharedInstance].deliveryString;
     switch (type) {
         case 0: {
-            title = [Singleton sharedInstance].deliveryString;
+            title = [RASingleton sharedInstance].deliveryString;
         }
             break;
         case 1: {
@@ -132,7 +132,7 @@
     
     enumvc.cadedate = @{
                         @"count" : @"2",
-                        @"val_0" : @{@"value" : [Singleton sharedInstance].deliveryString,@"value_code" : @"0",@"check" : [self checkPriceType:0]},
+                        @"val_0" : @{@"value" : [RASingleton sharedInstance].deliveryString,@"value_code" : @"0",@"check" : [self checkPriceType:0]},
                         @"val_1" : @{@"value" : flat_price,@"value_code" : @"1",@"check" : [self checkPriceType:1]}
                         }.mutableCopy;
     enumvc.title = @"";

+ 11 - 1
RedAnt ERP Mobile/common/Singleton.h → RedAnt ERP Mobile/common/RASingleton.h

@@ -9,7 +9,7 @@
 #import <Foundation/Foundation.h>
 #import <sqlite3.h>
 
-@interface Singleton : NSObject
+@interface RASingleton : NSObject
 
 typedef enum {
     Shop_Order = 0,
@@ -38,6 +38,16 @@ typedef enum {
 @property (nonatomic,  copy) NSString *specialInstruction;///<登陆时传的Special Instruction,在提交订单时显示
 @property (nonatomic,assign) BOOL currentOrderIsMerged;///<当前打开的订单是否为Purchas Order
 @property (nonatomic,strong) NSDictionary *customerInfo;///<登录账号信息
+///
+///
+#pragma mark - Global Param Begin
+
+- (void)setGlobalParameter:(id)param forKey:(NSString *)key;
+- (id)globalParameterForKey:(NSString *)key;
+
+#pragma mark - Globale Param End
+
+///
 
 #pragma mark - Employee
 

+ 33 - 4
RedAnt ERP Mobile/common/Singleton.m → RedAnt ERP Mobile/common/RASingleton.m

@@ -6,20 +6,49 @@
 //  Copyright © 2016年 United Software Applications, Inc. All rights reserved.
 //
 
-#import "Singleton.h"
+#import "RASingleton.h"
 #import "NotificationNameCenter.h"
+@interface RASingleton ()
 
-@implementation Singleton
+@property (nonatomic,strong) NSMutableDictionary *globalParameters;
+
+
+@end
+
+@implementation RASingleton
+#pragma mark - Global Parameter
+
+- (NSMutableDictionary *)globalParameters {
+    if (!_globalParameters) {
+        _globalParameters = [NSMutableDictionary dictionary];
+    }
+    return _globalParameters;
+}
+
+
+- (void)setGlobalParameter:(id)param forKey:(NSString *)key {
+    if (param == nil || key == nil) {
+        return;
+    }
+    [self.globalParameters setObject:param forKey:key];
+}
+- (id)globalParameterForKey:(NSString *)key {
+    if (key == nil) {
+        return nil;
+    }
+    return [self.globalParameters objectForKey:key];
+}
 
 - (void)dealloc {
     [[NSNotificationCenter defaultCenter] removeObserver:self];
 }
 
+
 + (instancetype)sharedInstance {
-    static Singleton *singleton = nil;
+    static RASingleton *singleton = nil;
     static dispatch_once_t onceToken;
     dispatch_once(&onceToken, ^{
-        singleton = [[Singleton alloc] init];
+        singleton = [[RASingleton alloc] init];
         [[NSNotificationCenter defaultCenter] addObserver:singleton selector:@selector(handleLogin:) name:User_LoginOK_Notification object:nil];
     });
     return singleton;

+ 1 - 1
RedAnt ERP Mobile/common/categoryMenu_RATree/RAViewController.h

@@ -19,7 +19,7 @@
 @property (nonatomic, weak) id<CategoryMenuDelegate> CateMenu_delegate;
 -(void) SetMenu:(NSDictionary*) menu;
 //@property (strong, nonatomic) IBOutlet UINavigationItem *header;
-@property (strong, nonatomic) IBOutlet UINavigationBar *headerview;
+//@property (strong, nonatomic) IBOutlet UINavigationBar *headerview;
 @property (strong, nonatomic) IBOutlet UIView *treeContainer;
 //@property (strong,nonatomic) id rootViewController;
 //@property (strong, nonatomic) IBOutlet UINavigationItem *navi_item;

+ 136 - 0
RedAnt ERP Mobile/common/const.h

@@ -0,0 +1,136 @@
+//
+//  const.h
+//  RedAnt ERP Mobile
+//
+//  Created by Ray on 14-6-20.
+//  Copyright (c) 2014年 United Software Applications, Inc. All rights reserved.
+//
+#define DEBUGLOG 1
+#ifdef DEBUGLOG
+    #ifdef DEBUG
+   //     #define DebugLog( s, ... ) fprintf(stderr,"%s\n",[[NSString stringWithFormat:s, ##__VA_ARGS__] UTF8String])//
+#define DebugLog( s, ... ) fprintf(stderr, "<%p %s:(%d)> %s \n", self, [[[NSString stringWithUTF8String:__FILE__] lastPathComponent]UTF8String], __LINE__, [[NSString stringWithFormat:(s), ##__VA_ARGS__]UTF8String] )
+
+#define blockDebugLog( s, ... ) fprintf(stderr, "<%p %s:(%d)> %s \n",weakself, [[[NSString stringWithUTF8String:__FILE__] lastPathComponent]UTF8String], __LINE__, [[NSString stringWithFormat:(s), ##__VA_ARGS__]UTF8String] )
+
+    #else
+        #define DebugLog( s, ... )
+
+        #define blockDebugLog( s, ... )
+    #endif
+#else
+    #define DebugLog( s, ... )
+
+    #define blockDebugLog( s, ... )
+#endif
+
+
+#define DEPRECATED(_version) __attribute__((deprecated))
+
+
+#ifndef RedAnt_ERP_Mobile_const_h
+#define RedAnt_ERP_Mobile_const_h
+
+
+
+
+#define COLOR(R,G,B,A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A]
+
+#define DBNAME    @"iSales.db"
+#define CYCLESCROLL_STOPTIMMER  @"CycleScroll stop timer"
+#define URL_REMOTE 1
+#define URL_LOCAL 0
+#define URL_NONE 2
+#define URL_RESTORE 3
+
+#define RETRY_DELAY 15 //offline getting data retry delay.
+#define DOWNLOAD_RETRY_TIMES 5 //retry times for single download.
+#define REQUEST_DOWNLOAD_RETRY_TIMES 240 //retry times for single download.40==60 min
+
+#define REFRESH_NONE 0
+#define REFRESH_VIEW 1
+#define REFRESH_DATA 2
+
+
+#define AP_USER_NOT_EXIST				 0
+#define AP_USER_NOT_AUTH				 1
+#define AP_USER_AUTH					 2
+
+
+#define AP_SESSION_EXPIRED				 4
+
+#define AP_MESSAGE_NEW				 5
+#define AP_MESSAGE_NONE					 6
+
+//#define OFFLINE_MODE true
+#define OFFLINE_ARRAY_SEPARATOR @";"
+#define OFFLINE_IMG_TYPE_CATEGORY 1
+#define OFFLINE_IMG_TYPE_DETAIL 0
+
+#define RESULT_FALSE 0
+#define RESULT_NO_RESPONSE 1
+#define RESULT_TRUE		 2
+#define RESULT_NO_EMAIL_ADDRESS      3
+#define RESULT_NET_SERVER_ERR		 -1
+#define RESULT_NET_ERROR			 -3
+#define RESULT_NET_NOTAVAILABLE		  -4
+#define RESULT_ERROR				 -5
+#define RESULT_LOCALFILE_ERROR			 -7
+#define RESULT_USERAUTH_ERROR			 -9
+#define RESULT_UPDATE_USERAUTH_ERROR	 -11
+#define RESULT_SESSION_EXPIRED			  -13
+#define RESULT_VER_LOW                   -15
+#define RESULT_BACKEND_CRASH                   -20
+#define RESULT_RESPONSE_ERROR                   -30
+#define RESULT_TIMEOUT                   99
+
+#define RESULT_LOGIN_DEVICE                   -18
+
+#define RESULT_NO_MODEL                   8
+
+#define CATEGORY_VIEWTYPE_SMALL 0
+#define CATEGORY_VIEWTYPE_LARGE 1
+#define CATEGORY_VIEWTYPE_CUSTOM 2
+#define CATEGORY_VIEWTYPE_LIST 3
+
+
+#define MSG_NET_NOTAVAILABLE @"No available network, please check your network setting."
+#define MSG_NET_ERROR @"Net Error. Cannot connect to server for now. Please retry later."
+#define MSG_USERAUTH_ERROR @"Username or password is incorrect.Please check."
+#define MSG_VER_LOW @"Current App version is out of date, please update to the latest version."
+#define MSG_ERROR @"Connection failed with Server, please email your IT Admin."//@"Some error occured on server."
+#define MSG_SUCCESS @"Success."
+#define MSG_LOGIN_DEVICE @"You are currently signed in on another device. Please check."
+#define MSG_TIMEOUT @"Request timeout."
+
+#define MSG_OFFLINE_SUBMIT @"Offline order will be submitted when you login online mode and sync with server."
+#define TITLE_OFFLINE_SUBMIT @"Offline Submit"
+
+#define EMAIL_MATCHES @"\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}"
+
+#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
+
+
+#define USER_ROLE_CUSTOMER 0
+#define USER_ROLE_EMPLOYEE 1
+#define USER_ROLE_UNKNOWN 2
+// 如何处理commoneditor action 类型调用的返回值
+#define  ACTION_SAVE_DATA 0
+#define ACTION_FILL_SECTION 1
+
+#define JSON_TIMEOUT 60
+
+#ifndef dispatch_queue_async_safe
+#define dispatch_queue_async_safe(queue, block)\
+if (strcmp(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL), dispatch_queue_get_label(queue)) == 0) {\
+block();\
+} else {\
+dispatch_async(queue, block);\
+}
+#endif
+
+#ifndef dispatch_main_async_safe
+#define dispatch_main_async_safe(block) dispatch_queue_async_safe(dispatch_get_main_queue(), block)
+#endif
+
+#endif

+ 21 - 0
RedAnt ERP Mobile/common/data_provider/RADataProvider.h

@@ -0,0 +1,21 @@
+//
+//  RADataProvider.h
+//  iSales-USAI
+//
+//  Created by Rui Zhang on 11/11/21.
+//  Copyright © 2021 United Software Applications, Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import "NetworkUtils.h"
+#import "RANetwork.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface RADataProvider : RANetwork
++(void)request_editor:(NSString*) request_url params:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
++(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result;
++(void)SaveEditor:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
+@end
+
+NS_ASSUME_NONNULL_END

+ 254 - 0
RedAnt ERP Mobile/common/data_provider/RADataProvider.m

@@ -0,0 +1,254 @@
+//
+//  RADataProvider.m
+//  iSales-USAI
+//
+//  Created by Rui Zhang on 11/11/21.
+//  Copyright © 2021 United Software Applications, Inc. All rights reserved.
+//
+
+#import "RADataProvider.h"
+
+@implementation RADataProvider
+
++(void)request_editor:(NSString*) request_url params:(NSMutableDictionary*)params completionHandler:(resultHandler)result
+{
+    //    NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
+    AppDelegate *appDelegate = nil;
+    
+    appDelegate=(AppDelegate*)[[UIApplication sharedApplication] delegate];
+    if(appDelegate.user!=nil)
+        [params setValue:appDelegate.user forKey:@"user"];
+    
+    
+    //    if(![appDelegate.order_customer_id isEqualToString: appDelegate.contact_id]&& appDelegate.order_customer_id!=nil)
+    //        [params setValue:appDelegate.order_customer_id forKey:@"contactId"];
+    //    else
+    
+    if(appDelegate.contact_id!=nil)
+        [params setValue:appDelegate.contact_id forKey:@"contactId"];
+    if(appDelegate.password!=nil)
+        [params setValue:appDelegate.password forKey:@"password"];
+    
+    if(appDelegate.order_code!=nil)
+        [params setValue:appDelegate.order_code forKey:@"orderCode"];
+    
+    bool can_create_backorder=appDelegate.can_create_backorder;
+    //    [params setValue:sourceid forKey:@"sourceid"];
+    //    [params setValue:editor forKey:@"editor"];
+    DebugLog(@"request editor url:%@",request_url);
+    
+    
+    if([request_url isEqualToString:URL_NEW_CUSTOMER])
+    {
+        [params setObject:ScreenCodeNewCustomer forKey:kScreenName];
+    }
+    else if([request_url isEqualToString:URL_EDIT_CUSTOMER])
+    {
+        [params setObject:ScreenCodeEditCustomer forKey:kScreenName];
+    }
+    else if([request_url isEqualToString:URL_CUSTOMER_ADV_SEARCH])
+    {
+        [params setObject:ScreenCodeAdvanceSearch forKey:kScreenName];
+    }
+    else if([request_url isEqualToString:URL_CARTDELIVERY])
+    {
+        [params setObject:ScreenCodePlaceOrder forKey:kScreenName];
+    }
+    else if([request_url isEqualToString:URL_ADDRESS_EDOTOR])
+    {
+        [params setObject:ScreenCodeNewAddress forKey:kScreenName];
+    }
+    else if ([request_url isEqualToString:URL_DM_PARAMS]){
+        [params setObject:ScreenCodeCreatePortfolio forKey:kScreenName];
+    }
+    
+    
+    if(appDelegate.offline_mode)
+    {
+        
+        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+            
+            NSData* json = nil;
+            if([request_url isEqualToString:URL_NEW_CUSTOMER])
+            {
+                json= [OLDataProvider offline_createContact:params];
+            }
+            else if([request_url isEqualToString:URL_EDIT_CUSTOMER])
+            {
+                json= [OLDataProvider offline_editContact:params];
+            }
+            else if([request_url isEqualToString:URL_CUSTOMER_ADV_SEARCH])
+            {
+                json= [OLDataProvider offline_contactAdvancedSearch:params];
+            }
+            else if([request_url isEqualToString:URL_CARTDELIVERY])
+            {
+                
+                params[@"contact_id"]=params[@"contactId"];
+                params[@"can_create_backorder"]=@(can_create_backorder);
+                
+                json= [OLDataProvider offline_placeorder:params];
+            }
+            else if([request_url isEqualToString:URL_ADDRESS_EDOTOR])
+            {
+                json= [OLDataProvider offline_addreditor:params];
+            }
+            else if ([request_url isEqualToString:URL_DM_PARAMS]){
+                json = [OLDataProvider offline_createTearSheet:params];
+            }
+            
+            
+            dispatch_async(dispatch_get_main_queue(), ^{
+                
+                if(json==nil)
+                    result( [[OLDataProvider offline_notimpl] mutableCopy]);
+                else
+                    result([[RAConvertor data2dict:json] mutableCopy]);
+            });
+        });
+        
+        return;
+        
+        
+    }
+    else
+    {
+        
+        
+        if([request_url isEqualToString:URL_CARTDELIVERY])
+        {
+            
+            
+            NSString * uuid= [[NSUUID UUID] UUIDString];
+            params[@"resultSerial"]=uuid;
+            __block bool bbreak = false;
+            
+            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+                for(int i=0;i<150;i++)
+                {
+                    //           NSMutableDictionary* result_params = [[NSMutableDictionary alloc]init];
+                    //            result_params[@"resultSerial"]=uuid;
+                    //json=[self get_json:request_url parameters:params];
+                    if(bbreak)
+                        break;
+                    dispatch_async(dispatch_get_main_queue(), ^{
+                        NSLog(@"request cart delivery %d",i);
+                        [self request_interface:request_url parameters:params err_record_url:nil completionHandler:^(NSMutableDictionary *resulti) {
+                            if(resulti!=nil)
+                            {
+                                
+                                
+                                if([resulti[@"result"] intValue]==2 || [resulti[@"result"] intValue] == 8)
+                                {
+                                    
+                                    
+                                    if(!bbreak) //此判断保证result只调用一次。
+                                    {
+                                        result(resulti);
+                                        NSLog(@"result called at %d",i);
+                                    }
+                                    bbreak=true;
+                                }
+                            }
+                            
+                        } retry:3];
+
+                    });
+                                        
+                    //                [self request_interface:request_url parameters:params err_record_url:nil completionHandler:result retry:0];
+                    
+                    sleep(2);
+                }
+            });
+
+        }
+        else
+            [self request_interface:request_url parameters:params err_record_url:nil completionHandler:result retry:0];
+    }
+    //    if(json!=nil)
+    //    {
+    //        NSError *error=nil;
+    //        NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
+    //        return jsobj;
+    //    }
+    //    else
+    //        return nil;
+}
++(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result
+{
+    //    NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
+    AppDelegate *appDelegate = nil;
+    
+    
+    appDelegate=(AppDelegate*)[[UIApplication sharedApplication] delegate];
+    
+    if(appDelegate.user!=nil)
+        [params setValue:appDelegate.user forKey:@"user"];
+    if(appDelegate.contact_id!=nil)
+        [params setValue:appDelegate.contact_id forKey:@"contactId"];
+    if(appDelegate.password!=nil)
+        [params setValue:appDelegate.password forKey:@"password"];
+    
+    //    if(appDelegate.order_code!=nil)
+    //        [params setValue:appDelegate.order_code forKey:@"orderCode"];
+    
+    //    NSDictionary* customerinfo= appDelegate.customerInfo;
+    //
+    //    NSArray* keys=[customerinfo allKeys];
+    //    for(int i=0;i<keys.count;i++)
+    //    {
+    //        [params setValue:[customerinfo valueForKey:(NSString*)keys[i]] forKey:keys[i] ];
+    //    }
+    //
+    //    [params setValue:sourceid forKey:@"sourceid"];
+    //    [params setValue:editor forKey:@"editor"];
+    
+    [params setObject:ScreenCodeModelInfo forKey:kScreenName];
+    
+    if(appDelegate.offline_mode)
+    {
+        params[@"offline_Command"]=url;
+        [OLDataProvider offline_commoneditor_partialrefresh:params completionHandler:result];
+//
+//        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+//            NSMutableDictionary* json = [[OLDataProvider offline_commoneditor_partialrefresh:params] mutableCopy];
+//            dispatch_async(dispatch_get_main_queue(), ^{
+//                result(json);
+//            });
+//        });
+        
+        return;
+        
+    }
+    [self request_interface:url parameters:params err_record_url:nil completionHandler:result retry:0];
+    
+    
+    //
+    //    if(appDelegate.offline_mode)
+    //    {
+    //        params[@"offline_Command"]=url;
+    //        return [OLDataProvider offline_commoneditor_partialrefresh:params];
+    //    }
+    //
+    //    if(![self IsNetworkAvailable])
+    //        return [RAUtils error_json:RESULT_NET_NOTAVAILABLE err_msg:nil];
+    //
+    //    NSData* json=[self get_json:url parameters:params];
+    //    if(json!=nil)
+    //    {
+    //        NSError *error=nil;
+    //        NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
+    //        if([[jsobj valueForKey:@"result"]intValue]==2)
+    //            [appDelegate SetSo:nil];
+    //
+    //
+    //        return jsobj;
+    //    }
+    //    else
+    //        return nil;
+}
++(void)SaveEditor:(NSMutableDictionary*)params completionHandler:(resultHandler)result
+{
+
+}
+@end

+ 4 - 4
RedAnt ERP Mobile/common/data_provider/RANetwork.h

@@ -15,7 +15,7 @@
 #import "iSalesDB.h"
 #import "RAUtils.h"
 #import "NetworkUtils.h"
-
+#import "OLDataProvider.h"
 extern NSString *const kScreenName;
 extern NSString *const kAction;
 extern NSString *const kExtra;
@@ -60,7 +60,7 @@ extern NSString *const ScreenCodeOfflineSync;
 
 //+(NSDictionary*) add_toPortfolio:(NSString* ) item_id withScreen:(NSString *)screenName;
 //+(NSData*)get_json : (NSString*) url parameters:(NSMutableDictionary *) params;
-+(int)Authorize : (NSString*) user password:(NSString*) password ;
+//+(int)Authorize : (NSString*) user password:(NSString*) password ;
 //+(NSDictionary*)logout;
 //+(NSDictionary*)request_Cagegory;
 //+(NSDictionary*)load_HomePage: (int) price_template customid:(int) customid;
@@ -201,7 +201,7 @@ extern NSString *const ScreenCodeOfflineSync;
 
 +(void)request_contactinfo:(NSString* ) contactid completionHandler:(resultHandler)result;
 
-+(void)request_editor:(NSString*) request_url params:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
+//+(void)request_editor:(NSString*) request_url params:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
 +(void)request_wishlist:(int)sort completionHandler:(resultHandler)result;
 +(void)request_portfoliolist:(int)sort completionHandler:(resultHandler)result;
 +(void)request_portfoliopdf:(int ) offset limit:(int)limit keywords:(NSString* ) keywords completionHandler:(resultHandler)result;
@@ -259,7 +259,7 @@ extern NSString *const ScreenCodeOfflineSync;
 +(void)request_retrieve_password: (NSString*) user email:(NSString*) email completionHandler:(resultHandler)result;
 +(void)request_update_ordercustomer:(NSString*) order_code customerinfo:(NSMutableDictionary*)info completionHandler:(resultHandler)result;
 //+(void)request_update_customer_img: (NSString*) contactid img_url:(NSString*) url completionHandler:(resultHandler)result;
-+(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result;
+//+(void)request_commoneditor_partialrefresh: (NSMutableDictionary*)params url:(NSString*)url completionHandler:(resultHandler)result;
 +(void)request_add_address:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
 +(void)request_commit_order:(NSMutableDictionary*)params completionHandler:(resultHandler)result;
 #pragma mark offline

+ 122 - 42
RedAnt ERP Mobile/common/data_provider/RANetwork.m

@@ -8,8 +8,8 @@
 
 #import "RANetwork.h"
 #import "RAUtils.h"
-#import "OLDataProvider.h"
-#import "Singleton.h"
+
+#import "RASingleton.h"
 #import "GoogleAnalyst.h"
 #import "ERPUtils.h"
 #import "RAConvertor.h"
@@ -54,7 +54,7 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
 @implementation RANetwork
 
 
-+(NSMutableDictionary*) prepare_addtional_params:(NSMutableDictionary* ) params
++(NSMutableDictionary*) prepare_additional_params:(NSMutableDictionary* ) params
 {
     AppDelegate *appDelegate = nil;
     
@@ -142,7 +142,7 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
     //    NSString* e=[AESCrypt AES128Encrypt:@"密码学中的高级加密标准(Advanced Encryption Standard,AES),又称 高级加密标准Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。 " key:@"usai2010"];
     //    DebugLog(e);
     //    NSString* d=[AESCrypt decrypt:@"VzB4+lENfbzWX7ggHh2Os1P69l5YBzKmM51yqA37AfoKgPY8bJgdK8M4WvF+wDyOsLWP\/o8H5+bHMivQp1u8wM2QV7SYzgzPwV85QKtYWIzEgLe9T0HO69EdutWz7k1rdAT\/mftsRin0Hy5SHk7txTZT\/zPH5X+FQiExCTFm5Zus39HYvp+VxCX4+kYeymn8B63AUd3mRQyscUvDjfgU2olKR\/TP8PV3g+VQMZxpKfol3P1iOtz3XQlHZV0pM6SAf+SwT0sPfrdn6CZFfNQlrKA9QjMrnBdMeSCquSIWXnmLv6okzvnlJnT0SjvJuUeqNdBC5EZ0ACnhI0MrXVZEsq1EuM9al7oPzvU5EZbjZpmx+fSFIkMzTT8bYClTnG1bsL1MCcU4pSODDorUj8zalA==" password:@"usai2010"];
-    params = [self prepare_addtional_params:params];
+    params = [self prepare_additional_params:params];
     DebugLog(@"\n++++++++++++++++++++++Request++++++++++++++++++++++\n%@\n++++++++++++++++++++++Params++++++++++++++++++++++\n%@\n",url,[RAConvertor dict2string:params]);
     return [super get_json:url parameters:params file:(NSString*)file err_recorder:URL_ERR_LOG result_handler:^NSMutableDictionary *(NSMutableDictionary *jsobj) {
         int result=[[jsobj valueForKey:@"result"] intValue];
@@ -4391,29 +4391,29 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
             
             // shop order status filter
             NSString *shopOrderStatusFilterStr = [objheader valueForKey:@"shopOrderFilter"] ;
-            [Singleton sharedInstance].shop_order_status_filter = [[RAConvertor string2dict:shopOrderStatusFilterStr] mutableCopy];
+            [RASingleton sharedInstance].shop_order_status_filter = [[RAConvertor string2dict:shopOrderStatusFilterStr] mutableCopy];
             // Sales order status filter
             NSString *salesOrderStatusFilterStr = [objheader valueForKey:@"purchaseOrderFilter"] ;
-            [Singleton sharedInstance].sales_order_status_filter = [[RAConvertor string2dict:salesOrderStatusFilterStr] mutableCopy];
+            [RASingleton sharedInstance].sales_order_status_filter = [[RAConvertor string2dict:salesOrderStatusFilterStr] mutableCopy];
             
             // specialInstruction
-            [Singleton sharedInstance].specialInstruction = [objheader valueForKey:@"specialInstruction"];
+            [RASingleton sharedInstance].specialInstruction = [objheader valueForKey:@"specialInstruction"];
             
             //-价格类型
-            [Singleton sharedInstance].npd_shop_price_type = [[objheader valueForKey:@"price_type"] integerValue];
+            [RASingleton sharedInstance].npd_shop_price_type = [[objheader valueForKey:@"price_type"] integerValue];
             
             // 权限
-            [Singleton sharedInstance].permissions_price_setting = [[objheader valueForKey:@"can_set_price_formula"] boolValue];
-            [Singleton sharedInstance].permissions_edit_order = [[objheader valueForKey:@"can_place_order"] boolValue];
+            [RASingleton sharedInstance].permissions_price_setting = [[objheader valueForKey:@"can_set_price_formula"] boolValue];
+            [RASingleton sharedInstance].permissions_edit_order = [[objheader valueForKey:@"can_place_order"] boolValue];
             
-            [Singleton sharedInstance].permissions_submit_order = [[objheader valueForKey:@"can_submit_order"] boolValue];
+            [RASingleton sharedInstance].permissions_submit_order = [[objheader valueForKey:@"can_submit_order"] boolValue];
             
-            [Singleton sharedInstance].permissions_merge_order = [[objheader valueForKey:@"can_merge_order"] boolValue];
+            [RASingleton sharedInstance].permissions_merge_order = [[objheader valueForKey:@"can_merge_order"] boolValue];
             
-            [Singleton sharedInstance].deliveryString = [objheader valueForKey:@"delivery_price"];
-            [[Singleton sharedInstance] resetGlobalLock];
-            [Singleton sharedInstance].customer_can_see_sales_Order = [[objheader valueForKey:@"can_see_salesorder"] boolValue];
-            [Singleton sharedInstance].customerInfo = [objheader objectForKeyedSubscript:@"customerInfo"];
+            [RASingleton sharedInstance].deliveryString = [objheader valueForKey:@"delivery_price"];
+            [[RASingleton sharedInstance] resetGlobalLock];
+            [RASingleton sharedInstance].customer_can_see_sales_Order = [[objheader valueForKey:@"can_see_salesorder"] boolValue];
+            [RASingleton sharedInstance].customerInfo = [objheader objectForKeyedSubscript:@"customerInfo"];
         }
         
         //        DebugLog(@"sessionid=%@ ",appDelegate.sessionid);
@@ -5100,12 +5100,12 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
     if (alert) {
         [params setObject:@"Filter" forKey:kAction];
     }
-    if ([Singleton sharedInstance].homeItemClick) {
+    if ([RASingleton sharedInstance].homeItemClick) {
         [params setObject:@"Brow A Particular Category On Home" forKey:kAction];
-        [Singleton sharedInstance].homeItemClick = NO;
+        [RASingleton sharedInstance].homeItemClick = NO;
         
-        NSDictionary *extra = @{@"CoverName" : [Singleton sharedInstance].homeClickedItemName};
-        [Singleton sharedInstance].homeClickedItemName = nil;
+        NSDictionary *extra = @{@"CoverName" : [RASingleton sharedInstance].homeClickedItemName};
+        [RASingleton sharedInstance].homeClickedItemName = nil;
         [params setObject:extra forKey:kExtra];
         
     }
@@ -5489,29 +5489,29 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
             
             // shop order status filter
             NSString *shopOrderStatusFilterStr = [objheader valueForKey:@"shopOrderFilter"] ;
-            [Singleton sharedInstance].shop_order_status_filter = [[RAConvertor string2dict:shopOrderStatusFilterStr] mutableCopy];
+            [RASingleton sharedInstance].shop_order_status_filter = [[RAConvertor string2dict:shopOrderStatusFilterStr] mutableCopy];
             // Sales order status filter
             NSString *salesOrderStatusFilterStr = [objheader valueForKey:@"purchaseOrderFilter"] ;
-            [Singleton sharedInstance].sales_order_status_filter = [[RAConvertor string2dict:salesOrderStatusFilterStr] mutableCopy];
+            [RASingleton sharedInstance].sales_order_status_filter = [[RAConvertor string2dict:salesOrderStatusFilterStr] mutableCopy];
             
             // specialInstruction
-            [Singleton sharedInstance].specialInstruction = [objheader valueForKey:@"specialInstruction"];
+            [RASingleton sharedInstance].specialInstruction = [objheader valueForKey:@"specialInstruction"];
             
             //-价格类型
-            [Singleton sharedInstance].npd_shop_price_type = [[objheader valueForKey:@"price_type"] integerValue];
+            [RASingleton sharedInstance].npd_shop_price_type = [[objheader valueForKey:@"price_type"] integerValue];
             
             // 权限
-            [Singleton sharedInstance].permissions_price_setting = [[objheader valueForKey:@"can_set_price_formula"] boolValue];
-            [Singleton sharedInstance].permissions_edit_order = [[objheader valueForKey:@"can_place_order"] boolValue];
+            [RASingleton sharedInstance].permissions_price_setting = [[objheader valueForKey:@"can_set_price_formula"] boolValue];
+            [RASingleton sharedInstance].permissions_edit_order = [[objheader valueForKey:@"can_place_order"] boolValue];
             
-            [Singleton sharedInstance].permissions_submit_order = [[objheader valueForKey:@"can_submit_order"] boolValue];
+            [RASingleton sharedInstance].permissions_submit_order = [[objheader valueForKey:@"can_submit_order"] boolValue];
             
-            [Singleton sharedInstance].permissions_merge_order = [[objheader valueForKey:@"can_merge_order"] boolValue];
+            [RASingleton sharedInstance].permissions_merge_order = [[objheader valueForKey:@"can_merge_order"] boolValue];
             
-            [Singleton sharedInstance].deliveryString = [objheader valueForKey:@"delivery_price"];
-            [[Singleton sharedInstance] resetGlobalLock];
-            [Singleton sharedInstance].customer_can_see_sales_Order = [[objheader valueForKey:@"can_see_salesorder"] boolValue];
-            [Singleton sharedInstance].customerInfo = [objheader objectForKeyedSubscript:@"customerInfo"];
+            [RASingleton sharedInstance].deliveryString = [objheader valueForKey:@"delivery_price"];
+            [[RASingleton sharedInstance] resetGlobalLock];
+            [RASingleton sharedInstance].customer_can_see_sales_Order = [[objheader valueForKey:@"can_see_salesorder"] boolValue];
+            [RASingleton sharedInstance].customerInfo = [objheader objectForKeyedSubscript:@"customerInfo"];
         }
         
         //        DebugLog(@"sessionid=%@ ",appDelegate.sessionid);
@@ -7090,7 +7090,7 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
             [appDelegate SetSo:[resulti valueForKey:@"soId"]];
             
             if (appDelegate.user_type == USER_ROLE_CUSTOMER) {
-                [Singleton sharedInstance].currentOrderIsMerged = NO;
+                [RASingleton sharedInstance].currentOrderIsMerged = NO;
             }
             result(resulti);
         }];
@@ -7117,7 +7117,7 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
         [appDelegate SetSo:[resulti valueForKey:@"soId"]];
         
         if (appDelegate.user_type == USER_ROLE_CUSTOMER) {
-            [Singleton sharedInstance].currentOrderIsMerged = NO;
+            [RASingleton sharedInstance].currentOrderIsMerged = NO;
         }
         result(resulti);
     } retry:0];
@@ -7198,7 +7198,7 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
                     [appDelegate update_count_mark];
                     
                     if (appDelegate.user_type == USER_ROLE_CUSTOMER) {
-                        [Singleton sharedInstance].currentOrderIsMerged = [[resulti valueForKey:@"is_merged_order"] boolValue];
+                        [RASingleton sharedInstance].currentOrderIsMerged = [[resulti valueForKey:@"is_merged_order"] boolValue];
                     }
                     
                 }
@@ -7221,7 +7221,7 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
             [appDelegate update_count_mark];
             
             if (appDelegate.user_type == USER_ROLE_CUSTOMER) {
-                [Singleton sharedInstance].currentOrderIsMerged = [[resulti valueForKey:@"is_merged_order"] boolValue];
+                [RASingleton sharedInstance].currentOrderIsMerged = [[resulti valueForKey:@"is_merged_order"] boolValue];
             }
             
         }
@@ -8124,7 +8124,82 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
     //    return jsobj;
     
 }
-
++(void) request_addto_cart_byupc:(NSString* ) upc_code withScreen:(NSString *)screenName completionHandler:(resultHandler)result
+{
+    NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
+    AppDelegate *appDelegate = nil;
+    
+    
+    appDelegate=(AppDelegate*)[[UIApplication sharedApplication] delegate];
+    if(appDelegate.user!=nil)
+        [params setValue:appDelegate.user forKey:@"user"];
+    if(appDelegate.contact_id!=nil)
+        [params setValue:appDelegate.contact_id forKey:@"contactId"];
+    if(appDelegate.password!=nil)
+        [params setValue:appDelegate.password forKey:@"password"];
+    
+    if(appDelegate.order_code!=nil)
+        [params setValue:appDelegate.order_code forKey:@"orderCode"];
+    [params setValue:upc_code forKey:@"upc_code"];
+    [params setValue:[NSString stringWithFormat:@"%d",-1]  forKey:@"count"];
+    
+    [params setObject:screenName forKey:kScreenName];
+    [params setObject:@"Add To Cart" forKey:kAction];
+    if (!upc_code) {
+        upc_code = @"";
+    }
+    [params setObject:@{@"UPCCode" : upc_code} forKey:kExtra];
+    params[@"search_upc"]=@true;
+    NSDictionary* customerinfo= appDelegate.customerInfo;
+    
+    NSArray* keys=[customerinfo allKeys];
+    for(int i=0;i<keys.count;i++)
+    {
+        [params setValue:[customerinfo valueForKey:(NSString*)keys[i]] forKey:keys[i] ];
+    }
+    
+    
+    if(appDelegate.offline_mode)
+    {
+        params[@"can_create_backorder"]=@(appDelegate.can_create_backorder);
+//        [OLDataProvider offline_add2cartbyname:params completionHandler:result];
+        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+            NSMutableDictionary* json = [[RAConvertor data2dict:[OLDataProvider offline_add2cartbyname:params]] mutableCopy];
+            dispatch_async(dispatch_get_main_queue(), ^{
+                
+                int result_code = [[json valueForKey:@"result"] intValue];
+                
+                if (result_code==2||result_code==8)
+                {
+                    
+                    appDelegate.cart_count = [[json valueForKey:@"cart_count"] intValue];
+                    
+                    [appDelegate update_count_mark];
+                    
+                }
+                result(json);
+            });
+        });
+        
+        return;
+    }
+    
+    
+    [self request_interface:URL_ADD_TO_CART parameters:params err_record_url:nil completionHandler:^(NSMutableDictionary *resulti) {
+        int result_code = [[resulti valueForKey:@"result"] intValue];
+        
+        if (result_code==2||result_code==8)
+        {
+            
+            appDelegate.cart_count = [[resulti valueForKey:@"cart_count"] intValue];
+            
+            [appDelegate update_count_mark];
+            
+        }
+        result(resulti);
+    } retry:0];
+    
+}
 +(void) request_addto_cart_byname:(NSString* ) model_name withScreen:(NSString *)screenName completionHandler:(resultHandler)result
 {
     NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
@@ -9461,12 +9536,12 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
     if (alert && qty && available && price && bestseller) {
         [params setObject:@"Filter" forKey:kAction];
     }
-    if ([Singleton sharedInstance].homeItemClick) {
+    if ([RASingleton sharedInstance].homeItemClick) {
         [params setObject:@"Brow A Particular Category On Home" forKey:kAction];
-        [Singleton sharedInstance].homeItemClick = NO;
+        [RASingleton sharedInstance].homeItemClick = NO;
         
-        NSDictionary *extra = @{@"CoverName" : [Singleton sharedInstance].homeClickedItemName};
-        [Singleton sharedInstance].homeClickedItemName = nil;
+        NSDictionary *extra = @{@"CoverName" : [RASingleton sharedInstance].homeClickedItemName};
+        [RASingleton sharedInstance].homeClickedItemName = nil;
         [params setObject:extra forKey:kExtra];
     }
     
@@ -10823,7 +10898,7 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
                   [self request_interface:URL_DOWNLOAD_OFFLINE parameters:params err_record_url:nil completionHandler:^(NSMutableDictionary *resulti) {
                       
                       
-                      if([resulti[@"result"] intValue]==2)
+                      if([resulti[@"result"] intValue]==RESULT_TRUE)
                       {
                           
                           if(!bbreak) //此判断保证result只调用一次。
@@ -10840,6 +10915,11 @@ NSString *const ScreenCodeOfflineSync = @"Offline Sync Screen";
 
                           
                       }
+                      else if([resulti[@"result"] intValue]==RESULT_ERROR)
+                      {
+                          result(resulti);
+                          bbreak=true;
+                      }
                       
                       
                   } retry:3];

+ 4 - 4
RedAnt ERP Mobile/common/data_provider/iSalesDB.m

@@ -9,7 +9,7 @@
 #import "iSalesDB.h"
 #import "AESCrypt.h"
 //#import "AppDelegate.h"
-#import "Singleton.h"
+#import "RASingleton.h"
 
 NSLock *dblock ;
 int count_dbconn;
@@ -389,7 +389,7 @@ void decryptfield (sqlite3_context *context, int argc, sqlite3_value **argv) {
     }
     
     [self AddExFunction:db];
-    [Singleton sharedInstance].currentDB = db;
+    [RASingleton sharedInstance].currentDB = db;
     return db;
     
     
@@ -402,7 +402,7 @@ void decryptfield (sqlite3_context *context, int argc, sqlite3_value **argv) {
     sqlite3_close(db);
     count_dbconn--;
     DebugLog(@"CLOSE DB current dbconn: %d",count_dbconn);
-    [Singleton sharedInstance].currentDB = nil;
+    [RASingleton sharedInstance].currentDB = nil;
     [dblock unlock];
     
     
@@ -679,7 +679,7 @@ void decryptfield (sqlite3_context *context, int argc, sqlite3_value **argv) {
     
     NSString* create_product=@"CREATE TABLE IF NOT EXISTS product ( _id INTEGER PRIMARY KEY, name VARCHAR(20,0), description VARCHAR(20,0), product_id INTEGER, color VARCHAR(20,0), legcolor VARCHAR(20,0), availability INTEGER, incoming_stock INTEGER, ETA DATE, demension VARCHAR(20,0), seat_height VARCHAR(20,0), material VARCHAR(20,0), box_dim VARCHAR(20,0), volume VARCHAR(20,0), weight VARCHAR(20,0), model_set VARCHAR(20,0), load_ability VARCHAR(20,0), default_category VARCHAR(20,0), category VARCHAR(100,0), fabric_content VARCHAR(20,0), assembling VARCHAR(20,0), made_in VARCHAR(20,0), special_remarks VARCHAR(20,0), stockUom integer, fashion VARCHAR(20,0), isnew integer, property_field VARCHAR(20,0), property_display VARCHAR(20,0), selector_field VARCHAR(20,0), selector_display VARCHAR(20,0), product_group VARCHAR(20,0), packaging VARCHAR(20,0), closeout integer ,best_seller integer,alert VARCHAR(20,0),has_bundle integer,is_active integer,item_id integer,more_color integer,seat_dimension text,assembly_instruction text,product_content_writing text);";
     
-    NSString* create_catalog=@"CREATE TABLE IF NOT EXISTS catalog ( _id INTEGER PRIMARY KEY, name VARCHAR(20,0), description VARCHAR(20,0), item_id INTEGER,is_active integer,ulength float,uwidth float,uheight float,uweight float,pcs integer,mpack integer,mlength float,mwidth float,mheight float,mweigth float,ipack integer,ilength float,iwidth float,iheight float, iweight float,ucbf float,icbf float, mcbf float,is_single_model integer, is_master_model integer,is_rate integer,is_part integer);";
+    NSString* create_catalog=@"CREATE TABLE IF NOT EXISTS catalog ( _id INTEGER PRIMARY KEY, name VARCHAR(20,0), description VARCHAR(20,0), upc_code VARCHAR(42,0), item_id INTEGER,is_active integer,ulength float,uwidth float,uheight float,uweight float,pcs integer,mpack integer,mlength float,mwidth float,mheight float,mweigth float,ipack integer,ilength float,iwidth float,iheight float, iweight float,ucbf float,icbf float, mcbf float,is_single_model integer, is_master_model integer,is_rate integer,is_part integer);";
     
     NSString* create_bundle=@"CREATE TABLE IF NOT EXISTS bundle ( _id INTEGER PRIMARY KEY, product_id integer,product_item_id integer,item_id integer,unit_price double,use_unitprice integer,qty integer);";
     

+ 2623 - 0
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.pbxproj

@@ -0,0 +1,2623 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		3C2F99B8237BE1790000808F /* PortfolioListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C2F99B6237BE1790000808F /* PortfolioListTableViewCell.m */; };
+		3C51492F273CF9B900F78617 /* DBUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51492E273CF9B900F78617 /* DBUtil.m */; };
+		3C514932273D092A00F78617 /* EnumSelectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514931273D092A00F78617 /* EnumSelectViewController.m */; };
+		3C514947273D095900F78617 /* CommonEditorCellSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514934273D095800F78617 /* CommonEditorCellSwitch.m */; };
+		3C514948273D095900F78617 /* CommonEditorCellTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514935273D095800F78617 /* CommonEditorCellTextView.m */; };
+		3C514949273D095900F78617 /* CommonEditorCellEnum.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514939273D095800F78617 /* CommonEditorCellEnum.m */; };
+		3C51494A273D095900F78617 /* CommonEditorCellEdit.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51493A273D095900F78617 /* CommonEditorCellEdit.m */; };
+		3C51494B273D095900F78617 /* CommonEditorCellLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51493C273D095900F78617 /* CommonEditorCellLabel.m */; };
+		3C51494C273D095900F78617 /* CommonEditorCellMAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51493D273D095900F78617 /* CommonEditorCellMAction.m */; };
+		3C51494D273D095900F78617 /* CommonEditorCellSignature.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51493E273D095900F78617 /* CommonEditorCellSignature.m */; };
+		3C51494E273D095900F78617 /* CommonEditorCellImg.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51493F273D095900F78617 /* CommonEditorCellImg.m */; };
+		3C51494F273D095900F78617 /* CommonEditorCellAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514944273D095900F78617 /* CommonEditorCellAction.m */; };
+		3C514950273D095900F78617 /* CommonEditorCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514945273D095900F78617 /* CommonEditorCellModel.m */; };
+		3C514953273D096A00F78617 /* CommonEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514951273D096A00F78617 /* CommonEditorViewController.m */; };
+		3C514956273D097E00F78617 /* CommonEditorTableContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514955273D097E00F78617 /* CommonEditorTableContainerView.m */; };
+		3C514959273D098700F78617 /* DatePickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514958273D098700F78617 /* DatePickerViewController.m */; };
+		3C51495C273D099600F78617 /* EnumSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51495B273D099600F78617 /* EnumSelectorCell.m */; };
+		3C51495F273D09B800F78617 /* MonthPickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51495E273D09B800F78617 /* MonthPickerViewController.m */; };
+		3C514961273D09E700F78617 /* CommonEditor.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C514960273D09E700F78617 /* CommonEditor.storyboard */; };
+		3C514966273D0A2F00F78617 /* SRMonthPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514965273D0A2F00F78617 /* SRMonthPicker.m */; };
+		3C514969273D0B1E00F78617 /* RADataProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514968273D0B1E00F78617 /* RADataProvider.m */; };
+		3C514974273E074500F78617 /* CommonEditorCellEditor.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514972273E074500F78617 /* CommonEditorCellEditor.m */; };
+		3C51497D273E07D600F78617 /* EnumSelectAndSort.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C514976273E07D500F78617 /* EnumSelectAndSort.storyboard */; };
+		3C51497E273E07D600F78617 /* EnumSelectAndSortViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514979273E07D500F78617 /* EnumSelectAndSortViewController.m */; };
+		3C51497F273E07D600F78617 /* EnumSelectAndSortCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51497A273E07D500F78617 /* EnumSelectAndSortCell.m */; };
+		3C514980273E07D600F78617 /* EnumModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51497C273E07D600F78617 /* EnumModel.m */; };
+		3C514992273E091500F78617 /* PhotoList.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C514989273E091500F78617 /* PhotoList.storyboard */; };
+		3C514993273E091500F78617 /* ContentPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51498B273E091500F78617 /* ContentPreviewController.m */; };
+		3C514994273E091500F78617 /* VideoPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C51498E273E091500F78617 /* VideoPreviewCell.m */; };
+		3C514995273E091500F78617 /* PhotoPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514990273E091500F78617 /* PhotoPreviewCell.m */; };
+		3C514999273E097C00F78617 /* RAProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C514998273E097B00F78617 /* RAProgressHUD.m */; };
+		3C68314D239607B500AD5BD7 /* ytplayer.html in Resources */ = {isa = PBXBuildFile; fileRef = 3C68314A239607B500AD5BD7 /* ytplayer.html */; };
+		3C68314E239607B500AD5BD7 /* RAYTPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C68314B239607B500AD5BD7 /* RAYTPlayer.m */; };
+		3C6831562396082800AD5BD7 /* ERP_Mobile_Discard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C68314F2396082700AD5BD7 /* ERP_Mobile_Discard.storyboard */; };
+		3C6831572396082800AD5BD7 /* ERP_Mobile_Cart.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831502396082700AD5BD7 /* ERP_Mobile_Cart.storyboard */; };
+		3C6831582396082800AD5BD7 /* ERP_Mobile_Model.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831512396082700AD5BD7 /* ERP_Mobile_Model.storyboard */; };
+		3C6831592396082800AD5BD7 /* ERP_Mobile_Search.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831522396082700AD5BD7 /* ERP_Mobile_Search.storyboard */; };
+		3C68315A2396082800AD5BD7 /* ERP_Mobile_Contact.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831532396082700AD5BD7 /* ERP_Mobile_Contact.storyboard */; };
+		3C68315B2396082800AD5BD7 /* ERP_Mobile_Order.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831542396082800AD5BD7 /* ERP_Mobile_Order.storyboard */; };
+		3C68315C2396082800AD5BD7 /* ERP_Mobile_Portfolio.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831552396082800AD5BD7 /* ERP_Mobile_Portfolio.storyboard */; };
+		3C6831682396094200AD5BD7 /* iPadCommonEditorCellImg.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C68315D2396094100AD5BD7 /* iPadCommonEditorCellImg.xib */; };
+		3C6831692396094200AD5BD7 /* CommonEditor.iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C68315E2396094100AD5BD7 /* CommonEditor.iPad.xib */; };
+		3C68316A2396094200AD5BD7 /* iPadCommonEditorCellLabel.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C68315F2396094200AD5BD7 /* iPadCommonEditorCellLabel.xib */; };
+		3C68316B2396094200AD5BD7 /* iPadCommonEditorCellSwitch.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831602396094200AD5BD7 /* iPadCommonEditorCellSwitch.xib */; };
+		3C68316C2396094200AD5BD7 /* iPadCommonEditorCellEnum.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831612396094200AD5BD7 /* iPadCommonEditorCellEnum.xib */; };
+		3C68316D2396094200AD5BD7 /* iPadCommonEditorCellTextView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831622396094200AD5BD7 /* iPadCommonEditorCellTextView.xib */; };
+		3C68316E2396094200AD5BD7 /* iPadCommonEditorCellAction.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831632396094200AD5BD7 /* iPadCommonEditorCellAction.xib */; };
+		3C68316F2396094200AD5BD7 /* iPadCommonEditorCellModel.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831642396094200AD5BD7 /* iPadCommonEditorCellModel.xib */; };
+		3C6831702396094200AD5BD7 /* iPadCommonEditorCellMAction.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831652396094200AD5BD7 /* iPadCommonEditorCellMAction.xib */; };
+		3C6831712396094200AD5BD7 /* iPadCommonEditorCellSignature.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831662396094200AD5BD7 /* iPadCommonEditorCellSignature.xib */; };
+		3C6831722396094200AD5BD7 /* iPadCommonEditorCellEdit.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C6831672396094200AD5BD7 /* iPadCommonEditorCellEdit.xib */; };
+		3C69618223C7156D0075172A /* RAPDFViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C69617E23C7156D0075172A /* RAPDFViewController.m */; };
+		3C69618323C7156D0075172A /* WebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C69617F23C7156D0075172A /* WebViewController.m */; };
+		3C69618423C7156D0075172A /* wkweb.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C69618023C7156D0075172A /* wkweb.storyboard */; };
+		3C7E5A8E237BDB0C006D0105 /* PortfolioListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C7E5A8C237BDB0C006D0105 /* PortfolioListViewController.m */; };
+		3CDDB25C273A564200681F78 /* DefaultTableHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CDDB25A273A564200681F78 /* DefaultTableHeaderView.m */; };
+		3CDDB262273A59DF00681F78 /* TouchImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CDDB260273A59DF00681F78 /* TouchImageView.m */; };
+		3CDDB265273A59EF00681F78 /* RTLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CDDB264273A59EF00681F78 /* RTLabel.m */; };
+		3CDDB268273A5A0400681F78 /* StrikethroughLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CDDB267273A5A0400681F78 /* StrikethroughLabel.m */; };
+		3CDDB26B273A5A1500681F78 /* CustomIOSAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CDDB269273A5A1400681F78 /* CustomIOSAlertView.m */; };
+		3CDDB26E273A5A7800681F78 /* RAUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CDDB26C273A5A7800681F78 /* RAUtils.m */; };
+		423CC87521D22FDE008BD2C4 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 423CC87421D22FDE008BD2C4 /* Launch Screen.storyboard */; };
+		424A02D11FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m in Sources */ = {isa = PBXBuildFile; fileRef = 424A02D01FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m */; };
+		4254CCDE1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4254CCDD1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m */; };
+		428980041E2490C1005F1BD8 /* NotificationNameCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980031E2490C1005F1BD8 /* NotificationNameCenter.m */; };
+		4289800A1E24918F005F1BD8 /* CartUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980091E24918F005F1BD8 /* CartUtils.m */; };
+		428980151E24924D005F1BD8 /* SortButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980101E24924D005F1BD8 /* SortButton.m */; };
+		428980161E24924D005F1BD8 /* SortItemCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980121E24924D005F1BD8 /* SortItemCell.m */; };
+		428980171E24924D005F1BD8 /* SortItemViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980141E24924D005F1BD8 /* SortItemViewController.m */; };
+		4289802B1E2492D2005F1BD8 /* CategoryPriceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980241E2492D2005F1BD8 /* CategoryPriceCell.m */; };
+		4289802C1E2492D2005F1BD8 /* CategoryPriceViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980261E2492D2005F1BD8 /* CategoryPriceViewController.m */; };
+		4289802D1E2492D2005F1BD8 /* PriceSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980281E2492D2005F1BD8 /* PriceSettingViewController.m */; };
+		4289802E1E2492D2005F1BD8 /* SetCategoryPriceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289802A1E2492D2005F1BD8 /* SetCategoryPriceController.m */; };
+		428980451E249339005F1BD8 /* JKDotView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289803E1E249339005F1BD8 /* JKDotView.m */; };
+		428980461E249339005F1BD8 /* JKLockButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980401E249339005F1BD8 /* JKLockButton.m */; };
+		428980471E249339005F1BD8 /* JKLockController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980421E249339005F1BD8 /* JKLockController.m */; };
+		428980481E249339005F1BD8 /* JKMessageBoxController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980441E249339005F1BD8 /* JKMessageBoxController.m */; };
+		4289805D1E249375005F1BD8 /* UIColor+JK_HEX.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289805C1E249375005F1BD8 /* UIColor+JK_HEX.m */; };
+		428980721E24B1E9005F1BD8 /* RASingleton.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980711E24B1E9005F1BD8 /* RASingleton.m */; };
+		4289809E1E24B526005F1BD8 /* JKTimerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289809D1E24B526005F1BD8 /* JKTimerManager.m */; };
+		4295AE1C1FE74D46007BE365 /* CommonEditorAutoCompleteView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4295AE1A1FE74D46007BE365 /* CommonEditorAutoCompleteView.m */; };
+		4295AE1D1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4295AE1B1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib */; };
+		42B309791E45BA32007AFC62 /* status_filter_cadedate_po.json in Resources */ = {isa = PBXBuildFile; fileRef = 42B309781E45BA32007AFC62 /* status_filter_cadedate_po.json */; };
+		42BEF34F1E89FE1100632AB6 /* FirebaseAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF3241E89FE1100632AB6 /* FirebaseAnalytics.framework */; };
+		42BEF3501E89FE1100632AB6 /* FirebaseCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF3271E89FE1100632AB6 /* FirebaseCore.framework */; };
+		42BEF3521E89FE1200632AB6 /* FirebaseInstanceID.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF32B1E89FE1100632AB6 /* FirebaseInstanceID.framework */; };
+		42BEF3541E89FE1200632AB6 /* GGLAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF32F1E89FE1100632AB6 /* GGLAnalytics.framework */; };
+		42BEF3551E89FE1200632AB6 /* GGLCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF3301E89FE1100632AB6 /* GGLCore.framework */; };
+		42BEF3571E89FE1200632AB6 /* libGoogleAnalytics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF33C1E89FE1100632AB6 /* libGoogleAnalytics.a */; };
+		42BEF3581E89FE1200632AB6 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BEF34B1E89FE1100632AB6 /* GTMNSData+zlib.m */; };
+		42BEF35D1E89FECD00632AB6 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF35C1E89FECD00632AB6 /* SystemConfiguration.framework */; };
+		42BEF35F1E89FEE300632AB6 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF35E1E89FEE300632AB6 /* CoreData.framework */; };
+		42BEF3621E8A005800632AB6 /* GoogleAnalyst.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BEF3611E8A005800632AB6 /* GoogleAnalyst.m */; };
+		42BF67CC1E5179970081F90A /* ERPUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BF67CB1E5179970081F90A /* ERPUtils.m */; };
+		42D9A0231EB02DA6008AF7AF /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42D9A0221EB02DA6008AF7AF /* AdSupport.framework */; };
+		42D9A0251EB03994008AF7AF /* libAdIdAccess.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42D9A0241EB03994008AF7AF /* libAdIdAccess.a */; };
+		42DC12F11F0CD98E00A4C011 /* OrderDetailPickInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 42DC12F01F0CD98E00A4C011 /* OrderDetailPickInfoCell.m */; };
+		42E489611EE63F4E007256A0 /* more_color_64.png in Resources */ = {isa = PBXBuildFile; fileRef = 42E489601EE63F4E007256A0 /* more_color_64.png */; };
+		42FD1A031FBD1A3000C5D9A8 /* RAOrderPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 42FD1A021FBD1A3000C5D9A8 /* RAOrderPreviewController.m */; };
+		710274251CC606C4009FD219 /* UserListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 710274241CC606C4009FD219 /* UserListViewController.m */; };
+		7111E5721C76C557004763B3 /* customer_info_template_edit.json in Resources */ = {isa = PBXBuildFile; fileRef = 7111E5711C76C557004763B3 /* customer_info_template_edit.json */; };
+		71131F921CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71131F911CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m */; };
+		712AFED71DBA050200254965 /* BasicDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFEC61DBA050200254965 /* BasicDrawable.m */; };
+		712AFED81DBA050200254965 /* GridDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFEC81DBA050200254965 /* GridDrawable.m */; };
+		712AFED91DBA050200254965 /* GroupDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFECA1DBA050200254965 /* GroupDrawable.m */; };
+		712AFEDA1DBA050200254965 /* ImageDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFECC1DBA050200254965 /* ImageDrawable.m */; };
+		712AFEDB1DBA050200254965 /* LineDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFECE1DBA050200254965 /* LineDrawable.m */; };
+		712AFEDC1DBA050200254965 /* PDFDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFED01DBA050200254965 /* PDFDrawable.m */; };
+		712AFEDD1DBA050200254965 /* RAPDFPage.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFED21DBA050200254965 /* RAPDFPage.m */; };
+		712AFEDE1DBA050200254965 /* TableDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFED41DBA050200254965 /* TableDrawable.m */; };
+		712AFEDF1DBA050200254965 /* TextDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFED61DBA050200254965 /* TextDrawable.m */; };
+		712AFEE21DBA077F00254965 /* pdfCreator.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFEE11DBA077F00254965 /* pdfCreator.m */; };
+		712AFEE51DBDAF0300254965 /* pdfcreator.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 712AFEE41DBDAF0300254965 /* pdfcreator.xcassets */; };
+		712BABF31C897E3A0007466B /* CategorySearchFilterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712BABF21C897E3A0007466B /* CategorySearchFilterViewController.m */; };
+		712C40B61C7310F4000E6831 /* CartGeneralNotesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712C40B51C7310F4000E6831 /* CartGeneralNotesViewController.m */; };
+		712C40B91C731126000E6831 /* ItemNotesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712C40B81C731126000E6831 /* ItemNotesViewController.m */; };
+		713F76AA1929F4A7006A7305 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 713F76A91929F4A7006A7305 /* Foundation.framework */; };
+		713F76AC1929F4A7006A7305 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 713F76AB1929F4A7006A7305 /* CoreGraphics.framework */; };
+		713F76AE1929F4A7006A7305 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 713F76AD1929F4A7006A7305 /* UIKit.framework */; };
+		713F76B41929F4A7006A7305 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 713F76B21929F4A7006A7305 /* InfoPlist.strings */; };
+		713F76B61929F4A7006A7305 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 713F76B51929F4A7006A7305 /* main.m */; };
+		713F76BA1929F4A7006A7305 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 713F76B91929F4A7006A7305 /* AppDelegate.m */; };
+		713F76C21929F4A7006A7305 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 713F76C11929F4A7006A7305 /* Images.xcassets */; };
+		714036F921646B8C0029B10F /* AppDelegateBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 714036F721646B8C0029B10F /* AppDelegateBase.m */; };
+		714036FC21646CFF0029B10F /* UIResponder+Router.m in Sources */ = {isa = PBXBuildFile; fileRef = 714036FA21646CFF0029B10F /* UIResponder+Router.m */; };
+		714037052164707E0029B10F /* MainHeaderViewColorPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = 714037042164707D0029B10F /* MainHeaderViewColorPanel.m */; };
+		7141DD341C57269B00F7DF59 /* include in Resources */ = {isa = PBXBuildFile; fileRef = 7141DD331C57269B00F7DF59 /* include */; };
+		7141DD3B1C5726B700F7DF59 /* DeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD361C5726B700F7DF59 /* DeviceInfo.m */; };
+		7141DD3C1C5726B700F7DF59 /* ScanApiHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD381C5726B700F7DF59 /* ScanApiHelper.mm */; };
+		7141DD3D1C5726B700F7DF59 /* softScanBeep.wav in Resources */ = {isa = PBXBuildFile; fileRef = 7141DD3A1C5726B700F7DF59 /* softScanBeep.wav */; };
+		7141DD4E1C57459B00F7DF59 /* bitstream.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD3E1C57459B00F7DF59 /* bitstream.c */; };
+		7141DD4F1C57459B00F7DF59 /* mask.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD401C57459B00F7DF59 /* mask.c */; };
+		7141DD501C57459B00F7DF59 /* QRCodeGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD431C57459B00F7DF59 /* QRCodeGenerator.m */; };
+		7141DD511C57459B00F7DF59 /* qrencode.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD441C57459B00F7DF59 /* qrencode.c */; settings = {COMPILER_FLAGS = "-Wno-shorten-64-to-32"; }; };
+		7141DD521C57459B00F7DF59 /* qrinput.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD461C57459B00F7DF59 /* qrinput.c */; };
+		7141DD531C57459B00F7DF59 /* qrspec.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD481C57459B00F7DF59 /* qrspec.c */; };
+		7141DD541C57459B00F7DF59 /* rscode.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD4A1C57459B00F7DF59 /* rscode.c */; };
+		7141DD551C57459B00F7DF59 /* split.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD4C1C57459B00F7DF59 /* split.c */; settings = {COMPILER_FLAGS = "-Wno-shorten-64-to-32"; }; };
+		7141DD5F1C5747CE00F7DF59 /* AESCrypt.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD571C5747CE00F7DF59 /* AESCrypt.m */; };
+		7141DD601C5747CE00F7DF59 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 7141DD581C5747CE00F7DF59 /* LICENSE */; };
+		7141DD611C5747CE00F7DF59 /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD5A1C5747CE00F7DF59 /* NSData+Base64.m */; };
+		7141DD621C5747CE00F7DF59 /* NSData+CommonCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD5C1C5747CE00F7DF59 /* NSData+CommonCrypto.m */; };
+		7141DD631C5747CE00F7DF59 /* NSString+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD5E1C5747CE00F7DF59 /* NSString+Base64.m */; };
+		7142E87A1DBF577A0077EFA2 /* KALINGA.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 7142E8781DBF57510077EFA2 /* KALINGA.TTF */; };
+		7142E87B1DBF577A0077EFA2 /* KALINGAB.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 7142E8791DBF57510077EFA2 /* KALINGAB.TTF */; };
+		7142E87E1DC300690077EFA2 /* DejaVuSans-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7142E87C1DC300010077EFA2 /* DejaVuSans-Bold.ttf */; };
+		7142E87F1DC300690077EFA2 /* DejaVuSans.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7142E87D1DC300010077EFA2 /* DejaVuSans.ttf */; };
+		7143E20C202FCEEC00451903 /* OLM.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7143E208202FCEEB00451903 /* OLM.storyboard */; };
+		7143E20D202FCEEC00451903 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7143E20A202FCEEC00451903 /* Main.storyboard */; };
+		7143E20F202FCEF600451903 /* CUL.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7143E20E202FCEF600451903 /* CUL.storyboard */; };
+		7143E212202FCF7600451903 /* CategoryCellNPD.m in Sources */ = {isa = PBXBuildFile; fileRef = 7143E211202FCF7600451903 /* CategoryCellNPD.m */; };
+		7143E214202FCFC000451903 /* debug_category_filter.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E213202FCFC000451903 /* debug_category_filter.json */; };
+		7143E217202FD15A00451903 /* category.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E216202FD15A00451903 /* category.json */; };
+		7143E21A202FD1DC00451903 /* contactAdvanceSearch.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E218202FD1DC00451903 /* contactAdvanceSearch.json */; };
+		7143E21B202FD1DC00451903 /* createContact.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E219202FD1DC00451903 /* createContact.json */; };
+		7143E21D202FD21F00451903 /* editContact.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E21C202FD21F00451903 /* editContact.json */; };
+		7143E220202FD28900451903 /* TearSheet.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E21E202FD28800451903 /* TearSheet.json */; };
+		7143E221202FD28900451903 /* placeOrderTemplate.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E21F202FD28900451903 /* placeOrderTemplate.json */; };
+		7143E226202FD2CA00451903 /* so_thumb.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E222202FD2CA00451903 /* so_thumb.json */; };
+		7143E227202FD2CA00451903 /* portfolio_3x2.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E223202FD2CA00451903 /* portfolio_3x2.json */; };
+		7143E228202FD2CA00451903 /* portfolio_2x3.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E224202FD2CA00451903 /* portfolio_2x3.json */; };
+		7143E229202FD2CA00451903 /* so.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E225202FD2CA00451903 /* so.json */; };
+		7143E22B202FD37500451903 /* orderDetail.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E22A202FD37500451903 /* orderDetail.json */; };
+		7143E22E202FD3CD00451903 /* more_info.html in Resources */ = {isa = PBXBuildFile; fileRef = 7143E22C202FD3CC00451903 /* more_info.html */; };
+		7143E22F202FD3CD00451903 /* order_info.html in Resources */ = {isa = PBXBuildFile; fileRef = 7143E22D202FD3CC00451903 /* order_info.html */; };
+		714B1F401C7BF74100539193 /* OrderDetailSignatureCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 714B1F3F1C7BF74100539193 /* OrderDetailSignatureCell.m */; };
+		715001FF1D114D9100F5927F /* BundleDetailButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 715001FE1D114D9100F5927F /* BundleDetailButton.m */; };
+		715671331E10A0EF006324A0 /* RectDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 715671321E10A0EF006324A0 /* RectDrawable.m */; };
+		715850461CF6F0E500856B20 /* DefaultAppearance.m in Sources */ = {isa = PBXBuildFile; fileRef = 715850451CF6F0E500856B20 /* DefaultAppearance.m */; };
+		715F30BD1DAB37EB00490EED /* OfflineUnlockViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 715F30BC1DAB37EB00490EED /* OfflineUnlockViewController.m */; };
+		7161FEB51D61B24900157EE1 /* creditcardpayment.html in Resources */ = {isa = PBXBuildFile; fileRef = 7161FEB21D61B24900157EE1 /* creditcardpayment.html */; };
+		7161FEB61D61B24900157EE1 /* normalpayment.html in Resources */ = {isa = PBXBuildFile; fileRef = 7161FEB31D61B24900157EE1 /* normalpayment.html */; };
+		7161FEB71D61B24900157EE1 /* orderinfo.html in Resources */ = {isa = PBXBuildFile; fileRef = 7161FEB41D61B24900157EE1 /* orderinfo.html */; };
+		7162A5021C586F5B00AB630E /* AddressEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5011C586F5B00AB630E /* AddressEditorViewController.m */; };
+		7162A5091C586FC100AB630E /* CycleScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5041C586FC100AB630E /* CycleScrollView.m */; };
+		7162A50A1C586FC100AB630E /* NSTimer+Addition.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5061C586FC100AB630E /* NSTimer+Addition.m */; };
+		7162A50B1C586FC100AB630E /* SliderPage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5081C586FC100AB630E /* SliderPage.m */; };
+		7162A5161C58704600AB630E /* BundleModelCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A50D1C58704600AB630E /* BundleModelCell.m */; };
+		7162A5171C58704600AB630E /* BundleModelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A50F1C58704600AB630E /* BundleModelViewController.m */; };
+		7162A5181C58704600AB630E /* CartViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5111C58704600AB630E /* CartViewController.m */; };
+		7162A5191C58704600AB630E /* EditModelPriceViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5131C58704600AB630E /* EditModelPriceViewController.m */; };
+		7162A51A1C58704600AB630E /* ModelItemCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5151C58704600AB630E /* ModelItemCell.m */; };
+		7162A5251C58706C00AB630E /* CategoryCellSmall.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5201C58706C00AB630E /* CategoryCellSmall.m */; };
+		7162A5261C58706C00AB630E /* CategoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5221C58706C00AB630E /* CategoryViewController.m */; };
+		7162A5411C58719D00AB630E /* RATreeNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A52C1C58719D00AB630E /* RATreeNode.m */; };
+		7162A5421C58719D00AB630E /* RATreeNodeCollectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A52E1C58719D00AB630E /* RATreeNodeCollectionController.m */; };
+		7162A5431C58719D00AB630E /* RATreeNodeInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5301C58719D00AB630E /* RATreeNodeInfo.m */; };
+		7162A5441C58719D00AB630E /* RATreeNodeInfo+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5321C58719D00AB630E /* RATreeNodeInfo+Private.m */; };
+		7162A5451C58719D00AB630E /* RATreeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5341C58719D00AB630E /* RATreeView.m */; };
+		7162A5461C58719D00AB630E /* RATreeView+Enums.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5361C58719D00AB630E /* RATreeView+Enums.m */; };
+		7162A5471C58719D00AB630E /* RATreeView+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5381C58719D00AB630E /* RATreeView+Private.m */; };
+		7162A5481C58719D00AB630E /* RATreeView+TableViewDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A53A1C58719D00AB630E /* RATreeView+TableViewDataSource.m */; };
+		7162A5491C58719D00AB630E /* RATreeView+TableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A53C1C58719D00AB630E /* RATreeView+TableViewDelegate.m */; };
+		7162A54A1C58719D00AB630E /* RATreeView+UIScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A53E1C58719D00AB630E /* RATreeView+UIScrollView.m */; };
+		7162A54B1C58719D00AB630E /* RAViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5401C58719D00AB630E /* RAViewController.m */; };
+		7162A54E1C58722200AB630E /* CreditCardEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A54D1C58722200AB630E /* CreditCardEditorViewController.m */; };
+		7162A55B1C58724700AB630E /* ContactAdvanceSearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5501C58724700AB630E /* ContactAdvanceSearchViewController.m */; };
+		7162A55C1C58724700AB630E /* ContactListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5521C58724700AB630E /* ContactListTableViewCell.m */; };
+		7162A55D1C58724700AB630E /* ContactListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5541C58724700AB630E /* ContactListViewController.m */; };
+		7162A55E1C58724700AB630E /* customer_advanced_search.json in Resources */ = {isa = PBXBuildFile; fileRef = 7162A5551C58724700AB630E /* customer_advanced_search.json */; };
+		7162A55F1C58724700AB630E /* customer_info_template.json in Resources */ = {isa = PBXBuildFile; fileRef = 7162A5561C58724700AB630E /* customer_info_template.json */; };
+		7162A5601C58724700AB630E /* CustomerEditViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5581C58724700AB630E /* CustomerEditViewController.m */; };
+		7162A5611C58724700AB630E /* CustomerInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A55A1C58724700AB630E /* CustomerInfoViewController.m */; };
+		7162A5701C58728D00AB630E /* DetailHeaderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5631C58728D00AB630E /* DetailHeaderCell.m */; };
+		7162A5711C58728D00AB630E /* DetailImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5651C58728D00AB630E /* DetailImageCell.m */; };
+		7162A5721C58728D00AB630E /* DetailKVCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5671C58728D00AB630E /* DetailKVCell.m */; };
+		7162A5731C58728D00AB630E /* DetailTopicCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5691C58728D00AB630E /* DetailTopicCell.m */; };
+		7162A5741C58728D00AB630E /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A56B1C58728D00AB630E /* DetailViewController.m */; };
+		7162A5751C58728D00AB630E /* LineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A56D1C58728D00AB630E /* LineView.m */; };
+		7162A5811C5872EF00AB630E /* HomeTableViewCellBanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5781C5872EF00AB630E /* HomeTableViewCellBanner.m */; };
+		7162A5821C5872EF00AB630E /* HomeTableViewCellButtonBanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A57A1C5872EF00AB630E /* HomeTableViewCellButtonBanner.m */; };
+		7162A5831C5872EF00AB630E /* HomeTableViewCellSlide.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A57C1C5872EF00AB630E /* HomeTableViewCellSlide.m */; };
+		7162A5841C5872EF00AB630E /* HomeTableViewCellTopic.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A57E1C5872EF00AB630E /* HomeTableViewCellTopic.m */; };
+		7162A5851C5872EF00AB630E /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5801C5872EF00AB630E /* HomeViewController.m */; };
+		7162A5981C58733400AB630E /* CreateOrderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5871C58733400AB630E /* CreateOrderViewController.m */; };
+		7162A5991C58733400AB630E /* OrderDetailHtmlCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5891C58733400AB630E /* OrderDetailHtmlCell.m */; };
+		7162A59A1C58733400AB630E /* OrderDetailInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A58B1C58733400AB630E /* OrderDetailInfoCell.m */; };
+		7162A59B1C58733400AB630E /* OrderDetailModelCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A58D1C58733400AB630E /* OrderDetailModelCell.m */; };
+		7162A59C1C58733400AB630E /* OrderDetailPriceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A58F1C58733400AB630E /* OrderDetailPriceCell.m */; };
+		7162A59D1C58733400AB630E /* OrderDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5911C58733400AB630E /* OrderDetailViewController.m */; };
+		7162A59E1C58733400AB630E /* OrderListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5931C58733400AB630E /* OrderListTableViewCell.m */; };
+		7162A59F1C58733400AB630E /* OrderListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5951C58733400AB630E /* OrderListViewController.m */; };
+		7162A5A01C58733400AB630E /* status_filter_cadedate_open.json in Resources */ = {isa = PBXBuildFile; fileRef = 7162A5961C58733400AB630E /* status_filter_cadedate_open.json */; };
+		7162A5A11C58733400AB630E /* offline_status_filter_cadedate.json in Resources */ = {isa = PBXBuildFile; fileRef = 7162A5971C58733400AB630E /* offline_status_filter_cadedate.json */; };
+		7162A5AC1C58735900AB630E /* PortfolioViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5A71C58735900AB630E /* PortfolioViewController.m */; };
+		7162A5AD1C58735900AB630E /* TearSheetParamViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5A91C58735900AB630E /* TearSheetParamViewController.m */; };
+		7162A5B41C58738600AB630E /* ScannerControllerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5AF1C58738600AB630E /* ScannerControllerView.m */; };
+		7162A5B51C58738600AB630E /* ScannerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5B11C58738600AB630E /* ScannerViewController.m */; };
+		7162A5B61C58738600AB630E /* SCShapeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5B31C58738600AB630E /* SCShapeView.m */; };
+		7162A5C11C5873BB00AB630E /* FilterCellCadedate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5B81C5873BB00AB630E /* FilterCellCadedate.m */; };
+		7162A5C21C5873BB00AB630E /* FilterCellValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5BA1C5873BB00AB630E /* FilterCellValue.m */; };
+		7162A5C31C5873BB00AB630E /* ItemSearchFilterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5BC1C5873BB00AB630E /* ItemSearchFilterViewController.m */; };
+		7162A5C41C5873BB00AB630E /* ItemSearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5BE1C5873BB00AB630E /* ItemSearchViewController.m */; };
+		7162A5C51C5873BB00AB630E /* SearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5C01C5873BB00AB630E /* SearchViewController.m */; };
+		7162A5CA1C58761500AB630E /* SignatureView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5C71C58761500AB630E /* SignatureView.m */; };
+		7162A5CB1C58761500AB630E /* SignatureViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5C91C58761500AB630E /* SignatureViewController.m */; };
+		7162A5DA1C5876E300AB630E /* AboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5CD1C5876E300AB630E /* AboutViewController.m */; };
+		7162A5DB1C5876E300AB630E /* CacheViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5CF1C5876E300AB630E /* CacheViewController.m */; };
+		7162A5DC1C5876E300AB630E /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D11C5876E300AB630E /* LoginViewController.m */; };
+		7162A5DD1C5876E300AB630E /* PopupNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D31C5876E300AB630E /* PopupNavigationController.m */; };
+		7162A5DE1C5876E300AB630E /* RetrievePassViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D51C5876E300AB630E /* RetrievePassViewController.m */; };
+		7162A5DF1C5876E300AB630E /* ScannerSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D71C5876E300AB630E /* ScannerSettingViewController.m */; };
+		7162A5E01C5876E300AB630E /* SettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D91C5876E300AB630E /* SettingViewController.m */; };
+		7162A5E31C5877CE00AB630E /* WatchListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5E21C5877CE00AB630E /* WatchListViewController.m */; };
+		7162A5E61C58781000AB630E /* iSalesNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5E51C58781000AB630E /* iSalesNavigationController.m */; };
+		7162A5E91C5899F700AB630E /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5E81C5899F700AB630E /* MainViewController.m */; };
+		7165662E1EF3ACD900CB897F /* photostack_image.html in Resources */ = {isa = PBXBuildFile; fileRef = 7165662C1EF3ACD900CB897F /* photostack_image.html */; };
+		7165662F1EF3ACD900CB897F /* photostack_video.html in Resources */ = {isa = PBXBuildFile; fileRef = 7165662D1EF3ACD900CB897F /* photostack_video.html */; };
+		716961B519594E1000B19FB4 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 716961B419594E1000B19FB4 /* libsqlite3.dylib */; };
+		716AF8E11D7AA0E0001188E0 /* SelectUploadOrderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 716AF8E01D7AA0E0001188E0 /* SelectUploadOrderViewController.m */; };
+		716AF8E71D7AA398001188E0 /* SelectOrderTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 716AF8E51D7AA398001188E0 /* SelectOrderTableViewCell.m */; };
+		7186C25D1C97A6EE00CB43F4 /* FunctionTestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7186C25C1C97A6EE00CB43F4 /* FunctionTestViewController.m */; };
+		718716251C433D8B00F25860 /* ExternalAccessory.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 718716241C433D8B00F25860 /* ExternalAccessory.framework */; };
+		718716271C433D9700F25860 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 718716261C433D9700F25860 /* AudioToolbox.framework */; };
+		718716291C433DA400F25860 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 718716281C433DA400F25860 /* AVFoundation.framework */; };
+		7187162C1C43428100F25860 /* libScanApiCore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 718716221C433D5000F25860 /* libScanApiCore.a */; };
+		7195623C1CF57D1800C74A49 /* CategoryHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7195623B1CF57D1800C74A49 /* CategoryHeaderView.m */; };
+		71BBA2271CEAC16000C91DED /* ZipArchive.mm in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA2221CEAC16000C91DED /* ZipArchive.mm */; };
+		71BBA2291CEAC17E00C91DED /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 71BBA2281CEAC17E00C91DED /* libz.tbd */; };
+		71BBA2401CEAEF0700C91DED /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA2381CEAEF0700C91DED /* ioapi.c */; };
+		71BBA2411CEAEF0700C91DED /* mztools.c in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA23A1CEAEF0700C91DED /* mztools.c */; };
+		71BBA2421CEAEF0700C91DED /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA23C1CEAEF0700C91DED /* unzip.c */; settings = {COMPILER_FLAGS = "-Wno-dangling-else"; }; };
+		71BBA2431CEAEF0700C91DED /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA23E1CEAEF0700C91DED /* zip.c */; };
+		71BF06FB1D2F3CAC00981938 /* OLDataProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF06FA1D2F3CAC00981938 /* OLDataProvider.m */; };
+		71BF06FE1D2F3CBA00981938 /* OfflineSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF06FD1D2F3CBA00981938 /* OfflineSettingViewController.m */; };
+		71BF07081D2F3D2800981938 /* SyncControlPanelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF07071D2F3D2800981938 /* SyncControlPanelViewController.m */; };
+		71C1D84E1F456CAA00CEA1C9 /* HWWeakTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 71C1D84D1F456CAA00CEA1C9 /* HWWeakTimer.m */; };
+		71C1D8541F456D2700CEA1C9 /* ModelDescriptionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71C1D8531F456D2700CEA1C9 /* ModelDescriptionController.m */; };
+		71CB70751F99DF02009FDCB7 /* FileCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 71CB70731F99DF01009FDCB7 /* FileCache.m */; };
+		71CB70781F99E338009FDCB7 /* RAConvertor.m in Sources */ = {isa = PBXBuildFile; fileRef = 71CB70771F99E338009FDCB7 /* RAConvertor.m */; };
+		71D01ADD1E08CB1C006620CE /* signature.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71D01ADC1E08CB1C006620CE /* signature.storyboard */; };
+		71D01B1A1E0A2055006620CE /* ImageUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D01B151E0A2055006620CE /* ImageUtils.m */; };
+		71D01B1B1E0A2055006620CE /* PDFUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D01B171E0A2055006620CE /* PDFUtils.m */; };
+		71D01B1C1E0A2055006620CE /* TextUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D01B191E0A2055006620CE /* TextUtils.m */; };
+		71D0344F1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D0344E1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m */; };
+		71D30A211CFBEDC6006F9477 /* default_appearance.json in Resources */ = {isa = PBXBuildFile; fileRef = 71D30A201CFBEDC6006F9477 /* default_appearance.json */; };
+		71D30A2D1CFC0EF8006F9477 /* DefaultImageButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D30A2C1CFC0EF8006F9477 /* DefaultImageButton.m */; };
+		71DEE874192DE003003F645F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71DEE873192DE003003F645F /* QuartzCore.framework */; };
+		71DEE876192DE00E003F645F /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71DEE875192DE00E003F645F /* Accelerate.framework */; };
+		71DF742B1C57560600F2789C /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF742A1C57560600F2789C /* Reachability.m */; };
+		71DF74341C5757DA00F2789C /* ActiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74331C5757DA00F2789C /* ActiveViewController.m */; };
+		71DF74831C57608F00F2789C /* ImageScrollerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF746C1C57608F00F2789C /* ImageScrollerView.m */; };
+		71DF74841C57608F00F2789C /* ImageScrollerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF746E1C57608F00F2789C /* ImageScrollerViewController.m */; };
+		71DF74851C57608F00F2789C /* ImageUploadViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74701C57608F00F2789C /* ImageUploadViewController.m */; };
+		71DF74861C57608F00F2789C /* ImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74721C57608F00F2789C /* ImageViewController.m */; };
+		71DF74871C57608F00F2789C /* NIDropDown.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74741C57608F00F2789C /* NIDropDown.m */; };
+		71DF74881C57608F00F2789C /* PulldownMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74761C57608F00F2789C /* PulldownMenu.m */; };
+		71DF74891C57608F00F2789C /* RadioButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74781C57608F00F2789C /* RadioButton.m */; };
+		71DF748B1C57608F00F2789C /* SimpleGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF747C1C57608F00F2789C /* SimpleGrid.m */; };
+		71DF748D1C57608F00F2789C /* TouchLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74801C57608F00F2789C /* TouchLabel.m */; };
+		71DF748E1C57608F00F2789C /* UILabel+FontAppearance.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74821C57608F00F2789C /* UILabel+FontAppearance.m */; };
+		71DF74951C57614C00F2789C /* PhotoBorder.png in Resources */ = {isa = PBXBuildFile; fileRef = 71DF748F1C57614C00F2789C /* PhotoBorder.png */; };
+		71DF74961C57614C00F2789C /* PhotoBorder@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 71DF74901C57614C00F2789C /* PhotoBorder@2x.png */; };
+		71DF74971C57614C00F2789C /* PhotoStackView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74921C57614C00F2789C /* PhotoStackView.m */; };
+		71DF74981C57614C00F2789C /* PhotoStackViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74941C57614C00F2789C /* PhotoStackViewController.m */; };
+		71E5A0101DC99370005BF655 /* config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 71E5A00F1DC99370005BF655 /* config.plist */; };
+		71E9F6BC1F8B52DD0052C78E /* NetworkUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E9F6BA1F8B52DC0052C78E /* NetworkUtils.m */; };
+		71E9F6C21F8B57E40052C78E /* RANetworkTaskDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E9F6C01F8B57E30052C78E /* RANetworkTaskDelegate.m */; };
+		71FFBBE91C60894900D91DC2 /* iSalesDB.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FFBBE61C60894900D91DC2 /* iSalesDB.m */; };
+		71FFBBEA1C60894900D91DC2 /* RANetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FFBBE81C60894900D91DC2 /* RANetwork.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		3C2F99B6237BE1790000808F /* PortfolioListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PortfolioListTableViewCell.m; path = common/Functions/portfolio/PortfolioListTableViewCell.m; sourceTree = SOURCE_ROOT; };
+		3C2F99B7237BE1790000808F /* PortfolioListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PortfolioListTableViewCell.h; path = common/Functions/portfolio/PortfolioListTableViewCell.h; sourceTree = SOURCE_ROOT; };
+		3C51492D273CF9B900F78617 /* DBUtil.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DBUtil.h; path = common/DBUtil.h; sourceTree = SOURCE_ROOT; };
+		3C51492E273CF9B900F78617 /* DBUtil.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = DBUtil.m; path = common/DBUtil.m; sourceTree = SOURCE_ROOT; };
+		3C514930273D092A00F78617 /* EnumSelectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectViewController.h; path = ../../common/customUI/commoneditor/EnumSelectViewController.h; sourceTree = "<group>"; };
+		3C514931273D092A00F78617 /* EnumSelectViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectViewController.m; path = ../../common/customUI/commoneditor/EnumSelectViewController.m; sourceTree = "<group>"; };
+		3C514933273D095800F78617 /* CommonEditorCellEdit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEdit.h; path = ../../common/customUI/commoneditor/CommonEditorCellEdit.h; sourceTree = "<group>"; };
+		3C514934273D095800F78617 /* CommonEditorCellSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellSwitch.m; path = ../../common/customUI/commoneditor/CommonEditorCellSwitch.m; sourceTree = "<group>"; };
+		3C514935273D095800F78617 /* CommonEditorCellTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellTextView.m; path = ../../common/customUI/commoneditor/CommonEditorCellTextView.m; sourceTree = "<group>"; };
+		3C514936273D095800F78617 /* CommonEditorCellSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellSwitch.h; path = ../../common/customUI/commoneditor/CommonEditorCellSwitch.h; sourceTree = "<group>"; };
+		3C514937273D095800F78617 /* CommonEditorCellLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellLabel.h; path = ../../common/customUI/commoneditor/CommonEditorCellLabel.h; sourceTree = "<group>"; };
+		3C514938273D095800F78617 /* CommonEditorCellSignature.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellSignature.h; path = ../../common/customUI/commoneditor/CommonEditorCellSignature.h; sourceTree = "<group>"; };
+		3C514939273D095800F78617 /* CommonEditorCellEnum.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEnum.m; path = ../../common/customUI/commoneditor/CommonEditorCellEnum.m; sourceTree = "<group>"; };
+		3C51493A273D095900F78617 /* CommonEditorCellEdit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEdit.m; path = ../../common/customUI/commoneditor/CommonEditorCellEdit.m; sourceTree = "<group>"; };
+		3C51493B273D095900F78617 /* CommonEditorCellMAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellMAction.h; path = ../../common/customUI/commoneditor/CommonEditorCellMAction.h; sourceTree = "<group>"; };
+		3C51493C273D095900F78617 /* CommonEditorCellLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellLabel.m; path = ../../common/customUI/commoneditor/CommonEditorCellLabel.m; sourceTree = "<group>"; };
+		3C51493D273D095900F78617 /* CommonEditorCellMAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellMAction.m; path = ../../common/customUI/commoneditor/CommonEditorCellMAction.m; sourceTree = "<group>"; };
+		3C51493E273D095900F78617 /* CommonEditorCellSignature.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellSignature.m; path = ../../common/customUI/commoneditor/CommonEditorCellSignature.m; sourceTree = "<group>"; };
+		3C51493F273D095900F78617 /* CommonEditorCellImg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellImg.m; path = ../../common/customUI/commoneditor/CommonEditorCellImg.m; sourceTree = "<group>"; };
+		3C514940273D095900F78617 /* CommonEditorCellModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellModel.h; path = ../../common/customUI/commoneditor/CommonEditorCellModel.h; sourceTree = "<group>"; };
+		3C514941273D095900F78617 /* CommonEditorCellAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellAction.h; path = ../../common/customUI/commoneditor/CommonEditorCellAction.h; sourceTree = "<group>"; };
+		3C514942273D095900F78617 /* CommonEditorCellEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEnum.h; path = ../../common/customUI/commoneditor/CommonEditorCellEnum.h; sourceTree = "<group>"; };
+		3C514943273D095900F78617 /* CommonEditorCellImg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellImg.h; path = ../../common/customUI/commoneditor/CommonEditorCellImg.h; sourceTree = "<group>"; };
+		3C514944273D095900F78617 /* CommonEditorCellAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellAction.m; path = ../../common/customUI/commoneditor/CommonEditorCellAction.m; sourceTree = "<group>"; };
+		3C514945273D095900F78617 /* CommonEditorCellModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellModel.m; path = ../../common/customUI/commoneditor/CommonEditorCellModel.m; sourceTree = "<group>"; };
+		3C514946273D095900F78617 /* CommonEditorCellTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellTextView.h; path = ../../common/customUI/commoneditor/CommonEditorCellTextView.h; sourceTree = "<group>"; };
+		3C514951273D096A00F78617 /* CommonEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorViewController.m; path = ../../common/customUI/commoneditor/CommonEditorViewController.m; sourceTree = "<group>"; };
+		3C514952273D096A00F78617 /* CommonEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorViewController.h; path = ../../common/customUI/commoneditor/CommonEditorViewController.h; sourceTree = "<group>"; };
+		3C514954273D097E00F78617 /* CommonEditorTableContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorTableContainerView.h; path = ../../common/customUI/commoneditor/CommonEditorTableContainerView.h; sourceTree = "<group>"; };
+		3C514955273D097E00F78617 /* CommonEditorTableContainerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorTableContainerView.m; path = ../../common/customUI/commoneditor/CommonEditorTableContainerView.m; sourceTree = "<group>"; };
+		3C514957273D098700F78617 /* DatePickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DatePickerViewController.h; path = ../../common/customUI/commoneditor/DatePickerViewController.h; sourceTree = "<group>"; };
+		3C514958273D098700F78617 /* DatePickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DatePickerViewController.m; path = ../../common/customUI/commoneditor/DatePickerViewController.m; sourceTree = "<group>"; };
+		3C51495A273D099600F78617 /* EnumSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectorCell.h; path = ../../common/customUI/commoneditor/EnumSelectorCell.h; sourceTree = "<group>"; };
+		3C51495B273D099600F78617 /* EnumSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectorCell.m; path = ../../common/customUI/commoneditor/EnumSelectorCell.m; sourceTree = "<group>"; };
+		3C51495D273D09B800F78617 /* MonthPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MonthPickerViewController.h; path = ../../common/customUI/commoneditor/MonthPickerViewController.h; sourceTree = "<group>"; };
+		3C51495E273D09B800F78617 /* MonthPickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MonthPickerViewController.m; path = ../../common/customUI/commoneditor/MonthPickerViewController.m; sourceTree = "<group>"; };
+		3C514960273D09E700F78617 /* CommonEditor.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CommonEditor.storyboard; path = ../../common/customUI/commoneditor/CommonEditor.storyboard; sourceTree = "<group>"; };
+		3C514964273D0A2F00F78617 /* SRMonthPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRMonthPicker.h; path = ../../common/customUI/commoneditor/SRMonthPicker.h; sourceTree = "<group>"; };
+		3C514965273D0A2F00F78617 /* SRMonthPicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRMonthPicker.m; path = ../../common/customUI/commoneditor/SRMonthPicker.m; sourceTree = "<group>"; };
+		3C514967273D0B1E00F78617 /* RADataProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RADataProvider.h; path = common/data_provider/RADataProvider.h; sourceTree = SOURCE_ROOT; };
+		3C514968273D0B1E00F78617 /* RADataProvider.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RADataProvider.m; path = common/data_provider/RADataProvider.m; sourceTree = SOURCE_ROOT; };
+		3C514972273E074500F78617 /* CommonEditorCellEditor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEditor.m; path = ../../common/customUI/commoneditor/CommonEditorCellEditor.m; sourceTree = "<group>"; };
+		3C514973273E074500F78617 /* CommonEditorCellEditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEditor.h; path = ../../common/customUI/commoneditor/CommonEditorCellEditor.h; sourceTree = "<group>"; };
+		3C514976273E07D500F78617 /* EnumSelectAndSort.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = EnumSelectAndSort.storyboard; path = ../../common/customUI/commoneditor/EnumSelectAndSort/EnumSelectAndSort.storyboard; sourceTree = "<group>"; };
+		3C514977273E07D500F78617 /* EnumSelectAndSortCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectAndSortCell.h; path = ../../common/customUI/commoneditor/EnumSelectAndSort/EnumSelectAndSortCell.h; sourceTree = "<group>"; };
+		3C514978273E07D500F78617 /* EnumModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumModel.h; path = ../../common/customUI/commoneditor/EnumSelectAndSort/EnumModel.h; sourceTree = "<group>"; };
+		3C514979273E07D500F78617 /* EnumSelectAndSortViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectAndSortViewController.m; path = ../../common/customUI/commoneditor/EnumSelectAndSort/EnumSelectAndSortViewController.m; sourceTree = "<group>"; };
+		3C51497A273E07D500F78617 /* EnumSelectAndSortCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectAndSortCell.m; path = ../../common/customUI/commoneditor/EnumSelectAndSort/EnumSelectAndSortCell.m; sourceTree = "<group>"; };
+		3C51497B273E07D500F78617 /* EnumSelectAndSortViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectAndSortViewController.h; path = ../../common/customUI/commoneditor/EnumSelectAndSort/EnumSelectAndSortViewController.h; sourceTree = "<group>"; };
+		3C51497C273E07D600F78617 /* EnumModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumModel.m; path = ../../common/customUI/commoneditor/EnumSelectAndSort/EnumModel.m; sourceTree = "<group>"; };
+		3C514989273E091500F78617 /* PhotoList.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = PhotoList.storyboard; sourceTree = "<group>"; };
+		3C51498B273E091500F78617 /* ContentPreviewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContentPreviewController.m; sourceTree = "<group>"; };
+		3C51498C273E091500F78617 /* ContentPreviewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContentPreviewController.h; sourceTree = "<group>"; };
+		3C51498E273E091500F78617 /* VideoPreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VideoPreviewCell.m; sourceTree = "<group>"; };
+		3C51498F273E091500F78617 /* PhotoPreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhotoPreviewCell.h; sourceTree = "<group>"; };
+		3C514990273E091500F78617 /* PhotoPreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhotoPreviewCell.m; sourceTree = "<group>"; };
+		3C514991273E091500F78617 /* VideoPreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoPreviewCell.h; sourceTree = "<group>"; };
+		3C514997273E097B00F78617 /* RAProgressHUD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RAProgressHUD.h; sourceTree = "<group>"; };
+		3C514998273E097B00F78617 /* RAProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RAProgressHUD.m; sourceTree = "<group>"; };
+		3C51499A273E0B6400F78617 /* common_const.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = common_const.h; path = ../../common/common_const.h; sourceTree = "<group>"; };
+		3C68314A239607B500AD5BD7 /* ytplayer.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = ytplayer.html; path = ../../common/Youtube/ytplayer.html; sourceTree = "<group>"; };
+		3C68314B239607B500AD5BD7 /* RAYTPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAYTPlayer.m; path = ../../common/Youtube/RAYTPlayer.m; sourceTree = "<group>"; };
+		3C68314C239607B500AD5BD7 /* RAYTPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAYTPlayer.h; path = ../../common/Youtube/RAYTPlayer.h; sourceTree = "<group>"; };
+		3C68314F2396082700AD5BD7 /* ERP_Mobile_Discard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Discard.storyboard; path = common/ERP_Mobile_Discard.storyboard; sourceTree = SOURCE_ROOT; };
+		3C6831502396082700AD5BD7 /* ERP_Mobile_Cart.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Cart.storyboard; path = common/ERP_Mobile_Cart.storyboard; sourceTree = SOURCE_ROOT; };
+		3C6831512396082700AD5BD7 /* ERP_Mobile_Model.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Model.storyboard; path = common/ERP_Mobile_Model.storyboard; sourceTree = SOURCE_ROOT; };
+		3C6831522396082700AD5BD7 /* ERP_Mobile_Search.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Search.storyboard; path = common/ERP_Mobile_Search.storyboard; sourceTree = SOURCE_ROOT; };
+		3C6831532396082700AD5BD7 /* ERP_Mobile_Contact.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Contact.storyboard; path = common/ERP_Mobile_Contact.storyboard; sourceTree = SOURCE_ROOT; };
+		3C6831542396082800AD5BD7 /* ERP_Mobile_Order.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Order.storyboard; path = common/ERP_Mobile_Order.storyboard; sourceTree = SOURCE_ROOT; };
+		3C6831552396082800AD5BD7 /* ERP_Mobile_Portfolio.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = ERP_Mobile_Portfolio.storyboard; path = common/ERP_Mobile_Portfolio.storyboard; sourceTree = SOURCE_ROOT; };
+		3C68315D2396094100AD5BD7 /* iPadCommonEditorCellImg.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellImg.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellImg.xib; sourceTree = "<group>"; };
+		3C68315E2396094100AD5BD7 /* CommonEditor.iPad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CommonEditor.iPad.xib; path = ../../common/customUI/CommonEditoriPad/CommonEditor.iPad.xib; sourceTree = "<group>"; };
+		3C68315F2396094200AD5BD7 /* iPadCommonEditorCellLabel.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellLabel.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellLabel.xib; sourceTree = "<group>"; };
+		3C6831602396094200AD5BD7 /* iPadCommonEditorCellSwitch.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellSwitch.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellSwitch.xib; sourceTree = "<group>"; };
+		3C6831612396094200AD5BD7 /* iPadCommonEditorCellEnum.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellEnum.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellEnum.xib; sourceTree = "<group>"; };
+		3C6831622396094200AD5BD7 /* iPadCommonEditorCellTextView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellTextView.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellTextView.xib; sourceTree = "<group>"; };
+		3C6831632396094200AD5BD7 /* iPadCommonEditorCellAction.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellAction.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellAction.xib; sourceTree = "<group>"; };
+		3C6831642396094200AD5BD7 /* iPadCommonEditorCellModel.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellModel.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellModel.xib; sourceTree = "<group>"; };
+		3C6831652396094200AD5BD7 /* iPadCommonEditorCellMAction.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellMAction.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellMAction.xib; sourceTree = "<group>"; };
+		3C6831662396094200AD5BD7 /* iPadCommonEditorCellSignature.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellSignature.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellSignature.xib; sourceTree = "<group>"; };
+		3C6831672396094200AD5BD7 /* iPadCommonEditorCellEdit.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = iPadCommonEditorCellEdit.xib; path = ../../common/customUI/CommonEditoriPad/iPadCommonEditorCellEdit.xib; sourceTree = "<group>"; };
+		3C69617D23C7156D0075172A /* RAPDFViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAPDFViewController.h; path = "../../common/WK PDF+Web/RAPDFViewController.h"; sourceTree = "<group>"; };
+		3C69617E23C7156D0075172A /* RAPDFViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAPDFViewController.m; path = "../../common/WK PDF+Web/RAPDFViewController.m"; sourceTree = "<group>"; };
+		3C69617F23C7156D0075172A /* WebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WebViewController.m; path = "../../common/WK PDF+Web/WebViewController.m"; sourceTree = "<group>"; };
+		3C69618023C7156D0075172A /* wkweb.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = wkweb.storyboard; path = "../../common/WK PDF+Web/wkweb.storyboard"; sourceTree = "<group>"; };
+		3C69618123C7156D0075172A /* WebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebViewController.h; path = "../../common/WK PDF+Web/WebViewController.h"; sourceTree = "<group>"; };
+		3C7E5A8C237BDB0C006D0105 /* PortfolioListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PortfolioListViewController.m; path = common/Functions/portfolio/PortfolioListViewController.m; sourceTree = SOURCE_ROOT; };
+		3C7E5A8D237BDB0C006D0105 /* PortfolioListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PortfolioListViewController.h; path = common/Functions/portfolio/PortfolioListViewController.h; sourceTree = SOURCE_ROOT; };
+		3CDDB25A273A564200681F78 /* DefaultTableHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultTableHeaderView.m; path = ../../common/customUI/commoneditor/DefaultTableHeaderView.m; sourceTree = "<group>"; };
+		3CDDB25B273A564200681F78 /* DefaultTableHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultTableHeaderView.h; path = ../../common/customUI/commoneditor/DefaultTableHeaderView.h; sourceTree = "<group>"; };
+		3CDDB25F273A597B00681F78 /* const.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = const.h; path = common/const.h; sourceTree = SOURCE_ROOT; };
+		3CDDB260273A59DF00681F78 /* TouchImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TouchImageView.m; path = ../../common/customUI/TouchImageView.m; sourceTree = "<group>"; };
+		3CDDB261273A59DF00681F78 /* TouchImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchImageView.h; path = ../../common/customUI/TouchImageView.h; sourceTree = "<group>"; };
+		3CDDB263273A59EF00681F78 /* RTLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTLabel.h; path = ../../common/customUI/RTLabel.h; sourceTree = "<group>"; };
+		3CDDB264273A59EF00681F78 /* RTLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RTLabel.m; path = ../../common/customUI/RTLabel.m; sourceTree = "<group>"; };
+		3CDDB266273A5A0400681F78 /* StrikethroughLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StrikethroughLabel.h; path = ../../common/customUI/StrikethroughLabel.h; sourceTree = "<group>"; };
+		3CDDB267273A5A0400681F78 /* StrikethroughLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StrikethroughLabel.m; path = ../../common/customUI/StrikethroughLabel.m; sourceTree = "<group>"; };
+		3CDDB269273A5A1400681F78 /* CustomIOSAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CustomIOSAlertView.m; path = ../../common/customUI/CustomIOSAlertView.m; sourceTree = "<group>"; };
+		3CDDB26A273A5A1500681F78 /* CustomIOSAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomIOSAlertView.h; path = ../../common/customUI/CustomIOSAlertView.h; sourceTree = "<group>"; };
+		3CDDB26C273A5A7800681F78 /* RAUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAUtils.m; path = ../../common/RAUtils.m; sourceTree = "<group>"; };
+		3CDDB26D273A5A7800681F78 /* RAUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAUtils.h; path = ../../common/RAUtils.h; sourceTree = "<group>"; };
+		423CC87421D22FDE008BD2C4 /* Launch Screen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = SOURCE_ROOT; };
+		424A02CF1FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RABackOrderSubmitAlertController.h; path = common/Functions/order/RABackOrderSubmitAlertController.h; sourceTree = SOURCE_ROOT; };
+		424A02D01FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RABackOrderSubmitAlertController.m; path = common/Functions/order/RABackOrderSubmitAlertController.m; sourceTree = SOURCE_ROOT; };
+		4254CCDC1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RAOrderEditorViewController.h; path = common/Functions/order/RAOrderEditorViewController.h; sourceTree = SOURCE_ROOT; };
+		4254CCDD1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RAOrderEditorViewController.m; path = common/Functions/order/RAOrderEditorViewController.m; sourceTree = SOURCE_ROOT; };
+		428980021E2490C1005F1BD8 /* NotificationNameCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotificationNameCenter.h; path = common/NotificationNameCenter.h; sourceTree = SOURCE_ROOT; };
+		428980031E2490C1005F1BD8 /* NotificationNameCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NotificationNameCenter.m; path = common/NotificationNameCenter.m; sourceTree = SOURCE_ROOT; };
+		428980081E24918F005F1BD8 /* CartUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CartUtils.h; path = common/CartUtils.h; sourceTree = SOURCE_ROOT; };
+		428980091E24918F005F1BD8 /* CartUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CartUtils.m; path = common/CartUtils.m; sourceTree = SOURCE_ROOT; };
+		4289800F1E24924D005F1BD8 /* SortButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SortButton.h; sourceTree = "<group>"; };
+		428980101E24924D005F1BD8 /* SortButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SortButton.m; sourceTree = "<group>"; };
+		428980111E24924D005F1BD8 /* SortItemCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SortItemCell.h; sourceTree = "<group>"; };
+		428980121E24924D005F1BD8 /* SortItemCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SortItemCell.m; sourceTree = "<group>"; };
+		428980131E24924D005F1BD8 /* SortItemViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SortItemViewController.h; sourceTree = "<group>"; };
+		428980141E24924D005F1BD8 /* SortItemViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SortItemViewController.m; sourceTree = "<group>"; };
+		428980231E2492D2005F1BD8 /* CategoryPriceCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CategoryPriceCell.h; sourceTree = "<group>"; };
+		428980241E2492D2005F1BD8 /* CategoryPriceCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CategoryPriceCell.m; sourceTree = "<group>"; };
+		428980251E2492D2005F1BD8 /* CategoryPriceViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CategoryPriceViewController.h; sourceTree = "<group>"; };
+		428980261E2492D2005F1BD8 /* CategoryPriceViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CategoryPriceViewController.m; sourceTree = "<group>"; };
+		428980271E2492D2005F1BD8 /* PriceSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PriceSettingViewController.h; sourceTree = "<group>"; };
+		428980281E2492D2005F1BD8 /* PriceSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PriceSettingViewController.m; sourceTree = "<group>"; };
+		428980291E2492D2005F1BD8 /* SetCategoryPriceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetCategoryPriceController.h; sourceTree = "<group>"; };
+		4289802A1E2492D2005F1BD8 /* SetCategoryPriceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SetCategoryPriceController.m; sourceTree = "<group>"; };
+		4289803D1E249339005F1BD8 /* JKDotView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKDotView.h; sourceTree = "<group>"; };
+		4289803E1E249339005F1BD8 /* JKDotView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKDotView.m; sourceTree = "<group>"; };
+		4289803F1E249339005F1BD8 /* JKLockButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKLockButton.h; sourceTree = "<group>"; };
+		428980401E249339005F1BD8 /* JKLockButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKLockButton.m; sourceTree = "<group>"; };
+		428980411E249339005F1BD8 /* JKLockController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKLockController.h; sourceTree = "<group>"; };
+		428980421E249339005F1BD8 /* JKLockController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKLockController.m; sourceTree = "<group>"; };
+		428980431E249339005F1BD8 /* JKMessageBoxController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKMessageBoxController.h; sourceTree = "<group>"; };
+		428980441E249339005F1BD8 /* JKMessageBoxController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKMessageBoxController.m; sourceTree = "<group>"; };
+		4289805B1E249375005F1BD8 /* UIColor+JK_HEX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+JK_HEX.h"; sourceTree = "<group>"; };
+		4289805C1E249375005F1BD8 /* UIColor+JK_HEX.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+JK_HEX.m"; sourceTree = "<group>"; };
+		428980701E24B1E9005F1BD8 /* RASingleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RASingleton.h; path = common/RASingleton.h; sourceTree = SOURCE_ROOT; };
+		428980711E24B1E9005F1BD8 /* RASingleton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RASingleton.m; path = common/RASingleton.m; sourceTree = SOURCE_ROOT; };
+		4289809C1E24B526005F1BD8 /* JKTimerManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKTimerManager.h; sourceTree = "<group>"; };
+		4289809D1E24B526005F1BD8 /* JKTimerManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKTimerManager.m; sourceTree = "<group>"; };
+		4295AE191FE74D46007BE365 /* CommonEditorAutoCompleteView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorAutoCompleteView.h; path = ../../common/customUI/commoneditor/CommonEditorAutoCompleteView.h; sourceTree = "<group>"; };
+		4295AE1A1FE74D46007BE365 /* CommonEditorAutoCompleteView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorAutoCompleteView.m; path = ../../common/customUI/commoneditor/CommonEditorAutoCompleteView.m; sourceTree = "<group>"; };
+		4295AE1B1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CommonEditorAutoCompleteView.xib; path = ../../common/customUI/commoneditor/CommonEditorAutoCompleteView.xib; sourceTree = "<group>"; };
+		42B309781E45BA32007AFC62 /* status_filter_cadedate_po.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = status_filter_cadedate_po.json; path = common/Functions/order/status_filter_cadedate_po.json; sourceTree = SOURCE_ROOT; };
+		42BEF3241E89FE1100632AB6 /* FirebaseAnalytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseAnalytics.framework; sourceTree = "<group>"; };
+		42BEF3271E89FE1100632AB6 /* FirebaseCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseCore.framework; sourceTree = "<group>"; };
+		42BEF3291E89FE1100632AB6 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = "<group>"; };
+		42BEF32B1E89FE1100632AB6 /* FirebaseInstanceID.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseInstanceID.framework; sourceTree = "<group>"; };
+		42BEF32C1E89FE1100632AB6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
+		42BEF32F1E89FE1100632AB6 /* GGLAnalytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GGLAnalytics.framework; sourceTree = "<group>"; };
+		42BEF3301E89FE1100632AB6 /* GGLCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GGLCore.framework; sourceTree = "<group>"; };
+		42BEF3321E89FE1100632AB6 /* Analytics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Analytics.h; sourceTree = "<group>"; };
+		42BEF3331E89FE1100632AB6 /* Core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Core.h; sourceTree = "<group>"; };
+		42BEF3341E89FE1100632AB6 /* module.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
+		42BEF3361E89FE1100632AB6 /* Analytics-Module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Analytics-Module.h"; sourceTree = "<group>"; };
+		42BEF3371E89FE1100632AB6 /* Core-Module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Core-Module.h"; sourceTree = "<group>"; };
+		42BEF3381E89FE1100632AB6 /* SignIn-Module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SignIn-Module.h"; sourceTree = "<group>"; };
+		42BEF3391E89FE1100632AB6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
+		42BEF33C1E89FE1100632AB6 /* libGoogleAnalytics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGoogleAnalytics.a; sourceTree = "<group>"; };
+		42BEF33E1E89FE1100632AB6 /* GAI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAI.h; sourceTree = "<group>"; };
+		42BEF33F1E89FE1100632AB6 /* GAIDictionaryBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIDictionaryBuilder.h; sourceTree = "<group>"; };
+		42BEF3401E89FE1100632AB6 /* GAIEcommerceFields.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIEcommerceFields.h; sourceTree = "<group>"; };
+		42BEF3411E89FE1100632AB6 /* GAIEcommerceProduct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIEcommerceProduct.h; sourceTree = "<group>"; };
+		42BEF3421E89FE1100632AB6 /* GAIEcommerceProductAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIEcommerceProductAction.h; sourceTree = "<group>"; };
+		42BEF3431E89FE1100632AB6 /* GAIEcommercePromotion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIEcommercePromotion.h; sourceTree = "<group>"; };
+		42BEF3441E89FE1100632AB6 /* GAIFields.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIFields.h; sourceTree = "<group>"; };
+		42BEF3451E89FE1100632AB6 /* GAILogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAILogger.h; sourceTree = "<group>"; };
+		42BEF3461E89FE1100632AB6 /* GAITrackedViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAITrackedViewController.h; sourceTree = "<group>"; };
+		42BEF3471E89FE1100632AB6 /* GAITracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAITracker.h; sourceTree = "<group>"; };
+		42BEF34A1E89FE1100632AB6 /* GTMNSData+zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "GTMNSData+zlib.h"; sourceTree = "<group>"; };
+		42BEF34B1E89FE1100632AB6 /* GTMNSData+zlib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "GTMNSData+zlib.m"; sourceTree = "<group>"; };
+		42BEF34C1E89FE1100632AB6 /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMDefines.h; sourceTree = "<group>"; };
+		42BEF34E1E89FE1100632AB6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
+		42BEF35C1E89FECD00632AB6 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
+		42BEF35E1E89FEE300632AB6 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
+		42BEF3601E8A005800632AB6 /* GoogleAnalyst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoogleAnalyst.h; sourceTree = "<group>"; };
+		42BEF3611E8A005800632AB6 /* GoogleAnalyst.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoogleAnalyst.m; sourceTree = "<group>"; };
+		42BF67CA1E5179970081F90A /* ERPUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ERPUtils.h; path = common/ERPUtils.h; sourceTree = SOURCE_ROOT; };
+		42BF67CB1E5179970081F90A /* ERPUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ERPUtils.m; path = common/ERPUtils.m; sourceTree = SOURCE_ROOT; };
+		42D9A0221EB02DA6008AF7AF /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; };
+		42D9A0241EB03994008AF7AF /* libAdIdAccess.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libAdIdAccess.a; sourceTree = "<group>"; };
+		42DC12EF1F0CD98E00A4C011 /* OrderDetailPickInfoCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailPickInfoCell.h; path = common/Functions/order/OrderDetailPickInfoCell.h; sourceTree = SOURCE_ROOT; };
+		42DC12F01F0CD98E00A4C011 /* OrderDetailPickInfoCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailPickInfoCell.m; path = common/Functions/order/OrderDetailPickInfoCell.m; sourceTree = SOURCE_ROOT; };
+		42E489601EE63F4E007256A0 /* more_color_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = more_color_64.png; sourceTree = "<group>"; };
+		42FD1A011FBD1A3000C5D9A8 /* RAOrderPreviewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RAOrderPreviewController.h; path = common/Functions/order/RAOrderPreviewController.h; sourceTree = SOURCE_ROOT; };
+		42FD1A021FBD1A3000C5D9A8 /* RAOrderPreviewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RAOrderPreviewController.m; path = common/Functions/order/RAOrderPreviewController.m; sourceTree = SOURCE_ROOT; };
+		710274231CC606C4009FD219 /* UserListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserListViewController.h; path = common/Functions/sidemenu/UserListViewController.h; sourceTree = SOURCE_ROOT; };
+		710274241CC606C4009FD219 /* UserListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserListViewController.m; path = common/Functions/sidemenu/UserListViewController.m; sourceTree = SOURCE_ROOT; };
+		7111E5711C76C557004763B3 /* customer_info_template_edit.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = customer_info_template_edit.json; path = common/Functions/contact/customer_info_template_edit.json; sourceTree = SOURCE_ROOT; };
+		71131F901CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimplifiedBuyingProgramViewController.h; path = common/Functions/sidemenu/SimplifiedBuyingProgramViewController.h; sourceTree = SOURCE_ROOT; };
+		71131F911CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SimplifiedBuyingProgramViewController.m; path = common/Functions/sidemenu/SimplifiedBuyingProgramViewController.m; sourceTree = SOURCE_ROOT; };
+		712AFEC51DBA050200254965 /* BasicDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BasicDrawable.h; path = common/pdfCreator/BasicDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFEC61DBA050200254965 /* BasicDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BasicDrawable.m; path = common/pdfCreator/BasicDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFEC71DBA050200254965 /* GridDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GridDrawable.h; path = common/pdfCreator/GridDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFEC81DBA050200254965 /* GridDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GridDrawable.m; path = common/pdfCreator/GridDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFEC91DBA050200254965 /* GroupDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GroupDrawable.h; path = common/pdfCreator/GroupDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFECA1DBA050200254965 /* GroupDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GroupDrawable.m; path = common/pdfCreator/GroupDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFECB1DBA050200254965 /* ImageDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageDrawable.h; path = common/pdfCreator/ImageDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFECC1DBA050200254965 /* ImageDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageDrawable.m; path = common/pdfCreator/ImageDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFECD1DBA050200254965 /* LineDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineDrawable.h; path = common/pdfCreator/LineDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFECE1DBA050200254965 /* LineDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LineDrawable.m; path = common/pdfCreator/LineDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFECF1DBA050200254965 /* PDFDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PDFDrawable.h; path = common/pdfCreator/PDFDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFED01DBA050200254965 /* PDFDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PDFDrawable.m; path = common/pdfCreator/PDFDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFED11DBA050200254965 /* RAPDFPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAPDFPage.h; path = common/pdfCreator/RAPDFPage.h; sourceTree = SOURCE_ROOT; };
+		712AFED21DBA050200254965 /* RAPDFPage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAPDFPage.m; path = common/pdfCreator/RAPDFPage.m; sourceTree = SOURCE_ROOT; };
+		712AFED31DBA050200254965 /* TableDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TableDrawable.h; path = common/pdfCreator/TableDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFED41DBA050200254965 /* TableDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TableDrawable.m; path = common/pdfCreator/TableDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFED51DBA050200254965 /* TextDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextDrawable.h; path = common/pdfCreator/TextDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFED61DBA050200254965 /* TextDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TextDrawable.m; path = common/pdfCreator/TextDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFEE01DBA077F00254965 /* pdfCreator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pdfCreator.h; path = common/pdfCreator/pdfCreator.h; sourceTree = SOURCE_ROOT; };
+		712AFEE11DBA077F00254965 /* pdfCreator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = pdfCreator.m; path = common/pdfCreator/pdfCreator.m; sourceTree = SOURCE_ROOT; };
+		712AFEE41DBDAF0300254965 /* pdfcreator.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = pdfcreator.xcassets; sourceTree = "<group>"; };
+		712BABF11C897E3A0007466B /* CategorySearchFilterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategorySearchFilterViewController.h; path = common/Functions/category/CategorySearchFilterViewController.h; sourceTree = SOURCE_ROOT; };
+		712BABF21C897E3A0007466B /* CategorySearchFilterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategorySearchFilterViewController.m; path = common/Functions/category/CategorySearchFilterViewController.m; sourceTree = SOURCE_ROOT; };
+		712C40B41C7310F4000E6831 /* CartGeneralNotesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CartGeneralNotesViewController.h; path = common/Functions/cart/CartGeneralNotesViewController.h; sourceTree = SOURCE_ROOT; };
+		712C40B51C7310F4000E6831 /* CartGeneralNotesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CartGeneralNotesViewController.m; path = common/Functions/cart/CartGeneralNotesViewController.m; sourceTree = SOURCE_ROOT; };
+		712C40B71C731126000E6831 /* ItemNotesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ItemNotesViewController.h; path = common/Functions/cart/ItemNotesViewController.h; sourceTree = SOURCE_ROOT; };
+		712C40B81C731126000E6831 /* ItemNotesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ItemNotesViewController.m; path = common/Functions/cart/ItemNotesViewController.m; sourceTree = SOURCE_ROOT; };
+		713F76A61929F4A7006A7305 /* CONTRAST Mobile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "CONTRAST Mobile.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+		713F76A91929F4A7006A7305 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		713F76AB1929F4A7006A7305 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+		713F76AD1929F4A7006A7305 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+		713F76B11929F4A7006A7305 /* iSales-CONTRAST-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "iSales-CONTRAST-Info.plist"; sourceTree = "<group>"; };
+		713F76B31929F4A7006A7305 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		713F76B51929F4A7006A7305 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		713F76B71929F4A7006A7305 /* iSales-CONTRAST-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "iSales-CONTRAST-Prefix.pch"; sourceTree = "<group>"; };
+		713F76B81929F4A7006A7305 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+		713F76B91929F4A7006A7305 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+		713F76C11929F4A7006A7305 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
+		713F76C81929F4A7006A7305 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
+		714036F721646B8C0029B10F /* AppDelegateBase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegateBase.m; path = common/AppDelegateBase.m; sourceTree = SOURCE_ROOT; };
+		714036F821646B8C0029B10F /* AppDelegateBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegateBase.h; path = common/AppDelegateBase.h; sourceTree = SOURCE_ROOT; };
+		714036FA21646CFF0029B10F /* UIResponder+Router.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIResponder+Router.m"; path = "common/UIResponder+Router.m"; sourceTree = SOURCE_ROOT; };
+		714036FB21646CFF0029B10F /* UIResponder+Router.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIResponder+Router.h"; path = "common/UIResponder+Router.h"; sourceTree = SOURCE_ROOT; };
+		714037032164707D0029B10F /* MainHeaderViewColorPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MainHeaderViewColorPanel.h; path = common/Functions/MainHeaderViewColorPanel.h; sourceTree = SOURCE_ROOT; };
+		714037042164707D0029B10F /* MainHeaderViewColorPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MainHeaderViewColorPanel.m; path = common/Functions/MainHeaderViewColorPanel.m; sourceTree = SOURCE_ROOT; };
+		7141DD331C57269B00F7DF59 /* include */ = {isa = PBXFileReference; lastKnownFileType = folder; name = include; path = "ScanApiSDK-10.2.227-2/include"; sourceTree = SOURCE_ROOT; };
+		7141DD351C5726B700F7DF59 /* DeviceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeviceInfo.h; path = "ScanApiSDK-10.2.227-2/DeviceInfo.h"; sourceTree = SOURCE_ROOT; };
+		7141DD361C5726B700F7DF59 /* DeviceInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeviceInfo.m; path = "ScanApiSDK-10.2.227-2/DeviceInfo.m"; sourceTree = SOURCE_ROOT; };
+		7141DD371C5726B700F7DF59 /* ScanApiHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScanApiHelper.h; path = "ScanApiSDK-10.2.227-2/ScanApiHelper.h"; sourceTree = SOURCE_ROOT; };
+		7141DD381C5726B700F7DF59 /* ScanApiHelper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ScanApiHelper.mm; path = "ScanApiSDK-10.2.227-2/ScanApiHelper.mm"; sourceTree = SOURCE_ROOT; };
+		7141DD391C5726B700F7DF59 /* ScanApiIncludes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScanApiIncludes.h; path = "ScanApiSDK-10.2.227-2/ScanApiIncludes.h"; sourceTree = SOURCE_ROOT; };
+		7141DD3A1C5726B700F7DF59 /* softScanBeep.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = softScanBeep.wav; path = "ScanApiSDK-10.2.227-2/softScanBeep.wav"; sourceTree = SOURCE_ROOT; };
+		7141DD3E1C57459B00F7DF59 /* bitstream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bitstream.c; path = common/qrcode/bitstream.c; sourceTree = SOURCE_ROOT; };
+		7141DD3F1C57459B00F7DF59 /* bitstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bitstream.h; path = common/qrcode/bitstream.h; sourceTree = SOURCE_ROOT; };
+		7141DD401C57459B00F7DF59 /* mask.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mask.c; path = common/qrcode/mask.c; sourceTree = SOURCE_ROOT; };
+		7141DD411C57459B00F7DF59 /* mask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mask.h; path = common/qrcode/mask.h; sourceTree = SOURCE_ROOT; };
+		7141DD421C57459B00F7DF59 /* QRCodeGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QRCodeGenerator.h; path = common/qrcode/QRCodeGenerator.h; sourceTree = SOURCE_ROOT; };
+		7141DD431C57459B00F7DF59 /* QRCodeGenerator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = QRCodeGenerator.m; path = common/qrcode/QRCodeGenerator.m; sourceTree = SOURCE_ROOT; };
+		7141DD441C57459B00F7DF59 /* qrencode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = qrencode.c; path = common/qrcode/qrencode.c; sourceTree = SOURCE_ROOT; };
+		7141DD451C57459B00F7DF59 /* qrencode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qrencode.h; path = common/qrcode/qrencode.h; sourceTree = SOURCE_ROOT; };
+		7141DD461C57459B00F7DF59 /* qrinput.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = qrinput.c; path = common/qrcode/qrinput.c; sourceTree = SOURCE_ROOT; };
+		7141DD471C57459B00F7DF59 /* qrinput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qrinput.h; path = common/qrcode/qrinput.h; sourceTree = SOURCE_ROOT; };
+		7141DD481C57459B00F7DF59 /* qrspec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = qrspec.c; path = common/qrcode/qrspec.c; sourceTree = SOURCE_ROOT; };
+		7141DD491C57459B00F7DF59 /* qrspec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qrspec.h; path = common/qrcode/qrspec.h; sourceTree = SOURCE_ROOT; };
+		7141DD4A1C57459B00F7DF59 /* rscode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = rscode.c; path = common/qrcode/rscode.c; sourceTree = SOURCE_ROOT; };
+		7141DD4B1C57459B00F7DF59 /* rscode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rscode.h; path = common/qrcode/rscode.h; sourceTree = SOURCE_ROOT; };
+		7141DD4C1C57459B00F7DF59 /* split.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = split.c; path = common/qrcode/split.c; sourceTree = SOURCE_ROOT; };
+		7141DD4D1C57459B00F7DF59 /* split.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = split.h; path = common/qrcode/split.h; sourceTree = SOURCE_ROOT; };
+		7141DD561C5747CE00F7DF59 /* AESCrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AESCrypt.h; path = common/AES/AESCrypt.h; sourceTree = SOURCE_ROOT; };
+		7141DD571C5747CE00F7DF59 /* AESCrypt.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AESCrypt.m; path = common/AES/AESCrypt.m; sourceTree = SOURCE_ROOT; };
+		7141DD581C5747CE00F7DF59 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = common/AES/LICENSE; sourceTree = SOURCE_ROOT; };
+		7141DD591C5747CE00F7DF59 /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSData+Base64.h"; path = "common/AES/NSData+Base64.h"; sourceTree = SOURCE_ROOT; };
+		7141DD5A1C5747CE00F7DF59 /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSData+Base64.m"; path = "common/AES/NSData+Base64.m"; sourceTree = SOURCE_ROOT; };
+		7141DD5B1C5747CE00F7DF59 /* NSData+CommonCrypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSData+CommonCrypto.h"; path = "common/AES/NSData+CommonCrypto.h"; sourceTree = SOURCE_ROOT; };
+		7141DD5C1C5747CE00F7DF59 /* NSData+CommonCrypto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSData+CommonCrypto.m"; path = "common/AES/NSData+CommonCrypto.m"; sourceTree = SOURCE_ROOT; };
+		7141DD5D1C5747CE00F7DF59 /* NSString+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+Base64.h"; path = "common/AES/NSString+Base64.h"; sourceTree = SOURCE_ROOT; };
+		7141DD5E1C5747CE00F7DF59 /* NSString+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+Base64.m"; path = "common/AES/NSString+Base64.m"; sourceTree = SOURCE_ROOT; };
+		7142E8781DBF57510077EFA2 /* KALINGA.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; path = KALINGA.TTF; sourceTree = "<group>"; };
+		7142E8791DBF57510077EFA2 /* KALINGAB.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; path = KALINGAB.TTF; sourceTree = "<group>"; };
+		7142E87C1DC300010077EFA2 /* DejaVuSans-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "DejaVuSans-Bold.ttf"; sourceTree = "<group>"; };
+		7142E87D1DC300010077EFA2 /* DejaVuSans.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = DejaVuSans.ttf; sourceTree = "<group>"; };
+		7143E209202FCEEB00451903 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = "iSales-NPD/Base.lproj/OLM.storyboard"; sourceTree = SOURCE_ROOT; };
+		7143E20B202FCEEC00451903 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = "iSales-NPD/Base.lproj/Main.storyboard"; sourceTree = SOURCE_ROOT; };
+		7143E20E202FCEF600451903 /* CUL.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CUL.storyboard; path = "iSales-NPD/CUL.storyboard"; sourceTree = SOURCE_ROOT; };
+		7143E210202FCF7600451903 /* CategoryCellNPD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryCellNPD.h; path = "iSales-NPD/CategoryCellNPD.h"; sourceTree = SOURCE_ROOT; };
+		7143E211202FCF7600451903 /* CategoryCellNPD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategoryCellNPD.m; path = "iSales-NPD/CategoryCellNPD.m"; sourceTree = SOURCE_ROOT; };
+		7143E213202FCFC000451903 /* debug_category_filter.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = debug_category_filter.json; path = "iSales-NPD/debug_category_filter.json"; sourceTree = SOURCE_ROOT; };
+		7143E216202FD15A00451903 /* category.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = category.json; path = "iSales-NPD/category.json"; sourceTree = SOURCE_ROOT; };
+		7143E218202FD1DC00451903 /* contactAdvanceSearch.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = contactAdvanceSearch.json; path = "iSales-NPD/contactAdvanceSearch.json"; sourceTree = SOURCE_ROOT; };
+		7143E219202FD1DC00451903 /* createContact.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = createContact.json; path = "iSales-NPD/createContact.json"; sourceTree = SOURCE_ROOT; };
+		7143E21C202FD21F00451903 /* editContact.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = editContact.json; path = "iSales-NPD/editContact.json"; sourceTree = SOURCE_ROOT; };
+		7143E21E202FD28800451903 /* TearSheet.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = TearSheet.json; path = "iSales-NPD/TearSheet.json"; sourceTree = SOURCE_ROOT; };
+		7143E21F202FD28900451903 /* placeOrderTemplate.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = placeOrderTemplate.json; path = "iSales-NPD/placeOrderTemplate.json"; sourceTree = SOURCE_ROOT; };
+		7143E222202FD2CA00451903 /* so_thumb.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = so_thumb.json; path = "iSales-NPD/so_thumb.json"; sourceTree = SOURCE_ROOT; };
+		7143E223202FD2CA00451903 /* portfolio_3x2.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = portfolio_3x2.json; path = "iSales-NPD/portfolio_3x2.json"; sourceTree = SOURCE_ROOT; };
+		7143E224202FD2CA00451903 /* portfolio_2x3.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = portfolio_2x3.json; path = "iSales-NPD/portfolio_2x3.json"; sourceTree = SOURCE_ROOT; };
+		7143E225202FD2CA00451903 /* so.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = so.json; path = "iSales-NPD/so.json"; sourceTree = SOURCE_ROOT; };
+		7143E22A202FD37500451903 /* orderDetail.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = orderDetail.json; path = "iSales-NPD/orderDetail.json"; sourceTree = SOURCE_ROOT; };
+		7143E22C202FD3CC00451903 /* more_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = more_info.html; path = "iSales-NPD/more_info.html"; sourceTree = SOURCE_ROOT; };
+		7143E22D202FD3CC00451903 /* order_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = order_info.html; path = "iSales-NPD/order_info.html"; sourceTree = SOURCE_ROOT; };
+		714B1F3E1C7BF74100539193 /* OrderDetailSignatureCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailSignatureCell.h; path = common/Functions/order/OrderDetailSignatureCell.h; sourceTree = SOURCE_ROOT; };
+		714B1F3F1C7BF74100539193 /* OrderDetailSignatureCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailSignatureCell.m; path = common/Functions/order/OrderDetailSignatureCell.m; sourceTree = SOURCE_ROOT; };
+		715001FD1D114D9100F5927F /* BundleDetailButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BundleDetailButton.h; path = common/Functions/BundleDetailButton.h; sourceTree = SOURCE_ROOT; };
+		715001FE1D114D9100F5927F /* BundleDetailButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BundleDetailButton.m; path = common/Functions/BundleDetailButton.m; sourceTree = SOURCE_ROOT; };
+		715671311E10A0EF006324A0 /* RectDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RectDrawable.h; path = common/pdfCreator/RectDrawable.h; sourceTree = SOURCE_ROOT; };
+		715671321E10A0EF006324A0 /* RectDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RectDrawable.m; path = common/pdfCreator/RectDrawable.m; sourceTree = SOURCE_ROOT; };
+		715850441CF6F0E500856B20 /* DefaultAppearance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultAppearance.h; path = common/Functions/DefaultAppearance.h; sourceTree = SOURCE_ROOT; };
+		715850451CF6F0E500856B20 /* DefaultAppearance.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultAppearance.m; path = common/Functions/DefaultAppearance.m; sourceTree = SOURCE_ROOT; };
+		715F30BB1DAB37EB00490EED /* OfflineUnlockViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OfflineUnlockViewController.h; path = common/Functions/offline/OfflineUnlockViewController.h; sourceTree = SOURCE_ROOT; };
+		715F30BC1DAB37EB00490EED /* OfflineUnlockViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OfflineUnlockViewController.m; path = common/Functions/offline/OfflineUnlockViewController.m; sourceTree = SOURCE_ROOT; };
+		7161FEB21D61B24900157EE1 /* creditcardpayment.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = creditcardpayment.html; path = common/Functions/offline/creditcardpayment.html; sourceTree = SOURCE_ROOT; };
+		7161FEB31D61B24900157EE1 /* normalpayment.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = normalpayment.html; path = common/Functions/offline/normalpayment.html; sourceTree = SOURCE_ROOT; };
+		7161FEB41D61B24900157EE1 /* orderinfo.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = orderinfo.html; path = common/Functions/offline/orderinfo.html; sourceTree = SOURCE_ROOT; };
+		7162A5001C586F5B00AB630E /* AddressEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AddressEditorViewController.h; path = common/Functions/address/AddressEditorViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5011C586F5B00AB630E /* AddressEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AddressEditorViewController.m; path = common/Functions/address/AddressEditorViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5031C586FC100AB630E /* CycleScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CycleScrollView.h; path = common/AutoScrollImage/CycleScrollView.h; sourceTree = SOURCE_ROOT; };
+		7162A5041C586FC100AB630E /* CycleScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CycleScrollView.m; path = common/AutoScrollImage/CycleScrollView.m; sourceTree = SOURCE_ROOT; };
+		7162A5051C586FC100AB630E /* NSTimer+Addition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSTimer+Addition.h"; path = "common/AutoScrollImage/NSTimer+Addition.h"; sourceTree = SOURCE_ROOT; };
+		7162A5061C586FC100AB630E /* NSTimer+Addition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSTimer+Addition.m"; path = "common/AutoScrollImage/NSTimer+Addition.m"; sourceTree = SOURCE_ROOT; };
+		7162A5071C586FC100AB630E /* SliderPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SliderPage.h; path = common/AutoScrollImage/SliderPage.h; sourceTree = SOURCE_ROOT; };
+		7162A5081C586FC100AB630E /* SliderPage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SliderPage.m; path = common/AutoScrollImage/SliderPage.m; sourceTree = SOURCE_ROOT; };
+		7162A50C1C58704600AB630E /* BundleModelCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BundleModelCell.h; path = common/Functions/cart/BundleModelCell.h; sourceTree = SOURCE_ROOT; };
+		7162A50D1C58704600AB630E /* BundleModelCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BundleModelCell.m; path = common/Functions/cart/BundleModelCell.m; sourceTree = SOURCE_ROOT; };
+		7162A50E1C58704600AB630E /* BundleModelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BundleModelViewController.h; path = common/Functions/cart/BundleModelViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A50F1C58704600AB630E /* BundleModelViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BundleModelViewController.m; path = common/Functions/cart/BundleModelViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5101C58704600AB630E /* CartViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CartViewController.h; path = common/Functions/cart/CartViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5111C58704600AB630E /* CartViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CartViewController.m; path = common/Functions/cart/CartViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5121C58704600AB630E /* EditModelPriceViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EditModelPriceViewController.h; path = common/Functions/cart/EditModelPriceViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5131C58704600AB630E /* EditModelPriceViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EditModelPriceViewController.m; path = common/Functions/cart/EditModelPriceViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5141C58704600AB630E /* ModelItemCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModelItemCell.h; path = common/Functions/cart/ModelItemCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5151C58704600AB630E /* ModelItemCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ModelItemCell.m; path = common/Functions/cart/ModelItemCell.m; sourceTree = SOURCE_ROOT; };
+		7162A51F1C58706C00AB630E /* CategoryCellSmall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryCellSmall.h; path = common/Functions/category/CategoryCellSmall.h; sourceTree = SOURCE_ROOT; };
+		7162A5201C58706C00AB630E /* CategoryCellSmall.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategoryCellSmall.m; path = common/Functions/category/CategoryCellSmall.m; sourceTree = SOURCE_ROOT; };
+		7162A5211C58706C00AB630E /* CategoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryViewController.h; path = common/Functions/category/CategoryViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5221C58706C00AB630E /* CategoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategoryViewController.m; path = common/Functions/category/CategoryViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A52B1C58719D00AB630E /* RATreeNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RATreeNode.h; path = common/categoryMenu_RATree/RATreeNode.h; sourceTree = SOURCE_ROOT; };
+		7162A52C1C58719D00AB630E /* RATreeNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RATreeNode.m; path = common/categoryMenu_RATree/RATreeNode.m; sourceTree = SOURCE_ROOT; };
+		7162A52D1C58719D00AB630E /* RATreeNodeCollectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RATreeNodeCollectionController.h; path = common/categoryMenu_RATree/RATreeNodeCollectionController.h; sourceTree = SOURCE_ROOT; };
+		7162A52E1C58719D00AB630E /* RATreeNodeCollectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RATreeNodeCollectionController.m; path = common/categoryMenu_RATree/RATreeNodeCollectionController.m; sourceTree = SOURCE_ROOT; };
+		7162A52F1C58719D00AB630E /* RATreeNodeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RATreeNodeInfo.h; path = common/categoryMenu_RATree/RATreeNodeInfo.h; sourceTree = SOURCE_ROOT; };
+		7162A5301C58719D00AB630E /* RATreeNodeInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RATreeNodeInfo.m; path = common/categoryMenu_RATree/RATreeNodeInfo.m; sourceTree = SOURCE_ROOT; };
+		7162A5311C58719D00AB630E /* RATreeNodeInfo+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeNodeInfo+Private.h"; path = "common/categoryMenu_RATree/RATreeNodeInfo+Private.h"; sourceTree = SOURCE_ROOT; };
+		7162A5321C58719D00AB630E /* RATreeNodeInfo+Private.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeNodeInfo+Private.m"; path = "common/categoryMenu_RATree/RATreeNodeInfo+Private.m"; sourceTree = SOURCE_ROOT; };
+		7162A5331C58719D00AB630E /* RATreeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RATreeView.h; path = common/categoryMenu_RATree/RATreeView.h; sourceTree = SOURCE_ROOT; };
+		7162A5341C58719D00AB630E /* RATreeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RATreeView.m; path = common/categoryMenu_RATree/RATreeView.m; sourceTree = SOURCE_ROOT; };
+		7162A5351C58719D00AB630E /* RATreeView+Enums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+Enums.h"; path = "common/categoryMenu_RATree/RATreeView+Enums.h"; sourceTree = SOURCE_ROOT; };
+		7162A5361C58719D00AB630E /* RATreeView+Enums.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+Enums.m"; path = "common/categoryMenu_RATree/RATreeView+Enums.m"; sourceTree = SOURCE_ROOT; };
+		7162A5371C58719D00AB630E /* RATreeView+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+Private.h"; path = "common/categoryMenu_RATree/RATreeView+Private.h"; sourceTree = SOURCE_ROOT; };
+		7162A5381C58719D00AB630E /* RATreeView+Private.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+Private.m"; path = "common/categoryMenu_RATree/RATreeView+Private.m"; sourceTree = SOURCE_ROOT; };
+		7162A5391C58719D00AB630E /* RATreeView+TableViewDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+TableViewDataSource.h"; path = "common/categoryMenu_RATree/RATreeView+TableViewDataSource.h"; sourceTree = SOURCE_ROOT; };
+		7162A53A1C58719D00AB630E /* RATreeView+TableViewDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+TableViewDataSource.m"; path = "common/categoryMenu_RATree/RATreeView+TableViewDataSource.m"; sourceTree = SOURCE_ROOT; };
+		7162A53B1C58719D00AB630E /* RATreeView+TableViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+TableViewDelegate.h"; path = "common/categoryMenu_RATree/RATreeView+TableViewDelegate.h"; sourceTree = SOURCE_ROOT; };
+		7162A53C1C58719D00AB630E /* RATreeView+TableViewDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+TableViewDelegate.m"; path = "common/categoryMenu_RATree/RATreeView+TableViewDelegate.m"; sourceTree = SOURCE_ROOT; };
+		7162A53D1C58719D00AB630E /* RATreeView+UIScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+UIScrollView.h"; path = "common/categoryMenu_RATree/RATreeView+UIScrollView.h"; sourceTree = SOURCE_ROOT; };
+		7162A53E1C58719D00AB630E /* RATreeView+UIScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+UIScrollView.m"; path = "common/categoryMenu_RATree/RATreeView+UIScrollView.m"; sourceTree = SOURCE_ROOT; };
+		7162A53F1C58719D00AB630E /* RAViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAViewController.h; path = common/categoryMenu_RATree/RAViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5401C58719D00AB630E /* RAViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAViewController.m; path = common/categoryMenu_RATree/RAViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A54C1C58722200AB630E /* CreditCardEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CreditCardEditorViewController.h; path = common/Functions/creditcard/CreditCardEditorViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A54D1C58722200AB630E /* CreditCardEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CreditCardEditorViewController.m; path = common/Functions/creditcard/CreditCardEditorViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A54F1C58724700AB630E /* ContactAdvanceSearchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ContactAdvanceSearchViewController.h; path = common/Functions/contact/ContactAdvanceSearchViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5501C58724700AB630E /* ContactAdvanceSearchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ContactAdvanceSearchViewController.m; path = common/Functions/contact/ContactAdvanceSearchViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5511C58724700AB630E /* ContactListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ContactListTableViewCell.h; path = common/Functions/contact/ContactListTableViewCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5521C58724700AB630E /* ContactListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ContactListTableViewCell.m; path = common/Functions/contact/ContactListTableViewCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5531C58724700AB630E /* ContactListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ContactListViewController.h; path = common/Functions/contact/ContactListViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5541C58724700AB630E /* ContactListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ContactListViewController.m; path = common/Functions/contact/ContactListViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5551C58724700AB630E /* customer_advanced_search.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = customer_advanced_search.json; path = common/Functions/contact/customer_advanced_search.json; sourceTree = SOURCE_ROOT; };
+		7162A5561C58724700AB630E /* customer_info_template.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = customer_info_template.json; path = common/Functions/contact/customer_info_template.json; sourceTree = SOURCE_ROOT; };
+		7162A5571C58724700AB630E /* CustomerEditViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomerEditViewController.h; path = common/Functions/contact/CustomerEditViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5581C58724700AB630E /* CustomerEditViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CustomerEditViewController.m; path = common/Functions/contact/CustomerEditViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5591C58724700AB630E /* CustomerInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomerInfoViewController.h; path = common/Functions/contact/CustomerInfoViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A55A1C58724700AB630E /* CustomerInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CustomerInfoViewController.m; path = common/Functions/contact/CustomerInfoViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5621C58728D00AB630E /* DetailHeaderCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailHeaderCell.h; path = common/Functions/modelDetail/DetailHeaderCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5631C58728D00AB630E /* DetailHeaderCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailHeaderCell.m; path = common/Functions/modelDetail/DetailHeaderCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5641C58728D00AB630E /* DetailImageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailImageCell.h; path = common/Functions/modelDetail/DetailImageCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5651C58728D00AB630E /* DetailImageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailImageCell.m; path = common/Functions/modelDetail/DetailImageCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5661C58728D00AB630E /* DetailKVCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailKVCell.h; path = common/Functions/modelDetail/DetailKVCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5671C58728D00AB630E /* DetailKVCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailKVCell.m; path = common/Functions/modelDetail/DetailKVCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5681C58728D00AB630E /* DetailTopicCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailTopicCell.h; path = common/Functions/modelDetail/DetailTopicCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5691C58728D00AB630E /* DetailTopicCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailTopicCell.m; path = common/Functions/modelDetail/DetailTopicCell.m; sourceTree = SOURCE_ROOT; };
+		7162A56A1C58728D00AB630E /* DetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailViewController.h; path = common/Functions/modelDetail/DetailViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A56B1C58728D00AB630E /* DetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailViewController.m; path = common/Functions/modelDetail/DetailViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A56C1C58728D00AB630E /* LineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineView.h; path = common/Functions/modelDetail/LineView.h; sourceTree = SOURCE_ROOT; };
+		7162A56D1C58728D00AB630E /* LineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LineView.m; path = common/Functions/modelDetail/LineView.m; sourceTree = SOURCE_ROOT; };
+		7162A5771C5872EF00AB630E /* HomeTableViewCellBanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeTableViewCellBanner.h; path = common/Functions/home/HomeTableViewCellBanner.h; sourceTree = SOURCE_ROOT; };
+		7162A5781C5872EF00AB630E /* HomeTableViewCellBanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeTableViewCellBanner.m; path = common/Functions/home/HomeTableViewCellBanner.m; sourceTree = SOURCE_ROOT; };
+		7162A5791C5872EF00AB630E /* HomeTableViewCellButtonBanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeTableViewCellButtonBanner.h; path = common/Functions/home/HomeTableViewCellButtonBanner.h; sourceTree = SOURCE_ROOT; };
+		7162A57A1C5872EF00AB630E /* HomeTableViewCellButtonBanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeTableViewCellButtonBanner.m; path = common/Functions/home/HomeTableViewCellButtonBanner.m; sourceTree = SOURCE_ROOT; };
+		7162A57B1C5872EF00AB630E /* HomeTableViewCellSlide.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeTableViewCellSlide.h; path = common/Functions/home/HomeTableViewCellSlide.h; sourceTree = SOURCE_ROOT; };
+		7162A57C1C5872EF00AB630E /* HomeTableViewCellSlide.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeTableViewCellSlide.m; path = common/Functions/home/HomeTableViewCellSlide.m; sourceTree = SOURCE_ROOT; };
+		7162A57D1C5872EF00AB630E /* HomeTableViewCellTopic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeTableViewCellTopic.h; path = common/Functions/home/HomeTableViewCellTopic.h; sourceTree = SOURCE_ROOT; };
+		7162A57E1C5872EF00AB630E /* HomeTableViewCellTopic.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeTableViewCellTopic.m; path = common/Functions/home/HomeTableViewCellTopic.m; sourceTree = SOURCE_ROOT; };
+		7162A57F1C5872EF00AB630E /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeViewController.h; path = common/Functions/home/HomeViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5801C5872EF00AB630E /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeViewController.m; path = common/Functions/home/HomeViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5861C58733400AB630E /* CreateOrderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CreateOrderViewController.h; path = common/Functions/order/CreateOrderViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5871C58733400AB630E /* CreateOrderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CreateOrderViewController.m; path = common/Functions/order/CreateOrderViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5881C58733400AB630E /* OrderDetailHtmlCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailHtmlCell.h; path = common/Functions/order/OrderDetailHtmlCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5891C58733400AB630E /* OrderDetailHtmlCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailHtmlCell.m; path = common/Functions/order/OrderDetailHtmlCell.m; sourceTree = SOURCE_ROOT; };
+		7162A58A1C58733400AB630E /* OrderDetailInfoCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailInfoCell.h; path = common/Functions/order/OrderDetailInfoCell.h; sourceTree = SOURCE_ROOT; };
+		7162A58B1C58733400AB630E /* OrderDetailInfoCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailInfoCell.m; path = common/Functions/order/OrderDetailInfoCell.m; sourceTree = SOURCE_ROOT; };
+		7162A58C1C58733400AB630E /* OrderDetailModelCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailModelCell.h; path = common/Functions/order/OrderDetailModelCell.h; sourceTree = SOURCE_ROOT; };
+		7162A58D1C58733400AB630E /* OrderDetailModelCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailModelCell.m; path = common/Functions/order/OrderDetailModelCell.m; sourceTree = SOURCE_ROOT; };
+		7162A58E1C58733400AB630E /* OrderDetailPriceCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailPriceCell.h; path = common/Functions/order/OrderDetailPriceCell.h; sourceTree = SOURCE_ROOT; };
+		7162A58F1C58733400AB630E /* OrderDetailPriceCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailPriceCell.m; path = common/Functions/order/OrderDetailPriceCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5901C58733400AB630E /* OrderDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailViewController.h; path = common/Functions/order/OrderDetailViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5911C58733400AB630E /* OrderDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailViewController.m; path = common/Functions/order/OrderDetailViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5921C58733400AB630E /* OrderListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderListTableViewCell.h; path = common/Functions/order/OrderListTableViewCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5931C58733400AB630E /* OrderListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderListTableViewCell.m; path = common/Functions/order/OrderListTableViewCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5941C58733400AB630E /* OrderListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderListViewController.h; path = common/Functions/order/OrderListViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5951C58733400AB630E /* OrderListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderListViewController.m; path = common/Functions/order/OrderListViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5961C58733400AB630E /* status_filter_cadedate_open.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = status_filter_cadedate_open.json; path = common/Functions/order/status_filter_cadedate_open.json; sourceTree = SOURCE_ROOT; };
+		7162A5971C58733400AB630E /* offline_status_filter_cadedate.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = offline_status_filter_cadedate.json; path = common/Functions/order/offline_status_filter_cadedate.json; sourceTree = SOURCE_ROOT; };
+		7162A5A61C58735900AB630E /* PortfolioViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PortfolioViewController.h; path = common/Functions/portfolio/PortfolioViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5A71C58735900AB630E /* PortfolioViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PortfolioViewController.m; path = common/Functions/portfolio/PortfolioViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5A81C58735900AB630E /* TearSheetParamViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TearSheetParamViewController.h; path = common/Functions/portfolio/TearSheetParamViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5A91C58735900AB630E /* TearSheetParamViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TearSheetParamViewController.m; path = common/Functions/portfolio/TearSheetParamViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5AE1C58738600AB630E /* ScannerControllerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScannerControllerView.h; path = common/Functions/camscan/ScannerControllerView.h; sourceTree = SOURCE_ROOT; };
+		7162A5AF1C58738600AB630E /* ScannerControllerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ScannerControllerView.m; path = common/Functions/camscan/ScannerControllerView.m; sourceTree = SOURCE_ROOT; };
+		7162A5B01C58738600AB630E /* ScannerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScannerViewController.h; path = common/Functions/camscan/ScannerViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5B11C58738600AB630E /* ScannerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ScannerViewController.m; path = common/Functions/camscan/ScannerViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5B21C58738600AB630E /* SCShapeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SCShapeView.h; path = common/Functions/camscan/SCShapeView.h; sourceTree = SOURCE_ROOT; };
+		7162A5B31C58738600AB630E /* SCShapeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SCShapeView.m; path = common/Functions/camscan/SCShapeView.m; sourceTree = SOURCE_ROOT; };
+		7162A5B71C5873BB00AB630E /* FilterCellCadedate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilterCellCadedate.h; path = "common/Functions/search+itemsearch/FilterCellCadedate.h"; sourceTree = SOURCE_ROOT; };
+		7162A5B81C5873BB00AB630E /* FilterCellCadedate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FilterCellCadedate.m; path = "common/Functions/search+itemsearch/FilterCellCadedate.m"; sourceTree = SOURCE_ROOT; };
+		7162A5B91C5873BB00AB630E /* FilterCellValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilterCellValue.h; path = "common/Functions/search+itemsearch/FilterCellValue.h"; sourceTree = SOURCE_ROOT; };
+		7162A5BA1C5873BB00AB630E /* FilterCellValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FilterCellValue.m; path = "common/Functions/search+itemsearch/FilterCellValue.m"; sourceTree = SOURCE_ROOT; };
+		7162A5BB1C5873BB00AB630E /* ItemSearchFilterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ItemSearchFilterViewController.h; path = "common/Functions/search+itemsearch/ItemSearchFilterViewController.h"; sourceTree = SOURCE_ROOT; };
+		7162A5BC1C5873BB00AB630E /* ItemSearchFilterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ItemSearchFilterViewController.m; path = "common/Functions/search+itemsearch/ItemSearchFilterViewController.m"; sourceTree = SOURCE_ROOT; };
+		7162A5BD1C5873BB00AB630E /* ItemSearchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ItemSearchViewController.h; path = "common/Functions/search+itemsearch/ItemSearchViewController.h"; sourceTree = SOURCE_ROOT; };
+		7162A5BE1C5873BB00AB630E /* ItemSearchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ItemSearchViewController.m; path = "common/Functions/search+itemsearch/ItemSearchViewController.m"; sourceTree = SOURCE_ROOT; };
+		7162A5BF1C5873BB00AB630E /* SearchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SearchViewController.h; path = "common/Functions/search+itemsearch/SearchViewController.h"; sourceTree = SOURCE_ROOT; };
+		7162A5C01C5873BB00AB630E /* SearchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SearchViewController.m; path = "common/Functions/search+itemsearch/SearchViewController.m"; sourceTree = SOURCE_ROOT; };
+		7162A5C61C58761500AB630E /* SignatureView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SignatureView.h; path = common/Functions/signature/SignatureView.h; sourceTree = SOURCE_ROOT; };
+		7162A5C71C58761500AB630E /* SignatureView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SignatureView.m; path = common/Functions/signature/SignatureView.m; sourceTree = SOURCE_ROOT; };
+		7162A5C81C58761500AB630E /* SignatureViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SignatureViewController.h; path = common/Functions/signature/SignatureViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5C91C58761500AB630E /* SignatureViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SignatureViewController.m; path = common/Functions/signature/SignatureViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5CC1C5876E300AB630E /* AboutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AboutViewController.h; path = common/Functions/sidemenu/AboutViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5CD1C5876E300AB630E /* AboutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AboutViewController.m; path = common/Functions/sidemenu/AboutViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5CE1C5876E300AB630E /* CacheViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CacheViewController.h; path = common/Functions/sidemenu/CacheViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5CF1C5876E300AB630E /* CacheViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CacheViewController.m; path = common/Functions/sidemenu/CacheViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D01C5876E300AB630E /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LoginViewController.h; path = common/Functions/sidemenu/LoginViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D11C5876E300AB630E /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LoginViewController.m; path = common/Functions/sidemenu/LoginViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D21C5876E300AB630E /* PopupNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PopupNavigationController.h; path = common/Functions/sidemenu/PopupNavigationController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D31C5876E300AB630E /* PopupNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PopupNavigationController.m; path = common/Functions/sidemenu/PopupNavigationController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D41C5876E300AB630E /* RetrievePassViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RetrievePassViewController.h; path = common/Functions/sidemenu/RetrievePassViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D51C5876E300AB630E /* RetrievePassViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RetrievePassViewController.m; path = common/Functions/sidemenu/RetrievePassViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D61C5876E300AB630E /* ScannerSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScannerSettingViewController.h; path = common/Functions/sidemenu/ScannerSettingViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D71C5876E300AB630E /* ScannerSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ScannerSettingViewController.m; path = common/Functions/sidemenu/ScannerSettingViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D81C5876E300AB630E /* SettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SettingViewController.h; path = common/Functions/sidemenu/SettingViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D91C5876E300AB630E /* SettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SettingViewController.m; path = common/Functions/sidemenu/SettingViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5E11C5877CE00AB630E /* WatchListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WatchListViewController.h; path = common/Functions/watchlist/WatchListViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5E21C5877CE00AB630E /* WatchListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WatchListViewController.m; path = common/Functions/watchlist/WatchListViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5E41C58781000AB630E /* iSalesNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iSalesNavigationController.h; path = common/iSalesNavigationController.h; sourceTree = SOURCE_ROOT; };
+		7162A5E51C58781000AB630E /* iSalesNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iSalesNavigationController.m; path = common/iSalesNavigationController.m; sourceTree = SOURCE_ROOT; };
+		7162A5E71C5899F700AB630E /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MainViewController.h; path = common/Functions/MainViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5E81C5899F700AB630E /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MainViewController.m; path = common/Functions/MainViewController.m; sourceTree = SOURCE_ROOT; };
+		716387D3195408E7006E65E6 /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
+		7165662C1EF3ACD900CB897F /* photostack_image.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = photostack_image.html; path = common/photoStack/photostack_image.html; sourceTree = SOURCE_ROOT; };
+		7165662D1EF3ACD900CB897F /* photostack_video.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = photostack_video.html; path = common/photoStack/photostack_video.html; sourceTree = SOURCE_ROOT; };
+		716961B419594E1000B19FB4 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
+		716AF8DF1D7AA0E0001188E0 /* SelectUploadOrderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SelectUploadOrderViewController.h; path = common/Functions/offline/SelectUploadOrderViewController.h; sourceTree = SOURCE_ROOT; };
+		716AF8E01D7AA0E0001188E0 /* SelectUploadOrderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SelectUploadOrderViewController.m; path = common/Functions/offline/SelectUploadOrderViewController.m; sourceTree = SOURCE_ROOT; };
+		716AF8E51D7AA398001188E0 /* SelectOrderTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SelectOrderTableViewCell.m; path = common/Functions/offline/SelectOrderTableViewCell.m; sourceTree = SOURCE_ROOT; };
+		716AF8E61D7AA398001188E0 /* SelectOrderTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SelectOrderTableViewCell.h; path = common/Functions/offline/SelectOrderTableViewCell.h; sourceTree = SOURCE_ROOT; };
+		7186C25B1C97A6EE00CB43F4 /* FunctionTestViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FunctionTestViewController.h; path = common/Functions/sidemenu/FunctionTestViewController.h; sourceTree = SOURCE_ROOT; };
+		7186C25C1C97A6EE00CB43F4 /* FunctionTestViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FunctionTestViewController.m; path = common/Functions/sidemenu/FunctionTestViewController.m; sourceTree = SOURCE_ROOT; };
+		718716221C433D5000F25860 /* libScanApiCore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libScanApiCore.a; path = ../lib/libScanApiCore.a; sourceTree = "<group>"; };
+		718716241C433D8B00F25860 /* ExternalAccessory.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ExternalAccessory.framework; path = System/Library/Frameworks/ExternalAccessory.framework; sourceTree = SDKROOT; };
+		718716261C433D9700F25860 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+		718716281C433DA400F25860 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+		7187162A1C43406300F25860 /* libScanApiCore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libScanApiCore.a; path = "../../../ios_samples/ScanApiSDK-10.2.227/lib/libScanApiCore.a"; sourceTree = "<group>"; };
+		7195623A1CF57D1800C74A49 /* CategoryHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryHeaderView.h; path = common/Functions/category/CategoryHeaderView.h; sourceTree = SOURCE_ROOT; };
+		7195623B1CF57D1800C74A49 /* CategoryHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategoryHeaderView.m; path = common/Functions/category/CategoryHeaderView.m; sourceTree = SOURCE_ROOT; };
+		71BBA2211CEAC16000C91DED /* ZipArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZipArchive.h; path = common/zip/ZipArchive.h; sourceTree = SOURCE_ROOT; };
+		71BBA2221CEAC16000C91DED /* ZipArchive.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZipArchive.mm; path = common/zip/ZipArchive.mm; sourceTree = SOURCE_ROOT; };
+		71BBA2281CEAC17E00C91DED /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
+		71BBA2371CEAEF0700C91DED /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crypt.h; path = common/zip/minizip/crypt.h; sourceTree = SOURCE_ROOT; };
+		71BBA2381CEAEF0700C91DED /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ioapi.c; path = common/zip/minizip/ioapi.c; sourceTree = SOURCE_ROOT; };
+		71BBA2391CEAEF0700C91DED /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ioapi.h; path = common/zip/minizip/ioapi.h; sourceTree = SOURCE_ROOT; };
+		71BBA23A1CEAEF0700C91DED /* mztools.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mztools.c; path = common/zip/minizip/mztools.c; sourceTree = SOURCE_ROOT; };
+		71BBA23B1CEAEF0700C91DED /* mztools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mztools.h; path = common/zip/minizip/mztools.h; sourceTree = SOURCE_ROOT; };
+		71BBA23C1CEAEF0700C91DED /* unzip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = unzip.c; path = common/zip/minizip/unzip.c; sourceTree = SOURCE_ROOT; };
+		71BBA23D1CEAEF0700C91DED /* unzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = unzip.h; path = common/zip/minizip/unzip.h; sourceTree = SOURCE_ROOT; };
+		71BBA23E1CEAEF0700C91DED /* zip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = zip.c; path = common/zip/minizip/zip.c; sourceTree = SOURCE_ROOT; };
+		71BBA23F1CEAEF0700C91DED /* zip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = zip.h; path = common/zip/minizip/zip.h; sourceTree = SOURCE_ROOT; };
+		71BF06F91D2F3CAC00981938 /* OLDataProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OLDataProvider.h; path = common/Functions/offline/OLDataProvider.h; sourceTree = SOURCE_ROOT; };
+		71BF06FA1D2F3CAC00981938 /* OLDataProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OLDataProvider.m; path = common/Functions/offline/OLDataProvider.m; sourceTree = SOURCE_ROOT; };
+		71BF06FC1D2F3CBA00981938 /* OfflineSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OfflineSettingViewController.h; path = common/Functions/offline/OfflineSettingViewController.h; sourceTree = SOURCE_ROOT; };
+		71BF06FD1D2F3CBA00981938 /* OfflineSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OfflineSettingViewController.m; path = common/Functions/offline/OfflineSettingViewController.m; sourceTree = SOURCE_ROOT; };
+		71BF07061D2F3D2800981938 /* SyncControlPanelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SyncControlPanelViewController.h; path = common/Functions/offline/SyncControlPanelViewController.h; sourceTree = SOURCE_ROOT; };
+		71BF07071D2F3D2800981938 /* SyncControlPanelViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SyncControlPanelViewController.m; path = common/Functions/offline/SyncControlPanelViewController.m; sourceTree = SOURCE_ROOT; };
+		71C1D84C1F456CAA00CEA1C9 /* HWWeakTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HWWeakTimer.h; path = common/AutoScrollImage/HWWeakTimer.h; sourceTree = SOURCE_ROOT; };
+		71C1D84D1F456CAA00CEA1C9 /* HWWeakTimer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HWWeakTimer.m; path = common/AutoScrollImage/HWWeakTimer.m; sourceTree = SOURCE_ROOT; };
+		71C1D8521F456D2700CEA1C9 /* ModelDescriptionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModelDescriptionController.h; path = common/Functions/modelDetail/ModelDescriptionController.h; sourceTree = SOURCE_ROOT; };
+		71C1D8531F456D2700CEA1C9 /* ModelDescriptionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ModelDescriptionController.m; path = common/Functions/modelDetail/ModelDescriptionController.m; sourceTree = SOURCE_ROOT; };
+		71CB70731F99DF01009FDCB7 /* FileCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = FileCache.m; path = ../../common/FileCache.m; sourceTree = "<group>"; };
+		71CB70741F99DF02009FDCB7 /* FileCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FileCache.h; path = ../../common/FileCache.h; sourceTree = "<group>"; };
+		71CB70761F99E337009FDCB7 /* RAConvertor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RAConvertor.h; path = ../../common/RAConvertor.h; sourceTree = "<group>"; };
+		71CB70771F99E338009FDCB7 /* RAConvertor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RAConvertor.m; path = ../../common/RAConvertor.m; sourceTree = "<group>"; };
+		71D01ADC1E08CB1C006620CE /* signature.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = signature.storyboard; path = common/Functions/signature/signature.storyboard; sourceTree = SOURCE_ROOT; };
+		71D01B141E0A2055006620CE /* ImageUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageUtils.h; path = common/ImageUtils.h; sourceTree = SOURCE_ROOT; };
+		71D01B151E0A2055006620CE /* ImageUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageUtils.m; path = common/ImageUtils.m; sourceTree = SOURCE_ROOT; };
+		71D01B161E0A2055006620CE /* PDFUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PDFUtils.h; path = common/PDFUtils.h; sourceTree = SOURCE_ROOT; };
+		71D01B171E0A2055006620CE /* PDFUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PDFUtils.m; path = common/PDFUtils.m; sourceTree = SOURCE_ROOT; };
+		71D01B181E0A2055006620CE /* TextUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextUtils.h; path = common/TextUtils.h; sourceTree = SOURCE_ROOT; };
+		71D01B191E0A2055006620CE /* TextUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TextUtils.m; path = common/TextUtils.m; sourceTree = SOURCE_ROOT; };
+		71D0344D1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PortfolioEditQTYViewController.h; path = common/Functions/portfolio/PortfolioEditQTYViewController.h; sourceTree = SOURCE_ROOT; };
+		71D0344E1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PortfolioEditQTYViewController.m; path = common/Functions/portfolio/PortfolioEditQTYViewController.m; sourceTree = SOURCE_ROOT; };
+		71D30A201CFBEDC6006F9477 /* default_appearance.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = default_appearance.json; sourceTree = "<group>"; };
+		71D30A2B1CFC0EF8006F9477 /* DefaultImageButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultImageButton.h; path = common/Functions/DefaultImageButton.h; sourceTree = SOURCE_ROOT; };
+		71D30A2C1CFC0EF8006F9477 /* DefaultImageButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultImageButton.m; path = common/Functions/DefaultImageButton.m; sourceTree = SOURCE_ROOT; };
+		71DEE873192DE003003F645F /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+		71DEE875192DE00E003F645F /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+		71DF74291C57560600F2789C /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Reachability.h; path = common/Reachability.h; sourceTree = SOURCE_ROOT; };
+		71DF742A1C57560600F2789C /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Reachability.m; path = common/Reachability.m; sourceTree = SOURCE_ROOT; };
+		71DF74321C5757DA00F2789C /* ActiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActiveViewController.h; path = common/ActiveViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74331C5757DA00F2789C /* ActiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ActiveViewController.m; path = common/ActiveViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF746B1C57608F00F2789C /* ImageScrollerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageScrollerView.h; path = common/customUI/ImageScrollerView.h; sourceTree = SOURCE_ROOT; };
+		71DF746C1C57608F00F2789C /* ImageScrollerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageScrollerView.m; path = common/customUI/ImageScrollerView.m; sourceTree = SOURCE_ROOT; };
+		71DF746D1C57608F00F2789C /* ImageScrollerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageScrollerViewController.h; path = common/customUI/ImageScrollerViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF746E1C57608F00F2789C /* ImageScrollerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageScrollerViewController.m; path = common/customUI/ImageScrollerViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF746F1C57608F00F2789C /* ImageUploadViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageUploadViewController.h; path = common/customUI/ImageUploadViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74701C57608F00F2789C /* ImageUploadViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageUploadViewController.m; path = common/customUI/ImageUploadViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF74711C57608F00F2789C /* ImageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageViewController.h; path = common/customUI/ImageViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74721C57608F00F2789C /* ImageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageViewController.m; path = common/customUI/ImageViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF74731C57608F00F2789C /* NIDropDown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NIDropDown.h; path = common/customUI/NIDropDown.h; sourceTree = SOURCE_ROOT; };
+		71DF74741C57608F00F2789C /* NIDropDown.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NIDropDown.m; path = common/customUI/NIDropDown.m; sourceTree = SOURCE_ROOT; };
+		71DF74751C57608F00F2789C /* PulldownMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PulldownMenu.h; path = common/customUI/PulldownMenu.h; sourceTree = SOURCE_ROOT; };
+		71DF74761C57608F00F2789C /* PulldownMenu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PulldownMenu.m; path = common/customUI/PulldownMenu.m; sourceTree = SOURCE_ROOT; };
+		71DF74771C57608F00F2789C /* RadioButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RadioButton.h; path = common/customUI/RadioButton.h; sourceTree = SOURCE_ROOT; };
+		71DF74781C57608F00F2789C /* RadioButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RadioButton.m; path = common/customUI/RadioButton.m; sourceTree = SOURCE_ROOT; };
+		71DF747B1C57608F00F2789C /* SimpleGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimpleGrid.h; path = common/customUI/SimpleGrid.h; sourceTree = SOURCE_ROOT; };
+		71DF747C1C57608F00F2789C /* SimpleGrid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SimpleGrid.m; path = common/customUI/SimpleGrid.m; sourceTree = SOURCE_ROOT; };
+		71DF747F1C57608F00F2789C /* TouchLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchLabel.h; path = common/customUI/TouchLabel.h; sourceTree = SOURCE_ROOT; };
+		71DF74801C57608F00F2789C /* TouchLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TouchLabel.m; path = common/customUI/TouchLabel.m; sourceTree = SOURCE_ROOT; };
+		71DF74811C57608F00F2789C /* UILabel+FontAppearance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UILabel+FontAppearance.h"; path = "common/customUI/UILabel+FontAppearance.h"; sourceTree = SOURCE_ROOT; };
+		71DF74821C57608F00F2789C /* UILabel+FontAppearance.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UILabel+FontAppearance.m"; path = "common/customUI/UILabel+FontAppearance.m"; sourceTree = SOURCE_ROOT; };
+		71DF748F1C57614C00F2789C /* PhotoBorder.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = PhotoBorder.png; path = common/photoStack/PhotoBorder.png; sourceTree = SOURCE_ROOT; };
+		71DF74901C57614C00F2789C /* PhotoBorder@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PhotoBorder@2x.png"; path = "common/photoStack/PhotoBorder@2x.png"; sourceTree = SOURCE_ROOT; };
+		71DF74911C57614C00F2789C /* PhotoStackView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhotoStackView.h; path = common/photoStack/PhotoStackView.h; sourceTree = SOURCE_ROOT; };
+		71DF74921C57614C00F2789C /* PhotoStackView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PhotoStackView.m; path = common/photoStack/PhotoStackView.m; sourceTree = SOURCE_ROOT; };
+		71DF74931C57614C00F2789C /* PhotoStackViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhotoStackViewController.h; path = common/photoStack/PhotoStackViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74941C57614C00F2789C /* PhotoStackViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PhotoStackViewController.m; path = common/photoStack/PhotoStackViewController.m; sourceTree = SOURCE_ROOT; };
+		71E5A00F1DC99370005BF655 /* config.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = config.plist; sourceTree = "<group>"; };
+		71E9F6BA1F8B52DC0052C78E /* NetworkUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = NetworkUtils.m; path = ../../common/NetworkUtils.m; sourceTree = "<group>"; };
+		71E9F6BB1F8B52DC0052C78E /* NetworkUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NetworkUtils.h; path = ../../common/NetworkUtils.h; sourceTree = "<group>"; };
+		71E9F6C01F8B57E30052C78E /* RANetworkTaskDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RANetworkTaskDelegate.m; path = ../../common/upload/RANetworkTaskDelegate.m; sourceTree = "<group>"; };
+		71E9F6C11F8B57E40052C78E /* RANetworkTaskDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RANetworkTaskDelegate.h; path = ../../common/upload/RANetworkTaskDelegate.h; sourceTree = "<group>"; };
+		71FFBBE51C60894900D91DC2 /* iSalesDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iSalesDB.h; path = common/data_provider/iSalesDB.h; sourceTree = SOURCE_ROOT; };
+		71FFBBE61C60894900D91DC2 /* iSalesDB.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iSalesDB.m; path = common/data_provider/iSalesDB.m; sourceTree = SOURCE_ROOT; };
+		71FFBBE71C60894900D91DC2 /* RANetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RANetwork.h; path = common/data_provider/RANetwork.h; sourceTree = SOURCE_ROOT; };
+		71FFBBE81C60894900D91DC2 /* RANetwork.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RANetwork.m; path = common/data_provider/RANetwork.m; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		713F76A31929F4A7006A7305 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				42D9A0251EB03994008AF7AF /* libAdIdAccess.a in Frameworks */,
+				42D9A0231EB02DA6008AF7AF /* AdSupport.framework in Frameworks */,
+				42BEF35F1E89FEE300632AB6 /* CoreData.framework in Frameworks */,
+				42BEF35D1E89FECD00632AB6 /* SystemConfiguration.framework in Frameworks */,
+				71BBA2291CEAC17E00C91DED /* libz.tbd in Frameworks */,
+				7187162C1C43428100F25860 /* libScanApiCore.a in Frameworks */,
+				42BEF3551E89FE1200632AB6 /* GGLCore.framework in Frameworks */,
+				718716291C433DA400F25860 /* AVFoundation.framework in Frameworks */,
+				718716271C433D9700F25860 /* AudioToolbox.framework in Frameworks */,
+				42BEF3541E89FE1200632AB6 /* GGLAnalytics.framework in Frameworks */,
+				42BEF3501E89FE1100632AB6 /* FirebaseCore.framework in Frameworks */,
+				718716251C433D8B00F25860 /* ExternalAccessory.framework in Frameworks */,
+				716961B519594E1000B19FB4 /* libsqlite3.dylib in Frameworks */,
+				42BEF3521E89FE1200632AB6 /* FirebaseInstanceID.framework in Frameworks */,
+				71DEE876192DE00E003F645F /* Accelerate.framework in Frameworks */,
+				71DEE874192DE003003F645F /* QuartzCore.framework in Frameworks */,
+				713F76AC1929F4A7006A7305 /* CoreGraphics.framework in Frameworks */,
+				713F76AE1929F4A7006A7305 /* UIKit.framework in Frameworks */,
+				713F76AA1929F4A7006A7305 /* Foundation.framework in Frameworks */,
+				42BEF34F1E89FE1100632AB6 /* FirebaseAnalytics.framework in Frameworks */,
+				42BEF3571E89FE1200632AB6 /* libGoogleAnalytics.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		3C514975273E07C400F78617 /* EnumSelectAndSort */ = {
+			isa = PBXGroup;
+			children = (
+				3C514978273E07D500F78617 /* EnumModel.h */,
+				3C51497C273E07D600F78617 /* EnumModel.m */,
+				3C514976273E07D500F78617 /* EnumSelectAndSort.storyboard */,
+				3C514977273E07D500F78617 /* EnumSelectAndSortCell.h */,
+				3C51497A273E07D500F78617 /* EnumSelectAndSortCell.m */,
+				3C51497B273E07D500F78617 /* EnumSelectAndSortViewController.h */,
+				3C514979273E07D500F78617 /* EnumSelectAndSortViewController.m */,
+			);
+			name = EnumSelectAndSort;
+			sourceTree = "<group>";
+		};
+		3C514987273E091500F78617 /* PhotoList */ = {
+			isa = PBXGroup;
+			children = (
+				3C514988273E091500F78617 /* Storyboard */,
+				3C51498A273E091500F78617 /* Controller */,
+				3C51498D273E091500F78617 /* View */,
+			);
+			name = PhotoList;
+			path = ../../common/customUI/PhotoList;
+			sourceTree = "<group>";
+		};
+		3C514988273E091500F78617 /* Storyboard */ = {
+			isa = PBXGroup;
+			children = (
+				3C514989273E091500F78617 /* PhotoList.storyboard */,
+			);
+			path = Storyboard;
+			sourceTree = "<group>";
+		};
+		3C51498A273E091500F78617 /* Controller */ = {
+			isa = PBXGroup;
+			children = (
+				3C51498B273E091500F78617 /* ContentPreviewController.m */,
+				3C51498C273E091500F78617 /* ContentPreviewController.h */,
+			);
+			path = Controller;
+			sourceTree = "<group>";
+		};
+		3C51498D273E091500F78617 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				3C51498E273E091500F78617 /* VideoPreviewCell.m */,
+				3C51498F273E091500F78617 /* PhotoPreviewCell.h */,
+				3C514990273E091500F78617 /* PhotoPreviewCell.m */,
+				3C514991273E091500F78617 /* VideoPreviewCell.h */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		3C514996273E097B00F78617 /* HUD */ = {
+			isa = PBXGroup;
+			children = (
+				3C514997273E097B00F78617 /* RAProgressHUD.h */,
+				3C514998273E097B00F78617 /* RAProgressHUD.m */,
+			);
+			name = HUD;
+			path = ../../common/HUD;
+			sourceTree = "<group>";
+		};
+		4254CCDB1FB1AB6600C8B4B6 /* Order Editor */ = {
+			isa = PBXGroup;
+			children = (
+				4254CCDC1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.h */,
+				4254CCDD1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m */,
+			);
+			name = "Order Editor";
+			sourceTree = "<group>";
+		};
+		4289800E1E24924D005F1BD8 /* sort */ = {
+			isa = PBXGroup;
+			children = (
+				4289800F1E24924D005F1BD8 /* SortButton.h */,
+				428980101E24924D005F1BD8 /* SortButton.m */,
+				428980111E24924D005F1BD8 /* SortItemCell.h */,
+				428980121E24924D005F1BD8 /* SortItemCell.m */,
+				428980131E24924D005F1BD8 /* SortItemViewController.h */,
+				428980141E24924D005F1BD8 /* SortItemViewController.m */,
+			);
+			name = sort;
+			path = common/sort;
+			sourceTree = SOURCE_ROOT;
+		};
+		428980221E2492D2005F1BD8 /* Price Setting */ = {
+			isa = PBXGroup;
+			children = (
+				428980231E2492D2005F1BD8 /* CategoryPriceCell.h */,
+				428980241E2492D2005F1BD8 /* CategoryPriceCell.m */,
+				428980251E2492D2005F1BD8 /* CategoryPriceViewController.h */,
+				428980261E2492D2005F1BD8 /* CategoryPriceViewController.m */,
+				428980271E2492D2005F1BD8 /* PriceSettingViewController.h */,
+				428980281E2492D2005F1BD8 /* PriceSettingViewController.m */,
+				428980291E2492D2005F1BD8 /* SetCategoryPriceController.h */,
+				4289802A1E2492D2005F1BD8 /* SetCategoryPriceController.m */,
+			);
+			name = "Price Setting";
+			path = "common/Price Setting";
+			sourceTree = SOURCE_ROOT;
+		};
+		4289803C1E249339005F1BD8 /* JKLock */ = {
+			isa = PBXGroup;
+			children = (
+				4289803D1E249339005F1BD8 /* JKDotView.h */,
+				4289803E1E249339005F1BD8 /* JKDotView.m */,
+				4289803F1E249339005F1BD8 /* JKLockButton.h */,
+				428980401E249339005F1BD8 /* JKLockButton.m */,
+				428980411E249339005F1BD8 /* JKLockController.h */,
+				428980421E249339005F1BD8 /* JKLockController.m */,
+				428980431E249339005F1BD8 /* JKMessageBoxController.h */,
+				428980441E249339005F1BD8 /* JKMessageBoxController.m */,
+			);
+			name = JKLock;
+			path = common/JKLock;
+			sourceTree = SOURCE_ROOT;
+		};
+		4289805A1E249375005F1BD8 /* UIColor+HEX */ = {
+			isa = PBXGroup;
+			children = (
+				4289805B1E249375005F1BD8 /* UIColor+JK_HEX.h */,
+				4289805C1E249375005F1BD8 /* UIColor+JK_HEX.m */,
+			);
+			name = "UIColor+HEX";
+			path = "common/UIColor+HEX";
+			sourceTree = SOURCE_ROOT;
+		};
+		4289809B1E24B526005F1BD8 /* JKTimer */ = {
+			isa = PBXGroup;
+			children = (
+				4289809C1E24B526005F1BD8 /* JKTimerManager.h */,
+				4289809D1E24B526005F1BD8 /* JKTimerManager.m */,
+			);
+			name = JKTimer;
+			path = common/JKTimer;
+			sourceTree = SOURCE_ROOT;
+		};
+		4295AE181FE74D26007BE365 /* AutoComplete */ = {
+			isa = PBXGroup;
+			children = (
+				4295AE191FE74D46007BE365 /* CommonEditorAutoCompleteView.h */,
+				4295AE1A1FE74D46007BE365 /* CommonEditorAutoCompleteView.m */,
+				4295AE1B1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib */,
+			);
+			name = AutoComplete;
+			sourceTree = "<group>";
+		};
+		42BEF3211E89FE1100632AB6 /* GoogleAnalytics */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3601E8A005800632AB6 /* GoogleAnalyst.h */,
+				42BEF3611E8A005800632AB6 /* GoogleAnalyst.m */,
+				42BEF3221E89FE1100632AB6 /* FirebaseAnalytics */,
+				42BEF3251E89FE1100632AB6 /* FirebaseCore */,
+				42BEF3281E89FE1100632AB6 /* FirebaseInstanceID */,
+				42BEF32D1E89FE1100632AB6 /* Google */,
+				42BEF33A1E89FE1100632AB6 /* GoogleAnalytics */,
+				42BEF3481E89FE1100632AB6 /* GoogleToolboxForMac */,
+			);
+			path = GoogleAnalytics;
+			sourceTree = SOURCE_ROOT;
+		};
+		42BEF3221E89FE1100632AB6 /* FirebaseAnalytics */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3231E89FE1100632AB6 /* Frameworks */,
+			);
+			path = FirebaseAnalytics;
+			sourceTree = "<group>";
+		};
+		42BEF3231E89FE1100632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3241E89FE1100632AB6 /* FirebaseAnalytics.framework */,
+			);
+			path = Frameworks;
+			sourceTree = "<group>";
+		};
+		42BEF3251E89FE1100632AB6 /* FirebaseCore */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3261E89FE1100632AB6 /* Frameworks */,
+			);
+			path = FirebaseCore;
+			sourceTree = "<group>";
+		};
+		42BEF3261E89FE1100632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3271E89FE1100632AB6 /* FirebaseCore.framework */,
+			);
+			path = Frameworks;
+			sourceTree = "<group>";
+		};
+		42BEF3281E89FE1100632AB6 /* FirebaseInstanceID */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3291E89FE1100632AB6 /* CHANGELOG.md */,
+				42BEF32A1E89FE1100632AB6 /* Frameworks */,
+				42BEF32C1E89FE1100632AB6 /* README.md */,
+			);
+			path = FirebaseInstanceID;
+			sourceTree = "<group>";
+		};
+		42BEF32A1E89FE1100632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF32B1E89FE1100632AB6 /* FirebaseInstanceID.framework */,
+			);
+			path = Frameworks;
+			sourceTree = "<group>";
+		};
+		42BEF32D1E89FE1100632AB6 /* Google */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF32E1E89FE1100632AB6 /* Frameworks */,
+				42BEF3311E89FE1100632AB6 /* Headers */,
+				42BEF3391E89FE1100632AB6 /* README.md */,
+			);
+			path = Google;
+			sourceTree = "<group>";
+		};
+		42BEF32E1E89FE1100632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF32F1E89FE1100632AB6 /* GGLAnalytics.framework */,
+				42BEF3301E89FE1100632AB6 /* GGLCore.framework */,
+			);
+			path = Frameworks;
+			sourceTree = "<group>";
+		};
+		42BEF3311E89FE1100632AB6 /* Headers */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3321E89FE1100632AB6 /* Analytics.h */,
+				42BEF3331E89FE1100632AB6 /* Core.h */,
+				42BEF3341E89FE1100632AB6 /* module.modulemap */,
+				42BEF3351E89FE1100632AB6 /* ModuleHeaders */,
+			);
+			path = Headers;
+			sourceTree = "<group>";
+		};
+		42BEF3351E89FE1100632AB6 /* ModuleHeaders */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3361E89FE1100632AB6 /* Analytics-Module.h */,
+				42BEF3371E89FE1100632AB6 /* Core-Module.h */,
+				42BEF3381E89FE1100632AB6 /* SignIn-Module.h */,
+			);
+			path = ModuleHeaders;
+			sourceTree = "<group>";
+		};
+		42BEF33A1E89FE1100632AB6 /* GoogleAnalytics */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF33B1E89FE1100632AB6 /* Libraries */,
+				42BEF33D1E89FE1100632AB6 /* Sources */,
+			);
+			path = GoogleAnalytics;
+			sourceTree = "<group>";
+		};
+		42BEF33B1E89FE1100632AB6 /* Libraries */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF33C1E89FE1100632AB6 /* libGoogleAnalytics.a */,
+				42D9A0241EB03994008AF7AF /* libAdIdAccess.a */,
+			);
+			path = Libraries;
+			sourceTree = "<group>";
+		};
+		42BEF33D1E89FE1100632AB6 /* Sources */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF33E1E89FE1100632AB6 /* GAI.h */,
+				42BEF33F1E89FE1100632AB6 /* GAIDictionaryBuilder.h */,
+				42BEF3401E89FE1100632AB6 /* GAIEcommerceFields.h */,
+				42BEF3411E89FE1100632AB6 /* GAIEcommerceProduct.h */,
+				42BEF3421E89FE1100632AB6 /* GAIEcommerceProductAction.h */,
+				42BEF3431E89FE1100632AB6 /* GAIEcommercePromotion.h */,
+				42BEF3441E89FE1100632AB6 /* GAIFields.h */,
+				42BEF3451E89FE1100632AB6 /* GAILogger.h */,
+				42BEF3461E89FE1100632AB6 /* GAITrackedViewController.h */,
+				42BEF3471E89FE1100632AB6 /* GAITracker.h */,
+			);
+			path = Sources;
+			sourceTree = "<group>";
+		};
+		42BEF3481E89FE1100632AB6 /* GoogleToolboxForMac */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3491E89FE1100632AB6 /* Foundation */,
+				42BEF34C1E89FE1100632AB6 /* GTMDefines.h */,
+				42BEF34E1E89FE1100632AB6 /* README.md */,
+			);
+			path = GoogleToolboxForMac;
+			sourceTree = "<group>";
+		};
+		42BEF3491E89FE1100632AB6 /* Foundation */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF34A1E89FE1100632AB6 /* GTMNSData+zlib.h */,
+				42BEF34B1E89FE1100632AB6 /* GTMNSData+zlib.m */,
+			);
+			path = Foundation;
+			sourceTree = "<group>";
+		};
+		42BEF35B1E89FECC00632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42D9A0221EB02DA6008AF7AF /* AdSupport.framework */,
+				42BEF35E1E89FEE300632AB6 /* CoreData.framework */,
+				42BEF35C1E89FECD00632AB6 /* SystemConfiguration.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		42FD1A001FBD19B800C5D9A8 /* Order Preview */ = {
+			isa = PBXGroup;
+			children = (
+				42FD1A011FBD1A3000C5D9A8 /* RAOrderPreviewController.h */,
+				42FD1A021FBD1A3000C5D9A8 /* RAOrderPreviewController.m */,
+				424A02CF1FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.h */,
+				424A02D01FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m */,
+			);
+			name = "Order Preview";
+			sourceTree = "<group>";
+		};
+		710212821B8D59DE00E1788B /* watchlist */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5E11C5877CE00AB630E /* WatchListViewController.h */,
+				7162A5E21C5877CE00AB630E /* WatchListViewController.m */,
+			);
+			name = watchlist;
+			sourceTree = "<group>";
+		};
+		711A551F1C153AA800EF5FDA /* portfolio */ = {
+			isa = PBXGroup;
+			children = (
+				3C2F99B7237BE1790000808F /* PortfolioListTableViewCell.h */,
+				3C2F99B6237BE1790000808F /* PortfolioListTableViewCell.m */,
+				3C7E5A8D237BDB0C006D0105 /* PortfolioListViewController.h */,
+				3C7E5A8C237BDB0C006D0105 /* PortfolioListViewController.m */,
+				7162A5A61C58735900AB630E /* PortfolioViewController.h */,
+				7162A5A71C58735900AB630E /* PortfolioViewController.m */,
+				7162A5A81C58735900AB630E /* TearSheetParamViewController.h */,
+				7162A5A91C58735900AB630E /* TearSheetParamViewController.m */,
+				71D0344D1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.h */,
+				71D0344E1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m */,
+			);
+			name = portfolio;
+			sourceTree = "<group>";
+		};
+		712AFEC41DBA044C00254965 /* pdfCreator */ = {
+			isa = PBXGroup;
+			children = (
+				712AFEC51DBA050200254965 /* BasicDrawable.h */,
+				712AFEC61DBA050200254965 /* BasicDrawable.m */,
+				715671311E10A0EF006324A0 /* RectDrawable.h */,
+				715671321E10A0EF006324A0 /* RectDrawable.m */,
+				712AFEC71DBA050200254965 /* GridDrawable.h */,
+				712AFEC81DBA050200254965 /* GridDrawable.m */,
+				712AFEC91DBA050200254965 /* GroupDrawable.h */,
+				712AFECA1DBA050200254965 /* GroupDrawable.m */,
+				712AFECB1DBA050200254965 /* ImageDrawable.h */,
+				712AFECC1DBA050200254965 /* ImageDrawable.m */,
+				712AFECD1DBA050200254965 /* LineDrawable.h */,
+				712AFECE1DBA050200254965 /* LineDrawable.m */,
+				712AFECF1DBA050200254965 /* PDFDrawable.h */,
+				712AFED01DBA050200254965 /* PDFDrawable.m */,
+				712AFED11DBA050200254965 /* RAPDFPage.h */,
+				712AFED21DBA050200254965 /* RAPDFPage.m */,
+				712AFED31DBA050200254965 /* TableDrawable.h */,
+				712AFED41DBA050200254965 /* TableDrawable.m */,
+				712AFED51DBA050200254965 /* TextDrawable.h */,
+				712AFED61DBA050200254965 /* TextDrawable.m */,
+				712AFEE01DBA077F00254965 /* pdfCreator.h */,
+				712AFEE11DBA077F00254965 /* pdfCreator.m */,
+			);
+			name = pdfCreator;
+			sourceTree = "<group>";
+		};
+		712AFEE31DBDAEA000254965 /* PDFResource */ = {
+			isa = PBXGroup;
+			children = (
+				7142E8471DBF01A10077EFA2 /* font */,
+				712AFEE41DBDAF0300254965 /* pdfcreator.xcassets */,
+				7142E8481DBF01AC0077EFA2 /* template */,
+			);
+			name = PDFResource;
+			sourceTree = "<group>";
+		};
+		713393FE19936C980075BBAC /* Signature */ = {
+			isa = PBXGroup;
+			children = (
+				71D01ADC1E08CB1C006620CE /* signature.storyboard */,
+				7162A5C61C58761500AB630E /* SignatureView.h */,
+				7162A5C71C58761500AB630E /* SignatureView.m */,
+				7162A5C81C58761500AB630E /* SignatureViewController.h */,
+				7162A5C91C58761500AB630E /* SignatureViewController.m */,
+			);
+			name = Signature;
+			sourceTree = "<group>";
+		};
+		713F769D1929F4A7006A7305 = {
+			isa = PBXGroup;
+			children = (
+				713F76AF1929F4A7006A7305 /* iSales-CONTRAST */,
+				42BEF35B1E89FECC00632AB6 /* Frameworks */,
+			);
+			sourceTree = "<group>";
+		};
+		713F76A71929F4A7006A7305 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				713F76A61929F4A7006A7305 /* CONTRAST Mobile.app */,
+			);
+			name = Products;
+			path = ..;
+			sourceTree = "<group>";
+		};
+		713F76A81929F4A7006A7305 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				71BBA2281CEAC17E00C91DED /* libz.tbd */,
+				7187162A1C43406300F25860 /* libScanApiCore.a */,
+				718716281C433DA400F25860 /* AVFoundation.framework */,
+				718716261C433D9700F25860 /* AudioToolbox.framework */,
+				718716241C433D8B00F25860 /* ExternalAccessory.framework */,
+				718716221C433D5000F25860 /* libScanApiCore.a */,
+				716961B419594E1000B19FB4 /* libsqlite3.dylib */,
+				71DEE875192DE00E003F645F /* Accelerate.framework */,
+				71DEE873192DE003003F645F /* QuartzCore.framework */,
+				713F76A91929F4A7006A7305 /* Foundation.framework */,
+				713F76AB1929F4A7006A7305 /* CoreGraphics.framework */,
+				713F76AD1929F4A7006A7305 /* UIKit.framework */,
+				713F76C81929F4A7006A7305 /* XCTest.framework */,
+			);
+			name = Frameworks;
+			path = ..;
+			sourceTree = "<group>";
+		};
+		713F76AF1929F4A7006A7305 /* iSales-CONTRAST */ = {
+			isa = PBXGroup;
+			children = (
+				71DF74311C5757C800F2789C /* CommonUI */,
+				71DF742C1C57567800F2789C /* CONTRAST */,
+				712AFEE31DBDAEA000254965 /* PDFResource */,
+				716387C71953CDB4006E65E6 /* utils */,
+				718716141C433B4300F25860 /* ScanAPI */,
+				7190F1091BBBCAF100B2F243 /* PDF+Web */,
+				714C6ADA1B83016A000123E3 /* address */,
+				71F731FC192F395000F2CF76 /* AutoScrollImage */,
+				7143E0C919414E4B00B2EB1A /* cartView */,
+				7191A67319650A11007DC977 /* cagegory */,
+				716BA58D195AB4170007093A /* categoryMenu */,
+				714C6ADE1B83069A000123E3 /* creditcard */,
+				7185C3CE1B919C7200B4823C /* contact */,
+				719E45D71B63883100FD098B /* modelDetail */,
+				71DBACEE1B5E401A00D8BD7E /* HomeView */,
+				714C6AE21B83107A000123E3 /* order */,
+				4254CCDB1FB1AB6600C8B4B6 /* Order Editor */,
+				42FD1A001FBD19B800C5D9A8 /* Order Preview */,
+				717AE10B1D1A5E99007DC5CA /* offline */,
+				711A551F1C153AA800EF5FDA /* portfolio */,
+				714A52061995E90300627D23 /* cam_scan */,
+				71A2478A1B955448000E1F84 /* search */,
+				713393FE19936C980075BBAC /* Signature */,
+				716387CC1953D693006E65E6 /* sideMenu */,
+				710212821B8D59DE00E1788B /* watchlist */,
+				428980221E2492D2005F1BD8 /* Price Setting */,
+				713F76B81929F4A7006A7305 /* AppDelegate.h */,
+				713F76B91929F4A7006A7305 /* AppDelegate.m */,
+				714036F821646B8C0029B10F /* AppDelegateBase.h */,
+				714036F721646B8C0029B10F /* AppDelegateBase.m */,
+				428980701E24B1E9005F1BD8 /* RASingleton.h */,
+				428980711E24B1E9005F1BD8 /* RASingleton.m */,
+				428980021E2490C1005F1BD8 /* NotificationNameCenter.h */,
+				428980031E2490C1005F1BD8 /* NotificationNameCenter.m */,
+				7162A5E71C5899F700AB630E /* MainViewController.h */,
+				7162A5E81C5899F700AB630E /* MainViewController.m */,
+				714037032164707D0029B10F /* MainHeaderViewColorPanel.h */,
+				714037042164707D0029B10F /* MainHeaderViewColorPanel.m */,
+				7162A5E41C58781000AB630E /* iSalesNavigationController.h */,
+				7162A5E51C58781000AB630E /* iSalesNavigationController.m */,
+				7143E20A202FCEEC00451903 /* Main.storyboard */,
+				3C6831502396082700AD5BD7 /* ERP_Mobile_Cart.storyboard */,
+				3C6831532396082700AD5BD7 /* ERP_Mobile_Contact.storyboard */,
+				3C68314F2396082700AD5BD7 /* ERP_Mobile_Discard.storyboard */,
+				3C6831512396082700AD5BD7 /* ERP_Mobile_Model.storyboard */,
+				3C6831542396082800AD5BD7 /* ERP_Mobile_Order.storyboard */,
+				3C6831552396082800AD5BD7 /* ERP_Mobile_Portfolio.storyboard */,
+				3C6831522396082700AD5BD7 /* ERP_Mobile_Search.storyboard */,
+				7143E208202FCEEB00451903 /* OLM.storyboard */,
+				7143E20E202FCEF600451903 /* CUL.storyboard */,
+				713F76C11929F4A7006A7305 /* Images.xcassets */,
+				713F76B01929F4A7006A7305 /* Supporting Files */,
+				713F76B11929F4A7006A7305 /* iSales-CONTRAST-Info.plist */,
+				713F76B21929F4A7006A7305 /* InfoPlist.strings */,
+				713F76B51929F4A7006A7305 /* main.m */,
+				713F76B71929F4A7006A7305 /* iSales-CONTRAST-Prefix.pch */,
+				713F76A81929F4A7006A7305 /* Frameworks */,
+				713F76A71929F4A7006A7305 /* Products */,
+			);
+			path = "iSales-CONTRAST";
+			sourceTree = "<group>";
+		};
+		713F76B01929F4A7006A7305 /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				423CC87421D22FDE008BD2C4 /* Launch Screen.storyboard */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+		7142E8471DBF01A10077EFA2 /* font */ = {
+			isa = PBXGroup;
+			children = (
+				7142E8781DBF57510077EFA2 /* KALINGA.TTF */,
+				7142E8791DBF57510077EFA2 /* KALINGAB.TTF */,
+				7142E87C1DC300010077EFA2 /* DejaVuSans-Bold.ttf */,
+				7142E87D1DC300010077EFA2 /* DejaVuSans.ttf */,
+			);
+			name = font;
+			sourceTree = "<group>";
+		};
+		7142E8481DBF01AC0077EFA2 /* template */ = {
+			isa = PBXGroup;
+			children = (
+				7143E224202FD2CA00451903 /* portfolio_2x3.json */,
+				7143E223202FD2CA00451903 /* portfolio_3x2.json */,
+				7143E222202FD2CA00451903 /* so_thumb.json */,
+				7143E225202FD2CA00451903 /* so.json */,
+				42E489601EE63F4E007256A0 /* more_color_64.png */,
+			);
+			name = template;
+			sourceTree = "<group>";
+		};
+		7143E0C919414E4B00B2EB1A /* cartView */ = {
+			isa = PBXGroup;
+			children = (
+				7162A50C1C58704600AB630E /* BundleModelCell.h */,
+				7162A50D1C58704600AB630E /* BundleModelCell.m */,
+				7162A50E1C58704600AB630E /* BundleModelViewController.h */,
+				7162A50F1C58704600AB630E /* BundleModelViewController.m */,
+				7162A5101C58704600AB630E /* CartViewController.h */,
+				7162A5111C58704600AB630E /* CartViewController.m */,
+				7162A5121C58704600AB630E /* EditModelPriceViewController.h */,
+				7162A5131C58704600AB630E /* EditModelPriceViewController.m */,
+				7162A5141C58704600AB630E /* ModelItemCell.h */,
+				7162A5151C58704600AB630E /* ModelItemCell.m */,
+				712C40B71C731126000E6831 /* ItemNotesViewController.h */,
+				712C40B81C731126000E6831 /* ItemNotesViewController.m */,
+				712C40B41C7310F4000E6831 /* CartGeneralNotesViewController.h */,
+				712C40B51C7310F4000E6831 /* CartGeneralNotesViewController.m */,
+			);
+			name = cartView;
+			sourceTree = "<group>";
+		};
+		7143E215202FD12B00451903 /* json */ = {
+			isa = PBXGroup;
+			children = (
+				7143E213202FCFC000451903 /* debug_category_filter.json */,
+				7143E216202FD15A00451903 /* category.json */,
+				7143E218202FD1DC00451903 /* contactAdvanceSearch.json */,
+				7143E219202FD1DC00451903 /* createContact.json */,
+				7143E21C202FD21F00451903 /* editContact.json */,
+				7143E21F202FD28900451903 /* placeOrderTemplate.json */,
+				7143E21E202FD28800451903 /* TearSheet.json */,
+				7143E22A202FD37500451903 /* orderDetail.json */,
+			);
+			name = json;
+			sourceTree = "<group>";
+		};
+		714A52061995E90300627D23 /* cam_scan */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5AE1C58738600AB630E /* ScannerControllerView.h */,
+				7162A5AF1C58738600AB630E /* ScannerControllerView.m */,
+				7162A5B01C58738600AB630E /* ScannerViewController.h */,
+				7162A5B11C58738600AB630E /* ScannerViewController.m */,
+				7162A5B21C58738600AB630E /* SCShapeView.h */,
+				7162A5B31C58738600AB630E /* SCShapeView.m */,
+			);
+			name = cam_scan;
+			sourceTree = "<group>";
+		};
+		714C6ADA1B83016A000123E3 /* address */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5001C586F5B00AB630E /* AddressEditorViewController.h */,
+				7162A5011C586F5B00AB630E /* AddressEditorViewController.m */,
+			);
+			name = address;
+			sourceTree = "<group>";
+		};
+		714C6ADE1B83069A000123E3 /* creditcard */ = {
+			isa = PBXGroup;
+			children = (
+				7162A54C1C58722200AB630E /* CreditCardEditorViewController.h */,
+				7162A54D1C58722200AB630E /* CreditCardEditorViewController.m */,
+			);
+			name = creditcard;
+			sourceTree = "<group>";
+		};
+		714C6AE21B83107A000123E3 /* order */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5861C58733400AB630E /* CreateOrderViewController.h */,
+				7162A5871C58733400AB630E /* CreateOrderViewController.m */,
+				7162A5881C58733400AB630E /* OrderDetailHtmlCell.h */,
+				7162A5891C58733400AB630E /* OrderDetailHtmlCell.m */,
+				7162A58A1C58733400AB630E /* OrderDetailInfoCell.h */,
+				7162A58B1C58733400AB630E /* OrderDetailInfoCell.m */,
+				7162A58C1C58733400AB630E /* OrderDetailModelCell.h */,
+				7162A58D1C58733400AB630E /* OrderDetailModelCell.m */,
+				7162A58E1C58733400AB630E /* OrderDetailPriceCell.h */,
+				7162A58F1C58733400AB630E /* OrderDetailPriceCell.m */,
+				42DC12EF1F0CD98E00A4C011 /* OrderDetailPickInfoCell.h */,
+				42DC12F01F0CD98E00A4C011 /* OrderDetailPickInfoCell.m */,
+				7162A5901C58733400AB630E /* OrderDetailViewController.h */,
+				7162A5911C58733400AB630E /* OrderDetailViewController.m */,
+				7162A5921C58733400AB630E /* OrderListTableViewCell.h */,
+				7162A5931C58733400AB630E /* OrderListTableViewCell.m */,
+				7162A5941C58733400AB630E /* OrderListViewController.h */,
+				7162A5951C58733400AB630E /* OrderListViewController.m */,
+				7162A5961C58733400AB630E /* status_filter_cadedate_open.json */,
+				42B309781E45BA32007AFC62 /* status_filter_cadedate_po.json */,
+				7162A5971C58733400AB630E /* offline_status_filter_cadedate.json */,
+				714B1F3E1C7BF74100539193 /* OrderDetailSignatureCell.h */,
+				714B1F3F1C7BF74100539193 /* OrderDetailSignatureCell.m */,
+			);
+			name = order;
+			sourceTree = "<group>";
+		};
+		715EB9A6193866F2006D16A5 /* photoStack */ = {
+			isa = PBXGroup;
+			children = (
+				71DF748F1C57614C00F2789C /* PhotoBorder.png */,
+				71DF74901C57614C00F2789C /* PhotoBorder@2x.png */,
+				7165662C1EF3ACD900CB897F /* photostack_image.html */,
+				7165662D1EF3ACD900CB897F /* photostack_video.html */,
+				71DF74911C57614C00F2789C /* PhotoStackView.h */,
+				71DF74921C57614C00F2789C /* PhotoStackView.m */,
+				71DF74931C57614C00F2789C /* PhotoStackViewController.h */,
+				71DF74941C57614C00F2789C /* PhotoStackViewController.m */,
+			);
+			name = photoStack;
+			sourceTree = "<group>";
+		};
+		716387C71953CDB4006E65E6 /* utils */ = {
+			isa = PBXGroup;
+			children = (
+				3C51499A273E0B6400F78617 /* common_const.h */,
+				71C1D84C1F456CAA00CEA1C9 /* HWWeakTimer.h */,
+				71C1D84D1F456CAA00CEA1C9 /* HWWeakTimer.m */,
+				42BEF3211E89FE1100632AB6 /* GoogleAnalytics */,
+				4289809B1E24B526005F1BD8 /* JKTimer */,
+				4289805A1E249375005F1BD8 /* UIColor+HEX */,
+				4289803C1E249339005F1BD8 /* JKLock */,
+				712AFEC41DBA044C00254965 /* pdfCreator */,
+				71BBA2171CEAC10200C91DED /* zip */,
+				71B1250B1C55BD4600118904 /* QRCODE */,
+				71E9F6BD1F8B53AB0052C78E /* upload */,
+				71BE066E1BA1607400FA6544 /* AES */,
+				71DF74291C57560600F2789C /* Reachability.h */,
+				71DF742A1C57560600F2789C /* Reachability.m */,
+				71CB70761F99E337009FDCB7 /* RAConvertor.h */,
+				71CB70771F99E338009FDCB7 /* RAConvertor.m */,
+				71CB70741F99DF02009FDCB7 /* FileCache.h */,
+				71CB70731F99DF01009FDCB7 /* FileCache.m */,
+				71D01B141E0A2055006620CE /* ImageUtils.h */,
+				71D01B151E0A2055006620CE /* ImageUtils.m */,
+				428980081E24918F005F1BD8 /* CartUtils.h */,
+				428980091E24918F005F1BD8 /* CartUtils.m */,
+				71D01B161E0A2055006620CE /* PDFUtils.h */,
+				71D01B171E0A2055006620CE /* PDFUtils.m */,
+				71D01B181E0A2055006620CE /* TextUtils.h */,
+				71D01B191E0A2055006620CE /* TextUtils.m */,
+				42BF67CA1E5179970081F90A /* ERPUtils.h */,
+				42BF67CB1E5179970081F90A /* ERPUtils.m */,
+				71FFBBE51C60894900D91DC2 /* iSalesDB.h */,
+				71FFBBE61C60894900D91DC2 /* iSalesDB.m */,
+				71E9F6BB1F8B52DC0052C78E /* NetworkUtils.h */,
+				71E9F6BA1F8B52DC0052C78E /* NetworkUtils.m */,
+				71E9F6C11F8B57E40052C78E /* RANetworkTaskDelegate.h */,
+				71E9F6C01F8B57E30052C78E /* RANetworkTaskDelegate.m */,
+				3CDDB26D273A5A7800681F78 /* RAUtils.h */,
+				3CDDB26C273A5A7800681F78 /* RAUtils.m */,
+				71FFBBE71C60894900D91DC2 /* RANetwork.h */,
+				71FFBBE81C60894900D91DC2 /* RANetwork.m */,
+				71BF06F91D2F3CAC00981938 /* OLDataProvider.h */,
+				71BF06FA1D2F3CAC00981938 /* OLDataProvider.m */,
+				7143E22C202FD3CC00451903 /* more_info.html */,
+				7143E22D202FD3CC00451903 /* order_info.html */,
+				3C51492D273CF9B900F78617 /* DBUtil.h */,
+				3C51492E273CF9B900F78617 /* DBUtil.m */,
+				3C514967273D0B1E00F78617 /* RADataProvider.h */,
+				3C514968273D0B1E00F78617 /* RADataProvider.m */,
+			);
+			name = utils;
+			sourceTree = "<group>";
+		};
+		716387CC1953D693006E65E6 /* sideMenu */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5CC1C5876E300AB630E /* AboutViewController.h */,
+				7162A5CD1C5876E300AB630E /* AboutViewController.m */,
+				7162A5CE1C5876E300AB630E /* CacheViewController.h */,
+				7162A5CF1C5876E300AB630E /* CacheViewController.m */,
+				7162A5D01C5876E300AB630E /* LoginViewController.h */,
+				7162A5D11C5876E300AB630E /* LoginViewController.m */,
+				7162A5D21C5876E300AB630E /* PopupNavigationController.h */,
+				7162A5D31C5876E300AB630E /* PopupNavigationController.m */,
+				7162A5D41C5876E300AB630E /* RetrievePassViewController.h */,
+				7162A5D51C5876E300AB630E /* RetrievePassViewController.m */,
+				7162A5D61C5876E300AB630E /* ScannerSettingViewController.h */,
+				7162A5D71C5876E300AB630E /* ScannerSettingViewController.m */,
+				7162A5D81C5876E300AB630E /* SettingViewController.h */,
+				7162A5D91C5876E300AB630E /* SettingViewController.m */,
+				7186C25B1C97A6EE00CB43F4 /* FunctionTestViewController.h */,
+				7186C25C1C97A6EE00CB43F4 /* FunctionTestViewController.m */,
+				71131F901CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.h */,
+				71131F911CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m */,
+				710274231CC606C4009FD219 /* UserListViewController.h */,
+				710274241CC606C4009FD219 /* UserListViewController.m */,
+			);
+			name = sideMenu;
+			sourceTree = "<group>";
+		};
+		716387D2195408DA006E65E6 /* config */ = {
+			isa = PBXGroup;
+			children = (
+				716387D3195408E7006E65E6 /* config.h */,
+				71E5A00F1DC99370005BF655 /* config.plist */,
+				3CDDB25F273A597B00681F78 /* const.h */,
+			);
+			name = config;
+			sourceTree = "<group>";
+		};
+		716BA58D195AB4170007093A /* categoryMenu */ = {
+			isa = PBXGroup;
+			children = (
+				7162A52B1C58719D00AB630E /* RATreeNode.h */,
+				7162A52C1C58719D00AB630E /* RATreeNode.m */,
+				7162A52D1C58719D00AB630E /* RATreeNodeCollectionController.h */,
+				7162A52E1C58719D00AB630E /* RATreeNodeCollectionController.m */,
+				7162A52F1C58719D00AB630E /* RATreeNodeInfo.h */,
+				7162A5301C58719D00AB630E /* RATreeNodeInfo.m */,
+				7162A5311C58719D00AB630E /* RATreeNodeInfo+Private.h */,
+				7162A5321C58719D00AB630E /* RATreeNodeInfo+Private.m */,
+				7162A5331C58719D00AB630E /* RATreeView.h */,
+				7162A5341C58719D00AB630E /* RATreeView.m */,
+				7162A5351C58719D00AB630E /* RATreeView+Enums.h */,
+				7162A5361C58719D00AB630E /* RATreeView+Enums.m */,
+				7162A5371C58719D00AB630E /* RATreeView+Private.h */,
+				7162A5381C58719D00AB630E /* RATreeView+Private.m */,
+				7162A5391C58719D00AB630E /* RATreeView+TableViewDataSource.h */,
+				7162A53A1C58719D00AB630E /* RATreeView+TableViewDataSource.m */,
+				7162A53B1C58719D00AB630E /* RATreeView+TableViewDelegate.h */,
+				7162A53C1C58719D00AB630E /* RATreeView+TableViewDelegate.m */,
+				7162A53D1C58719D00AB630E /* RATreeView+UIScrollView.h */,
+				7162A53E1C58719D00AB630E /* RATreeView+UIScrollView.m */,
+				7162A53F1C58719D00AB630E /* RAViewController.h */,
+				7162A5401C58719D00AB630E /* RAViewController.m */,
+			);
+			name = categoryMenu;
+			sourceTree = "<group>";
+		};
+		717AE10B1D1A5E99007DC5CA /* offline */ = {
+			isa = PBXGroup;
+			children = (
+				7161FEB21D61B24900157EE1 /* creditcardpayment.html */,
+				7161FEB31D61B24900157EE1 /* normalpayment.html */,
+				7161FEB41D61B24900157EE1 /* orderinfo.html */,
+				71BF06FC1D2F3CBA00981938 /* OfflineSettingViewController.h */,
+				71BF06FD1D2F3CBA00981938 /* OfflineSettingViewController.m */,
+				71BF07061D2F3D2800981938 /* SyncControlPanelViewController.h */,
+				71BF07071D2F3D2800981938 /* SyncControlPanelViewController.m */,
+				716AF8DF1D7AA0E0001188E0 /* SelectUploadOrderViewController.h */,
+				716AF8E01D7AA0E0001188E0 /* SelectUploadOrderViewController.m */,
+				716AF8E61D7AA398001188E0 /* SelectOrderTableViewCell.h */,
+				716AF8E51D7AA398001188E0 /* SelectOrderTableViewCell.m */,
+				715F30BB1DAB37EB00490EED /* OfflineUnlockViewController.h */,
+				715F30BC1DAB37EB00490EED /* OfflineUnlockViewController.m */,
+			);
+			name = offline;
+			sourceTree = "<group>";
+		};
+		7185C3CE1B919C7200B4823C /* contact */ = {
+			isa = PBXGroup;
+			children = (
+				7162A54F1C58724700AB630E /* ContactAdvanceSearchViewController.h */,
+				7162A5501C58724700AB630E /* ContactAdvanceSearchViewController.m */,
+				7162A5511C58724700AB630E /* ContactListTableViewCell.h */,
+				7162A5521C58724700AB630E /* ContactListTableViewCell.m */,
+				7162A5531C58724700AB630E /* ContactListViewController.h */,
+				7162A5541C58724700AB630E /* ContactListViewController.m */,
+				7162A5551C58724700AB630E /* customer_advanced_search.json */,
+				7162A5561C58724700AB630E /* customer_info_template.json */,
+				7111E5711C76C557004763B3 /* customer_info_template_edit.json */,
+				7162A5571C58724700AB630E /* CustomerEditViewController.h */,
+				7162A5581C58724700AB630E /* CustomerEditViewController.m */,
+				7162A5591C58724700AB630E /* CustomerInfoViewController.h */,
+				7162A55A1C58724700AB630E /* CustomerInfoViewController.m */,
+			);
+			name = contact;
+			sourceTree = "<group>";
+		};
+		718600B31936C385004B6CDE /* customUI */ = {
+			isa = PBXGroup;
+			children = (
+				3CDDB26A273A5A1500681F78 /* CustomIOSAlertView.h */,
+				3CDDB269273A5A1400681F78 /* CustomIOSAlertView.m */,
+				71DF746B1C57608F00F2789C /* ImageScrollerView.h */,
+				71DF746C1C57608F00F2789C /* ImageScrollerView.m */,
+				71DF746D1C57608F00F2789C /* ImageScrollerViewController.h */,
+				71DF746E1C57608F00F2789C /* ImageScrollerViewController.m */,
+				71DF746F1C57608F00F2789C /* ImageUploadViewController.h */,
+				71DF74701C57608F00F2789C /* ImageUploadViewController.m */,
+				71DF74711C57608F00F2789C /* ImageViewController.h */,
+				71DF74721C57608F00F2789C /* ImageViewController.m */,
+				71DF74731C57608F00F2789C /* NIDropDown.h */,
+				71DF74741C57608F00F2789C /* NIDropDown.m */,
+				71DF74751C57608F00F2789C /* PulldownMenu.h */,
+				71DF74761C57608F00F2789C /* PulldownMenu.m */,
+				71DF74771C57608F00F2789C /* RadioButton.h */,
+				71DF74781C57608F00F2789C /* RadioButton.m */,
+				71DF747B1C57608F00F2789C /* SimpleGrid.h */,
+				71DF747C1C57608F00F2789C /* SimpleGrid.m */,
+				3CDDB263273A59EF00681F78 /* RTLabel.h */,
+				3CDDB264273A59EF00681F78 /* RTLabel.m */,
+				3CDDB266273A5A0400681F78 /* StrikethroughLabel.h */,
+				3CDDB267273A5A0400681F78 /* StrikethroughLabel.m */,
+				3CDDB261273A59DF00681F78 /* TouchImageView.h */,
+				3CDDB260273A59DF00681F78 /* TouchImageView.m */,
+				71DF747F1C57608F00F2789C /* TouchLabel.h */,
+				71DF74801C57608F00F2789C /* TouchLabel.m */,
+				71DF74811C57608F00F2789C /* UILabel+FontAppearance.h */,
+				71DF74821C57608F00F2789C /* UILabel+FontAppearance.m */,
+			);
+			name = customUI;
+			sourceTree = "<group>";
+		};
+		718716141C433B4300F25860 /* ScanAPI */ = {
+			isa = PBXGroup;
+			children = (
+				7141DD351C5726B700F7DF59 /* DeviceInfo.h */,
+				7141DD361C5726B700F7DF59 /* DeviceInfo.m */,
+				7141DD371C5726B700F7DF59 /* ScanApiHelper.h */,
+				7141DD381C5726B700F7DF59 /* ScanApiHelper.mm */,
+				7141DD391C5726B700F7DF59 /* ScanApiIncludes.h */,
+				7141DD3A1C5726B700F7DF59 /* softScanBeep.wav */,
+				7141DD331C57269B00F7DF59 /* include */,
+			);
+			name = ScanAPI;
+			sourceTree = "<group>";
+		};
+		7190F1091BBBCAF100B2F243 /* PDF+Web */ = {
+			isa = PBXGroup;
+			children = (
+				3C69617D23C7156D0075172A /* RAPDFViewController.h */,
+				3C69617E23C7156D0075172A /* RAPDFViewController.m */,
+				3C69618123C7156D0075172A /* WebViewController.h */,
+				3C69617F23C7156D0075172A /* WebViewController.m */,
+				3C69618023C7156D0075172A /* wkweb.storyboard */,
+			);
+			name = "PDF+Web";
+			sourceTree = "<group>";
+		};
+		7191A67319650A11007DC977 /* cagegory */ = {
+			isa = PBXGroup;
+			children = (
+				7143E210202FCF7600451903 /* CategoryCellNPD.h */,
+				7143E211202FCF7600451903 /* CategoryCellNPD.m */,
+				7162A51F1C58706C00AB630E /* CategoryCellSmall.h */,
+				7162A5201C58706C00AB630E /* CategoryCellSmall.m */,
+				712BABF11C897E3A0007466B /* CategorySearchFilterViewController.h */,
+				712BABF21C897E3A0007466B /* CategorySearchFilterViewController.m */,
+				7162A5211C58706C00AB630E /* CategoryViewController.h */,
+				7162A5221C58706C00AB630E /* CategoryViewController.m */,
+				7195623A1CF57D1800C74A49 /* CategoryHeaderView.h */,
+				7195623B1CF57D1800C74A49 /* CategoryHeaderView.m */,
+			);
+			name = cagegory;
+			sourceTree = "<group>";
+		};
+		719562351CF5733500C74A49 /* appearance */ = {
+			isa = PBXGroup;
+			children = (
+				715850441CF6F0E500856B20 /* DefaultAppearance.h */,
+				715850451CF6F0E500856B20 /* DefaultAppearance.m */,
+				71D30A201CFBEDC6006F9477 /* default_appearance.json */,
+			);
+			name = appearance;
+			sourceTree = "<group>";
+		};
+		719E45D71B63883100FD098B /* modelDetail */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5621C58728D00AB630E /* DetailHeaderCell.h */,
+				7162A5631C58728D00AB630E /* DetailHeaderCell.m */,
+				7162A5641C58728D00AB630E /* DetailImageCell.h */,
+				7162A5651C58728D00AB630E /* DetailImageCell.m */,
+				7162A5661C58728D00AB630E /* DetailKVCell.h */,
+				7162A5671C58728D00AB630E /* DetailKVCell.m */,
+				7162A5681C58728D00AB630E /* DetailTopicCell.h */,
+				7162A5691C58728D00AB630E /* DetailTopicCell.m */,
+				7162A56A1C58728D00AB630E /* DetailViewController.h */,
+				7162A56B1C58728D00AB630E /* DetailViewController.m */,
+				7162A56C1C58728D00AB630E /* LineView.h */,
+				7162A56D1C58728D00AB630E /* LineView.m */,
+				71C1D8521F456D2700CEA1C9 /* ModelDescriptionController.h */,
+				71C1D8531F456D2700CEA1C9 /* ModelDescriptionController.m */,
+			);
+			name = modelDetail;
+			sourceTree = "<group>";
+		};
+		71A2478A1B955448000E1F84 /* search */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5B71C5873BB00AB630E /* FilterCellCadedate.h */,
+				7162A5B81C5873BB00AB630E /* FilterCellCadedate.m */,
+				7162A5B91C5873BB00AB630E /* FilterCellValue.h */,
+				7162A5BA1C5873BB00AB630E /* FilterCellValue.m */,
+				7162A5BB1C5873BB00AB630E /* ItemSearchFilterViewController.h */,
+				7162A5BC1C5873BB00AB630E /* ItemSearchFilterViewController.m */,
+				7162A5BD1C5873BB00AB630E /* ItemSearchViewController.h */,
+				7162A5BE1C5873BB00AB630E /* ItemSearchViewController.m */,
+				7162A5BF1C5873BB00AB630E /* SearchViewController.h */,
+				7162A5C01C5873BB00AB630E /* SearchViewController.m */,
+			);
+			name = search;
+			sourceTree = "<group>";
+		};
+		71B1250B1C55BD4600118904 /* QRCODE */ = {
+			isa = PBXGroup;
+			children = (
+				7141DD3E1C57459B00F7DF59 /* bitstream.c */,
+				7141DD3F1C57459B00F7DF59 /* bitstream.h */,
+				7141DD401C57459B00F7DF59 /* mask.c */,
+				7141DD411C57459B00F7DF59 /* mask.h */,
+				7141DD421C57459B00F7DF59 /* QRCodeGenerator.h */,
+				7141DD431C57459B00F7DF59 /* QRCodeGenerator.m */,
+				7141DD441C57459B00F7DF59 /* qrencode.c */,
+				7141DD451C57459B00F7DF59 /* qrencode.h */,
+				7141DD461C57459B00F7DF59 /* qrinput.c */,
+				7141DD471C57459B00F7DF59 /* qrinput.h */,
+				7141DD481C57459B00F7DF59 /* qrspec.c */,
+				7141DD491C57459B00F7DF59 /* qrspec.h */,
+				7141DD4A1C57459B00F7DF59 /* rscode.c */,
+				7141DD4B1C57459B00F7DF59 /* rscode.h */,
+				7141DD4C1C57459B00F7DF59 /* split.c */,
+				7141DD4D1C57459B00F7DF59 /* split.h */,
+			);
+			name = QRCODE;
+			sourceTree = "<group>";
+		};
+		71BBA2171CEAC10200C91DED /* zip */ = {
+			isa = PBXGroup;
+			children = (
+				71BBA2371CEAEF0700C91DED /* crypt.h */,
+				71BBA2381CEAEF0700C91DED /* ioapi.c */,
+				71BBA2391CEAEF0700C91DED /* ioapi.h */,
+				71BBA23A1CEAEF0700C91DED /* mztools.c */,
+				71BBA23B1CEAEF0700C91DED /* mztools.h */,
+				71BBA23C1CEAEF0700C91DED /* unzip.c */,
+				71BBA23D1CEAEF0700C91DED /* unzip.h */,
+				71BBA23E1CEAEF0700C91DED /* zip.c */,
+				71BBA23F1CEAEF0700C91DED /* zip.h */,
+				71BBA2211CEAC16000C91DED /* ZipArchive.h */,
+				71BBA2221CEAC16000C91DED /* ZipArchive.mm */,
+			);
+			name = zip;
+			sourceTree = "<group>";
+		};
+		71BE066E1BA1607400FA6544 /* AES */ = {
+			isa = PBXGroup;
+			children = (
+				7141DD561C5747CE00F7DF59 /* AESCrypt.h */,
+				7141DD571C5747CE00F7DF59 /* AESCrypt.m */,
+				7141DD581C5747CE00F7DF59 /* LICENSE */,
+				7141DD591C5747CE00F7DF59 /* NSData+Base64.h */,
+				7141DD5A1C5747CE00F7DF59 /* NSData+Base64.m */,
+				7141DD5B1C5747CE00F7DF59 /* NSData+CommonCrypto.h */,
+				7141DD5C1C5747CE00F7DF59 /* NSData+CommonCrypto.m */,
+				7141DD5D1C5747CE00F7DF59 /* NSString+Base64.h */,
+				7141DD5E1C5747CE00F7DF59 /* NSString+Base64.m */,
+			);
+			name = AES;
+			sourceTree = "<group>";
+		};
+		71BF32FA1EFA1C0700842CB4 /* youtube player */ = {
+			isa = PBXGroup;
+			children = (
+				3C68314C239607B500AD5BD7 /* RAYTPlayer.h */,
+				3C68314B239607B500AD5BD7 /* RAYTPlayer.m */,
+				3C68314A239607B500AD5BD7 /* ytplayer.html */,
+			);
+			name = "youtube player";
+			sourceTree = "<group>";
+		};
+		71DBACEE1B5E401A00D8BD7E /* HomeView */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5771C5872EF00AB630E /* HomeTableViewCellBanner.h */,
+				7162A5781C5872EF00AB630E /* HomeTableViewCellBanner.m */,
+				7162A5791C5872EF00AB630E /* HomeTableViewCellButtonBanner.h */,
+				7162A57A1C5872EF00AB630E /* HomeTableViewCellButtonBanner.m */,
+				7162A57B1C5872EF00AB630E /* HomeTableViewCellSlide.h */,
+				7162A57C1C5872EF00AB630E /* HomeTableViewCellSlide.m */,
+				7162A57D1C5872EF00AB630E /* HomeTableViewCellTopic.h */,
+				7162A57E1C5872EF00AB630E /* HomeTableViewCellTopic.m */,
+				7162A57F1C5872EF00AB630E /* HomeViewController.h */,
+				7162A5801C5872EF00AB630E /* HomeViewController.m */,
+			);
+			name = HomeView;
+			sourceTree = "<group>";
+		};
+		71DF742C1C57567800F2789C /* CONTRAST */ = {
+			isa = PBXGroup;
+			children = (
+				7143E215202FD12B00451903 /* json */,
+				719562351CF5733500C74A49 /* appearance */,
+				716387D2195408DA006E65E6 /* config */,
+			);
+			name = CONTRAST;
+			sourceTree = "<group>";
+		};
+		71DF74311C5757C800F2789C /* CommonUI */ = {
+			isa = PBXGroup;
+			children = (
+				3C514996273E097B00F78617 /* HUD */,
+				3C514987273E091500F78617 /* PhotoList */,
+				71BF32FA1EFA1C0700842CB4 /* youtube player */,
+				4289800E1E24924D005F1BD8 /* sort */,
+				715EB9A6193866F2006D16A5 /* photoStack */,
+				718600B31936C385004B6CDE /* customUI */,
+				71DF743A1C575E6600F2789C /* CommonEditor */,
+				71DF74321C5757DA00F2789C /* ActiveViewController.h */,
+				71DF74331C5757DA00F2789C /* ActiveViewController.m */,
+				71D30A2B1CFC0EF8006F9477 /* DefaultImageButton.h */,
+				71D30A2C1CFC0EF8006F9477 /* DefaultImageButton.m */,
+				3CDDB25B273A564200681F78 /* DefaultTableHeaderView.h */,
+				3CDDB25A273A564200681F78 /* DefaultTableHeaderView.m */,
+				715001FD1D114D9100F5927F /* BundleDetailButton.h */,
+				715001FE1D114D9100F5927F /* BundleDetailButton.m */,
+			);
+			name = CommonUI;
+			sourceTree = "<group>";
+		};
+		71DF743A1C575E6600F2789C /* CommonEditor */ = {
+			isa = PBXGroup;
+			children = (
+				3C514975273E07C400F78617 /* EnumSelectAndSort */,
+				714036FB21646CFF0029B10F /* UIResponder+Router.h */,
+				714036FA21646CFF0029B10F /* UIResponder+Router.m */,
+				3C514930273D092A00F78617 /* EnumSelectViewController.h */,
+				3C514931273D092A00F78617 /* EnumSelectViewController.m */,
+				4295AE181FE74D26007BE365 /* AutoComplete */,
+				3C514941273D095900F78617 /* CommonEditorCellAction.h */,
+				3C514944273D095900F78617 /* CommonEditorCellAction.m */,
+				3C514973273E074500F78617 /* CommonEditorCellEditor.h */,
+				3C514972273E074500F78617 /* CommonEditorCellEditor.m */,
+				3C514933273D095800F78617 /* CommonEditorCellEdit.h */,
+				3C51493A273D095900F78617 /* CommonEditorCellEdit.m */,
+				3C514942273D095900F78617 /* CommonEditorCellEnum.h */,
+				3C514939273D095800F78617 /* CommonEditorCellEnum.m */,
+				3C514943273D095900F78617 /* CommonEditorCellImg.h */,
+				3C51493F273D095900F78617 /* CommonEditorCellImg.m */,
+				3C514937273D095800F78617 /* CommonEditorCellLabel.h */,
+				3C51493C273D095900F78617 /* CommonEditorCellLabel.m */,
+				3C51493B273D095900F78617 /* CommonEditorCellMAction.h */,
+				3C51493D273D095900F78617 /* CommonEditorCellMAction.m */,
+				3C514940273D095900F78617 /* CommonEditorCellModel.h */,
+				3C514945273D095900F78617 /* CommonEditorCellModel.m */,
+				3C514938273D095800F78617 /* CommonEditorCellSignature.h */,
+				3C51493E273D095900F78617 /* CommonEditorCellSignature.m */,
+				3C514936273D095800F78617 /* CommonEditorCellSwitch.h */,
+				3C514934273D095800F78617 /* CommonEditorCellSwitch.m */,
+				3C514946273D095900F78617 /* CommonEditorCellTextView.h */,
+				3C514935273D095800F78617 /* CommonEditorCellTextView.m */,
+				3C514952273D096A00F78617 /* CommonEditorViewController.h */,
+				3C514951273D096A00F78617 /* CommonEditorViewController.m */,
+				3C514954273D097E00F78617 /* CommonEditorTableContainerView.h */,
+				3C514955273D097E00F78617 /* CommonEditorTableContainerView.m */,
+				3C514957273D098700F78617 /* DatePickerViewController.h */,
+				3C514958273D098700F78617 /* DatePickerViewController.m */,
+				3C51495A273D099600F78617 /* EnumSelectorCell.h */,
+				3C51495B273D099600F78617 /* EnumSelectorCell.m */,
+				3C51495D273D09B800F78617 /* MonthPickerViewController.h */,
+				3C51495E273D09B800F78617 /* MonthPickerViewController.m */,
+				3C514964273D0A2F00F78617 /* SRMonthPicker.h */,
+				3C514965273D0A2F00F78617 /* SRMonthPicker.m */,
+				3C514960273D09E700F78617 /* CommonEditor.storyboard */,
+				3C68315E2396094100AD5BD7 /* CommonEditor.iPad.xib */,
+				3C6831632396094200AD5BD7 /* iPadCommonEditorCellAction.xib */,
+				3C6831672396094200AD5BD7 /* iPadCommonEditorCellEdit.xib */,
+				3C6831612396094200AD5BD7 /* iPadCommonEditorCellEnum.xib */,
+				3C68315D2396094100AD5BD7 /* iPadCommonEditorCellImg.xib */,
+				3C68315F2396094200AD5BD7 /* iPadCommonEditorCellLabel.xib */,
+				3C6831652396094200AD5BD7 /* iPadCommonEditorCellMAction.xib */,
+				3C6831642396094200AD5BD7 /* iPadCommonEditorCellModel.xib */,
+				3C6831662396094200AD5BD7 /* iPadCommonEditorCellSignature.xib */,
+				3C6831602396094200AD5BD7 /* iPadCommonEditorCellSwitch.xib */,
+				3C6831622396094200AD5BD7 /* iPadCommonEditorCellTextView.xib */,
+			);
+			name = CommonEditor;
+			sourceTree = "<group>";
+		};
+		71E9F6BD1F8B53AB0052C78E /* upload */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			name = upload;
+			sourceTree = "<group>";
+		};
+		71F731FC192F395000F2CF76 /* AutoScrollImage */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5031C586FC100AB630E /* CycleScrollView.h */,
+				7162A5041C586FC100AB630E /* CycleScrollView.m */,
+				7162A5051C586FC100AB630E /* NSTimer+Addition.h */,
+				7162A5061C586FC100AB630E /* NSTimer+Addition.m */,
+				7162A5071C586FC100AB630E /* SliderPage.h */,
+				7162A5081C586FC100AB630E /* SliderPage.m */,
+			);
+			name = AutoScrollImage;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		713F76A51929F4A7006A7305 /* iSales-CONTRAST */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 713F76D81929F4A7006A7305 /* Build configuration list for PBXNativeTarget "iSales-CONTRAST" */;
+			buildPhases = (
+				713F76A21929F4A7006A7305 /* Sources */,
+				713F76A31929F4A7006A7305 /* Frameworks */,
+				713F76A41929F4A7006A7305 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = "iSales-CONTRAST";
+			productName = "iSales-CONTRAST";
+			productReference = 713F76A61929F4A7006A7305 /* CONTRAST Mobile.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		713F769E1929F4A7006A7305 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 1200;
+				ORGANIZATIONNAME = "United Software Applications, Inc";
+				TargetAttributes = {
+					713F76A51929F4A7006A7305 = {
+						DevelopmentTeam = HXWLAA5YN5;
+						ProvisioningStyle = Automatic;
+					};
+				};
+			};
+			buildConfigurationList = 713F76A11929F4A7006A7305 /* Build configuration list for PBXProject "iSales-CONTRAST" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = en;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 713F769D1929F4A7006A7305;
+			productRefGroup = 713F76A71929F4A7006A7305 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				713F76A51929F4A7006A7305 /* iSales-CONTRAST */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		713F76A41929F4A7006A7305 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				7143E217202FD15A00451903 /* category.json in Resources */,
+				7143E22B202FD37500451903 /* orderDetail.json in Resources */,
+				7143E20F202FCEF600451903 /* CUL.storyboard in Resources */,
+				3C68316B2396094200AD5BD7 /* iPadCommonEditorCellSwitch.xib in Resources */,
+				3C6831582396082800AD5BD7 /* ERP_Mobile_Model.storyboard in Resources */,
+				7143E20C202FCEEC00451903 /* OLM.storyboard in Resources */,
+				7143E20D202FCEEC00451903 /* Main.storyboard in Resources */,
+				7142E87E1DC300690077EFA2 /* DejaVuSans-Bold.ttf in Resources */,
+				3C6831682396094200AD5BD7 /* iPadCommonEditorCellImg.xib in Resources */,
+				7142E87F1DC300690077EFA2 /* DejaVuSans.ttf in Resources */,
+				7142E87A1DBF577A0077EFA2 /* KALINGA.TTF in Resources */,
+				7142E87B1DBF577A0077EFA2 /* KALINGAB.TTF in Resources */,
+				7143E228202FD2CA00451903 /* portfolio_2x3.json in Resources */,
+				713F76C21929F4A7006A7305 /* Images.xcassets in Resources */,
+				3C6831572396082800AD5BD7 /* ERP_Mobile_Cart.storyboard in Resources */,
+				3C6831592396082800AD5BD7 /* ERP_Mobile_Search.storyboard in Resources */,
+				3C514992273E091500F78617 /* PhotoList.storyboard in Resources */,
+				42E489611EE63F4E007256A0 /* more_color_64.png in Resources */,
+				713F76B41929F4A7006A7305 /* InfoPlist.strings in Resources */,
+				7165662F1EF3ACD900CB897F /* photostack_video.html in Resources */,
+				3C6831712396094200AD5BD7 /* iPadCommonEditorCellSignature.xib in Resources */,
+				3C6831722396094200AD5BD7 /* iPadCommonEditorCellEdit.xib in Resources */,
+				7162A5A01C58733400AB630E /* status_filter_cadedate_open.json in Resources */,
+				71D30A211CFBEDC6006F9477 /* default_appearance.json in Resources */,
+				3C68315A2396082800AD5BD7 /* ERP_Mobile_Contact.storyboard in Resources */,
+				7161FEB71D61B24900157EE1 /* orderinfo.html in Resources */,
+				3C69618423C7156D0075172A /* wkweb.storyboard in Resources */,
+				3C68316D2396094200AD5BD7 /* iPadCommonEditorCellTextView.xib in Resources */,
+				3C68315C2396082800AD5BD7 /* ERP_Mobile_Portfolio.storyboard in Resources */,
+				7143E221202FD28900451903 /* placeOrderTemplate.json in Resources */,
+				7161FEB51D61B24900157EE1 /* creditcardpayment.html in Resources */,
+				7143E227202FD2CA00451903 /* portfolio_3x2.json in Resources */,
+				7143E21A202FD1DC00451903 /* contactAdvanceSearch.json in Resources */,
+				3C6831702396094200AD5BD7 /* iPadCommonEditorCellMAction.xib in Resources */,
+				3C68315B2396082800AD5BD7 /* ERP_Mobile_Order.storyboard in Resources */,
+				71E5A0101DC99370005BF655 /* config.plist in Resources */,
+				71DF74951C57614C00F2789C /* PhotoBorder.png in Resources */,
+				7143E229202FD2CA00451903 /* so.json in Resources */,
+				3C6831562396082800AD5BD7 /* ERP_Mobile_Discard.storyboard in Resources */,
+				7162A55F1C58724700AB630E /* customer_info_template.json in Resources */,
+				7141DD3D1C5726B700F7DF59 /* softScanBeep.wav in Resources */,
+				3C68316F2396094200AD5BD7 /* iPadCommonEditorCellModel.xib in Resources */,
+				4295AE1D1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib in Resources */,
+				7141DD341C57269B00F7DF59 /* include in Resources */,
+				7141DD601C5747CE00F7DF59 /* LICENSE in Resources */,
+				3C68314D239607B500AD5BD7 /* ytplayer.html in Resources */,
+				71D01ADD1E08CB1C006620CE /* signature.storyboard in Resources */,
+				7143E22F202FD3CD00451903 /* order_info.html in Resources */,
+				423CC87521D22FDE008BD2C4 /* Launch Screen.storyboard in Resources */,
+				3C68316A2396094200AD5BD7 /* iPadCommonEditorCellLabel.xib in Resources */,
+				7111E5721C76C557004763B3 /* customer_info_template_edit.json in Resources */,
+				7161FEB61D61B24900157EE1 /* normalpayment.html in Resources */,
+				3C68316C2396094200AD5BD7 /* iPadCommonEditorCellEnum.xib in Resources */,
+				7143E214202FCFC000451903 /* debug_category_filter.json in Resources */,
+				7143E220202FD28900451903 /* TearSheet.json in Resources */,
+				71DF74961C57614C00F2789C /* PhotoBorder@2x.png in Resources */,
+				7143E226202FD2CA00451903 /* so_thumb.json in Resources */,
+				7165662E1EF3ACD900CB897F /* photostack_image.html in Resources */,
+				3C6831692396094200AD5BD7 /* CommonEditor.iPad.xib in Resources */,
+				3C51497D273E07D600F78617 /* EnumSelectAndSort.storyboard in Resources */,
+				712AFEE51DBDAF0300254965 /* pdfcreator.xcassets in Resources */,
+				7143E21B202FD1DC00451903 /* createContact.json in Resources */,
+				7162A55E1C58724700AB630E /* customer_advanced_search.json in Resources */,
+				3C514961273D09E700F78617 /* CommonEditor.storyboard in Resources */,
+				3C68316E2396094200AD5BD7 /* iPadCommonEditorCellAction.xib in Resources */,
+				7143E22E202FD3CD00451903 /* more_info.html in Resources */,
+				7143E21D202FD21F00451903 /* editContact.json in Resources */,
+				7162A5A11C58733400AB630E /* offline_status_filter_cadedate.json in Resources */,
+				42B309791E45BA32007AFC62 /* status_filter_cadedate_po.json in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		713F76A21929F4A7006A7305 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				7141DD531C57459B00F7DF59 /* qrspec.c in Sources */,
+				3C69618323C7156D0075172A /* WebViewController.m in Sources */,
+				71BF07081D2F3D2800981938 /* SyncControlPanelViewController.m in Sources */,
+				4289802D1E2492D2005F1BD8 /* PriceSettingViewController.m in Sources */,
+				714036F921646B8C0029B10F /* AppDelegateBase.m in Sources */,
+				71FFBBEA1C60894900D91DC2 /* RANetwork.m in Sources */,
+				428980161E24924D005F1BD8 /* SortItemCell.m in Sources */,
+				3C51495C273D099600F78617 /* EnumSelectorCell.m in Sources */,
+				3C51494C273D095900F78617 /* CommonEditorCellMAction.m in Sources */,
+				7162A59D1C58733400AB630E /* OrderDetailViewController.m in Sources */,
+				7141DD3B1C5726B700F7DF59 /* DeviceInfo.m in Sources */,
+				714037052164707E0029B10F /* MainHeaderViewColorPanel.m in Sources */,
+				712AFEDC1DBA050200254965 /* PDFDrawable.m in Sources */,
+				7195623C1CF57D1800C74A49 /* CategoryHeaderView.m in Sources */,
+				712AFED81DBA050200254965 /* GridDrawable.m in Sources */,
+				424A02D11FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m in Sources */,
+				7162A5C11C5873BB00AB630E /* FilterCellCadedate.m in Sources */,
+				42BEF3581E89FE1200632AB6 /* GTMNSData+zlib.m in Sources */,
+				3C2F99B8237BE1790000808F /* PortfolioListTableViewCell.m in Sources */,
+				71DF742B1C57560600F2789C /* Reachability.m in Sources */,
+				7162A5701C58728D00AB630E /* DetailHeaderCell.m in Sources */,
+				71BBA2271CEAC16000C91DED /* ZipArchive.mm in Sources */,
+				7162A5491C58719D00AB630E /* RATreeView+TableViewDelegate.m in Sources */,
+				3C514950273D095900F78617 /* CommonEditorCellModel.m in Sources */,
+				428980451E249339005F1BD8 /* JKDotView.m in Sources */,
+				7162A5B41C58738600AB630E /* ScannerControllerView.m in Sources */,
+				7162A5831C5872EF00AB630E /* HomeTableViewCellSlide.m in Sources */,
+				4289800A1E24918F005F1BD8 /* CartUtils.m in Sources */,
+				7162A5851C5872EF00AB630E /* HomeViewController.m in Sources */,
+				7162A5E31C5877CE00AB630E /* WatchListViewController.m in Sources */,
+				715001FF1D114D9100F5927F /* BundleDetailButton.m in Sources */,
+				7162A5421C58719D00AB630E /* RATreeNodeCollectionController.m in Sources */,
+				7162A5DE1C5876E300AB630E /* RetrievePassViewController.m in Sources */,
+				428980461E249339005F1BD8 /* JKLockButton.m in Sources */,
+				71C1D8541F456D2700CEA1C9 /* ModelDescriptionController.m in Sources */,
+				7143E212202FCF7600451903 /* CategoryCellNPD.m in Sources */,
+				7141DD541C57459B00F7DF59 /* rscode.c in Sources */,
+				7162A5E01C5876E300AB630E /* SettingViewController.m in Sources */,
+				712AFEDB1DBA050200254965 /* LineDrawable.m in Sources */,
+				71DF748B1C57608F00F2789C /* SimpleGrid.m in Sources */,
+				42BEF3621E8A005800632AB6 /* GoogleAnalyst.m in Sources */,
+				7162A5171C58704600AB630E /* BundleModelViewController.m in Sources */,
+				7162A5411C58719D00AB630E /* RATreeNode.m in Sources */,
+				3C514947273D095900F78617 /* CommonEditorCellSwitch.m in Sources */,
+				7162A5251C58706C00AB630E /* CategoryCellSmall.m in Sources */,
+				712AFEDA1DBA050200254965 /* ImageDrawable.m in Sources */,
+				428980721E24B1E9005F1BD8 /* RASingleton.m in Sources */,
+				3C514953273D096A00F78617 /* CommonEditorViewController.m in Sources */,
+				71E9F6C21F8B57E40052C78E /* RANetworkTaskDelegate.m in Sources */,
+				712C40B91C731126000E6831 /* ItemNotesViewController.m in Sources */,
+				3CDDB268273A5A0400681F78 /* StrikethroughLabel.m in Sources */,
+				7162A5AD1C58735900AB630E /* TearSheetParamViewController.m in Sources */,
+				7141DD611C5747CE00F7DF59 /* NSData+Base64.m in Sources */,
+				71BBA2431CEAEF0700C91DED /* zip.c in Sources */,
+				7141DD5F1C5747CE00F7DF59 /* AESCrypt.m in Sources */,
+				3C514959273D098700F78617 /* DatePickerViewController.m in Sources */,
+				7162A5991C58733400AB630E /* OrderDetailHtmlCell.m in Sources */,
+				7162A5091C586FC100AB630E /* CycleScrollView.m in Sources */,
+				715F30BD1DAB37EB00490EED /* OfflineUnlockViewController.m in Sources */,
+				7162A5161C58704600AB630E /* BundleModelCell.m in Sources */,
+				42DC12F11F0CD98E00A4C011 /* OrderDetailPickInfoCell.m in Sources */,
+				3C51494A273D095900F78617 /* CommonEditorCellEdit.m in Sources */,
+				7141DD621C5747CE00F7DF59 /* NSData+CommonCrypto.m in Sources */,
+				712AFED71DBA050200254965 /* BasicDrawable.m in Sources */,
+				3C51494E273D095900F78617 /* CommonEditorCellImg.m in Sources */,
+				71DF74891C57608F00F2789C /* RadioButton.m in Sources */,
+				3CDDB26B273A5A1500681F78 /* CustomIOSAlertView.m in Sources */,
+				7162A5DF1C5876E300AB630E /* ScannerSettingViewController.m in Sources */,
+				71DF74831C57608F00F2789C /* ImageScrollerView.m in Sources */,
+				71DF74871C57608F00F2789C /* NIDropDown.m in Sources */,
+				710274251CC606C4009FD219 /* UserListViewController.m in Sources */,
+				3CDDB265273A59EF00681F78 /* RTLabel.m in Sources */,
+				3C51494D273D095900F78617 /* CommonEditorCellSignature.m in Sources */,
+				71DF74881C57608F00F2789C /* PulldownMenu.m in Sources */,
+				7141DD551C57459B00F7DF59 /* split.c in Sources */,
+				716AF8E11D7AA0E0001188E0 /* SelectUploadOrderViewController.m in Sources */,
+				712AFEDF1DBA050200254965 /* TextDrawable.m in Sources */,
+				7162A5611C58724700AB630E /* CustomerInfoViewController.m in Sources */,
+				428980471E249339005F1BD8 /* JKLockController.m in Sources */,
+				7162A5731C58728D00AB630E /* DetailTopicCell.m in Sources */,
+				71BBA2421CEAEF0700C91DED /* unzip.c in Sources */,
+				7162A5AC1C58735900AB630E /* PortfolioViewController.m in Sources */,
+				71D01B1C1E0A2055006620CE /* TextUtils.m in Sources */,
+				7162A5981C58733400AB630E /* CreateOrderViewController.m in Sources */,
+				4289809E1E24B526005F1BD8 /* JKTimerManager.m in Sources */,
+				3C514999273E097C00F78617 /* RAProgressHUD.m in Sources */,
+				3C51494F273D095900F78617 /* CommonEditorCellAction.m in Sources */,
+				7162A5021C586F5B00AB630E /* AddressEditorViewController.m in Sources */,
+				71131F921CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m in Sources */,
+				7162A55C1C58724700AB630E /* ContactListTableViewCell.m in Sources */,
+				7186C25D1C97A6EE00CB43F4 /* FunctionTestViewController.m in Sources */,
+				71C1D84E1F456CAA00CEA1C9 /* HWWeakTimer.m in Sources */,
+				3C514948273D095900F78617 /* CommonEditorCellTextView.m in Sources */,
+				71D0344F1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m in Sources */,
+				7162A5B51C58738600AB630E /* ScannerViewController.m in Sources */,
+				3C51492F273CF9B900F78617 /* DBUtil.m in Sources */,
+				716AF8E71D7AA398001188E0 /* SelectOrderTableViewCell.m in Sources */,
+				713F76BA1929F4A7006A7305 /* AppDelegate.m in Sources */,
+				71BF06FB1D2F3CAC00981938 /* OLDataProvider.m in Sources */,
+				7162A59B1C58733400AB630E /* OrderDetailModelCell.m in Sources */,
+				3C514994273E091500F78617 /* VideoPreviewCell.m in Sources */,
+				7162A5E91C5899F700AB630E /* MainViewController.m in Sources */,
+				71D01B1B1E0A2055006620CE /* PDFUtils.m in Sources */,
+				3CDDB26E273A5A7800681F78 /* RAUtils.m in Sources */,
+				7141DD4F1C57459B00F7DF59 /* mask.c in Sources */,
+				7162A54E1C58722200AB630E /* CreditCardEditorViewController.m in Sources */,
+				7162A5C31C5873BB00AB630E /* ItemSearchFilterViewController.m in Sources */,
+				3C51497F273E07D600F78617 /* EnumSelectAndSortCell.m in Sources */,
+				71D30A2D1CFC0EF8006F9477 /* DefaultImageButton.m in Sources */,
+				7162A5841C5872EF00AB630E /* HomeTableViewCellTopic.m in Sources */,
+				7162A59F1C58733400AB630E /* OrderListViewController.m in Sources */,
+				4254CCDE1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m in Sources */,
+				712AFEE21DBA077F00254965 /* pdfCreator.m in Sources */,
+				71BBA2401CEAEF0700C91DED /* ioapi.c in Sources */,
+				7162A5461C58719D00AB630E /* RATreeView+Enums.m in Sources */,
+				7162A54B1C58719D00AB630E /* RAViewController.m in Sources */,
+				71BBA2411CEAEF0700C91DED /* mztools.c in Sources */,
+				7162A59C1C58733400AB630E /* OrderDetailPriceCell.m in Sources */,
+				715850461CF6F0E500856B20 /* DefaultAppearance.m in Sources */,
+				3C7E5A8E237BDB0C006D0105 /* PortfolioListViewController.m in Sources */,
+				4295AE1C1FE74D46007BE365 /* CommonEditorAutoCompleteView.m in Sources */,
+				7162A5B61C58738600AB630E /* SCShapeView.m in Sources */,
+				71CB70751F99DF02009FDCB7 /* FileCache.m in Sources */,
+				7162A54A1C58719D00AB630E /* RATreeView+UIScrollView.m in Sources */,
+				7162A55D1C58724700AB630E /* ContactListViewController.m in Sources */,
+				3C514995273E091500F78617 /* PhotoPreviewCell.m in Sources */,
+				7162A5751C58728D00AB630E /* LineView.m in Sources */,
+				712AFEDD1DBA050200254965 /* RAPDFPage.m in Sources */,
+				428980481E249339005F1BD8 /* JKMessageBoxController.m in Sources */,
+				7162A5741C58728D00AB630E /* DetailViewController.m in Sources */,
+				71DF748E1C57608F00F2789C /* UILabel+FontAppearance.m in Sources */,
+				712C40B61C7310F4000E6831 /* CartGeneralNotesViewController.m in Sources */,
+				712AFEDE1DBA050200254965 /* TableDrawable.m in Sources */,
+				7162A5CB1C58761500AB630E /* SignatureViewController.m in Sources */,
+				7162A5DD1C5876E300AB630E /* PopupNavigationController.m in Sources */,
+				7162A59E1C58733400AB630E /* OrderListTableViewCell.m in Sources */,
+				714B1F401C7BF74100539193 /* OrderDetailSignatureCell.m in Sources */,
+				4289802E1E2492D2005F1BD8 /* SetCategoryPriceController.m in Sources */,
+				714036FC21646CFF0029B10F /* UIResponder+Router.m in Sources */,
+				71D01B1A1E0A2055006620CE /* ImageUtils.m in Sources */,
+				7141DD521C57459B00F7DF59 /* qrinput.c in Sources */,
+				7162A5601C58724700AB630E /* CustomerEditViewController.m in Sources */,
+				7162A5DC1C5876E300AB630E /* LoginViewController.m in Sources */,
+				3C51495F273D09B800F78617 /* MonthPickerViewController.m in Sources */,
+				4289805D1E249375005F1BD8 /* UIColor+JK_HEX.m in Sources */,
+				7162A5811C5872EF00AB630E /* HomeTableViewCellBanner.m in Sources */,
+				3C514956273D097E00F78617 /* CommonEditorTableContainerView.m in Sources */,
+				7162A5E61C58781000AB630E /* iSalesNavigationController.m in Sources */,
+				7141DD631C5747CE00F7DF59 /* NSString+Base64.m in Sources */,
+				71E9F6BC1F8B52DD0052C78E /* NetworkUtils.m in Sources */,
+				7162A5C41C5873BB00AB630E /* ItemSearchViewController.m in Sources */,
+				7162A5481C58719D00AB630E /* RATreeView+TableViewDataSource.m in Sources */,
+				3C514993273E091500F78617 /* ContentPreviewController.m in Sources */,
+				71CB70781F99E338009FDCB7 /* RAConvertor.m in Sources */,
+				7162A5DB1C5876E300AB630E /* CacheViewController.m in Sources */,
+				7162A5C21C5873BB00AB630E /* FilterCellValue.m in Sources */,
+				71DF74971C57614C00F2789C /* PhotoStackView.m in Sources */,
+				7162A50B1C586FC100AB630E /* SliderPage.m in Sources */,
+				712BABF31C897E3A0007466B /* CategorySearchFilterViewController.m in Sources */,
+				71DF74981C57614C00F2789C /* PhotoStackViewController.m in Sources */,
+				428980151E24924D005F1BD8 /* SortButton.m in Sources */,
+				3C514980273E07D600F78617 /* EnumModel.m in Sources */,
+				7162A59A1C58733400AB630E /* OrderDetailInfoCell.m in Sources */,
+				7162A5471C58719D00AB630E /* RATreeView+Private.m in Sources */,
+				3CDDB262273A59DF00681F78 /* TouchImageView.m in Sources */,
+				428980041E2490C1005F1BD8 /* NotificationNameCenter.m in Sources */,
+				3C51497E273E07D600F78617 /* EnumSelectAndSortViewController.m in Sources */,
+				4289802C1E2492D2005F1BD8 /* CategoryPriceViewController.m in Sources */,
+				71DF748D1C57608F00F2789C /* TouchLabel.m in Sources */,
+				3C68314E239607B500AD5BD7 /* RAYTPlayer.m in Sources */,
+				3C514932273D092A00F78617 /* EnumSelectViewController.m in Sources */,
+				428980171E24924D005F1BD8 /* SortItemViewController.m in Sources */,
+				7162A5711C58728D00AB630E /* DetailImageCell.m in Sources */,
+				7162A51A1C58704600AB630E /* ModelItemCell.m in Sources */,
+				7141DD511C57459B00F7DF59 /* qrencode.c in Sources */,
+				7162A5451C58719D00AB630E /* RATreeView.m in Sources */,
+				3C514974273E074500F78617 /* CommonEditorCellEditor.m in Sources */,
+				71DF74841C57608F00F2789C /* ImageScrollerViewController.m in Sources */,
+				3CDDB25C273A564200681F78 /* DefaultTableHeaderView.m in Sources */,
+				71DF74861C57608F00F2789C /* ImageViewController.m in Sources */,
+				7162A5821C5872EF00AB630E /* HomeTableViewCellButtonBanner.m in Sources */,
+				713F76B61929F4A7006A7305 /* main.m in Sources */,
+				71BF06FE1D2F3CBA00981938 /* OfflineSettingViewController.m in Sources */,
+				71DF74341C5757DA00F2789C /* ActiveViewController.m in Sources */,
+				7162A5431C58719D00AB630E /* RATreeNodeInfo.m in Sources */,
+				3C51494B273D095900F78617 /* CommonEditorCellLabel.m in Sources */,
+				71FFBBE91C60894900D91DC2 /* iSalesDB.m in Sources */,
+				7162A55B1C58724700AB630E /* ContactAdvanceSearchViewController.m in Sources */,
+				7162A5441C58719D00AB630E /* RATreeNodeInfo+Private.m in Sources */,
+				7162A5C51C5873BB00AB630E /* SearchViewController.m in Sources */,
+				7162A5191C58704600AB630E /* EditModelPriceViewController.m in Sources */,
+				3C514969273D0B1E00F78617 /* RADataProvider.m in Sources */,
+				7162A5721C58728D00AB630E /* DetailKVCell.m in Sources */,
+				7141DD501C57459B00F7DF59 /* QRCodeGenerator.m in Sources */,
+				715671331E10A0EF006324A0 /* RectDrawable.m in Sources */,
+				4289802B1E2492D2005F1BD8 /* CategoryPriceCell.m in Sources */,
+				7162A5DA1C5876E300AB630E /* AboutViewController.m in Sources */,
+				7141DD4E1C57459B00F7DF59 /* bitstream.c in Sources */,
+				71DF74851C57608F00F2789C /* ImageUploadViewController.m in Sources */,
+				3C514966273D0A2F00F78617 /* SRMonthPicker.m in Sources */,
+				3C69618223C7156D0075172A /* RAPDFViewController.m in Sources */,
+				7162A5CA1C58761500AB630E /* SignatureView.m in Sources */,
+				7162A5181C58704600AB630E /* CartViewController.m in Sources */,
+				42BF67CC1E5179970081F90A /* ERPUtils.m in Sources */,
+				42FD1A031FBD1A3000C5D9A8 /* RAOrderPreviewController.m in Sources */,
+				7141DD3C1C5726B700F7DF59 /* ScanApiHelper.mm in Sources */,
+				7162A5261C58706C00AB630E /* CategoryViewController.m in Sources */,
+				7162A50A1C586FC100AB630E /* NSTimer+Addition.m in Sources */,
+				3C514949273D095900F78617 /* CommonEditorCellEnum.m in Sources */,
+				712AFED91DBA050200254965 /* GroupDrawable.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		713F76B21929F4A7006A7305 /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				713F76B31929F4A7006A7305 /* en */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+		7143E208202FCEEB00451903 /* OLM.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				7143E209202FCEEB00451903 /* Base */,
+			);
+			name = OLM.storyboard;
+			sourceTree = "<group>";
+		};
+		7143E20A202FCEEC00451903 /* Main.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				7143E20B202FCEEC00451903 /* Base */,
+			);
+			name = Main.storyboard;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		713F76D61929F4A7006A7305 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/include",
+					"$(PROJECT_DIR)/common/qrcode",
+					"$(PROJECT_DIR)/common/CommonEditor",
+				);
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+				LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib";
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = 2;
+			};
+			name = Debug;
+		};
+		713F76D71929F4A7006A7305 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = YES;
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/include",
+					"$(PROJECT_DIR)/common/qrcode",
+					"$(PROJECT_DIR)/common/CommonEditor",
+				);
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+				LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib";
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = 2;
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		713F76D91929F4A7006A7305 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				CURRENT_PROJECT_VERSION = 200119;
+				DEVELOPMENT_TEAM = HXWLAA5YN5;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseAnalytics/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseCore/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseInstanceID/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/Google/Frameworks",
+				);
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "iSales-CONTRAST/iSales-CONTRAST-Prefix.pch";
+				INFOPLIST_FILE = "$(SRCROOT)/iSales-CONTRAST/iSales-CONTRAST-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+				LIBRARY_SEARCH_PATHS = (
+					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib",
+					"$(PROJECT_DIR)/GoogleAnalytics/GoogleAnalytics/Libraries",
+				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-ObjC",
+					"-framework",
+					"\"CoreGraphics\"",
+					"-framework",
+					"\"MobileCoreServices\"",
+					"-framework",
+					"\"Security\"",
+					"-framework",
+					"\"SystemConfiguration\"",
+					"-v",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = "usai.apex.CONTRAST-Mobile";
+				PRODUCT_NAME = "CONTRAST Mobile";
+				PROVISIONING_PROFILE = "";
+				WRAPPER_EXTENSION = app;
+			};
+			name = Debug;
+		};
+		713F76DA1929F4A7006A7305 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				CURRENT_PROJECT_VERSION = 200119;
+				DEVELOPMENT_TEAM = HXWLAA5YN5;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseAnalytics/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseCore/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseInstanceID/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/Google/Frameworks",
+				);
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "iSales-CONTRAST/iSales-CONTRAST-Prefix.pch";
+				INFOPLIST_FILE = "$(SRCROOT)/iSales-CONTRAST/iSales-CONTRAST-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+				LIBRARY_SEARCH_PATHS = (
+					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib",
+					"$(PROJECT_DIR)/GoogleAnalytics/GoogleAnalytics/Libraries",
+				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-ObjC",
+					"-framework",
+					"\"CoreGraphics\"",
+					"-framework",
+					"\"MobileCoreServices\"",
+					"-framework",
+					"\"Security\"",
+					"-framework",
+					"\"SystemConfiguration\"",
+					"-v",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = "usai.apex.CONTRAST-Mobile";
+				PRODUCT_NAME = "CONTRAST Mobile";
+				PROVISIONING_PROFILE = "";
+				WRAPPER_EXTENSION = app;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		713F76A11929F4A7006A7305 /* Build configuration list for PBXProject "iSales-CONTRAST" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				713F76D61929F4A7006A7305 /* Debug */,
+				713F76D71929F4A7006A7305 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		713F76D81929F4A7006A7305 /* Build configuration list for PBXNativeTarget "iSales-CONTRAST" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				713F76D91929F4A7006A7305 /* Debug */,
+				713F76DA1929F4A7006A7305 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 713F769E1929F4A7006A7305 /* Project object */;
+}

+ 7 - 0
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/contents.xcworkspacedata

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:RedAnt ERP Mobile.xcodeproj">
+   </FileRef>
+</Workspace>

+ 46 - 0
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Mobile.xccheckout

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDESourceControlProjectFavoriteDictionaryKey</key>
+	<false/>
+	<key>IDESourceControlProjectIdentifier</key>
+	<string>866EDB29-E53F-4947-AAD8-0106EEF96A27</string>
+	<key>IDESourceControlProjectName</key>
+	<string>RedAnt ERP Mobile</string>
+	<key>IDESourceControlProjectOriginsDictionary</key>
+	<dict>
+		<key>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</key>
+		<string>svn://209.49.111.29/ERPSuiteIOS</string>
+	</dict>
+	<key>IDESourceControlProjectPath</key>
+	<string>RedAnt ERP Suite/RedAnt ERP Mobile.xcodeproj</string>
+	<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
+	<dict>
+		<key>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</key>
+		<string>../../..</string>
+	</dict>
+	<key>IDESourceControlProjectRepositoryRootDictionary</key>
+	<dict>
+		<key>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</key>
+		<string>svn://209.49.111.29</string>
+	</dict>
+	<key>IDESourceControlProjectURL</key>
+	<string>svn://209.49.111.29/ERPSuiteIOS/RedAnt%20ERP%20Suite/RedAnt%20ERP%20Mobile.xcodeproj</string>
+	<key>IDESourceControlProjectVersion</key>
+	<integer>111</integer>
+	<key>IDESourceControlProjectWCCIdentifier</key>
+	<string>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</string>
+	<key>IDESourceControlProjectWCConfigurations</key>
+	<array>
+		<dict>
+			<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
+			<string>public.vcs.subversion</string>
+			<key>IDESourceControlWCCIdentifierKey</key>
+			<string>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</string>
+			<key>IDESourceControlWCCName</key>
+			<string>ERPSuiteIOS</string>
+		</dict>
+	</array>
+</dict>
+</plist>

+ 25 - 0
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Mobile.xcscmblueprint

@@ -0,0 +1,25 @@
+{
+  "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455",
+  "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
+    "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455" : {
+
+    }
+  },
+  "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
+    "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455" : 0
+  },
+  "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "866EDB29-E53F-4947-AAD8-0106EEF96A27",
+  "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
+    "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455" : "ERPSuiteIOS"
+  },
+  "DVTSourceControlWorkspaceBlueprintNameKey" : "RedAnt ERP Mobile",
+  "DVTSourceControlWorkspaceBlueprintVersion" : 204,
+  "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "RedAnt ERP Suite\/RedAnt ERP Mobile.xcodeproj",
+  "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
+    {
+      "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "svn:\/\/209.49.111.29",
+      "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Subversion",
+      "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455"
+    }
+  ]
+}

+ 46 - 0
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Suite.xccheckout

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDESourceControlProjectFavoriteDictionaryKey</key>
+	<false/>
+	<key>IDESourceControlProjectIdentifier</key>
+	<string>D67AF69E-B377-4778-B4B4-700FF77C6795</string>
+	<key>IDESourceControlProjectName</key>
+	<string>RedAnt ERP Suite</string>
+	<key>IDESourceControlProjectOriginsDictionary</key>
+	<dict>
+		<key>20B88275-06DC-4903-B545-CE87ABCF55EB</key>
+		<string>svn://209.49.111.29/ERPSuiteIOS/RedAnt%20ERP%20Suite</string>
+	</dict>
+	<key>IDESourceControlProjectPath</key>
+	<string>RedAnt ERP Suite/RedAnt ERP Suite.xcodeproj/project.xcworkspace</string>
+	<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
+	<dict>
+		<key>20B88275-06DC-4903-B545-CE87ABCF55EB</key>
+		<string>../..</string>
+	</dict>
+	<key>IDESourceControlProjectRepositoryRootDictionary</key>
+	<dict>
+		<key>20B88275-06DC-4903-B545-CE87ABCF55EB</key>
+		<string>svn://209.49.111.29</string>
+	</dict>
+	<key>IDESourceControlProjectURL</key>
+	<string>svn://209.49.111.29/ERPSuiteIOS/RedAnt%20ERP%20Suite/RedAnt%20ERP%20Suite.xcodeproj</string>
+	<key>IDESourceControlProjectVersion</key>
+	<integer>110</integer>
+	<key>IDESourceControlProjectWCCIdentifier</key>
+	<string>20B88275-06DC-4903-B545-CE87ABCF55EB</string>
+	<key>IDESourceControlProjectWCConfigurations</key>
+	<array>
+		<dict>
+			<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
+			<string>public.vcs.subversion</string>
+			<key>IDESourceControlWCCIdentifierKey</key>
+			<string>20B88275-06DC-4903-B545-CE87ABCF55EB</string>
+			<key>IDESourceControlWCCName</key>
+			<string>RedAnt ERP Suite</string>
+		</dict>
+	</array>
+</dict>
+</plist>

BIN
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 10 - 0
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/WorkspaceSettings.xcsettings

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges</key>
+	<true/>
+	<key>SnapshotAutomaticallyBeforeSignificantChanges</key>
+	<true/>
+</dict>
+</plist>

+ 82 - 0
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Expressions.xcexplist

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VariablesViewState
+   version = "1.0">
+   <ContextStates>
+      <ContextState
+         contextName = "-[OrderListViewController LongPress:row:]:OrderListViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "view.frame">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[MainViewController switchToCagegory:]:MainViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "self.categoryViewController.cagegoryLabel.text">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[TopicViewController collectionView:didSelectItemAtIndexPath:]:TopicViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "self.parentViewController">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "__58-[CategoryViewController tableView:cellForRowAtIndexPath:]_block_invoke:CategoryViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "_detail_data">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[MainViewController categoryString:node:]:MainViewController.m">
+      </ContextState>
+      <ContextState
+         contextName = "-[OrderListViewController gestureRecognizer:shouldReceiveTouch:]:OrderListViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "[touch.view class]">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[CommonEditorViewController tableView:cellForRowAtIndexPath:]:CommonEditorViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "UIKeyboardTypeDecimalPad">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[CategoryViewController scrollViewDidScroll:]:CategoryViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "_collectionview.contentSize">
+            </PersistentString>
+            <PersistentString
+               value = "frame.size">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[CategoryViewController tableView:cellForRowAtIndexPath:]:CategoryViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "section_json">
+            </PersistentString>
+            <PersistentString
+               value = "indexPath">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[CommonEditorViewController keyboardWillShow:]:CommonEditorViewController.m">
+      </ContextState>
+   </ContextStates>
+</VariablesViewState>

+ 19 - 0
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/xcuserdata/ray.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>iSales-USAI.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>6</integer>
+		</dict>
+		<key>iSales-USAI.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>7</integer>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 19 - 0
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/xcuserdata/ruizhang.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>iSales-CONTRAST.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>2</integer>
+		</dict>
+		<key>iSales-USAI.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>6</integer>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 161 - 0
RedAnt ERP Mobile/iSales-CONTRAST/AppDelegate.h

@@ -0,0 +1,161 @@
+//
+//  AppDelegate.h
+//  RedAnt ERP Suite
+//
+//  Created by Ray on 14-5-19.
+//  Copyright (c) 2014年 United Software Applications, Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "AppDelegateBase.h"
+
+
+@interface AppDelegate : AppDelegateBase
+
+
+@end
+//#import "iSalesDB.h"
+//#import "ScanApiHelper.h"
+////#import "MainViewController.h"
+//#import "ActiveViewController.h"
+//#import "SyncControlPanelViewController.h"
+//
+//typedef enum {
+//    CustomerTypeStore     = 0,
+//    CustomerTypeCustomer  = 1
+//} CustomerType;
+//
+//@interface AppDelegate : UIResponder <UIApplicationDelegate,ScanApiHelperDelegate , NSURLConnectionDataDelegate>
+//
+//@property (strong, nonatomic) UIWindow *window;
+//@property (strong,nonatomic) NSString* user;
+//@property (strong,nonatomic) NSString * password;
+//@property (strong,nonatomic) NSString * user_icon;
+////@property (strong,nonatomic) NSString * sessionid;
+//@property (strong,nonatomic) NSString * duid;
+//@property bool bLogin;
+//@property bool bEnable_Cache;
+//@property long user_type;
+//@property CustomerType customer_type;
+//@property (strong , nonatomic) NSString* contact_id;
+//
+//
+//@property (strong , nonatomic) NSString* order_customer_id;
+////@property (strong , nonatomic) NSString* contact_name;
+//@property (strong,nonatomic)NSDictionary* categoryMenu;
+//
+//@property (strong,nonatomic)UIViewController* active_controller;
+//
+//@property (strong,nonatomic)NSMutableDictionary* customerInfo;
+//@property (strong,nonatomic)NSMutableDictionary* recent_model;
+//
+//@property (strong,nonatomic) NSString* order_code;
+//@property  int order_status;
+////@property (strong,nonatomic) NSString* so;
+//@property (strong,nonatomic) UIViewController* main_vc;
+//
+//@property (strong,nonatomic) NSString* build;
+//-(void) Logout;
+//-(void) SetMode:(NSString*)mode;
+//@property (strong,nonatomic) NSString* mode;
+//-(void) SetSo:(NSString*)So;
+//
+//-(void) switchToPreviousVC;
+//
+//-(void) closeOrder;
+//
+//@property long wish_count;
+//@property long cart_count;
+//@property long port_count;
+//
+//@property (nonatomic,assign) bool offline_mode;
+//
+//@property bool can_show_price;
+//@property (nonatomic,assign) bool can_see_price;
+//@property bool can_create_portfolio;
+//@property bool can_cancel_order;
+//@property bool can_set_cart_price;
+//@property bool can_create_order;
+//@property bool can_delete_order;
+//@property bool can_submit_order;
+//@property bool can_set_tearsheet_price;
+//@property bool can_update_contact_info;
+//@property bool submit_order_logout;
+//@property bool save_order_logout;
+//@property bool alert_sold_in_quantities;
+//@property(readonly) bool price_hidden;
+//
+//
+//-(void) set_priceHidden:(bool)price_hidden;
+//
+//-(void) set_main_button_panel;
+//
+////@property bool can_show_price;
+////@property bool can_show_price;
+////@property bool can_show_price;
+//
+//@property (strong , nonatomic) NSString* ipad_perm;
+//
+//-(void) update_count_mark;
+//// downloader
+//-(void) check_offline:(NSString*) ver useInternalAddress:(bool)buseinternaladdress parentvc:(UIViewController*) parent;
+//@property bool disable_trigger;
+//
+//@property (nonatomic, strong) SyncControlPanelViewController *settingUI;
+//@property (nonatomic, strong) NSFileHandle *fileHandle;
+////@property (nonatomic, assign) long long currentLength; //>>写入文件的长度
+////@property (nonatomic, assign) long long fileLength; //>>文件长度
+////@property (nonatomic, strong) NSString *fileName;   //>>文件名
+//@property (nonatomic, strong) NSURLConnection *connection;
+//@property double file_progress;
+//@property double overall_progress;
+//@property (strong, nonatomic) NSString* downloadlog;
+//@property (strong, nonatomic) NSString* vid;
+//@property bool downloading;
+//-(void) add_downloadlog:(NSString*) newtext;
+//@property (strong, nonatomic) NSMutableDictionary* download_task;
+//@property int current_task;
+////scanner
+//#define API_START 1
+//#define API_STOP 3
+//#define API_INIT 0
+//#define API_CLOSING 2
+//
+//
+//@property (strong, nonatomic) ScanApiHelper* ScanApi;
+//@property (strong, nonatomic) NSTimer* ScanApiConsumer;
+//@property (nonatomic) BOOL doAppDataConfirmation;
+//@property (strong, nonatomic) NSString *scanApiVersion;
+//@property (strong, nonatomic) NSString* log;
+//@property BOOL softScannerEnabled;
+//-(void) addlog:(NSString*) newtext;
+//@property bool enable_ScannerLog;
+//@property (strong,nonatomic) NSMutableArray* devices;
+//- (void)enableScanner:(bool)enable ;
+//@property int api_Status;
+//@property (strong, nonatomic) NSString* Status_Text;
+//
+////-(void) didRotated;
+//
+//// scanner test
+//-(void) test_onDecodedDataResult:(NSString*) value;
+//
+//// printer
+//
+//@property (strong, nonatomic) NSString * printerURL;
+//-(void) printPdf:(NSString*) url company:(NSString*)company send_to:(NSString*)send_to soid:(NSString*)soid content:(NSString*)content;
+//@property (strong, nonatomic) NSMutableDictionary* OrderFilter;
+//
+//@property (nonatomic,strong) NSMutableDictionary *urgencyDic;///<程序闪退需要保存的数据
+//
+//@property (nonatomic,assign) BOOL can_create_backorder;
+//
+//#pragma mark - Global Param Begin
+//
+//- (void)setGlobalParameter:(id)param forKey:(NSString *)key;
+//- (id)globalParameterForKey:(NSString *)key;
+//
+//#pragma mark - Globale Param End
+//
+//
+//@end

+ 17 - 0
RedAnt ERP Mobile/iSales-CONTRAST/AppDelegate.m

@@ -0,0 +1,17 @@
+//
+//  AppDelegate.m
+//  RedAnt ERP Suite
+//
+//  Created by Ray on 14-5-19.
+//  Copyright (c) 2014年 United Software Applications, Inc. All rights reserved.
+//
+
+#import "AppDelegate.h"
+@implementation AppDelegate
+
+
+
+//@synthesize devices;
+
+
+@end

BIN
RedAnt ERP Mobile/iSales-CONTRAST/DejaVuSans-Bold.ttf


BIN
RedAnt ERP Mobile/iSales-CONTRAST/DejaVuSans.ttf


+ 68 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/Contents.json

@@ -0,0 +1,68 @@
+{
+  "images" : [
+    {
+      "filename" : "appicon.png",
+      "idiom" : "ipad",
+      "scale" : "1x",
+      "size" : "20x20"
+    },
+    {
+      "filename" : "appicon-1.png",
+      "idiom" : "ipad",
+      "scale" : "2x",
+      "size" : "20x20"
+    },
+    {
+      "filename" : "appicon-2.png",
+      "idiom" : "ipad",
+      "scale" : "1x",
+      "size" : "29x29"
+    },
+    {
+      "filename" : "appicon-3.png",
+      "idiom" : "ipad",
+      "scale" : "2x",
+      "size" : "29x29"
+    },
+    {
+      "filename" : "appicon-4.png",
+      "idiom" : "ipad",
+      "scale" : "1x",
+      "size" : "40x40"
+    },
+    {
+      "filename" : "appicon-5.png",
+      "idiom" : "ipad",
+      "scale" : "2x",
+      "size" : "40x40"
+    },
+    {
+      "filename" : "appicon-6.png",
+      "idiom" : "ipad",
+      "scale" : "1x",
+      "size" : "76x76"
+    },
+    {
+      "filename" : "appicon-7.png",
+      "idiom" : "ipad",
+      "scale" : "2x",
+      "size" : "76x76"
+    },
+    {
+      "filename" : "appicon-8.png",
+      "idiom" : "ipad",
+      "scale" : "2x",
+      "size" : "83.5x83.5"
+    },
+    {
+      "filename" : "appicon-9.png",
+      "idiom" : "ios-marketing",
+      "scale" : "1x",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-1.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-2.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-3.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-4.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-5.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-6.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-7.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-8.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon-9.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/AppIcon.appiconset/appicon.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Assembly icon.imageset/Assembly icon.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Assembly icon.imageset/Assembly icon@2x.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Assembly icon.imageset/Assembly icon@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Assembly icon.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "Assembly icon.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Assembly icon@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Assembly icon@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combine.imageset/Combine.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combine.imageset/Combine@2x.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combine.imageset/Combine@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combine.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "Combine.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combine@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combine@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegray.imageset/Combinegray.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegray.imageset/Combinegray@2x.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegray.imageset/Combinegray@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegray.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegray.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegray@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegray@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegreen.imageset/Combinegreen.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegreen.imageset/Combinegreen@2x.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegreen.imageset/Combinegreen@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Combinegreen.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegreen.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegreen@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegreen@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 6 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 23 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_18.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "DX_18.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "DX_18@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "DX_18@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_18.imageset/DX_18.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_18.imageset/DX_18@2x.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_18.imageset/DX_18@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_22.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "DX_22.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "DX_22@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "DX_22@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_22.imageset/DX_22.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_22.imageset/DX_22@2x.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/DX_22.imageset/DX_22@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_18.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "IS_18.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IS_18@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IS_18@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_18.imageset/IS_18.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_18.imageset/IS_18@2x.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_18.imageset/IS_18@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_22.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "IS_22.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IS_22@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IS_22@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_22.imageset/IS_22.png


BIN
RedAnt ERP Mobile/iSales-CONTRAST/Images.xcassets/IS_22.imageset/IS_22@2x.png


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác