Kaynağa Gözat

分支合并

Steven 2 yıl önce
ebeveyn
işleme
b3f7779dea
65 değiştirilmiş dosya ile 2887 ekleme ve 783 silme
  1. 12 11
      KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj
  2. BIN
      KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 6 6
      KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_alert_logo.imageset/Contents.json
  5. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_alert_logo.imageset/auth_alert_logo@2x.png
  6. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_alert_logo.imageset/auth_alert_logo@3x.png
  7. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_rate.imageset/Contents.json
  8. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_rate.imageset/auth_rate@2x.png
  9. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_rate.imageset/auth_rate@3x.png
  10. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/education_icon.imageset/Contents.json
  11. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/education_icon.imageset/education_icon@2x.png
  12. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/education_icon.imageset/education_icon@3x.png
  13. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/mine_instrument_logo.imageset/Contents.json
  14. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/mine_instrument_logo.imageset/mine_instrument_logo@2x.png
  15. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/mine_instrument_logo.imageset/mine_instrument_logo@3x.png
  16. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/music_next.imageset/Contents.json
  17. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/music_next.imageset/music_next@2x.png
  18. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/music_next.imageset/music_next@3x.png
  19. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/qualification_icon.imageset/Contents.json
  20. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/qualification_icon.imageset/qualification_icon@2x.png
  21. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/qualification_icon.imageset/qualification_icon@3x.png
  22. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/BaseViewController.m
  23. 2 2
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSBaseViewController.m
  24. 12 0
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.h
  25. 14 0
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.m
  26. 14 14
      KulexiuForTeacher/KulexiuForTeacher/Common/Define/PrefixHeader.pch
  27. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseForLiveCell.m
  28. 82 8
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Controller/HomeViewController.m
  29. 3 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MusicMessageCell.h
  30. 41 7
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MusicMessageCell.m
  31. 72 9
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MusicMessageCell.xib
  32. 33 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MyMusicBodyView.m
  33. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/MyLiveCourseCell.m
  34. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/MyVideoCourseBodyView.m
  35. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/NotiferMessage/Controller/NotiferMessageViewController.m
  36. 2 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/NotiferMessage/View/NotiferMessageCell.m
  37. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/NotiferMessage/View/NotiferMessageCell.xib
  38. 36 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeAuthAlertView.h
  39. 84 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeAuthAlertView.m
  40. 293 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeAuthAlertView.xib
  41. 0 33
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHeadView.h
  42. 0 163
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHeadView.m
  43. 0 337
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHeadView.xib
  44. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHotMusicView.h
  45. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNavView.m
  46. 8 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.h
  47. 23 5
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.m
  48. 31 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.xib
  49. 2 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Live/Controller/LiveRoomViewController.m
  50. 14 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/LiveCourse/View/MyLiveCourseBodyView.m
  51. 43 4
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/Controller/MinePageViewController.m
  52. 6 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/LiveCourseCell.m
  53. 7 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageHeadView.h
  54. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageHeadView.m
  55. 30 8
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageHeadView.xib
  56. 1398 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageMusicCell.xib
  57. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.h
  58. 66 19
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.m
  59. 294 112
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.xib
  60. 3 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageVideoCell.m
  61. 3 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Model/TeacherInfo.h
  62. 14 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Model/TeacherInfo.m
  63. 6 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/VideoCourse/View/VideoCourseCell.m
  64. 49 12
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineHeadView.m
  65. 42 14
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineHeadView.xib

+ 12 - 11
KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj

@@ -19,8 +19,6 @@
 		2723B68927F1643B00E0B90B /* HomeBodyView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2723B68827F1643B00E0B90B /* HomeBodyView.xib */; };
 		2723B68C27F1685600E0B90B /* HomeNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2723B68B27F1685500E0B90B /* HomeNavView.m */; };
 		2723B68E27F1686100E0B90B /* HomeNavView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2723B68D27F1686100E0B90B /* HomeNavView.xib */; };
-		2723B69127F1803F00E0B90B /* HomeHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2723B69027F1803F00E0B90B /* HomeHeadView.m */; };
-		2723B69327F1806500E0B90B /* HomeHeadView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2723B69227F1806500E0B90B /* HomeHeadView.xib */; };
 		2728086727E6BD1F00DB71EA /* FirstSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2728086627E6BD1F00DB71EA /* FirstSettingViewController.m */; };
 		2728086A27E6C12000DB71EA /* FirstSettingBodyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2728086927E6C12000DB71EA /* FirstSettingBodyView.m */; };
 		2728086C27E6C12900DB71EA /* FirstSettingBodyView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2728086B27E6C12900DB71EA /* FirstSettingBodyView.xib */; };
@@ -580,6 +578,8 @@
 		BC542E4328407AD200633781 /* UserSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC542E4228407AD200633781 /* UserSettingViewController.m */; };
 		BC542E4628407B3D00633781 /* UseBodyView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC542E4528407B3D00633781 /* UseBodyView.m */; };
 		BC542E4828407B4400633781 /* UseBodyView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC542E4728407B4400633781 /* UseBodyView.xib */; };
+		BC5756B128B60096002302D8 /* HomeAuthAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC5756B028B60095002302D8 /* HomeAuthAlertView.m */; };
+		BC5756B328B600A3002302D8 /* HomeAuthAlertView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC5756B228B600A3002302D8 /* HomeAuthAlertView.xib */; };
 		BC58E7D3281B9630004B0893 /* PublicNoticeView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC58E7D2281B9630004B0893 /* PublicNoticeView.m */; };
 		BC58E7D5281B9637004B0893 /* PublicNoticeView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC58E7D4281B9637004B0893 /* PublicNoticeView.xib */; };
 		BC58E7DD281B969B004B0893 /* MinePageTopView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC58E7DC281B969B004B0893 /* MinePageTopView.m */; };
@@ -1047,9 +1047,6 @@
 		2723B68A27F1685500E0B90B /* HomeNavView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeNavView.h; sourceTree = "<group>"; };
 		2723B68B27F1685500E0B90B /* HomeNavView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeNavView.m; sourceTree = "<group>"; };
 		2723B68D27F1686100E0B90B /* HomeNavView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeNavView.xib; sourceTree = "<group>"; };
-		2723B68F27F1803F00E0B90B /* HomeHeadView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeHeadView.h; sourceTree = "<group>"; };
-		2723B69027F1803F00E0B90B /* HomeHeadView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeHeadView.m; sourceTree = "<group>"; };
-		2723B69227F1806500E0B90B /* HomeHeadView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeHeadView.xib; sourceTree = "<group>"; };
 		2728086527E6BD1F00DB71EA /* FirstSettingViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirstSettingViewController.h; sourceTree = "<group>"; };
 		2728086627E6BD1F00DB71EA /* FirstSettingViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirstSettingViewController.m; sourceTree = "<group>"; };
 		2728086827E6C12000DB71EA /* FirstSettingBodyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirstSettingBodyView.h; sourceTree = "<group>"; };
@@ -2052,6 +2049,9 @@
 		BC542E4428407B3D00633781 /* UseBodyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UseBodyView.h; sourceTree = "<group>"; };
 		BC542E4528407B3D00633781 /* UseBodyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UseBodyView.m; sourceTree = "<group>"; };
 		BC542E4728407B4400633781 /* UseBodyView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UseBodyView.xib; sourceTree = "<group>"; };
+		BC5756AF28B60095002302D8 /* HomeAuthAlertView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeAuthAlertView.h; sourceTree = "<group>"; };
+		BC5756B028B60095002302D8 /* HomeAuthAlertView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeAuthAlertView.m; sourceTree = "<group>"; };
+		BC5756B228B600A3002302D8 /* HomeAuthAlertView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeAuthAlertView.xib; sourceTree = "<group>"; };
 		BC58E7D1281B9630004B0893 /* PublicNoticeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PublicNoticeView.h; sourceTree = "<group>"; };
 		BC58E7D2281B9630004B0893 /* PublicNoticeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PublicNoticeView.m; sourceTree = "<group>"; };
 		BC58E7D4281B9637004B0893 /* PublicNoticeView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PublicNoticeView.xib; sourceTree = "<group>"; };
@@ -4057,9 +4057,6 @@
 				2723B68A27F1685500E0B90B /* HomeNavView.h */,
 				2723B68B27F1685500E0B90B /* HomeNavView.m */,
 				2723B68D27F1686100E0B90B /* HomeNavView.xib */,
-				2723B68F27F1803F00E0B90B /* HomeHeadView.h */,
-				2723B69027F1803F00E0B90B /* HomeHeadView.m */,
-				2723B69227F1806500E0B90B /* HomeHeadView.xib */,
 				BC6BEAA8288E3D7300022109 /* HomeNewHeadView.h */,
 				BC6BEAA9288E3D7300022109 /* HomeNewHeadView.m */,
 				BC6BEAAB288E3D7B00022109 /* HomeNewHeadView.xib */,
@@ -4090,6 +4087,9 @@
 				BC523B01289D00C000E9D66B /* HomeHotMusicCell.h */,
 				BC523B02289D00C000E9D66B /* HomeHotMusicCell.m */,
 				BC523B03289D00C000E9D66B /* HomeHotMusicCell.xib */,
+				BC5756AF28B60095002302D8 /* HomeAuthAlertView.h */,
+				BC5756B028B60095002302D8 /* HomeAuthAlertView.m */,
+				BC5756B228B600A3002302D8 /* HomeAuthAlertView.xib */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -6871,12 +6871,12 @@
 				BCC5840928A9FA8100BAB4CF /* cloud_animation_11.png in Resources */,
 				BC02BCE528B324C9005CB483 /* LiveApplyControlView.xib in Resources */,
 				27D83F4E27F3EC2100062476 /* CreateLiveBodyView.xib in Resources */,
+				BC5756B328B600A3002302D8 /* HomeAuthAlertView.xib in Resources */,
 				BCEA75282819103B00886A86 /* UnbindBodyView.xib in Resources */,
 				BC8B6E602856ED0600866917 /* WeiboSDK.bundle in Resources */,
 				27F9030827E86CCB00C08A19 /* DeviceCheckView.xib in Resources */,
 				BC71D1FA2887FDD40010F14B /* img_14.png in Resources */,
 				BC523B1228A09F3800E9D66B /* MineHeadView.xib in Resources */,
-				2723B69327F1806500E0B90B /* HomeHeadView.xib in Resources */,
 				BC3673DC28A606A500059721 /* musicRoom_animation_0.png in Resources */,
 				275B16F127EAF9DD0081FDEF /* ChatNavView.xib in Resources */,
 				2773205327EDB75B008FAECA /* GroupNoticeCell.xib in Resources */,
@@ -7434,6 +7434,7 @@
 				BCC9F42527F69BD200647449 /* EmptyView.m in Sources */,
 				277931F127E30FC20010E277 /* NSString+CZHSizeExtension.m in Sources */,
 				27BC3B2127F2B70300D81E30 /* MusicMessageModel.m in Sources */,
+				BC5756B128B60096002302D8 /* HomeAuthAlertView.m in Sources */,
 				27A54D0427EAC891007309A3 /* TeacherInfo.m in Sources */,
 				2780C91F27E48A2100A95A4F /* VefiCodeLoginController.m in Sources */,
 				27F9CAF527EC1A16003E0FE4 /* SCIndexViewConfiguration.m in Sources */,
@@ -7992,7 +7993,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = KulexiuForTeacher/KulexiuForTeacher.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1.3.2;
+				CURRENT_PROJECT_VERSION = 1.3.4;
 				DEVELOPMENT_TEAM = B2AP53HHTU;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -8054,7 +8055,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = KulexiuForTeacher/KulexiuForTeacher.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1.3.2;
+				CURRENT_PROJECT_VERSION = 1.3.4;
 				DEVELOPMENT_TEAM = B2AP53HHTU;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (

BIN
KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate


+ 6 - 6
KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -62,8 +62,8 @@
             filePath = "KulexiuForTeacher/Module/Live/Controller/LiveRoomViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1677"
-            endingLineNumber = "1677"
+            startingLineNumber = "1669"
+            endingLineNumber = "1669"
             landmarkName = "-pauseLiveActionBack:"
             landmarkType = "7">
          </BreakpointContent>
@@ -94,10 +94,10 @@
             filePath = "KulexiuForTeacher/Module/Live/Controller/LiveRoomViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1415"
-            endingLineNumber = "1415"
-            landmarkName = "-sendMessage:displayMessage:callback:"
-            landmarkType = "7">
+            startingLineNumber = "1407"
+            endingLineNumber = "1407"
+            landmarkName = "LiveRoomViewController"
+            landmarkType = "3">
          </BreakpointContent>
       </BreakpointProxy>
    </Breakpoints>

+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_alert_logo.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_alert_logo.imageset/auth_alert_logo@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_alert_logo.imageset/auth_alert_logo@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_rate.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_rate.imageset/auth_rate@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/auth_rate.imageset/auth_rate@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/education_icon.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/education_icon.imageset/education_icon@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/education_icon.imageset/education_icon@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/mine_instrument_logo.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/mine_instrument_logo.imageset/mine_instrument_logo@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/mine_instrument_logo.imageset/mine_instrument_logo@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/music_next.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/music_next.imageset/music_next@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/music_next.imageset/music_next@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/qualification_icon.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/qualification_icon.imageset/qualification_icon@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/qualification_icon.imageset/qualification_icon@3x.png


+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Common/Base/BaseViewController.m

@@ -38,7 +38,7 @@
             UIWindow *window = [[UIApplication sharedApplication ] keyWindow];
             if (!self->t_MBProgressHUD ) {
                 self->t_MBProgressHUD = [window addHUDActivityViewToView:nil
-                                                               HintsText:nil
+                                                               HintsText:@"加载中..."
                                                                    Image:nil
                                                           hideAfterDelay:200.0f
                                                                  HaveDim:NO];

+ 2 - 2
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSBaseViewController.m

@@ -408,7 +408,7 @@
             UIWindow *window = [[UIApplication sharedApplication ] keyWindow];
             if (!self->t_MBProgressHUD ) {
                 self->t_MBProgressHUD = [window addHUDActivityViewToView:nil
-                                                               HintsText:nil
+                                                               HintsText:@"加载中..."
                                                                    Image:nil
                                                           hideAfterDelay:15.0f
                                                                  HaveDim:NO];
@@ -419,7 +419,7 @@
                 
                 [self->t_MBProgressHUD hideAnimated:YES afterDelay:0.0];
                 self->t_MBProgressHUD = [window addHUDActivityViewToView:nil
-                                                               HintsText:nil
+                                                               HintsText:@"加载中..."
                                                                    Image:nil
                                                           hideAfterDelay:15.0f
                                                                  HaveDim:NO];

+ 12 - 0
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.h

@@ -602,6 +602,16 @@ NS_ASSUME_NONNULL_BEGIN
 /// @param faliure 失败
 + (void)queryMusicShareMessageRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
+// 曲谱下架
+// /teacher-server/music/sheet/state/{id}
+
+/// 曲谱下架
+/// @param post post
+/// @param musicId 曲目id
+/// @param success 成功
+/// @param faliure 失败
++ (void)musicOffRequest:(NSString *)post musicId:(NSString *)musicId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
 #pragma mark ----- 直播房间与课程的关系表
 // /api-teacher/liveRoom/queryPageRoom
 // 查询用户关联的临时直播信息
@@ -1227,5 +1237,7 @@ NS_ASSUME_NONNULL_BEGIN
 /// @param success 成功
 /// @param faliure 失败
 + (void)queryByParamName:(NSString *)get paramName:(NSString *)paramName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
+
 @end
 NS_ASSUME_NONNULL_END

+ 14 - 0
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.m

@@ -1241,6 +1241,20 @@
     [self request:get andWithUrl:url and:nil success:success faliure:faliure];
 }
 
+// 曲谱下架
+// /api-teacher/music/sheet/state/{id}
+
+/// 曲谱下架
+/// @param post post
+/// @param musicId 曲目id
+/// @param success 成功
+/// @param faliure 失败
++ (void)musicOffRequest:(NSString *)post musicId:(NSString *)musicId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
+    [self configRequestMethodJSON];
+    NSString *url = [NSString stringWithFormat:@"%@%@/%@", hostURL, @"/api-teacher/music/sheet/state",musicId];
+    [self request:post andWithUrl:url and:nil success:success faliure:faliure];
+}
+
 #pragma mark ----- 直播房间与课程的关系表
 // /api-teacher/liveRoom/queryPageRoom
 // 查询用户关联的临时直播信息

+ 14 - 14
KulexiuForTeacher/KulexiuForTeacher/Common/Define/PrefixHeader.pch

@@ -116,23 +116,23 @@ shouldPrevent = NO; \
 
 //#ifdef DEBUG
 
-#define hostURL (@"https://dev.colexiu.com")
-#define SEALCLASSHOST (@"https://dev.colexiu.com/api-classroom")
-#define WEBHOST (@"https://dev.colexiu.com/teacher")
-#define SOCKET_URL (@"wss://dev.colexiu.com/audioAnalysis")
-#define JSPUSH_ENVIRONMENT (NO)
-#define RCIM_KEY (@"0vnjpoad0jbdz")
-#define SUBMIT_UUID (YES)
+//#define hostURL (@"https://dev.colexiu.com")
+//#define SEALCLASSHOST (@"https://dev.colexiu.com/api-classroom")
+//#define WEBHOST (@"https://dev.colexiu.com/teacher")
+//#define SOCKET_URL (@"wss://dev.colexiu.com/audioAnalysis")
+//#define JSPUSH_ENVIRONMENT (NO)
+//#define RCIM_KEY (@"0vnjpoad0jbdz")
+//#define SUBMIT_UUID (YES)
 
 //#else
 
-//#define hostURL (@"https://online.colexiu.com")
-//#define SEALCLASSHOST (@"https://online.colexiu.com/api-classroom")
-//#define WEBHOST (@"https://online.colexiu.com/teacher")
-//#define SOCKET_URL (@"wss://online.colexiu.com/audioAnalysis")
-//#define JSPUSH_ENVIRONMENT (YES)
-//#define RCIM_KEY (@"e5t4ouvpe42pa")
-//#define SUBMIT_UUID (YES)
+#define hostURL (@"https://online.colexiu.com")
+#define SEALCLASSHOST (@"https://online.colexiu.com/api-classroom")
+#define WEBHOST (@"https://online.colexiu.com/teacher")
+#define SOCKET_URL (@"wss://online.colexiu.com/audioAnalysis")
+#define JSPUSH_ENVIRONMENT (YES)
+#define RCIM_KEY (@"e5t4ouvpe42pa")
+#define SUBMIT_UUID (YES)
 
 
 //#endif

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseForLiveCell.m

@@ -42,7 +42,7 @@
     
     self.courseName.text = [NSString returnNoNullStringWithString:model.name];
     self.subjectLabel.text = [NSString returnNoNullStringWithString:model.subjectName];
-    self.descLabel.text = [NSString stringWithFormat:@"%@人已购买", model.payCount];
+    self.descLabel.text = [NSString stringWithFormat:@"%@人", model.payCount];
     if ([model.status isEqualToString:@"NOT_START"]) { // 未开始
         self.courseStatusLabel.text = @"未开始";
         self.courseStatusLabel.textColor = HexRGB(0xff802C);

+ 82 - 8
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Controller/HomeViewController.m

@@ -55,6 +55,7 @@
 #import "TYPageControl.h"
 #import "HomeBannerCell.h"
 #import "BadgeIntroduceView.h"
+#import "HomeAuthAlertView.h"
 
 #define BUTTONWIDTH (65)
 #define BUTTONHEIGHT (70)
@@ -93,6 +94,7 @@
 @property (nonatomic, strong) HomeAlbumView *albumView;
 @property (nonatomic, strong) NSMutableArray *albumArray;  // 热门专辑
 @property (nonatomic, strong) UICollectionView *albumCollectionView; // 专辑容器
+
 @property (nonatomic, assign) CGFloat albumViewHeight; // album 高度
 
 @property (nonatomic, strong) dispatch_group_t requestGroup;
@@ -105,6 +107,8 @@
 
 @property (nonatomic, strong) BadgeIntroduceView *intruduceAlert;
 
+@property (nonatomic, strong) HomeAuthAlertView *authAlertView;
+
 @end
 
 @implementation HomeViewController
@@ -658,7 +662,6 @@
     } confirm:^{
         [self openSettingView];
     }];
-    
 }
 
 - (void)openSettingView {
@@ -678,18 +681,89 @@
     if (!_headView) {
         _headView = [HomeNewHeadView shareInstance];
         MJWeakSelf;
-        [_headView authDetailAction:^(BOOL isShowDesc) {
-            if (isShowDesc) {
-                [weakSelf showDescAlert];
-            }
-            else {
-                [weakSelf toAuthDetail];
-            }
+        [_headView authDetailAction:^(HOMEHEADACTION action) {
+            [weakSelf headAction:action];
         }];
     }
     return _headView;
 }
 
+- (void)headAction:(HOMEHEADACTION)type {
+    switch (type) {
+        case HOMEHEADACTION_DESC:
+        {
+            [self showDescAlert];
+        }
+            break;
+        case HOMEHEADACTION_AUTH:
+        {
+            [self toAuthDetail];
+        }
+            break;
+        case HOMEHEADACTION_EDUCATION:
+        case HOMEHEADACTION_EDUCATIONFINISH:
+        {
+            [self showAuthEducationAlert];
+        }
+            break;
+        default:
+            break;
+    }
+}
+
+- (void)toAuthEducation {
+    KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
+    webCtrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/teacherCertUpdate"];
+    [self.navigationController pushViewController:webCtrl animated:YES];
+}
+
+- (void)showAuthEducationAlert {
+    BOOL hasDegreeAuth = self.mineInfo.degreeFlag;
+    BOOL hasTeacherAuth = self.mineInfo.teacherFlag;
+        
+    self.authAlertView = [HomeAuthAlertView shareIntance];
+    if (hasDegreeAuth) {
+        [self.authAlertView.educationImage setImage:[UIImage imageNamed:@"choose_instrument"]];
+        [self.authAlertView.educationStatus setText:@"已认证"];
+        [self.authAlertView.educationStatus setTextColor:HexRGB(0x999999)];
+    }
+    else {
+        [self.authAlertView.educationImage setImage:[UIImage imageNamed:@""]];
+        [self.authAlertView.educationStatus setText:@"未认证"];
+        [self.authAlertView.educationStatus setTextColor:HexRGB(0xff0000)];
+    }
+    
+    if (hasTeacherAuth) {
+        [self.authAlertView.qualificationImage setImage:[UIImage imageNamed:@"choose_instrument"]];
+        [self.authAlertView.qualificationStatus setText:@"已认证"];
+        [self.authAlertView.qualificationStatus setTextColor:HexRGB(0x999999)];
+    }
+    else {
+        [self.authAlertView.qualificationImage setImage:[UIImage imageNamed:@""]];
+        [self.authAlertView.qualificationStatus setText:@"未认证"];
+        [self.authAlertView.qualificationStatus setTextColor:HexRGB(0xff0000)];
+    }
+    if (hasDegreeAuth && hasTeacherAuth) {
+        self.authAlertView.isFinish = YES;
+        self.authAlertView.rate = 1.0f;
+    }
+    else {
+        self.authAlertView.isFinish = NO;
+        if (hasDegreeAuth || hasTeacherAuth) {
+            self.authAlertView.rate = 0.9f;
+        }
+        else {
+            self.authAlertView.rate = 0.8f;
+        }
+    }
+    MJWeakSelf;
+    [self.authAlertView authEducationAction:^{
+        [weakSelf toAuthEducation];
+    }];
+    [self.authAlertView showAlertView];
+    
+}
+
 - (BadgeIntroduceView *)intruduceAlert {
     if (!_intruduceAlert) {
         _intruduceAlert = [BadgeIntroduceView shareInstance];

+ 3 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MusicMessageCell.h

@@ -8,11 +8,13 @@
 #import <UIKit/UIKit.h>
 #import "MusicMessageModel.h"
 
+typedef void(^MusicOffCallback)(MusicMessageModel * _Nonnull songMessage);
+
 NS_ASSUME_NONNULL_BEGIN
 
 @interface MusicMessageCell : UITableViewCell
 
-- (void)configWithMessage:(MusicMessageModel *)songMessage;
+- (void)configWithMessage:(MusicMessageModel *)songMessage needOffButton:(BOOL)needOffButton callback:(MusicOffCallback)callback;
 
 @end
 

+ 41 - 7
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MusicMessageCell.m

@@ -13,12 +13,21 @@
 @property (weak, nonatomic) IBOutlet UILabel *songAuth;
 @property (weak, nonatomic) IBOutlet UIImageView *uploaderLogo;
 @property (weak, nonatomic) IBOutlet UILabel *uploaderName;
-@property (weak, nonatomic) IBOutlet UIImageView *typeImage;
+
 @property (weak, nonatomic) IBOutlet UIView *tagView;
 
+@property (weak, nonatomic) IBOutlet UIView *typeView;
+@property (weak, nonatomic) IBOutlet UILabel *typeLabel;
+
+@property (weak, nonatomic) IBOutlet UIButton *downButton;
+
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *downButtonWidth;
+
 @property (weak, nonatomic) IBOutlet UIImageView *musicCover;
 
+@property (nonatomic, strong) MusicMessageModel *sourceModel;
 
+@property (nonatomic, copy) MusicOffCallback callback;
 @end
 
 @implementation MusicMessageCell
@@ -29,7 +38,20 @@
     self.selectionStyle = UITableViewCellSelectionStyleNone;
 }
 
-- (void)configWithMessage:(MusicMessageModel *)songMessage {
+- (void)configWithMessage:(MusicMessageModel *)songMessage needOffButton:(BOOL)needOffButton callback:(MusicOffCallback)callback {
+    self.sourceModel = songMessage;
+    if (callback) {
+        self.callback = callback;
+    }
+    if (needOffButton) {
+        self.downButton.hidden = NO;
+        self.downButtonWidth.constant = 48.0f;
+    }
+    else {
+        self.downButton.hidden = YES;
+        self.downButtonWidth.constant = 0.0f;
+    }
+    
     self.songName.text = [NSString returnNoNullStringWithString:songMessage.musicSheetName];
     self.songAuth.text = [NSString returnNoNullStringWithString:songMessage.composer];
     NSArray *tagArray = nil;
@@ -46,23 +68,35 @@
     }
     CGFloat maxWidth = [self getTagViewMaxWidth:owner];
     [self configTagViewWithTagArray:tagArray maxWidth:maxWidth];
-    NSString *typeImgName = @"";
+    NSString *text = @"";
+    UIColor *textColor = [UIColor whiteColor];
     if ([songMessage.chargeType isEqualToString:@"VIP"]) {
-        typeImgName = @"music_vip";
+        text = @"VIP";
+        textColor = HexRGB(0xFF6C00);
     }
     else if ([songMessage.chargeType isEqualToString:@"CHARGE"]) {
-        typeImgName = @"music_order";
+        text = @"点播";
+        textColor = HexRGB(0x0086ff);
     }
     else {
-        typeImgName = @"music_free";
+        text = @"免费";
+        textColor = HexRGB(0xFF4700);
     }
-    [self.typeImage setImage:[UIImage imageNamed:typeImgName]];
+    self.typeView.layer.borderColor = textColor.CGColor;
+    self.typeLabel.text = text;
+    self.typeLabel.textColor = textColor;
     
     self.uploaderName.text = [NSString returnNoNullStringWithString:owner];
     [self.uploaderLogo sd_setImageWithURL:[NSURL URLWithString:[songMessage.addUserAvatar getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
     [self.musicCover sd_setImageWithURL:[NSURL URLWithString:[songMessage.titleImg getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:@"music_logo"]];
 }
 
+- (IBAction)downAction:(id)sender {
+    if (self.callback) {
+        self.callback(self.sourceModel);
+    }
+}
+
 - (CGFloat)getTagViewMaxWidth:(NSString *)teacherName {
     CGFloat width = [self getStringWidthInLabel:teacherName font:[UIFont systemFontOfSize:12.0f]];
     return kScreenWidth - 45  - 10 - 14 - width - 8;

+ 72 - 9
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MusicMessageCell.xib

@@ -34,7 +34,7 @@
                                 </userDefinedRuntimeAttributes>
                             </imageView>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="野蜂飞舞" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aJH-dg-RUy">
-                                <rect key="frame" x="65" y="10" width="58" height="20"/>
+                                <rect key="frame" x="65" y="10" width="57.5" height="20"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="20" id="Gve-vx-wJ3"/>
                                 </constraints>
@@ -83,33 +83,93 @@
                                     <constraint firstAttribute="height" constant="16" id="ccv-lW-bnH"/>
                                 </constraints>
                             </view>
-                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="music_free" translatesAutoresizingMaskIntoConstraints="NO" id="e2H-94-Rm6">
-                                <rect key="frame" x="280" y="19" width="55" height="22"/>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ODe-1A-3Tu">
+                                <rect key="frame" x="130.5" y="11" width="37" height="18"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="免费" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1BS-PD-N6Z">
+                                        <rect key="frame" x="7" y="1" width="22" height="14"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="14" id="4Jm-5C-kor"/>
+                                            <constraint firstAttribute="width" constant="22" id="9jS-1Q-7sk"/>
+                                        </constraints>
+                                        <fontDescription key="fontDescription" type="system" pointSize="10"/>
+                                        <color key="textColor" red="0.0" green="0.52549019607843139" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                <constraints>
+                                    <constraint firstAttribute="trailing" secondItem="1BS-PD-N6Z" secondAttribute="trailing" constant="8" id="0H3-gg-dQf"/>
+                                    <constraint firstItem="1BS-PD-N6Z" firstAttribute="top" secondItem="ODe-1A-3Tu" secondAttribute="top" constant="1" id="31C-Y1-9tx"/>
+                                    <constraint firstItem="1BS-PD-N6Z" firstAttribute="leading" secondItem="ODe-1A-3Tu" secondAttribute="leading" constant="7" id="XVn-H8-ied"/>
+                                    <constraint firstAttribute="bottom" secondItem="1BS-PD-N6Z" secondAttribute="bottom" constant="3" id="hJn-gQ-Q3Z"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                        <color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                        <real key="value" value="1"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="9"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xjJ-bd-oaS">
+                                <rect key="frame" x="271" y="19" width="48" height="22"/>
+                                <color key="backgroundColor" red="1" green="0.94509803921568625" blue="0.90588235294117647" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="22" id="OHp-oA-ADL"/>
+                                    <constraint firstAttribute="width" constant="48" id="oJd-iY-Yxf"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                                <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                <state key="normal" title="下架">
+                                    <color key="titleColor" red="1" green="0.28627450980392155" blue="0.0078431372549019607" alpha="1" colorSpace="calibratedRGB"/>
+                                </state>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="11"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                                <connections>
+                                    <action selector="downAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="Lzc-QD-eTu"/>
+                                </connections>
+                            </button>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="music_next" translatesAutoresizingMaskIntoConstraints="NO" id="aAa-9R-Y9r">
+                                <rect key="frame" x="328" y="25" width="11" height="10"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="22" id="fd4-Rv-9rc"/>
-                                    <constraint firstAttribute="width" constant="55" id="xUv-92-rqC"/>
+                                    <constraint firstAttribute="height" constant="10" id="KRc-uf-ebr"/>
+                                    <constraint firstAttribute="width" constant="11" id="hWO-pZ-Lae"/>
                                 </constraints>
                             </imageView>
                         </subviews>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
+                            <constraint firstItem="xjJ-bd-oaS" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="ODe-1A-3Tu" secondAttribute="trailing" constant="5" id="4g9-Gs-pKb"/>
                             <constraint firstItem="mK4-YX-0Pz" firstAttribute="top" secondItem="fzK-g0-niQ" secondAttribute="bottom" constant="8" id="9eW-K3-XB7"/>
                             <constraint firstItem="0lv-Ag-D4i" firstAttribute="top" secondItem="cZw-4y-TQf" secondAttribute="top" constant="10" id="CMe-WT-se6"/>
                             <constraint firstItem="aJH-dg-RUy" firstAttribute="top" secondItem="0lv-Ag-D4i" secondAttribute="top" id="DE1-7t-Vmj"/>
-                            <constraint firstItem="e2H-94-Rm6" firstAttribute="top" secondItem="cZw-4y-TQf" secondAttribute="top" constant="19" id="FZ7-Az-6kb"/>
+                            <constraint firstItem="xjJ-bd-oaS" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="h4E-WH-mm7" secondAttribute="trailing" constant="5" id="GAp-xw-Sh1"/>
+                            <constraint firstItem="ODe-1A-3Tu" firstAttribute="centerY" secondItem="aJH-dg-RUy" secondAttribute="centerY" id="Gkd-A2-N9g"/>
                             <constraint firstItem="0yz-sV-N4h" firstAttribute="centerY" secondItem="mK4-YX-0Pz" secondAttribute="centerY" id="Guq-C9-8hI"/>
+                            <constraint firstItem="aAa-9R-Y9r" firstAttribute="centerY" secondItem="xjJ-bd-oaS" secondAttribute="centerY" id="KqN-Nu-Z31"/>
+                            <constraint firstItem="aAa-9R-Y9r" firstAttribute="leading" secondItem="xjJ-bd-oaS" secondAttribute="trailing" constant="9" id="Ngf-yX-WbK"/>
                             <constraint firstItem="BlS-YZ-NoJ" firstAttribute="centerY" secondItem="0yz-sV-N4h" secondAttribute="centerY" id="TJJ-oh-KYP"/>
                             <constraint firstItem="aJH-dg-RUy" firstAttribute="leading" secondItem="0lv-Ag-D4i" secondAttribute="trailing" constant="14" id="Vyn-zH-bGO"/>
                             <constraint firstItem="0yz-sV-N4h" firstAttribute="leading" secondItem="mK4-YX-0Pz" secondAttribute="trailing" constant="7" id="YdV-iZ-O7n"/>
                             <constraint firstAttribute="trailing" secondItem="BlS-YZ-NoJ" secondAttribute="trailing" constant="10" id="dA6-iK-Qpi"/>
+                            <constraint firstAttribute="trailing" secondItem="aAa-9R-Y9r" secondAttribute="trailing" constant="8" id="epG-FV-sZP"/>
                             <constraint firstItem="mK4-YX-0Pz" firstAttribute="leading" secondItem="cZw-4y-TQf" secondAttribute="leading" constant="18" id="ffA-8Y-LSl"/>
                             <constraint firstItem="0lv-Ag-D4i" firstAttribute="leading" secondItem="cZw-4y-TQf" secondAttribute="leading" constant="11" id="gqG-Im-aPq"/>
                             <constraint firstItem="fzK-g0-niQ" firstAttribute="top" secondItem="0lv-Ag-D4i" secondAttribute="bottom" constant="10" id="ioT-0e-fEg"/>
                             <constraint firstItem="fzK-g0-niQ" firstAttribute="leading" secondItem="cZw-4y-TQf" secondAttribute="leading" constant="10" id="iqH-mh-Olx"/>
                             <constraint firstItem="h4E-WH-mm7" firstAttribute="top" secondItem="aJH-dg-RUy" secondAttribute="bottom" id="jmw-kx-7Nh"/>
-                            <constraint firstAttribute="trailing" secondItem="e2H-94-Rm6" secondAttribute="trailing" constant="12" id="oqO-GJ-RsZ"/>
+                            <constraint firstItem="ODe-1A-3Tu" firstAttribute="leading" secondItem="aJH-dg-RUy" secondAttribute="trailing" constant="8" id="nyK-o5-dFl"/>
                             <constraint firstItem="h4E-WH-mm7" firstAttribute="leading" secondItem="aJH-dg-RUy" secondAttribute="leading" id="ouB-le-mDo"/>
                             <constraint firstAttribute="trailing" secondItem="fzK-g0-niQ" secondAttribute="trailing" constant="10" id="upK-rl-hF6"/>
+                            <constraint firstItem="aAa-9R-Y9r" firstAttribute="top" secondItem="cZw-4y-TQf" secondAttribute="top" constant="25" id="xrl-1b-GEk"/>
                             <constraint firstItem="BlS-YZ-NoJ" firstAttribute="leading" secondItem="0yz-sV-N4h" secondAttribute="trailing" constant="8" id="y6d-V8-4v8"/>
                         </constraints>
                         <userDefinedRuntimeAttributes>
@@ -129,11 +189,14 @@
             <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <connections>
+                <outlet property="downButton" destination="xjJ-bd-oaS" id="K7T-6E-5xd"/>
+                <outlet property="downButtonWidth" destination="oJd-iY-Yxf" id="Bw0-Zw-fYI"/>
                 <outlet property="musicCover" destination="0lv-Ag-D4i" id="OsU-V9-RGb"/>
                 <outlet property="songAuth" destination="h4E-WH-mm7" id="fSt-PK-Mfm"/>
                 <outlet property="songName" destination="aJH-dg-RUy" id="adP-vf-1mS"/>
                 <outlet property="tagView" destination="BlS-YZ-NoJ" id="PSZ-zu-Cnn"/>
-                <outlet property="typeImage" destination="e2H-94-Rm6" id="Z8S-cM-fyJ"/>
+                <outlet property="typeLabel" destination="1BS-PD-N6Z" id="0bQ-Z6-NYL"/>
+                <outlet property="typeView" destination="ODe-1A-3Tu" id="PWH-kg-nV4"/>
                 <outlet property="uploaderLogo" destination="mK4-YX-0Pz" id="6NN-P0-dHF"/>
                 <outlet property="uploaderName" destination="0yz-sV-N4h" id="O80-Sf-Sa6"/>
             </connections>
@@ -141,8 +204,8 @@
         </tableViewCell>
     </objects>
     <resources>
-        <image name="music_free" width="55" height="22"/>
         <image name="music_logo" width="41" height="40"/>
+        <image name="music_next" width="11" height="10"/>
         <image name="user_default_avatal" width="52" height="52"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>

+ 33 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MyMusicBodyView.m

@@ -12,6 +12,7 @@
 #import "KSBaseWKWebViewController.h"
 #import "AuthDisplayView.h"
 #import "KSAccompanyWebViewController.h"
+#import "KSPublicAlertView.h"
 
 @interface MyMusicBodyView ()<UITableViewDelegate,UITableViewDataSource>
 
@@ -34,6 +35,8 @@
 
 @property (nonatomic, strong) AuthDisplayView *authView;
 
+@property (nonatomic, strong) KSPublicAlertView *alertView;
+
 @end
 
 @implementation MyMusicBodyView
@@ -231,10 +234,39 @@
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
     MusicMessageModel *model = self.dataArray[indexPath.row];
     MusicMessageCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MusicMessageCell"];
-    [cell configWithMessage:model];
+    BOOL needOffButton = self.selectIndex == 1 ? YES : NO;
+    MJWeakSelf;
+    [cell configWithMessage:model needOffButton:needOffButton callback:^(MusicMessageModel * _Nonnull songMessage) {
+        [weakSelf showAlert:songMessage];
+    }];
     return cell;
 }
 
+- (void)showAlert:(MusicMessageModel *)songMessage {
+    MJWeakSelf;
+    self.alertView = [KSPublicAlertView shareInstanceWithTitle:@"提示" descMessage:@"确认下架该曲谱吗?" leftTitle:@"取消" rightTitle:@"确定" cancelAction:^{
+        
+    } sureAction:^{
+        [weakSelf musicOffAction:songMessage];
+    }];
+}
+
+- (void)musicOffAction:(MusicMessageModel *)songMessage {
+    [KSNetworkingManager musicOffRequest:KS_POST musicId:[NSString stringWithFormat:@"%.0f",songMessage.internalBaseClassIdentifier] success:^(NSDictionary * _Nonnull dic) {
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            MJWeakSelf;
+            [self KSShowMsg:@"下架成功" promptCompletion:^{
+                [weakSelf refreshAndRequestData];
+            }];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+    } faliure:^(NSError * _Nonnull error) {
+        
+    }];
+}
+
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     if (self.selectIndex == 3 || self.selectIndex == 4) {
         MusicMessageModel *model = self.dataArray[indexPath.row];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/MyLiveCourseCell.m

@@ -45,7 +45,7 @@
     [self.courseCoverImage sd_setImageWithURL:[NSURL URLWithString:[model.backgroundPic getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:@"video_placeholder"]];
     self.courseNameLabel.text = [NSString returnNoNullStringWithString:model.courseGroupName];
     self.subjectName.text = [NSString returnNoNullStringWithString:model.subjectName];
-    self.descLabel.text = [NSString stringWithFormat:@"%.0f人已购买",model.studentCount];
+    self.descLabel.text = [NSString stringWithFormat:@"%.0f人",model.studentCount];
     self.targetId = model.imGroupId;
     // time
     NSDateFormatter *formatter = [NSObject getDateformatter];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/MyVideoCourseBodyView.m

@@ -214,7 +214,7 @@
     VideoCourseCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"VideoCourseCell" forIndexPath:indexPath];
     
     VideoCourseModel *model = [self.dataArray objectAtIndex:indexPath.row];
-    BOOL isCheck = self.selectIndex != 0;
+    BOOL isCheck = NO;
     [cell configSourceModel:model isInCheck:isCheck];
     return cell;
 }

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/NotiferMessage/Controller/NotiferMessageViewController.m

@@ -342,6 +342,7 @@
         _tableView.delegate = self;
         _tableView.dataSource = self;
         _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
+        _tableView.showsVerticalScrollIndicator = NO;
         [_tableView registerNib:[UINib nibWithNibName:@"NotiferMessageCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"NotiferMessageCell"];
         _tableView.estimatedRowHeight = 125.0f;
         _tableView.rowHeight = UITableViewAutomaticDimension;

+ 2 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/NotiferMessage/View/NotiferMessageCell.m

@@ -46,6 +46,8 @@
     NSString *messgage = [NSString returnNoNullStringWithString:self.model.content];
     NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
     [paragraphStyle setLineSpacing:4];//调整行间距
+    paragraphStyle.lineBreakMode = NSLineBreakByTruncatingTail;
+    
     NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:messgage attributes:@{NSParagraphStyleAttributeName:paragraphStyle,NSFontAttributeName:[UIFont systemFontOfSize:13.0f],NSForegroundColorAttributeName:HexRGB(0x7a7a7a)}];
     self.descMessageLabel.attributedText = attrStr;
     NSString *imgName = [self getTypeImageWithSubType:model.subType];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/NotiferMessage/View/NotiferMessageCell.xib

@@ -37,7 +37,7 @@
                         <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <nil key="highlightedColor"/>
                     </label>
-                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您好,长笛基础教学·李老师的直播课60分钟后…教学·李老师的直播课60分钟后…" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aCp-hw-uSQ">
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您好,长笛基础教学·李老师的直播课60分钟后…教学·李老师的直播课60分钟后…" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aCp-hw-uSQ">
                         <rect key="frame" x="70" y="46" width="339" height="40"/>
                         <fontDescription key="fontDescription" type="system" pointSize="14"/>
                         <color key="textColor" red="0.47843137254901957" green="0.47843137254901957" blue="0.47843137254901957" alpha="1" colorSpace="calibratedRGB"/>

+ 36 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeAuthAlertView.h

@@ -0,0 +1,36 @@
+//
+//  HomeAuthAlertView.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/8/24.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void(^AuthAlertCallback)(void);
+
+@interface HomeAuthAlertView : UIView
+
+@property (weak, nonatomic) IBOutlet UIImageView *educationImage;
+
+@property (weak, nonatomic) IBOutlet UILabel *educationStatus;
+
+@property (weak, nonatomic) IBOutlet UIImageView *qualificationImage;
+
+@property (weak, nonatomic) IBOutlet UILabel *qualificationStatus;
+
+@property (nonatomic, assign) BOOL isFinish;
+
+@property (nonatomic, assign) CGFloat rate;  // 0~1
+
++ (instancetype)shareIntance;
+
+- (void)showAlertView;
+
+- (void)authEducationAction:(AuthAlertCallback)callback;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 84 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeAuthAlertView.m

@@ -0,0 +1,84 @@
+//
+//  HomeAuthAlertView.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/8/24.
+//
+
+#import "HomeAuthAlertView.h"
+
+@interface HomeAuthAlertView ()
+
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *rateViewLeft;
+
+@property (weak, nonatomic) IBOutlet UIView *rateView;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *rateWidth;
+
+@property (nonatomic, copy) AuthAlertCallback callback;
+
+@property (weak, nonatomic) IBOutlet UIButton *authButton;
+
+@property (weak, nonatomic) IBOutlet UILabel *rateLabel;
+
+@end
+
+@implementation HomeAuthAlertView
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    self.educationImage.layer.borderWidth = 1.0f;
+    self.educationImage.layer.borderColor = THEMECOLOR.CGColor;
+    self.qualificationImage.layer.borderWidth = 1.0f;
+    self.qualificationImage.layer.borderColor = THEMECOLOR.CGColor;
+}
+
++ (instancetype)shareIntance {
+    HomeAuthAlertView *view = [[[NSBundle mainBundle] loadNibNamed:@"HomeAuthAlertView" owner:nil options:nil] firstObject];
+    view.frame = CGRectMake(0, 0, KPortraitWidth, KPortraitHeight);
+    return view;
+}
+
+- (void)showAlertView {
+    [[NSObject getKeyWindow] addSubview:self];
+}
+
+- (void)authEducationAction:(AuthAlertCallback)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
+- (IBAction)cancleAction:(id)sender {
+    [self removeFromSuperview];
+}
+
+- (IBAction)vefiAction:(id)sender {
+    if (self.callback) {
+        self.callback();
+    }
+    [self removeFromSuperview];
+}
+
+- (void)setIsFinish:(BOOL)isFinish {
+    _isFinish = isFinish;
+    NSString *desc = @"去认证";
+    if (isFinish) {
+        desc = @"我知道了";
+    }
+    [self.authButton setTitle:desc forState:UIControlStateNormal];
+}
+
+- (void)setRate:(CGFloat)rate {
+    _rate = rate;
+    self.rateWidth.constant = 227 * rate;
+    self.rateLabel.text = [NSString stringWithFormat:@"%.0f%%", rate *100];
+    self.rateViewLeft.constant = 227 * rate - 16;
+}
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 293 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeAuthAlertView.xib

@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="HomeAuthAlertView">
+            <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="S5g-6t-Fpm">
+                    <rect key="frame" x="60" y="273" width="294" height="350"/>
+                    <subviews>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="La7-v8-MBP">
+                            <rect key="frame" x="0.0" y="80" width="294" height="44"/>
+                            <subviews>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="choose_instrument" translatesAutoresizingMaskIntoConstraints="NO" id="SsM-4y-xGO">
+                                    <rect key="frame" x="56" y="14" width="16" height="16"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="16" id="5a5-E1-zQm"/>
+                                        <constraint firstAttribute="width" constant="16" id="JeH-8I-tHA"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="8"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </imageView>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="实名认证" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gAz-Wh-eiQ">
+                                    <rect key="frame" x="90" y="12" width="66" height="20"/>
+                                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                                    <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已认证" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4rx-WC-zfX">
+                                    <rect key="frame" x="204" y="14.5" width="37" height="15"/>
+                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                                    <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                            </subviews>
+                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                            <constraints>
+                                <constraint firstItem="gAz-Wh-eiQ" firstAttribute="centerY" secondItem="SsM-4y-xGO" secondAttribute="centerY" id="0bd-fb-K7d"/>
+                                <constraint firstItem="SsM-4y-xGO" firstAttribute="leading" secondItem="La7-v8-MBP" secondAttribute="leading" constant="56" id="9vl-Z3-5Go"/>
+                                <constraint firstAttribute="trailing" secondItem="4rx-WC-zfX" secondAttribute="trailing" constant="53" id="AXy-7q-Ztc"/>
+                                <constraint firstItem="gAz-Wh-eiQ" firstAttribute="leading" secondItem="SsM-4y-xGO" secondAttribute="trailing" constant="18" id="WbQ-bY-ng6"/>
+                                <constraint firstAttribute="height" constant="44" id="eLd-yf-Udz"/>
+                                <constraint firstItem="SsM-4y-xGO" firstAttribute="centerY" secondItem="La7-v8-MBP" secondAttribute="centerY" id="jWv-0F-GwO"/>
+                                <constraint firstItem="4rx-WC-zfX" firstAttribute="centerY" secondItem="La7-v8-MBP" secondAttribute="centerY" id="zwW-3S-0lA"/>
+                            </constraints>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kD1-T8-B0B">
+                            <rect key="frame" x="0.0" y="124" width="294" height="44"/>
+                            <subviews>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="choose_instrument" translatesAutoresizingMaskIntoConstraints="NO" id="4QQ-aV-7ng">
+                                    <rect key="frame" x="56" y="14" width="16" height="16"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="16" id="GWB-4S-a0R"/>
+                                        <constraint firstAttribute="height" constant="16" id="IDB-jO-Ecu"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="8"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </imageView>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学历认证" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iBq-1D-Hz5">
+                                    <rect key="frame" x="90" y="12" width="65.5" height="20"/>
+                                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                                    <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已认证" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jgC-xK-8Yj">
+                                    <rect key="frame" x="204" y="14.5" width="37" height="15"/>
+                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                                    <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                            </subviews>
+                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                            <constraints>
+                                <constraint firstAttribute="trailing" secondItem="jgC-xK-8Yj" secondAttribute="trailing" constant="53" id="KDE-xi-2OV"/>
+                                <constraint firstItem="iBq-1D-Hz5" firstAttribute="leading" secondItem="4QQ-aV-7ng" secondAttribute="trailing" constant="18" id="Tdl-lX-TXe"/>
+                                <constraint firstAttribute="height" constant="44" id="U6o-Pr-w7I"/>
+                                <constraint firstItem="4QQ-aV-7ng" firstAttribute="leading" secondItem="kD1-T8-B0B" secondAttribute="leading" constant="56" id="j7O-GO-7A9"/>
+                                <constraint firstItem="iBq-1D-Hz5" firstAttribute="centerY" secondItem="4QQ-aV-7ng" secondAttribute="centerY" id="nLt-uu-ELF"/>
+                                <constraint firstItem="4QQ-aV-7ng" firstAttribute="centerY" secondItem="kD1-T8-B0B" secondAttribute="centerY" id="vSr-CK-2OQ"/>
+                                <constraint firstItem="jgC-xK-8Yj" firstAttribute="centerY" secondItem="kD1-T8-B0B" secondAttribute="centerY" id="w9K-5Z-T3D"/>
+                            </constraints>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="REN-8t-BMt">
+                            <rect key="frame" x="0.0" y="168" width="294" height="44"/>
+                            <subviews>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="choose_instrument" translatesAutoresizingMaskIntoConstraints="NO" id="JGR-Ho-kOw">
+                                    <rect key="frame" x="56" y="14" width="16" height="16"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="16" id="8gW-ZO-PKJ"/>
+                                        <constraint firstAttribute="width" constant="16" id="xfE-pW-hJu"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="8"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </imageView>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="师资认证" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8DY-hv-jEi">
+                                    <rect key="frame" x="90" y="12" width="66" height="20"/>
+                                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                                    <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已认证" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UVp-7J-uoD">
+                                    <rect key="frame" x="204" y="14.5" width="37" height="15"/>
+                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                                    <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                            </subviews>
+                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                            <constraints>
+                                <constraint firstItem="JGR-Ho-kOw" firstAttribute="leading" secondItem="REN-8t-BMt" secondAttribute="leading" constant="56" id="6CJ-Dq-plp"/>
+                                <constraint firstItem="UVp-7J-uoD" firstAttribute="centerY" secondItem="REN-8t-BMt" secondAttribute="centerY" id="9RV-gH-Wbf"/>
+                                <constraint firstItem="8DY-hv-jEi" firstAttribute="leading" secondItem="JGR-Ho-kOw" secondAttribute="trailing" constant="18" id="9dj-6y-p1E"/>
+                                <constraint firstItem="JGR-Ho-kOw" firstAttribute="centerY" secondItem="REN-8t-BMt" secondAttribute="centerY" id="N9f-TV-KbV"/>
+                                <constraint firstItem="8DY-hv-jEi" firstAttribute="centerY" secondItem="JGR-Ho-kOw" secondAttribute="centerY" id="P9W-Gk-O0b"/>
+                                <constraint firstAttribute="height" constant="44" id="R3H-ao-dHA"/>
+                                <constraint firstAttribute="trailing" secondItem="UVp-7J-uoD" secondAttribute="trailing" constant="53" id="aaM-o4-iLp"/>
+                            </constraints>
+                        </view>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Xyd-GR-oTw">
+                            <rect key="frame" x="52" y="288" width="190" height="42"/>
+                            <color key="backgroundColor" red="0.1764705882352941" green="0.7803921568627451" blue="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="42" id="q9S-bg-E4E"/>
+                                <constraint firstAttribute="width" constant="190" id="zGQ-H1-56r"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="去认证"/>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="21"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="vefiAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="bzD-EJ-G4s"/>
+                            </connections>
+                        </button>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="i3I-fN-Axx">
+                            <rect key="frame" x="33.5" y="254" width="227" height="8"/>
+                            <subviews>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="C02-X2-ZX7">
+                                    <rect key="frame" x="0.0" y="0.0" width="100" height="8"/>
+                                    <color key="backgroundColor" red="0.28235294117647058" green="0.46666666666666667" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="100" id="C31-hX-Tam"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="4"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
+                            </subviews>
+                            <color key="backgroundColor" red="0.93333333333333335" green="0.93333333333333335" blue="0.93333333333333335" alpha="1" colorSpace="calibratedRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="8" id="04W-cq-x6A"/>
+                                <constraint firstAttribute="width" constant="227" id="EIj-Li-jBc"/>
+                                <constraint firstItem="C02-X2-ZX7" firstAttribute="leading" secondItem="i3I-fN-Axx" secondAttribute="leading" id="ULm-BX-zQr"/>
+                                <constraint firstItem="C02-X2-ZX7" firstAttribute="top" secondItem="i3I-fN-Axx" secondAttribute="top" id="UOf-7n-GlV"/>
+                                <constraint firstAttribute="bottom" secondItem="C02-X2-ZX7" secondAttribute="bottom" id="uJR-6B-aMs"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="4"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gvU-az-FiU">
+                            <rect key="frame" x="33.5" y="235" width="32" height="19"/>
+                            <subviews>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="auth_rate" translatesAutoresizingMaskIntoConstraints="NO" id="Ua3-6i-gl1">
+                                    <rect key="frame" x="0.0" y="0.0" width="32" height="19"/>
+                                </imageView>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="100%" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="idW-0Z-PD3">
+                                    <rect key="frame" x="0.0" y="2" width="32" height="12"/>
+                                    <fontDescription key="fontDescription" type="system" pointSize="10"/>
+                                    <color key="textColor" red="0.14117647058823529" green="0.33333333333333331" blue="0.88627450980392153" alpha="1" colorSpace="calibratedRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                            </subviews>
+                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                            <constraints>
+                                <constraint firstAttribute="trailing" secondItem="idW-0Z-PD3" secondAttribute="trailing" id="9m2-A4-eKH"/>
+                                <constraint firstItem="idW-0Z-PD3" firstAttribute="top" secondItem="gvU-az-FiU" secondAttribute="top" constant="2" id="Ajr-O2-h2w"/>
+                                <constraint firstItem="Ua3-6i-gl1" firstAttribute="leading" secondItem="gvU-az-FiU" secondAttribute="leading" id="Lc5-Zl-FfF"/>
+                                <constraint firstAttribute="bottom" secondItem="Ua3-6i-gl1" secondAttribute="bottom" id="QHy-gZ-MXd"/>
+                                <constraint firstItem="idW-0Z-PD3" firstAttribute="leading" secondItem="gvU-az-FiU" secondAttribute="leading" id="Rhn-i3-o4z"/>
+                                <constraint firstAttribute="bottom" secondItem="Ua3-6i-gl1" secondAttribute="bottom" id="XoF-bW-wcC"/>
+                                <constraint firstItem="Ua3-6i-gl1" firstAttribute="top" secondItem="gvU-az-FiU" secondAttribute="top" id="gAL-b7-Sey"/>
+                                <constraint firstAttribute="trailing" secondItem="Ua3-6i-gl1" secondAttribute="trailing" id="gdQ-B8-T4j"/>
+                            </constraints>
+                        </view>
+                    </subviews>
+                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                    <constraints>
+                        <constraint firstItem="i3I-fN-Axx" firstAttribute="centerX" secondItem="S5g-6t-Fpm" secondAttribute="centerX" id="1ew-RZ-YHW"/>
+                        <constraint firstItem="La7-v8-MBP" firstAttribute="leading" secondItem="S5g-6t-Fpm" secondAttribute="leading" id="84Q-3v-m7q"/>
+                        <constraint firstItem="i3I-fN-Axx" firstAttribute="top" secondItem="gvU-az-FiU" secondAttribute="bottom" id="N2Y-ev-kIu"/>
+                        <constraint firstItem="REN-8t-BMt" firstAttribute="leading" secondItem="S5g-6t-Fpm" secondAttribute="leading" id="Ota-Cj-XuH"/>
+                        <constraint firstItem="La7-v8-MBP" firstAttribute="top" secondItem="S5g-6t-Fpm" secondAttribute="top" constant="80" id="UgM-GX-Ldy"/>
+                        <constraint firstAttribute="trailing" secondItem="La7-v8-MBP" secondAttribute="trailing" id="Z0T-mQ-drz"/>
+                        <constraint firstAttribute="trailing" secondItem="kD1-T8-B0B" secondAttribute="trailing" id="bEk-26-f65"/>
+                        <constraint firstItem="Xyd-GR-oTw" firstAttribute="centerX" secondItem="S5g-6t-Fpm" secondAttribute="centerX" id="dNy-wx-7EE"/>
+                        <constraint firstItem="gvU-az-FiU" firstAttribute="leading" secondItem="i3I-fN-Axx" secondAttribute="leading" id="dsa-sI-7WS"/>
+                        <constraint firstItem="REN-8t-BMt" firstAttribute="top" secondItem="kD1-T8-B0B" secondAttribute="bottom" id="eJW-gN-2UD"/>
+                        <constraint firstItem="kD1-T8-B0B" firstAttribute="top" secondItem="La7-v8-MBP" secondAttribute="bottom" id="i9z-vc-LDm"/>
+                        <constraint firstAttribute="height" constant="350" id="l19-oa-Fut"/>
+                        <constraint firstItem="kD1-T8-B0B" firstAttribute="leading" secondItem="S5g-6t-Fpm" secondAttribute="leading" id="o17-5X-CBG"/>
+                        <constraint firstAttribute="trailing" secondItem="REN-8t-BMt" secondAttribute="trailing" id="o9X-fN-ubc"/>
+                        <constraint firstAttribute="bottom" secondItem="Xyd-GR-oTw" secondAttribute="bottom" constant="20" id="vcP-qB-0ZZ"/>
+                        <constraint firstAttribute="width" constant="294" id="wSl-Jq-j9c"/>
+                        <constraint firstItem="Xyd-GR-oTw" firstAttribute="top" secondItem="i3I-fN-Axx" secondAttribute="bottom" constant="26" id="zSi-IN-Van"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="10"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </view>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Wqg-tg-4wC">
+                    <rect key="frame" x="185" y="638" width="44" height="44"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="44" id="ge1-kR-Trv"/>
+                        <constraint firstAttribute="width" constant="44" id="ycy-HO-Vel"/>
+                    </constraints>
+                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                    <state key="normal" image="cancleButton"/>
+                    <connections>
+                        <action selector="cancleAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="jfi-67-TLZ"/>
+                    </connections>
+                </button>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="auth_alert_logo" translatesAutoresizingMaskIntoConstraints="NO" id="Ihv-84-Ke0">
+                    <rect key="frame" x="60" y="248" width="294" height="82"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="82" id="clg-Qw-fuA"/>
+                        <constraint firstAttribute="width" constant="294" id="iUm-tS-fJw"/>
+                    </constraints>
+                </imageView>
+            </subviews>
+            <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="sRGB"/>
+            <constraints>
+                <constraint firstItem="S5g-6t-Fpm" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="3Kj-18-YlH"/>
+                <constraint firstItem="Wqg-tg-4wC" firstAttribute="top" secondItem="S5g-6t-Fpm" secondAttribute="bottom" constant="15" id="EV9-gT-DdJ"/>
+                <constraint firstItem="Wqg-tg-4wC" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="VSr-ti-yKB"/>
+                <constraint firstItem="Ihv-84-Ke0" firstAttribute="top" secondItem="S5g-6t-Fpm" secondAttribute="top" constant="-25" id="ceb-GX-3b6"/>
+                <constraint firstItem="Ihv-84-Ke0" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="sOS-hH-Q7g"/>
+                <constraint firstItem="S5g-6t-Fpm" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="ym1-Bg-bc1"/>
+            </constraints>
+            <nil key="simulatedTopBarMetrics"/>
+            <nil key="simulatedBottomBarMetrics"/>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <connections>
+                <outlet property="authButton" destination="Xyd-GR-oTw" id="3L6-Kv-FzU"/>
+                <outlet property="educationImage" destination="4QQ-aV-7ng" id="Vv5-Qw-fHT"/>
+                <outlet property="educationStatus" destination="jgC-xK-8Yj" id="o7j-hI-y4s"/>
+                <outlet property="qualificationImage" destination="JGR-Ho-kOw" id="T5D-pH-A05"/>
+                <outlet property="qualificationStatus" destination="UVp-7J-uoD" id="P7A-JW-dgu"/>
+                <outlet property="rateLabel" destination="idW-0Z-PD3" id="Eh7-hS-iZM"/>
+                <outlet property="rateView" destination="C02-X2-ZX7" id="WvE-HS-8Lx"/>
+                <outlet property="rateViewLeft" destination="dsa-sI-7WS" id="ZEm-R8-YP7"/>
+                <outlet property="rateWidth" destination="C31-hX-Tam" id="Ovw-Ut-vAl"/>
+            </connections>
+            <point key="canvasLocation" x="131.8840579710145" y="78.348214285714278"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="auth_alert_logo" width="294" height="82"/>
+        <image name="auth_rate" width="32" height="19"/>
+        <image name="cancleButton" width="25" height="25"/>
+        <image name="choose_instrument" width="22" height="22"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 0 - 33
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHeadView.h

@@ -1,33 +0,0 @@
-//
-//  HomeHeadView.h
-//  KulexiuForTeacher
-//
-//  Created by Kyle on 2022/3/28.
-//
-
-#import <UIKit/UIKit.h>
-#import "TeacherInfo.h"
-
-typedef NS_ENUM(NSInteger, HOMEHEADACTION) {
-    HOMEHEADACTION_USERCENTER,  // 用户设置
-    HOMEHEADACTION_AUTH,        // 认证
-};
-
-typedef void(^HomeHeadCallback)(HOMEHEADACTION action);
-NS_ASSUME_NONNULL_BEGIN
-
-@interface HomeHeadView : UIView
-
-@property (nonatomic, assign) BOOL isShowTips;
-
-+ (instancetype)shareInstance;
-
-- (void)configMessage:(TeacherInfo *)infoMessage;
-
-- (void)operationCallback:(HomeHeadCallback)callback;
-
-- (CGFloat)getViewHeight;
-
-@end
-
-NS_ASSUME_NONNULL_END

+ 0 - 163
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHeadView.m

@@ -1,163 +0,0 @@
-//
-//  HomeHeadView.m
-//  KulexiuForTeacher
-//
-//  Created by Kyle on 2022/3/28.
-//
-
-#import "HomeHeadView.h"
-#import "KSStarView.h"
-#import "UserInfoManager.h"
-
-@interface HomeHeadView ()
-
-@property (weak, nonatomic) IBOutlet UIView *authView;
-
-@property (weak, nonatomic) IBOutlet UIView *descView;
-
-@property (weak, nonatomic) IBOutlet UIView *starbgView;
-@property (weak, nonatomic) IBOutlet KSStarView *starView;
-
-@property (weak, nonatomic) IBOutlet UILabel *fansCount;
-@property (weak, nonatomic) IBOutlet UILabel *finishCourse;
-@property (weak, nonatomic) IBOutlet UILabel *unfinishCourse;
-@property (weak, nonatomic) IBOutlet UIImageView *userAvatal;
-@property (weak, nonatomic) IBOutlet UILabel *userName;
-
-@property (weak, nonatomic) IBOutlet UIView *emptyView;
-
-@property (nonatomic, copy) HomeHeadCallback callback;
-
-@property (nonatomic, assign) BOOL hasAuthTeacher;
-
-@property (nonatomic, assign) BOOL hasAuthMusic;
-
-@property (weak, nonatomic) IBOutlet UIImageView *viperImage;
-@property (weak, nonatomic) IBOutlet UIImageView *styleImage;
-@property (weak, nonatomic) IBOutlet UIImageView *videoImage;
-@property (weak, nonatomic) IBOutlet UIImageView *liveImage;
-@property (weak, nonatomic) IBOutlet UIImageView *musicImage;
-
-@property (weak, nonatomic) IBOutlet UIImageView *authImage;
-@property (weak, nonatomic) IBOutlet NSLayoutConstraint *authViewWidth;
-
-@end
-
-@implementation HomeHeadView
-
-+ (instancetype)shareInstance {
-    HomeHeadView *view = [[[NSBundle mainBundle] loadNibNamed:@"HomeHeadView" owner:nil options:nil] firstObject];
-    return view;
-}
-
-- (void)configMessage:(TeacherInfo *)infoMessage {
-    self.starView.allowMark = NO;
-    if ([infoMessage.entryStatus isEqualToString:@"PASS"]) { // 审核通过
-        self.hasAuthTeacher = YES;
-        self.authView.hidden = YES;
-        self.descView.hidden = NO;
-        [self displayCount:infoMessage.fansNum inView:self.fansCount];
-        [self displayCount:infoMessage.expTime inView:self.finishCourse];
-        [self displayCount:infoMessage.unExpTime inView:self.unfinishCourse];
-    }
-    else {
-        self.hasAuthTeacher = NO;
-        self.authView.hidden = NO;
-        self.descView.hidden = YES;
-        if ([infoMessage.entryStatus isEqualToString:@"DOING"]) {
-            [self.authImage setImage:[UIImage imageNamed:@"status_authing"]];
-            self.authViewWidth.constant = 128;
-        }
-        else {
-            [self.authImage setImage:[UIImage imageNamed:@"status_unAuth"]];
-            self.authViewWidth.constant = 116;
-        }
-    }
-    if (infoMessage.starGrade > 0) {
-        self.starbgView.hidden = NO;
-        self.starView.rate = infoMessage.starGrade / 5.0f;
-        self.emptyView.hidden = YES;
-    }
-    else {
-        self.starbgView.hidden = YES;
-        self.emptyView.hidden = NO;
-    }
-    
-    NSArray *tagArray = [infoMessage.tag componentsSeparatedByString:@","];
-    NSString *viperImage = infoMessage.isVip ? @"mine_vip" : @"mine_nomal";
-    [self.viperImage setImage:[UIImage imageNamed:viperImage]];
-    [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_nomal"]];
-    [self.videoImage setImage:[UIImage imageNamed:@"mineVideo_nomal"]];
-    [self.liveImage setImage:[UIImage imageNamed:@"mineLive_nomal"]];
-    [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_nomal"]];
-
-    for (NSString *tagString in tagArray) {
-        if ([tagString isEqualToString:@"STYLE"]) {
-            [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_active"]];
-        }
-        else if ([tagString isEqualToString:@"VIDEO"]) {
-            [self.videoImage setImage:[UIImage imageNamed:@"mineVideo_active"]];
-        }
-        else if ([tagString isEqualToString:@"LIVE"]) {
-            [self.liveImage setImage:[UIImage imageNamed:@"mineLive_active"]];
-        }
-        else if ([tagString isEqualToString:@"MUSIC"]) {
-            [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_active"]];
-        }
-    }
-    
-    if (![NSString isEmptyString:infoMessage.heardUrl]) {
-        [self.userAvatal sd_setImageWithURL:[NSURL URLWithString:[infoMessage.heardUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
-    }
-    else {
-        [self.userAvatal setImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
-    }
-    if ([NSString isEmptyString:infoMessage.username]) {
-        self.userName.text = [NSString stringWithFormat:@"游客%@",infoMessage.userId];
-    }
-    else {
-        self.userName.text = [NSString returnNoNullStringWithString:infoMessage.username];
-    }
-}
-
-
-- (void)displayCount:(NSInteger)count inView:(UILabel *)descLabel {
-    if (count > 10000) {
-        double descNum = count / 10000.0;
-        descLabel.text = [NSString stringWithFormat:@"%.2f万",descNum];
-    }
-    else {
-        descLabel.text = [NSString stringWithFormat:@"%ld",count];
-    }
-}
-
-- (void)operationCallback:(HomeHeadCallback)callback {
-    if (callback) {
-        self.callback = callback;
-    }
-}
-
-- (CGFloat)getViewHeight {
-    return 135;
-}
-
-- (IBAction)authDetail:(id)sender {
-    if (self.callback) {
-        self.callback(HOMEHEADACTION_AUTH);
-    }
-}
-- (IBAction)userCenter:(id)sender {
-    if (self.callback) {
-        self.callback(HOMEHEADACTION_USERCENTER);
-    }
-}
-
-/*
-// Only override drawRect: if you perform custom drawing.
-// An empty implementation adversely affects performance during animation.
-- (void)drawRect:(CGRect)rect {
-    // Drawing code
-}
-*/
-
-@end

+ 0 - 337
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHeadView.xib

@@ -1,337 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
-    <device id="retina6_1" orientation="portrait" appearance="light"/>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="HomeHeadView">
-            <rect key="frame" x="0.0" y="0.0" width="414" height="130"/>
-            <autoresizingMask key="autoresizingMask"/>
-            <subviews>
-                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_default_avatal" translatesAutoresizingMaskIntoConstraints="NO" id="Vp5-5Y-h2u">
-                    <rect key="frame" x="14" y="0.0" width="46" height="46"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="46" id="FJu-vr-s7W"/>
-                        <constraint firstAttribute="width" constant="46" id="XJ8-G5-ru8"/>
-                    </constraints>
-                    <userDefinedRuntimeAttributes>
-                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
-                            <real key="value" value="23"/>
-                        </userDefinedRuntimeAttribute>
-                    </userDefinedRuntimeAttributes>
-                </imageView>
-                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Bxq-wl-TlW">
-                    <rect key="frame" x="70" y="28.5" width="90" height="19"/>
-                    <subviews>
-                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lpX-9C-A9n" customClass="KSStarView">
-                            <rect key="frame" x="0.0" y="0.0" width="90" height="19"/>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                        </view>
-                    </subviews>
-                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="19" id="2RK-XN-MxS"/>
-                        <constraint firstAttribute="trailing" secondItem="lpX-9C-A9n" secondAttribute="trailing" id="YAe-sq-IgP"/>
-                        <constraint firstAttribute="width" constant="90" id="aao-BI-isb"/>
-                        <constraint firstAttribute="bottom" secondItem="lpX-9C-A9n" secondAttribute="bottom" id="czJ-NE-CV5"/>
-                        <constraint firstItem="lpX-9C-A9n" firstAttribute="top" secondItem="Bxq-wl-TlW" secondAttribute="top" id="ig9-3C-h5b"/>
-                        <constraint firstItem="lpX-9C-A9n" firstAttribute="leading" secondItem="Bxq-wl-TlW" secondAttribute="leading" id="jyz-0E-ZrB"/>
-                    </constraints>
-                </view>
-                <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X9B-Hy-SDf">
-                    <rect key="frame" x="70" y="28.5" width="90" height="19"/>
-                    <subviews>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无评分" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kyY-aS-bXe">
-                            <rect key="frame" x="0.0" y="0.0" width="90" height="19"/>
-                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                            <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
-                            <nil key="highlightedColor"/>
-                        </label>
-                    </subviews>
-                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    <constraints>
-                        <constraint firstItem="kyY-aS-bXe" firstAttribute="top" secondItem="X9B-Hy-SDf" secondAttribute="top" id="CQQ-uk-zfM"/>
-                        <constraint firstAttribute="trailing" secondItem="kyY-aS-bXe" secondAttribute="trailing" id="Lm1-7m-1Am"/>
-                        <constraint firstAttribute="bottom" secondItem="kyY-aS-bXe" secondAttribute="bottom" id="ViG-dw-fd3"/>
-                        <constraint firstItem="kyY-aS-bXe" firstAttribute="leading" secondItem="X9B-Hy-SDf" secondAttribute="leading" id="eFd-ru-CmO"/>
-                    </constraints>
-                </view>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="游客" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xs8-aA-tdP">
-                    <rect key="frame" x="70" y="2" width="37" height="21.5"/>
-                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
-                    <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QKO-WL-PjF">
-                    <rect key="frame" x="0.0" y="50" width="207" height="80"/>
-                    <subviews>
-                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ovR-cP-u0n">
-                            <rect key="frame" x="0.0" y="0.0" width="69" height="80"/>
-                            <subviews>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="粉丝" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rOX-WB-BvE">
-                                    <rect key="frame" x="0.0" y="12" width="69" height="28"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="28" id="HKd-a8-4nF"/>
-                                    </constraints>
-                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                                    <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="123" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xs4-YK-GXn">
-                                    <rect key="frame" x="0.0" y="40" width="69" height="20.5"/>
-                                    <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>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="rOX-WB-BvE" firstAttribute="centerX" secondItem="ovR-cP-u0n" secondAttribute="centerX" id="0AI-sd-cgp"/>
-                                <constraint firstAttribute="trailing" secondItem="Xs4-YK-GXn" secondAttribute="trailing" id="8cW-IN-itJ"/>
-                                <constraint firstAttribute="trailing" secondItem="rOX-WB-BvE" secondAttribute="trailing" id="Tal-p7-5j9"/>
-                                <constraint firstItem="Xs4-YK-GXn" firstAttribute="top" secondItem="rOX-WB-BvE" secondAttribute="bottom" id="Tge-Zl-ArX"/>
-                                <constraint firstItem="Xs4-YK-GXn" firstAttribute="leading" secondItem="ovR-cP-u0n" secondAttribute="leading" id="bQV-U5-ZOa"/>
-                                <constraint firstItem="rOX-WB-BvE" firstAttribute="bottom" secondItem="ovR-cP-u0n" secondAttribute="centerY" id="eTa-vP-iu7"/>
-                                <constraint firstItem="rOX-WB-BvE" firstAttribute="leading" secondItem="ovR-cP-u0n" secondAttribute="leading" id="sMV-eQ-bpr"/>
-                            </constraints>
-                        </view>
-                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eoj-HT-XtK">
-                            <rect key="frame" x="69" y="0.0" width="69" height="80"/>
-                            <subviews>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已上课时" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="U08-zv-7eJ">
-                                    <rect key="frame" x="0.0" y="12" width="69" height="28"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="28" id="K6G-z2-Whc"/>
-                                    </constraints>
-                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                                    <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="12" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1Vc-45-NJH">
-                                    <rect key="frame" x="0.0" y="40" width="69" height="20.5"/>
-                                    <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>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="1Vc-45-NJH" firstAttribute="leading" secondItem="eoj-HT-XtK" secondAttribute="leading" id="67N-Fm-cuo"/>
-                                <constraint firstAttribute="trailing" secondItem="1Vc-45-NJH" secondAttribute="trailing" id="BtR-ww-YRR"/>
-                                <constraint firstItem="U08-zv-7eJ" firstAttribute="bottom" secondItem="eoj-HT-XtK" secondAttribute="centerY" id="UHP-ml-2tZ"/>
-                                <constraint firstItem="1Vc-45-NJH" firstAttribute="top" secondItem="U08-zv-7eJ" secondAttribute="bottom" id="Y18-xk-mdp"/>
-                                <constraint firstItem="U08-zv-7eJ" firstAttribute="leading" secondItem="eoj-HT-XtK" secondAttribute="leading" id="ejM-lO-WVu"/>
-                                <constraint firstAttribute="trailing" secondItem="U08-zv-7eJ" secondAttribute="trailing" id="oNV-Nz-W8w"/>
-                            </constraints>
-                        </view>
-                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fzh-h1-jFq">
-                            <rect key="frame" x="138" y="0.0" width="69" height="80"/>
-                            <subviews>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未上课时" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Qz2-GG-Xcr">
-                                    <rect key="frame" x="0.0" y="12" width="69" height="28"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="28" id="s0f-5N-b4q"/>
-                                    </constraints>
-                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                                    <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="34" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uKK-Rv-ltl">
-                                    <rect key="frame" x="0.0" y="40" width="69" height="20.5"/>
-                                    <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>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="Qz2-GG-Xcr" firstAttribute="bottom" secondItem="fzh-h1-jFq" secondAttribute="centerY" id="HUO-vm-t2X"/>
-                                <constraint firstItem="uKK-Rv-ltl" firstAttribute="top" secondItem="Qz2-GG-Xcr" secondAttribute="bottom" id="aIL-a5-5n4"/>
-                                <constraint firstAttribute="trailing" secondItem="uKK-Rv-ltl" secondAttribute="trailing" id="bPy-eu-RmX"/>
-                                <constraint firstItem="uKK-Rv-ltl" firstAttribute="leading" secondItem="fzh-h1-jFq" secondAttribute="leading" id="dmw-9o-bG9"/>
-                                <constraint firstItem="Qz2-GG-Xcr" firstAttribute="leading" secondItem="fzh-h1-jFq" secondAttribute="leading" id="inx-PD-Dmq"/>
-                                <constraint firstAttribute="trailing" secondItem="Qz2-GG-Xcr" secondAttribute="trailing" id="iuB-cs-3rn"/>
-                            </constraints>
-                        </view>
-                    </subviews>
-                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="80" id="0mw-cc-90x"/>
-                        <constraint firstItem="eoj-HT-XtK" firstAttribute="leading" secondItem="ovR-cP-u0n" secondAttribute="trailing" id="1ir-Kk-6lW"/>
-                        <constraint firstAttribute="bottom" secondItem="eoj-HT-XtK" secondAttribute="bottom" id="Bxy-3D-5ma"/>
-                        <constraint firstItem="ovR-cP-u0n" firstAttribute="leading" secondItem="QKO-WL-PjF" secondAttribute="leading" id="CM3-BW-c9z"/>
-                        <constraint firstAttribute="bottom" secondItem="ovR-cP-u0n" secondAttribute="bottom" id="EUq-Zh-TwY"/>
-                        <constraint firstAttribute="trailing" secondItem="fzh-h1-jFq" secondAttribute="trailing" id="GGo-ZR-vUT"/>
-                        <constraint firstItem="ovR-cP-u0n" firstAttribute="top" secondItem="QKO-WL-PjF" secondAttribute="top" id="Ugx-4z-YxU"/>
-                        <constraint firstItem="fzh-h1-jFq" firstAttribute="top" secondItem="QKO-WL-PjF" secondAttribute="top" id="VJT-l1-ytM"/>
-                        <constraint firstAttribute="bottom" secondItem="fzh-h1-jFq" secondAttribute="bottom" id="Z16-c3-MOh"/>
-                        <constraint firstItem="eoj-HT-XtK" firstAttribute="width" secondItem="ovR-cP-u0n" secondAttribute="width" id="isV-WA-EIA"/>
-                        <constraint firstItem="fzh-h1-jFq" firstAttribute="width" secondItem="ovR-cP-u0n" secondAttribute="width" id="med-CP-Ta6"/>
-                        <constraint firstItem="eoj-HT-XtK" firstAttribute="top" secondItem="QKO-WL-PjF" secondAttribute="top" id="nu6-hQ-wBg"/>
-                        <constraint firstItem="fzh-h1-jFq" firstAttribute="leading" secondItem="eoj-HT-XtK" secondAttribute="trailing" id="w0m-Ir-jPw"/>
-                    </constraints>
-                </view>
-                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ixV-E1-X1x">
-                    <rect key="frame" x="0.0" y="50" width="207" height="80"/>
-                    <subviews>
-                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5Yr-A2-BRU">
-                            <rect key="frame" x="22" y="10" width="116" height="36"/>
-                            <subviews>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="status_unAuth" translatesAutoresizingMaskIntoConstraints="NO" id="0rl-00-MDQ">
-                                    <rect key="frame" x="0.0" y="0.0" width="116" height="36"/>
-                                </imageView>
-                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="139-Q3-P80">
-                                    <rect key="frame" x="0.0" y="0.0" width="116" height="36"/>
-                                    <gestureRecognizers/>
-                                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
-                                    <connections>
-                                        <action selector="authDetail:" destination="iN0-l3-epB" eventType="touchUpInside" id="VII-fT-wqp"/>
-                                    </connections>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="trailing" secondItem="0rl-00-MDQ" secondAttribute="trailing" id="4tM-td-Wtn"/>
-                                <constraint firstItem="0rl-00-MDQ" firstAttribute="leading" secondItem="5Yr-A2-BRU" secondAttribute="leading" id="C2W-0N-evn"/>
-                                <constraint firstItem="139-Q3-P80" firstAttribute="leading" secondItem="5Yr-A2-BRU" secondAttribute="leading" id="GKs-ur-ec6"/>
-                                <constraint firstItem="0rl-00-MDQ" firstAttribute="top" secondItem="5Yr-A2-BRU" secondAttribute="top" id="Hwa-Gg-zKd"/>
-                                <constraint firstItem="139-Q3-P80" firstAttribute="top" secondItem="5Yr-A2-BRU" secondAttribute="top" id="M4V-aU-TJp"/>
-                                <constraint firstAttribute="bottom" secondItem="0rl-00-MDQ" secondAttribute="bottom" id="Nd6-gq-Myo"/>
-                                <constraint firstAttribute="bottom" secondItem="139-Q3-P80" secondAttribute="bottom" id="VU4-MM-WE3"/>
-                                <constraint firstAttribute="trailing" secondItem="139-Q3-P80" secondAttribute="trailing" id="ZGb-ha-QVS"/>
-                                <constraint firstAttribute="height" constant="36" id="dfT-5r-6qB"/>
-                                <constraint firstAttribute="width" constant="116" id="uz1-fW-faD"/>
-                            </constraints>
-                        </view>
-                    </subviews>
-                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    <constraints>
-                        <constraint firstItem="5Yr-A2-BRU" firstAttribute="top" secondItem="ixV-E1-X1x" secondAttribute="top" constant="10" id="VtQ-4p-G34"/>
-                        <constraint firstItem="5Yr-A2-BRU" firstAttribute="leading" secondItem="ixV-E1-X1x" secondAttribute="leading" constant="22" id="oT0-DM-lrV"/>
-                    </constraints>
-                </view>
-                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6p5-cJ-ewl">
-                    <rect key="frame" x="14" y="0.0" width="46" height="46"/>
-                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
-                    <connections>
-                        <action selector="userCenter:" destination="iN0-l3-epB" eventType="touchUpInside" id="2AR-n9-ABc"/>
-                    </connections>
-                </button>
-                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cUe-bz-fnj">
-                    <rect key="frame" x="113" y="1" width="118" height="24"/>
-                    <subviews>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mine_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="0Xo-pg-STA">
-                            <rect key="frame" x="0.0" y="4.5" width="34" height="15"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="15" id="IFa-Xa-9xc"/>
-                                <constraint firstAttribute="width" constant="34" id="pS5-d7-HGs"/>
-                            </constraints>
-                        </imageView>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineStyle_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="5j7-Yg-UN7">
-                            <rect key="frame" x="38" y="4" width="16" height="16"/>
-                        </imageView>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineVideo_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="tLe-yi-47U">
-                            <rect key="frame" x="58" y="4" width="16" height="16"/>
-                        </imageView>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineLive_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="oX1-hp-Dyb">
-                            <rect key="frame" x="78" y="4" width="16" height="16"/>
-                        </imageView>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineMusic_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="ezs-lZ-Xnl">
-                            <rect key="frame" x="98" y="4" width="16" height="16"/>
-                        </imageView>
-                    </subviews>
-                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    <constraints>
-                        <constraint firstItem="ezs-lZ-Xnl" firstAttribute="leading" secondItem="oX1-hp-Dyb" secondAttribute="trailing" constant="4" id="1nd-EQ-xMD"/>
-                        <constraint firstAttribute="width" constant="118" id="DhE-CO-7is"/>
-                        <constraint firstItem="tLe-yi-47U" firstAttribute="centerY" secondItem="0Xo-pg-STA" secondAttribute="centerY" id="Faa-xP-lA8"/>
-                        <constraint firstItem="oX1-hp-Dyb" firstAttribute="leading" secondItem="tLe-yi-47U" secondAttribute="trailing" constant="4" id="KQD-8u-KrQ"/>
-                        <constraint firstItem="ezs-lZ-Xnl" firstAttribute="centerY" secondItem="0Xo-pg-STA" secondAttribute="centerY" id="LrG-Yr-kEC"/>
-                        <constraint firstItem="5j7-Yg-UN7" firstAttribute="centerY" secondItem="0Xo-pg-STA" secondAttribute="centerY" id="NB0-SX-zC4"/>
-                        <constraint firstItem="tLe-yi-47U" firstAttribute="leading" secondItem="5j7-Yg-UN7" secondAttribute="trailing" constant="4" id="ORk-rg-5lf"/>
-                        <constraint firstItem="0Xo-pg-STA" firstAttribute="leading" secondItem="cUe-bz-fnj" secondAttribute="leading" id="YU5-SY-ZGW"/>
-                        <constraint firstItem="5j7-Yg-UN7" firstAttribute="leading" secondItem="0Xo-pg-STA" secondAttribute="trailing" constant="4" id="cRy-jf-t4h"/>
-                        <constraint firstAttribute="trailing" secondItem="ezs-lZ-Xnl" secondAttribute="trailing" constant="4" id="jZo-ST-fJY"/>
-                        <constraint firstItem="oX1-hp-Dyb" firstAttribute="centerY" secondItem="0Xo-pg-STA" secondAttribute="centerY" id="o5I-2K-73a"/>
-                        <constraint firstItem="0Xo-pg-STA" firstAttribute="centerY" secondItem="cUe-bz-fnj" secondAttribute="centerY" id="rvE-tJ-fqV"/>
-                        <constraint firstAttribute="height" constant="24" id="zOJ-Bx-EzM"/>
-                    </constraints>
-                </view>
-                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_ikon" translatesAutoresizingMaskIntoConstraints="NO" id="Keh-u1-LE5">
-                    <rect key="frame" x="280" y="28.5" width="130" height="110"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="130" id="Qzd-2N-b1W"/>
-                        <constraint firstAttribute="height" constant="110" id="dYW-ax-CRt"/>
-                    </constraints>
-                </imageView>
-            </subviews>
-            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-            <constraints>
-                <constraint firstItem="Bxq-wl-TlW" firstAttribute="leading" secondItem="xs8-aA-tdP" secondAttribute="leading" id="7RR-w2-2XX"/>
-                <constraint firstItem="QKO-WL-PjF" firstAttribute="top" secondItem="ixV-E1-X1x" secondAttribute="top" id="9ca-DC-xzk"/>
-                <constraint firstItem="Bxq-wl-TlW" firstAttribute="top" secondItem="xs8-aA-tdP" secondAttribute="bottom" constant="5" id="DCH-Eo-fVc"/>
-                <constraint firstItem="xs8-aA-tdP" firstAttribute="leading" secondItem="Vp5-5Y-h2u" secondAttribute="trailing" constant="10" id="Hb2-ur-ijs"/>
-                <constraint firstItem="cUe-bz-fnj" firstAttribute="centerY" secondItem="xs8-aA-tdP" secondAttribute="centerY" id="M3Y-L7-YU7"/>
-                <constraint firstItem="X9B-Hy-SDf" firstAttribute="bottom" secondItem="Bxq-wl-TlW" secondAttribute="bottom" id="MBt-8Q-OOg"/>
-                <constraint firstItem="Vp5-5Y-h2u" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="MP5-hG-35C"/>
-                <constraint firstItem="6p5-cJ-ewl" firstAttribute="top" secondItem="Vp5-5Y-h2u" secondAttribute="top" id="Vz7-SU-dzV"/>
-                <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="cUe-bz-fnj" secondAttribute="trailing" constant="60" id="Wwn-s8-yjb"/>
-                <constraint firstItem="6p5-cJ-ewl" firstAttribute="leading" secondItem="Vp5-5Y-h2u" secondAttribute="leading" id="dKO-xa-zDy"/>
-                <constraint firstItem="xs8-aA-tdP" firstAttribute="top" secondItem="Vp5-5Y-h2u" secondAttribute="top" constant="2" id="fYJ-um-Z1x"/>
-                <constraint firstItem="QKO-WL-PjF" firstAttribute="leading" secondItem="ixV-E1-X1x" secondAttribute="leading" id="fga-xU-rvq"/>
-                <constraint firstItem="Vp5-5Y-h2u" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="14" id="gsT-nC-Tat"/>
-                <constraint firstItem="QKO-WL-PjF" firstAttribute="trailing" secondItem="iN0-l3-epB" secondAttribute="centerX" id="hTX-Hs-wJG"/>
-                <constraint firstItem="QKO-WL-PjF" firstAttribute="top" secondItem="Vp5-5Y-h2u" secondAttribute="bottom" constant="4" id="iD2-L2-kjs"/>
-                <constraint firstItem="X9B-Hy-SDf" firstAttribute="leading" secondItem="Bxq-wl-TlW" secondAttribute="leading" id="j4c-N7-Tei"/>
-                <constraint firstItem="QKO-WL-PjF" firstAttribute="trailing" secondItem="ixV-E1-X1x" secondAttribute="trailing" id="jHk-YK-tbB"/>
-                <constraint firstItem="Keh-u1-LE5" firstAttribute="top" secondItem="X9B-Hy-SDf" secondAttribute="top" id="kNa-Oi-glF"/>
-                <constraint firstItem="6p5-cJ-ewl" firstAttribute="trailing" secondItem="Vp5-5Y-h2u" secondAttribute="trailing" id="ls2-RN-ZcX"/>
-                <constraint firstItem="X9B-Hy-SDf" firstAttribute="trailing" secondItem="Bxq-wl-TlW" secondAttribute="trailing" id="npl-9r-30v"/>
-                <constraint firstAttribute="trailing" secondItem="Keh-u1-LE5" secondAttribute="trailing" constant="4" id="nwL-YU-oQl"/>
-                <constraint firstItem="cUe-bz-fnj" firstAttribute="leading" secondItem="xs8-aA-tdP" secondAttribute="trailing" constant="6" id="pP0-mG-1US"/>
-                <constraint firstItem="X9B-Hy-SDf" firstAttribute="top" secondItem="Bxq-wl-TlW" secondAttribute="top" id="rFi-g4-TNx"/>
-                <constraint firstItem="QKO-WL-PjF" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="te7-6x-KAT"/>
-                <constraint firstItem="6p5-cJ-ewl" firstAttribute="bottom" secondItem="Vp5-5Y-h2u" secondAttribute="bottom" id="uXW-Xl-ZD0"/>
-                <constraint firstItem="QKO-WL-PjF" firstAttribute="bottom" secondItem="ixV-E1-X1x" secondAttribute="bottom" id="vVq-di-6L8"/>
-            </constraints>
-            <nil key="simulatedTopBarMetrics"/>
-            <nil key="simulatedBottomBarMetrics"/>
-            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
-            <connections>
-                <outlet property="authImage" destination="0rl-00-MDQ" id="zNK-JV-E8q"/>
-                <outlet property="authView" destination="ixV-E1-X1x" id="oX1-jX-LfE"/>
-                <outlet property="authViewWidth" destination="uz1-fW-faD" id="QhG-qi-2q0"/>
-                <outlet property="descView" destination="QKO-WL-PjF" id="Rty-dp-jnV"/>
-                <outlet property="emptyView" destination="X9B-Hy-SDf" id="o0W-GL-evc"/>
-                <outlet property="fansCount" destination="Xs4-YK-GXn" id="fzy-e9-IbW"/>
-                <outlet property="finishCourse" destination="1Vc-45-NJH" id="u9R-oV-Vev"/>
-                <outlet property="liveImage" destination="oX1-hp-Dyb" id="VZ5-ne-LlN"/>
-                <outlet property="musicImage" destination="ezs-lZ-Xnl" id="qct-yZ-s19"/>
-                <outlet property="starView" destination="lpX-9C-A9n" id="s6I-b7-5ZA"/>
-                <outlet property="starbgView" destination="Bxq-wl-TlW" id="Asa-p4-aUD"/>
-                <outlet property="styleImage" destination="5j7-Yg-UN7" id="sVx-If-w6U"/>
-                <outlet property="unfinishCourse" destination="uKK-Rv-ltl" id="GSE-93-QSw"/>
-                <outlet property="userAvatal" destination="Vp5-5Y-h2u" id="jx9-7L-Qnb"/>
-                <outlet property="userName" destination="xs8-aA-tdP" id="wzP-DE-tzE"/>
-                <outlet property="videoImage" destination="tLe-yi-47U" id="rrB-t2-vmY"/>
-                <outlet property="viperImage" destination="0Xo-pg-STA" id="2XK-Kk-nOb"/>
-            </connections>
-            <point key="canvasLocation" x="85.507246376811594" y="-32.142857142857139"/>
-        </view>
-    </objects>
-    <resources>
-        <image name="home_ikon" width="130" height="110"/>
-        <image name="mineLive_nomal" width="16" height="16"/>
-        <image name="mineMusic_nomal" width="16" height="16"/>
-        <image name="mineStyle_nomal" width="16" height="16"/>
-        <image name="mineVideo_nomal" width="16" height="16"/>
-        <image name="mine_nomal" width="34" height="15"/>
-        <image name="status_unAuth" width="116" height="36"/>
-        <image name="user_default_avatal" width="52" height="52"/>
-    </resources>
-</document>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHotMusicView.h

@@ -7,7 +7,7 @@
 
 #import <UIKit/UIKit.h>
 
-typedef void(^HomeMusicActionBlock)();
+typedef void(^HomeMusicActionBlock)(void);
 
 NS_ASSUME_NONNULL_BEGIN
 

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNavView.m

@@ -29,7 +29,7 @@
 
 - (void)configMessage:(TeacherInfo *)infoMessage {
     if ([NSString isEmptyString:infoMessage.username]) {
-        self.nameLabel.text = [NSString stringWithFormat:@"你好,游客%@",infoMessage.userId];
+        self.nameLabel.text = [NSString stringWithFormat:@"你好,游客%@",[NSString returnNoNullStringWithString:infoMessage.userId]];
     }
     else {
         if (infoMessage.username.length > 4) {

+ 8 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.h

@@ -8,7 +8,14 @@
 #import <UIKit/UIKit.h>
 #import "TeacherInfo.h"
 
-typedef void(^HomeHeadBlock)(BOOL isShowDesc);
+typedef NS_ENUM(NSInteger, HOMEHEADACTION) {
+    HOMEHEADACTION_DESC,   // 勋章介绍
+    HOMEHEADACTION_AUTH,   // 达人认证
+    HOMEHEADACTION_EDUCATION, // 学历认证
+    HOMEHEADACTION_EDUCATIONFINISH, // 完成认证
+};
+
+typedef void(^HomeHeadBlock)(HOMEHEADACTION action);
 
 NS_ASSUME_NONNULL_BEGIN
 

+ 23 - 5
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.m

@@ -12,6 +12,8 @@
 
 @property (nonatomic, copy) HomeHeadBlock callback;
 
+@property (weak, nonatomic) IBOutlet UIView *dotView;
+
 @property (weak, nonatomic) IBOutlet UIImageView *styleImage;
 @property (weak, nonatomic) IBOutlet UIImageView *videoImage;
 @property (weak, nonatomic) IBOutlet UIImageView *liveImage;
@@ -78,6 +80,9 @@
     [self.liveImage setImage:[UIImage imageNamed:@"mineLive_nomal"]];
     [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_nomal"]];
     
+    BOOL hasDegreeAuth = infoMessage.degreeFlag;
+    BOOL hasTeacherAuth = infoMessage.teacherFlag;
+    
     for (NSString *tagString in tagArray) {
         if ([tagString isEqualToString:@"STYLE"]) {
             [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_active"]];
@@ -102,6 +107,12 @@
         self.authTitle.textColor = THEMECOLOR;
         [self.nextImage setImage:[UIImage imageNamed:@"auth_next_green"]];
         self.hasAuth = YES;
+        if (hasDegreeAuth && hasTeacherAuth) {
+            self.dotView.hidden = YES;
+        }
+        else {
+            self.dotView.hidden = NO;
+        }
     }
     else if ([infoMessage.entryStatus isEqualToString:@"DOING"]) { // 认证审核中
         self.authView.backgroundColor = HexRGB(0xEFFBF9);
@@ -128,17 +139,24 @@
 }
 
 - (IBAction)authAction:(id)sender {
-    if (self.hasAuth) {
-        return;
-    }
     if (self.callback) {
-        self.callback(NO);
+        if (self.hasAuth == NO) {
+            self.callback(HOMEHEADACTION_AUTH);
+        }
+        else {
+            if (self.dotView.isHidden) {
+                self.callback(HOMEHEADACTION_EDUCATIONFINISH);
+            }
+            else {
+                self.callback(HOMEHEADACTION_EDUCATION);
+            }
+        }
     }
 }
 
 - (IBAction)showDesc:(id)sender {
     if (self.callback) {
-        self.callback(YES);
+        self.callback(HOMEHEADACTION_DESC);
     }
 }
 

+ 31 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.xib

@@ -156,10 +156,39 @@
                         <constraint firstAttribute="bottom" secondItem="PmF-Mq-0JT" secondAttribute="bottom" id="qSM-7y-dxV"/>
                     </constraints>
                 </view>
+                <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qdW-5e-X9f">
+                    <rect key="frame" x="499" y="34.5" width="8" height="8"/>
+                    <subviews>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kpv-Vp-oFn">
+                            <rect key="frame" x="1" y="1" width="6" height="6"/>
+                            <color key="backgroundColor" red="0.97254901959999995" green="0.31372549020000001" blue="0.26274509800000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="3"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                        </view>
+                    </subviews>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstAttribute="bottom" secondItem="Kpv-Vp-oFn" secondAttribute="bottom" constant="1" id="2ao-Tm-9Iq"/>
+                        <constraint firstAttribute="width" constant="8" id="8Wg-CL-OI1"/>
+                        <constraint firstAttribute="trailing" secondItem="Kpv-Vp-oFn" secondAttribute="trailing" constant="1" id="Bjf-MV-tn7"/>
+                        <constraint firstItem="Kpv-Vp-oFn" firstAttribute="top" secondItem="qdW-5e-X9f" secondAttribute="top" constant="1" id="Km6-mf-jch"/>
+                        <constraint firstItem="Kpv-Vp-oFn" firstAttribute="leading" secondItem="qdW-5e-X9f" secondAttribute="leading" constant="1" id="cu2-Ci-cV5"/>
+                        <constraint firstAttribute="height" constant="8" id="d44-81-CEE"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="4"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </view>
             </subviews>
             <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <constraints>
                 <constraint firstItem="sUP-ZP-Dxs" firstAttribute="centerY" secondItem="G60-Et-o3r" secondAttribute="centerY" id="35Q-mn-MzL"/>
+                <constraint firstItem="qdW-5e-X9f" firstAttribute="top" secondItem="Jce-l2-nVi" secondAttribute="top" id="5LM-ZS-zye"/>
                 <constraint firstAttribute="trailing" secondItem="Jce-l2-nVi" secondAttribute="trailing" constant="24" id="5wY-ji-QPi"/>
                 <constraint firstItem="Eh7-SW-rWW" firstAttribute="leading" secondItem="nDP-6c-WeM" secondAttribute="trailing" id="BxK-XL-TfM"/>
                 <constraint firstItem="K9c-3E-YUK" firstAttribute="trailing" secondItem="Jce-l2-nVi" secondAttribute="trailing" id="J4y-Jw-53G"/>
@@ -167,6 +196,7 @@
                 <constraint firstAttribute="bottom" secondItem="G60-Et-o3r" secondAttribute="bottom" constant="19" id="MVP-qZ-GKN"/>
                 <constraint firstItem="GIJ-nK-Ul6" firstAttribute="centerY" secondItem="G60-Et-o3r" secondAttribute="centerY" id="PDh-cd-ke5"/>
                 <constraint firstItem="Eh7-SW-rWW" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="Rpf-oZ-a5A"/>
+                <constraint firstItem="qdW-5e-X9f" firstAttribute="trailing" secondItem="Jce-l2-nVi" secondAttribute="trailing" id="Xgz-oO-3SI"/>
                 <constraint firstItem="Eh7-SW-rWW" firstAttribute="centerY" secondItem="nDP-6c-WeM" secondAttribute="centerY" id="YbM-aK-3Wu"/>
                 <constraint firstItem="nDP-6c-WeM" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="25" id="ZKO-9F-z81"/>
                 <constraint firstItem="G60-Et-o3r" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="25" id="oxP-IZ-oSI"/>
@@ -182,6 +212,7 @@
                 <outlet property="authTitle" destination="H6Y-EP-j6O" id="RCR-Iv-2tA"/>
                 <outlet property="authView" destination="Jce-l2-nVi" id="edG-mm-RBe"/>
                 <outlet property="badgeCountLabel" destination="GIJ-nK-Ul6" id="CSP-lB-ixS"/>
+                <outlet property="dotView" destination="qdW-5e-X9f" id="Fv6-3s-EES"/>
                 <outlet property="failDescLabel" destination="tqA-UQ-Vrb" id="zSe-wv-Itu"/>
                 <outlet property="failedView" destination="K9c-3E-YUK" id="QaJ-bg-rxW"/>
                 <outlet property="gradeTitleLabel" destination="nDP-6c-WeM" id="Kmw-F7-p3b"/>

+ 2 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Live/Controller/LiveRoomViewController.m

@@ -509,7 +509,7 @@ typedef NS_ENUM(NSInteger, LIVEPAGE) {
         else {
             self.needPublishStream = YES;
         }
-        
+
     }
     self.isEnterBackground = NO;
 }
@@ -1054,6 +1054,7 @@ typedef NS_ENUM(NSInteger, LIVEPAGE) {
         if (code == RCRTCCodeSuccess) {
             weakSelf.needPublishStream = NO;
             [weakSelf renderSeatView];
+
         }
         else {
             [weakSelf MBPShow:@"视频流发布失败"];

+ 14 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/LiveCourse/View/MyLiveCourseBodyView.m

@@ -223,10 +223,23 @@
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     // 直播课程组详情
     LiveCourseModel *model = self.dataArray[indexPath.row];
-    [self displayLiveCourseDetailWithGroupId:[NSString stringWithFormat:@"%.0f",model.courseGroupId]];
+    if (self.selectIndex == 5) {
+        [self editLiveCourseWithGroupId:[NSString stringWithFormat:@"%.0f",model.courseGroupId]];
+        
+    }
+    else {
+        [self displayLiveCourseDetailWithGroupId:[NSString stringWithFormat:@"%.0f",model.courseGroupId]];
+    }
 }
 
 
+- (void)editLiveCourseWithGroupId:(NSString *)groupId {
+    KSBaseWKWebViewController *ctrl = [[KSBaseWKWebViewController alloc] init];
+    NSString *url = [NSString stringWithFormat:@"%@%@%@", WEBHOST, @"/#/liveCreate?groupId=",groupId];
+    ctrl.url = url;
+    [self.naviController pushViewController:ctrl animated:YES];
+}
+
 - (void)displayLiveCourseDetailWithGroupId:(NSString *)groupId {
     KSBaseWKWebViewController *ctrl = [[KSBaseWKWebViewController alloc] init];
     NSString *url = [NSString stringWithFormat:@"%@%@%@", WEBHOST, @"/#/liveDetail?groupId=",groupId];

+ 43 - 4
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/Controller/MinePageViewController.m

@@ -16,6 +16,7 @@
 #import "UserInfoManager.h"
 #import "MinePageTopView.h"
 #import "BadgeIntroduceView.h"
+#import "MyStyleViewController.h"
 
 #define HEADER_HEIGHT (50)
 
@@ -54,10 +55,10 @@
     CGFloat headHeight = [self.headView getViewHeight];
     self.headView.frame = CGRectMake(0, 0, kScreenWidth, headHeight);
     
-    CGFloat topHeight = kNaviBarHeight + 30;
+    CGFloat topHeight = kNaviBarHeight;
     
     _categoryView = [[JXCategoryTitleView alloc] initWithFrame:CGRectMake(0, topHeight, kScreenWidth, HEADER_HEIGHT)];
-    _categoryView.backgroundColor = [UIColor clearColor];
+    _categoryView.backgroundColor = HexRGB(0xf6f8f9);
     self.categoryView.titles = self.titles;
     self.categoryView.delegate = self;
     self.categoryView.titleFont = [UIFont systemFontOfSize:16.0f];
@@ -105,6 +106,7 @@
     [self.topView configSource:self.teacherInfo];
     // 刷新达人认证和音乐人认证状态
     [self refreshAuthStatus];
+    [self.headView.bgView sd_setImageWithURL:[NSURL URLWithString:[self.teacherInfo.heardUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:@"USERDEFAULT_LOGO"]];
 }
 
 - (void)refreshAuthStatus {
@@ -312,6 +314,33 @@
     }
     return [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]];
 }
+
+- (void)pagerView:(JXPagerView *)pagerView mainTableViewDidScroll:(UIScrollView *)scrollView {
+    
+    NSLog(@"sscroll content offset y %f", scrollView.contentOffset.y);
+    CGFloat height = [self.topView getViewHeight];
+    CGFloat space = scrollView.contentOffset.y;
+    if (space > 100) {
+        CGFloat rate = (space - 100) / (height - 100);
+        NSLog(@"rate ---------%f",rate);
+        self.headView.topView.backgroundColor = HexRGBAlpha(0xffffff, rate);
+        if (rate == 1) {
+            [self.headView.backImage setImage:[UIImage imageNamed:@"back_black"]];
+            self.headView.topTitle.textColor = HexRGB(0x333333);
+        }
+        else {
+            [self.headView.backImage setImage:[UIImage imageNamed:@"back_white"]];
+            self.headView.topTitle.textColor = HexRGB(0xffffff);
+        }
+    }
+    else {
+        self.headView.topView.backgroundColor = [UIColor clearColor];
+        [self.headView.backImage setImage:[UIImage imageNamed:@"back_white"]];
+        self.headView.topTitle.textColor = HexRGB(0xffffff);
+    }
+}
+
+
 #pragma mark --- lazying
 - (MinePageHeadView *)headView {
     if (!_headView) {
@@ -336,13 +365,23 @@
     if (!_topView) {
         _topView = [MinePageTopView shareInstance];
         MJWeakSelf;
-        [_topView badgeDetail:^{
-            [weakSelf showDescAlert];
+        [_topView badgeDetail:^(BOOL isBadgeIntroduce) {
+            if (isBadgeIntroduce) {
+                [weakSelf showDescAlert];
+            }
+            else {
+                [weakSelf editAction];
+            }
         }];
     }
     return _topView;
 }
 
+- (void)editAction {
+    MyStyleViewController *style = [[MyStyleViewController alloc] init];
+    [self.navigationController pushViewController:style animated:YES];
+}
+
 - (BadgeIntroduceView *)intruduceAlert {
     if (!_intruduceAlert) {
         _intruduceAlert = [BadgeIntroduceView shareInstance];

+ 6 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/LiveCourseCell.m

@@ -47,7 +47,12 @@
     }
     else {
         self.orderView.hidden = NO;
-        self.orderUser.text = [NSString stringWithFormat:@"%.0f人已购买",model.studentCount];
+        if (model.coursePrice > 0) {
+            self.orderUser.text = [NSString stringWithFormat:@"%.0f人已购买",model.studentCount];
+        }
+        else {
+            self.orderUser.text = [NSString stringWithFormat:@"%.0f人已领取",model.studentCount];
+        }
     }
     if (model.coursePrice > 0) {
         self.priceLabel.text = [NSString  stringWithFormat:@"¥%.2f/%.0f课时",model.coursePrice,model.courseNum];

+ 7 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageHeadView.h

@@ -12,6 +12,13 @@ typedef void(^MinePageBack)(void);
 NS_ASSUME_NONNULL_BEGIN
 
 @interface MinePageHeadView : UIView
+@property (weak, nonatomic) IBOutlet UIImageView *backImage;
+
+@property (weak, nonatomic) IBOutlet UILabel *topTitle;
+
+@property (weak, nonatomic) IBOutlet UIView *topView;
+
+@property (weak, nonatomic) IBOutlet UIImageView *bgView;
 
 + (instancetype)shareInstance;
 

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageHeadView.m

@@ -42,7 +42,7 @@
 }
 
 - (CGFloat)getViewHeight {
-    return (376 / 228) * kScreenWidth;
+    return 188 + iPhoneXSafeTopMargin;
 }
 
 

+ 30 - 8
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageHeadView.xib

@@ -10,15 +10,21 @@
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="MinePageHeadView">
-            <rect key="frame" x="0.0" y="0.0" width="414" height="251"/>
+            <rect key="frame" x="0.0" y="0.0" width="414" height="216"/>
             <autoresizingMask key="autoresizingMask"/>
             <subviews>
-                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="minepage_bg" translatesAutoresizingMaskIntoConstraints="NO" id="thf-Z9-Jzc">
-                    <rect key="frame" x="0.0" y="0.0" width="414" height="251"/>
-                    <constraints>
-                        <constraint firstAttribute="width" secondItem="thf-Z9-Jzc" secondAttribute="height" multiplier="376:228" id="wkT-6A-fyt"/>
-                    </constraints>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="thf-Z9-Jzc">
+                    <rect key="frame" x="0.0" y="0.0" width="414" height="216"/>
                 </imageView>
+                <visualEffectView opaque="NO" contentMode="scaleAspectFit" translatesAutoresizingMaskIntoConstraints="NO" id="xSz-jk-rc5">
+                    <rect key="frame" x="0.0" y="0.0" width="414" height="216"/>
+                    <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="OBV-oJ-nhS">
+                        <rect key="frame" x="0.0" y="0.0" width="414" height="216"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                    <blurEffect style="light"/>
+                </visualEffectView>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="emY-nQ-Sbn">
                     <rect key="frame" x="0.0" y="0.0" width="414" height="88"/>
                     <subviews>
@@ -40,37 +46,53 @@
                                 <action selector="back:" destination="iN0-l3-epB" eventType="touchUpInside" id="4lb-dc-K1q"/>
                             </connections>
                         </button>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="我的主页" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4go-Bw-8sZ">
+                            <rect key="frame" x="170" y="55" width="74" height="22"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
+                            <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <nil key="highlightedColor"/>
+                        </label>
                     </subviews>
                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="88" id="1wg-e6-kqA"/>
                         <constraint firstAttribute="bottom" secondItem="LL3-u6-PTR" secondAttribute="bottom" id="6KH-1M-vAP"/>
                         <constraint firstItem="LL3-u6-PTR" firstAttribute="leading" secondItem="emY-nQ-Sbn" secondAttribute="leading" id="AmB-tA-N1v"/>
+                        <constraint firstItem="4go-Bw-8sZ" firstAttribute="centerY" secondItem="LL3-u6-PTR" secondAttribute="centerY" id="HUv-vT-SjJ"/>
                         <constraint firstItem="7zL-CV-PVX" firstAttribute="leading" secondItem="emY-nQ-Sbn" secondAttribute="leading" constant="22" id="JXX-id-lc3"/>
                         <constraint firstItem="LL3-u6-PTR" firstAttribute="centerY" secondItem="7zL-CV-PVX" secondAttribute="centerY" id="Umc-bJ-zgR"/>
+                        <constraint firstItem="4go-Bw-8sZ" firstAttribute="centerX" secondItem="emY-nQ-Sbn" secondAttribute="centerX" id="iRs-kb-Pcu"/>
                     </constraints>
                 </view>
             </subviews>
             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <constraints>
                 <constraint firstAttribute="trailing" secondItem="thf-Z9-Jzc" secondAttribute="trailing" id="10A-zz-Sjc"/>
+                <constraint firstItem="xSz-jk-rc5" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="1fm-NH-2YW"/>
                 <constraint firstAttribute="trailing" secondItem="emY-nQ-Sbn" secondAttribute="trailing" id="6nX-C1-kua"/>
                 <constraint firstItem="thf-Z9-Jzc" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="GZK-Nn-oSU"/>
                 <constraint firstItem="thf-Z9-Jzc" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="L9Y-JA-QTd"/>
                 <constraint firstItem="emY-nQ-Sbn" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="LwY-BP-gc7"/>
+                <constraint firstAttribute="trailing" secondItem="xSz-jk-rc5" secondAttribute="trailing" id="QD8-h1-yxW"/>
+                <constraint firstAttribute="bottom" secondItem="thf-Z9-Jzc" secondAttribute="bottom" id="SJh-q0-W2x"/>
+                <constraint firstAttribute="bottom" secondItem="xSz-jk-rc5" secondAttribute="bottom" id="rbs-Pb-IXM"/>
+                <constraint firstItem="xSz-jk-rc5" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="xDQ-7x-B1O"/>
                 <constraint firstItem="emY-nQ-Sbn" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="y56-3o-ZPL"/>
             </constraints>
             <nil key="simulatedTopBarMetrics"/>
             <nil key="simulatedBottomBarMetrics"/>
             <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
             <connections>
+                <outlet property="backImage" destination="7zL-CV-PVX" id="Rh5-bw-0od"/>
+                <outlet property="bgView" destination="thf-Z9-Jzc" id="bcT-kn-PMh"/>
+                <outlet property="topTitle" destination="4go-Bw-8sZ" id="PK9-Z6-G7j"/>
+                <outlet property="topView" destination="emY-nQ-Sbn" id="Scs-7L-BfX"/>
                 <outlet property="viewHeight" destination="1wg-e6-kqA" id="79o-QW-2Js"/>
             </connections>
-            <point key="canvasLocation" x="314.49275362318843" y="-103.45982142857143"/>
+            <point key="canvasLocation" x="311.59420289855075" y="-117.85714285714285"/>
         </view>
     </objects>
     <resources>
         <image name="back_white" width="12" height="20"/>
-        <image name="minepage_bg" width="376" height="228"/>
     </resources>
 </document>

+ 1398 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageMusicCell.xib

@@ -78,7 +78,7 @@
                                     <constraint firstAttribute="height" constant="16" id="gHY-Dt-fsS"/>
                                 </constraints>
                             </view>
-                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="music_free" translatesAutoresizingMaskIntoConstraints="NO" id="USF-bE-ZKd">
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="imageView:USF-bE-ZKd:image" translatesAutoresizingMaskIntoConstraints="NO" id="USF-bE-ZKd">
                                 <rect key="frame" x="318" y="19" width="55" height="22"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="22" id="EPk-yc-6W4"/>
@@ -136,7 +136,1403 @@
         </tableViewCell>
     </objects>
     <resources>
-        <image name="music_free" width="55" height="22"/>
+        <image name="imageView:USF-bE-ZKd:image" width="55" height="22">
+            <mutableData key="keyedArchiveRepresentation">
+YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05T
+S2V5ZWRBcmNoaXZlctEICVRyb290gAGvEBcLDBkaIRQmKywzNjs+P0RHSEtVXV5iZVUkbnVsbNYNDg8Q
+ERITFBUWFxhWTlNTaXplXk5TUmVzaXppbmdNb2RlViRjbGFzc1xOU0ltYWdlRmxhZ3NWTlNSZXBzV05T
+Q29sb3KAAhAAgBYSIMAAAIADgBFYezU1LCAyMn3SGw8cIFpOUy5vYmplY3Rzox0eH4AEgAqADYAQ0hsP
+IiWiIySABYAGgAnTDycoKSoUXxAUTlNUSUZGUmVwcmVzZW50YXRpb25fEBlOU0ludGVybmFsTGF5b3V0
+RGlyZWN0aW9ugAiAB08RIA5NTQAqAAAS8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhHx4haWNf
+ab6zrL7t4dft/vDm/v/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5//+8Ob+7+LZ78G3r8FuaWRuIyIgIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMhICOVjomV6N7V6P/37f//9Or///Lo///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///y6P//9Or///ft/+rg1+qblY6bKSYlKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AFtWU1vm29Pm//vx///06v//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///9Or///vw
+/+vg1utkXlpkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG5oZG778uj7//bs///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///9ev//fTq/XlybXkAAAAAAAAA
+AAAAAAAAAAAAAAAAAFNPS1P78Ob7//Tq///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///06///8ej///Hn///x5///8ef///Hn///x5///8ef///Hn///y6P//9Ov///Tr///06///9Ov///Tr
+///06v//9Ov///Ts///z6f//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///06v/98+r9XllVXgAAAAAAAAAAAAAAABsZGRvg1Mzg//fs
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///27f//rIj//8iv///37///8+r///Pq
+///x5///8ef///Hn///y6P//6d3//9C6///Tvv//qIT//6+O///Nt///k2f//8qz///RvP//49T///Lo
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///br/+bb0uYjIR8jAAAAAAAAAACEfXiE//vw///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///48P//uJr//00M//96Rf//ilv//4la//+IWP//5tj///Lp///x5///8+r//9zL
+//+Ybf//l23//20z//90Pf//kmb//1gX//+RZf//ekr//511///27f//8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///06v//9Ov///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///+/D/kImD
+kAAAAAAREBAR2s7G2v/27P//8ef///Hn///x5///8ef///Hn///x5///8ef///Ho///17P//tpf//3pG
+///Svv//3Mr//9fE//+HWP//jV////fv///27f//8ef///Ho///t4f//nHP//594//90Pf//e0f//5ty
+//9eH///mnH//4FO//+hev//9+7///Hn///x5///8ef///Hn///x5///8ef///Hn///z6f//08X//9LD
+///27f//8ef///Hn///x5///8ef///Hn///x5///8ef///Xr/+PWzeMYFhUYQT47Qf3y6P3/8uj///Hn
+///x5///8ef///Hn///x5///8ef///Hn///y6P//nnb//1YV//+PY///qob//6qH//+QY///Whv//553
+//+kgf//y7P///Tr///07P//0Lr//2Up//+wjv//d0H//4dX//+ohP//YST//6WA//+tiv//vaH//+rd
+///y6P//8ef///Hn///x5///8ef///Hn///x5///8+n//+LW//+Ve///xbP///bt///x5///8ef///Hn
+///x5///8ef///Hn///x5///9uz/T0tIT394c3//9+z///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8Ob//863//+PYf//hFP//7KS//+WbP//ZCj//7GQ//+ykv//gVD//5Ro///48f//8+r//+DQ
+//+ujP//hVT//2Ik//+qiP//poH//18h//+lgf//o33//2gt///XxP//9Ov///Hn///x5///8ef///Hn
+///x5///8ef///Hn///06v//7OH//5yE//+3pP//9Oz///Hn///x5///8ef///Hn///x5///8ef///bs
+/5SMhpSkm5Wk//Tq///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///68v//mXH//7ST
+/////P//xq3//4RT///58////ff//7WU//+Wa///+PH///Pp///Ot///kGf//3Y////Bpv//7+T//+PU
+//+NXv//28r//5dt//+ZcP//7eL///Lo///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Pp
+///06v//o43//62Y///16///8ef///Hn///x5///8ef///Hn///06v+5rqe5pJuUpP/06v//8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///9u3//593//9rNP//iFj//2sx//9eH///gE7//4VU
+//9rNf//nXX///jx///z6v//2sj//49j//9nK///hlb//4FP//+ATv//gU7//4BO//9nK///1cD///Xs
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///06///6+D//5qC//+9qv//9Or///Hn
+///x5///8ef///Hn///x5///9Or/ua6nuX94c3//9+z///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Lo///l1v//1sT//8u0//9oLP//pH7//3I6///PuP//1MH//+XX///27f//8ef///r0
+//+wjv//kmf///bt///Rvf//m3L//+3h///t4f//gE3//8qx///17P//8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///17P//4tX//5N5///JuP//9+3///Hn///x5///8ef///Hn///x5///8ef///bs
+/5SMhpRBPjtB/fLo/f/y6P//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///y6P//+PD//+/k
+//+JWv//m3L//9jE//9/TP//8uj///ny///ayP//r43///Lo///48P//roz//5lv////////pYD//5Fl
+///z6v//+fH//4hY///Ls///9ez///Hn///x5///8ef///Hn///x5///8ef///Hn///z6v//1cf//5F2
+///Vx///9u3///Hn///x5///8ef///Hn///x5///8ef///Hn///27P9PS0hPERAQEdrOxtr/9uz///Hn
+///x5///8ef///Hn///x5///8ef///Hn///y6P//7eH//8Gm//90Pf//l23///Pp///Ww///cjr//9zK
+///p2///rYv//4ZW///37v//8+n//9rI///LtP//vaH//2wy//+3mP//iVn//5ds//+kf///387///Pp
+///x5///8ef///Hn///x5///8ef///Hn///x5///8+r//8q5///e0P//9ez///Hn///x5///8ef///Hn
+///x5///8ef///Hn///16//j1s3jGBYVGAAAAACEfXiE//vw///x5///8ef///Hn///x5///8ef///Hn
+///x5///8uj//5pw//99Sv//xq3///Xs///z6v//69///4NR//9wOv//d0L//241///Bpv//+PD//7SU
+//+CVf//f03//4xe///Puf//8+r//9/O//+5m///i1z//4FQ///i0///8+n///Hn///x5///8ef///Hn
+///x5///8ef///Hn///16///8+n///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///+/D/kImD
+kAAAAAAAAAAAGxkZG+DUzOD/9+z///Hn///x5///8ef///Hn///x5///8ef///Hn///m1///8eb///bt
+///x5///8ef///Lo///y6P//7OD//+vf///u4///8+r///Lo///i0///28n//+zg///17P//9ez///Hn
+///z6f//9+////Pq///g0P//7uP///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///9uv/5tvS5iMhHyMAAAAAAAAAAAAAAABTT0tT+/Dm
++//06v//8ef///Hn///x5///8ef///Hn///x5///8uj///Ho///x5///8ef///Hn///x5///8ef///Lo
+///y6P//8ej///Hn///x5///8un///Pq///y6P//8ef///Hn///x5///8ef///Hn///x5///8+n///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///9Or//fPq/V5ZVV4AAAAAAAAAAAAAAAAAAAAAAAAAAG5oZG778uj7//bs///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///9ev//fTq/XlybXkAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAW1ZTW+bb0+b/+/H///Tq///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///06v//+/D/6+DW62ReWmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAjISAjlY6Jleje1ej/9+3///Tq///y6P//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8uj///Tq///37f/q4Nfqm5WO
+mykmJSkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhHx4haWNg
+ab60rL7t4dft/vDm/v/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn
+///x5///8ef///Hn///x5//+8Ob+7+LZ78G3sMFuaWRuIyIgIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAEAEAAAMAAAABADcAAAEBAAMAAAABABYAAAECAAMAAAAEAAATtgEDAAMAAAABAAEAAAEGAAMA
+AAABAAIAAAEKAAMAAAABAAEAAAERAAQAAAABAAAACAESAAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMA
+AAABABYAAAEXAAQAAAABAAAS6AEcAAMAAAABAAEAAAEoAAMAAAABAAIAAAFSAAMAAAABAAEAAAFTAAMA
+AAAEAAATvodzAAcAAAxIAAATxgAAAAAACAAIAAgACAABAAEAAQABAAAMSExpbm8CEAAAbW50clJHQiBY
+WVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1I
+UCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAA
+AAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwA
+AAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QA
+AAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwA
+AAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENv
+bXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2
+Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAA
+AAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAA
+AAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3
+dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0
+IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJH
+QiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVy
+ZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2Ug
+Vmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2
+aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA
+AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUA
+CgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoA
+nwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4B
+RQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYC
+LwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oD
+ZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE
+8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG
+0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJ
+EAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gL
+sAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsO
+tg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcS
+JhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAW
+AxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioa
+URp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+Hukf
+Ex8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8k
+TSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAq
+Aio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4w
+NTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq42
+6TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+
+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF
+3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxO
+JU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW
+91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVg
+V2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFq
+SGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0
+zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/
+5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCL
+lov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX
+4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFak
+x6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsday
+S7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XA
+cMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbP
+N8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hze
+ot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7iju
+tO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/
+bf//0i0uLzBaJGNsYXNzbmFtZVgkY2xhc3Nlc18QEE5TQml0bWFwSW1hZ2VSZXCjLzEyWk5TSW1hZ2VS
+ZXBYTlNPYmplY3TSLS40NVdOU0FycmF5ojQy0hsPNyWiIzmABYALgAnTDycoKT0UgAiADE8RWO5NTQAq
+AABLqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAqKCYqbGZibKCXkaDHvLTH5dnQ5fPm3PP+8Ob+//Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7w5v705970
+59vS58vAuMukm5Wkc21oczIvLTICAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAB0cGh2AeXSA3NDI3P/x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn/+XYz+WKg32KJiQjJgAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0cGx2ck42c+evi+f/x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5//87+X8qaCZqSgmJSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwN2cGx29Obd9P/x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/+ezi+YeAe4cICAcIAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaGRga
+wLavwP/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn/9DFvdAnJSMnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAALiwqLubZ0Ob/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn//Dj2vBAPTpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc0Mjfv4tnv//Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//fq4PdLR0RL
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoJiQo69/V6//x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn//Xo3vU7ODU7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Dg0MDtvPxtv/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn/+rd1OoaGRgaAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAACnnpen//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn/8C2r8ACAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0dFS//x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///h0f//hlX//7aX///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///hFL/
+/6J8///x5///8ef///Hn//+Ybv//jmD///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn/2diXmcAAAAAAAAAAAAAAAAAAAAAAAAAAAUFBQXd0cjd
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///7+X//3Q9//9HAP//uJn///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///RvP//q4j/
+/6uI//+riP//q4j//6uI//9IAv//ZSj//6uI//+riP//q4j//1sb//9SD///q4j//6uI//+riP//q4j/
+/6uI///k1f//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/7eDX7REQDxEAAAAA
+AAAAAAAAAAAAAAAAYl1aYv/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//+acf//RwD/
+/1QS//+Ybv//mG7//5hu//+Ybv//mG7//5hu//+Ybv//nXT///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef//6R+//9HAP//RwD//0cA//9HAP//RwD//0cA//9HAP//RwD//0cA//9HAP//RwD/
+/0cA//9HAP//RwD//0cA//9HAP//RwD//9G7///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef/fnhzfgAAAAAAAAAAAAAAAAAAAADYzcTY//Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///qYX//0cA//9HAP//RwD//0cA//9HAP//RwD//0cA//9HAP//RwD//0cA//9SD///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8Ob///Dl///w5f//8OX///Dl///w5f//SgT/
+/3lE///w5f//8OX///Dl//9pLv//Whr///Dl///w5f//8OX//6V///9HAP//0bv///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5//s4NbsCAgHCAAAAAAAAAAAOjc0Ov/x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef//6uH//9IAf//YiX//9nH///m2P//5tj//+bY///m2P//5tj/
+/+PU//9yOv//RwD//7aW///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///rYr/
+/6N9//+jff//o33//6N9//9IAv//YiX//6N9//+jff//o33//1oZ//9RDv//o33//6N9//+jff//ekX/
+/0cA///Ru///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef//+ne///t4v//8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5/9WUU5W
+AAAAAAAAAACTi4WT//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+/l//+UZ///RwD//2cs///j1P//8ef/
+//Hn///x5///8ef///Hn///u4///g1L//0cA//+jff//8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef//+ve//9JA///TQj//1YU//9WFP//VhT//0cA//9LBv//VhT//1YU//9WFP//SgT/
+/0gC//9WFP//VhT//1YU//9WFP//VhT//9O////x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///o4z//1k1///i1v//8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn/6+ln68AAAAAAAAAANjMxNj/8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///byf//cDj/
+/0cA//9pLv//4NH//+vf///r3///69///+vf///r3///59n//3xH//9HAP//nnb//+vf///r3///69//
+/+vf///s4P//8ef///Hn///x5///8ef///Hn///x5///y7T//0cA//+mgf//8ef///Hn///j0///RwD/
+/4hY///x5///8ef///Hn//9qL///Whr///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///ln3//0ok///Xyf//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/8OPa8AMDAwMYFxYY/vHn/v/x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///5db//1MQ//9HAP//aC3//0cA//9HAP//RwD//0cA//9HAP//RwD//0cA//9HAP//RwD/
+/0cA//9HAP//RwD//0cA//9HAP//RwD//2Ah///x5///8ef///Hn///x5///8ef///Hn//+phf//RwD/
+/3xI//+PYv//j2L//4BN//9HAP//aS///49i//+PYv//j2L//1UT//9PC///j2L//49i//+PYv//j2L/
+/49i//+PYv//0Lr///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///rZf//0Ib///It///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+MzEvM0M/PUP/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///spH//72g//++of//RwD//3Q8//+PYv//j2L/
+/49i//+PYv//czz//0cA//92P///j2L//49i//+PYv//j2L//49i//9VE///YCH///Hn///x5///8ef/
+//Hn///x5///8ef//6WB//9yO///cjv//3I7//9wN///RwD//0oE//9yO///cjv//3I7//9yO///UAz/
+/0wG//9yO///cjv//3I7//9yO///ZSn//0cA//+9oP//8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///wa7/
+/0EZ//+2ov//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5/9fWlZfaWRfaf/x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+/76h//9HAP//sI////Hn///x5///8ef///Hn//+lgP//RwD//76i///x5///8ef///Hn///x5///8ef/
+/2gt//9gIf//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///6dz//4JQ//9HAP//oXr/
+//Hn///x5///8ef///Hn//9qL///Whr///Hn///x5///8ef///Hn//+ui///RwD//8+5///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///0MH//0Yf//+hif//8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn/4V+eYV9d3J9//Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///vqH//0cA//+wj///8ef///Hn///x5///8ef//5Zr//9HAP//y7P/
+//Hn///x5///8ef///Hn///x5///aC3//2Ah///x5///8ef///Hn///x5///8ef///Hn///x5///28n/
+/593//9WFP//RwD//4xd///v5f//8ef///Hn///x5///8ef//2ov//9aGv//8ef//+re//9/TP//e0f/
+/1AN//9eH///7uL///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///3dD//1Es//+Jbv//8Ob/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+mZGLmYqDfYr/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//++of//RwD//7CP///x5///8ef/
+//Hn///x5///ekX//0cA///k1f//8ef///Hn///x5///8ef///Hn//9oLf//YCH///Hn///x5///8ef/
+//Hn///x5///zrf//2Ik//9HAP//RwD//3A3///Apf//8ef///Hn///x5///8ef///Hn///x5///sI7/
+/6mE///x5///8ef//6B5//+Ybv//rYr//+bZ///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///59v//1s5//+EaP//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5/+mnZemioN9iv/x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+/76h//9HAP//h1b//66M//+ujP//roz//66M//9VE///TQj//66M//+ujP//roz//66M//+ujP//roz/
+/1sb//9gIf//8ef///Hn///x5///8ef///Hn///v5P//iVr//6B5//9mKf//XB3//1wd//9cHf//XB3/
+/1wd//9cHf//XB3//1wd//9cHf//XB3//1wd//9cHf//XB3//1wd//+2l///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///CsP//QRn//7ek///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn/6adl6Z9dnF9//Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///vqH//0cA//9HAP//RwD//0cA//9HAP//RwD//0cA//9HAP//RwD/
+/0cA//9HAP//RwD//0cA//9HAP//RwD//2Ah///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+/200//9KBf//gE3//4BN//+ATf//gE3//4BN//+ATf//gE3//4BN//+ATf//gE3//4BN//9uNf//RwD/
+/66L///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///sJv//0Ia///Htv//8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+mZGLmWlkX2n/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///l1v//yK///8iv///Ir///yK//
+/8iv//95Q///RwD//6iE//+acv//RwD//5ds///Ir///yK///8iv///Ir///zrf///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///bTT//1IP///x5///8ef///Hn///x5///49T//6aC///Ot///8ef/
+//Hn///x5///8ef//7yf//9HAP//rov///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+/5uD//9IIv//1cb///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5/+FfnmFQz89Q//x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///2cf//08L//9hI///7+T//7WW//9HAP//sI////Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//9tNP//Ug////Hn///x5///8ef/
+//Hn///Cp///RwD//6F6///x5///8ef///Hn///x5///vJ///0cA//+ui///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Dl//+FaP//VTH//+DT///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn/19aVl8YFxYY/vHn/v/x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+ve//9mK///RwH//8et///x5///tZb/
+/0cA//+wj///8ef///Hn///x5///8ef///Hn///cy///3sz///Hn///x5///8ef///Hn///x5///8ef/
+/200//9SD///8ef///Hn///x5///8ef//511//9HAP//wKT///Hn///x5///8ef///Hn//+8n///RwD/
+/66L///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///r4P//b0///2ZF///p3f//8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+MzEvMwAAAADYzMTY//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///i0///bjX/
+/0cA//+SZv//8ef///Hn//+1lv//RwD//7CP///x5///8ef///Hn///x5///8ef//6uI//9HAP//yLD/
+//Hn///x5///8ef///Hn///x5///bTT//1IP///x5///8ef///Hn///v5P//YiT//0wH///p3f//8ef/
+//Hn///x5///8ef//7yf//9HAP//rov///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///5Nj//106//96XP//7uT/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn//Dj2vADAwMDAAAAAJOLhZP/8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///xq3//1wc//9HAP//k2f///Dm///x5///8ef//7WW//9HAP//sI////Hn///x5///8ef/
+//Hn///x5///nXT//0cA///UwP//8ef///Hn///x5///8ef///Hn//+acv//iVn///Hn///x5///8ef/
+/6aB//9HAP//h1b//+HS//+RZf//wKP//+rd///x5///zrj//4FP///Fqv//8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn//9ePP//kXb///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/r6WfrwAAAAAAAAAAOjc0Ov/x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///3Mr//4BO//9HAP//Tgn//6iD///x5///8ef///Hn///x5///uJr/
+/0cA//+edv//8ef///Hn///x5///8ef///Hn//97R///SAL//+vf///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef//+LS//+TZ///SAL//1UT///dzP//qYX//04K//9HAP//TAb//3Q+//+lgP//4ND/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef//+ba///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5/9WUU5W
+AAAAAAAAAAAAAAAA2M3E2P/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5v//x67//35L//9JA///RwD//3dB///byf//8ef/
+//Hn///x5///8ef///Hn///Ru///RwD//00I//96Rf//gE3//4BN//+ATf//dD3//0cA//9qL///8ef/
+//Hn///x5///5NX//8+4///Bpv//rIr//5Bk//9sM///SAL//0cA//9pLv//1MD///Hn///x5///7OD/
+/8Kn//+QY///XR7//0cA//9JA///eUP//7ia///s4P//8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef/7ODW7AgIBwgAAAAAAAAAAAAAAABiXVpi//Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+vf//9nLP//SAH/
+/3lF///Hrf//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//+SZv//Twv//0cA//9HAP//RwD/
+/0cA//9IAf//YCH//8eu///x5///8ef///Hn//+9oP//RwD//0cA//9HAP//SQP//2Up//+MXf//xqz/
+/+/l///x5///8ef///Hn///x5///8ef///Hn///w5v//xav//4FP//9LBv//RwD//7qc///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5/9+eHN+AAAAAAAAAAAAAAAAAAAAAAUFBQXd0cjd
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef//97M///Wwv//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///w5v//7uP//+7j///u4///7uP//+/k///x5///8ef///Hn///x5///8ef///Dl//+ykv//wqb/
+/9S////r3v//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+/+PU//+2l///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/7eDX7REQDxEAAAAA
+AAAAAAAAAAAAAAAAAAAAAEtHRUv/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5/9nYl5nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKeel6f/8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef/wLavwAICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+Dg0MDtrPxtr/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn/+rd1OoaGRgaAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCYkKOvf1ev/8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5//16N71
+Ozg1OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzQyN+/i2e//8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef/9+rg90tHREsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAALiwqLubZ0Ob/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn//Dj2vBAPTpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhkYGsG2r8H/8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5//Qxb3QJyUjJwAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AwMDA3ZwbHb05t30//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5//57OL5
+h4B7hwgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0cGx2ck42c+evi+f/x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5//87+X8qaCZqSgmJSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHBod
+gHl0gNzQyNz/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5//l2M/lioN9iiYkIyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACooJypsZmJsoJeRoMe9tcfl2dDl8+bc8/7w5v7/8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/
+//Hn///x5///8ef//vDm/vTn3vTn29Lny8C4y6SblaRzbWlzMi8tMgICAgIAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgEAAAMAAAABAG4AAAEB
+AAMAAAABACwAAAECAAMAAAAEAABMlgEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAEKAAMAAAABAAEAAAER
+AAQAAAABAAAACAESAAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABACwAAAEXAAQAAAABAABLoAEa
+AAUAAAABAABMhgEbAAUAAAABAABMjgEcAAMAAAABAAEAAAEoAAMAAAABAAIAAAFSAAMAAAABAAEAAAFT
+AAMAAAAEAABMnodzAAcAAAxIAABMpgAAAAAAAACQAAAAAQAAAJAAAAABAAgACAAIAAgAAQABAAEAAQAA
+DEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAA
+AAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJY
+WVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1
+ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJU
+UkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4
+IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAA
+AAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAA
+AAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAA
+AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklF
+QyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2
+MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAA
+AABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAA
+AAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAA
+AAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENS
+VCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABt
+AHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZ
+AeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1
+AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRj
+BHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn
+BjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghG
+CFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrF
+CtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2p
+DcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1
+ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjV
+GPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1w
+HZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKC
+Iq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgN
+KD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4W
+Lkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSe
+NNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuq
+O+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6
+Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2
+VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0n
+XXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmbo
+Zz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6
+cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwh
+fIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4ef
+iASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2
+lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBp
+oNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7Lrun
+vCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4
+yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls
+2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG
+6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH
++lf65/t3/Af8mP0p/br+S/7c/23//9IbD0AloiNCgAWADoAJ0w8nKClGFIAIgA9PEbd2TU0AKgAAqjAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgIoJiQoS0dES3BpZXCclI6cs6qjs8m+tsnj
+187j7ODW7PPn3fP+7+X+/vDm/v/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7v5f706N/07eHY7eXa0OXN
+wbrNuK2muKGYkqF2cGt2U05KUy8tKy8FBAQFAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAABwcGBxIREBI8OTc8V1JPV3FqZnGRioSRpJuVpLatpbbOwrvO2c3E2eTXzuTx
+5Nrx9eje9fns4fn+7+b+/vDm/v/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7v5v757eL59unf9vLl2/Lm
+2dDm28/H28/Evc+7sai7qaCZqZaNiJZ1cGp1XFdTXEI+PEIWFRMWCgkJCgAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAEBAQEJCQgJGhkXGjEvLDGBe3aBs6qjs+DUzOD97+X9//Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn//7v5v7n3NLnu7Kru4uFfos5NTU5Hx0cHwoKCQoCAgICAQEBAQAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAADg0NDiQiISSLg36Lv7Stv+zf1uz36N/3+uzi+v3w5f3/8Of///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///w5//+8OX+++3j+/fq3/fw49rwx721x5iPiZgtKyotExISEwAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQ4
+NTM4YlxZYo2FgI3JvrbJ5djP5fzv5Pz/8Of///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5//98Ob96dzT6dDEvNCUjYiUaWVgaT88Oj8I
+CAYIAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBCAgHCBYVFBZ3
+cW13ua+pufTo3/T/8Ob///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5//57uL5xLqyxIeAe4cc
+GxkcDAsKDAICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEYFxYYZ2FeZ7ivqLjz
+5dzz++3j+//w5v//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8Of//O3k/PXn3fXG
+vLXGdG5pdCMhHyMCAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwsKCx4cGx55c255r6afr+HVzeH9
+7+X9//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7v5v7o
+3dPourCouoZ9eYYmJSMmEA8PEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDHx4cH0VCP0Xc0cfc8+bc8//x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef/+Ovh+OXa0uVWUk5WKCYlKAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAgMxLi0xi4R/i+TX0OT97uT9/vDm/v/x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn//7u5f7t4dbtmZGLmUM/PEMEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgkJChwaGRyJgnyJxLmyxPfq4Pf/8Of///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///w5//77uP7zsO6zpeQiZcmJCImDw4NDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRgXGT47OT7h1svh9ene9f/x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef/+u3j+urf1epRTElRIyEgIwEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODQwOb2lkb9LHv9L87eP8/vDm/v/x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn//3u5P3h1czhfHZwfBgXFhgBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAUFBQVVUUxVo5uUo+7h1+7+8Ob+//Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///w5v/06N70sKigsGdiXWcHBwcHAQEBAQAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAgICAg4ODQ6impOi1crB1f/x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8Ob//+3i///q3///
+7eH//+/k///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef//+7j///q3///7N///+7j///x5///8ef///Hn///w5v//7OD//+vf///r4P//
+8Ob///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef/4dbN4bevqLcUExIUBAQEBAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAIyEgI1JNS1Lv4djv/O7k/P/x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5v//49P//7eY//+QYv//
+t5j//9XB///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef//76h//+NXv//pYD//8y1///x5///8ef///Hn///r4P//pH3//5lv//+bcP//
+69////Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//u/l/vPk2vNqZWJqMS4tMQAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAACAgICS0dES5qTjZr56uH5//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///r4P//sI3//4lZ//9rMv//
+spH//9S////x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+nd///f0P//0Lr//864///OuP//
+zrj//864///OuP//zrj//5px//9oLf//gU///6mF///OuP//zrj//864///Jsf//fkv//3U9//91P///
+ybD//864///OuP//zrj//864///OuP//zrj//9zL///s3///8Ob///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//rs4vqvpp+vWVVQWQgIBwgAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAALCgoLdW5qdeHVzOH97+X9//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+7j///j1P//eET//10d//9PCv//
+r43//9C6///r3///69///+vf///r3///69///+vf///r3///69///+vg///s4P//8Of///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+DQ///Mtf//p4P//6WA//+lgP//
+pYD//6WA//+lgP//pYD//3dB//9KBP//YST//4RT//+lgP//pYD//6WA//+gef//XyH//1UU//9WF///
+oHj//6WA//+lgP//pYD//6WA//+lgP//pYD//8Sp///k1P//8Ob///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7w5v7v4tnvgnx3ghYVFRYBAQEBAAAAAAAAAAAA
+AAAAAAAAAAUFBQVXU1BXrKOdrP3w5f3/8Of///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//8iw//+acf//Twr//04K//9XF///
+lmv//5x0//+edv//nnb//552//+edv//nnb//552//+edv//nnb//6B4//+ogv//7OD///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//8y1//+hev//UxD//00I//9NCP//
+TQj//00I//9NCP//TQj//0oE//9HAP//SQL//0sF//9NCP//TQj//00I//9NCP//SAH//0gB//9IAP//
+TQj//00I//9NCP//TQj//00I//9NCP//TQj//5Bi///UwP//7+T///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5//+8Ob+u7Gpu3FrZnEHBwYHAAAAAAAAAAAA
+AAAAAAAAAAkJCAmUjIeUzsO7zv/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///u5P//0Ln//593//9tNv//SgP//0oE//9PDP//
+bTT//283//9vN///bzf//283//9vN///bzf//283//9vN///bzf//3Q8//+AS///6d3///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//97N///Hrv//n3b//5xy//+ccv//
+nHL//5xy//+ccv//nHL//3I6//9LBP//XiD//35K//+ccv//nHL//5xy//+YbP//XB3//1QS//9VFP//
+mGv//5xy//+ccv//nHL//4lY//9zPP//SgP//4xd///Tvv//7+T///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/2s/G2qqim6oPDg0PAgICAgAAAAAA
+AAAAAQEBARAQDxDNw7rN7ODW7P/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//+/k///o2v//p4T//3ZA//9KAv//Twz//1AM//9RDf//
+UQ3//1EN//9RDf//UQ3//1EN//9RDf//UQ3//04I//9KA///RwD//1AM//9iJf//59r///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///v5f//7OD//+vf///r3v//
+697//+ve///r3v//697//5tx//9NCP//dT7//7GQ///r3v//697//+ve///j0///cDj//2Ej//9jJf//
+4tL//+ve///r3v//697//8et//+cdf//TQf//4xd///Tvv//7+T///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5v//8Of///Dn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/9unf9t/Tyt8bGxgbBwcGBwAAAAAA
+AAAAGxoYG0M/PEPx49rx/u/m/v/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//9G6//+phf//VRH//1cW//9nLP//ybL//9bD///cy///
+3Mv//9zL///cy///3Mv//9zL///cy///2cf//6R///9tNP//SQP//3xG//+0k///7eH///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///t4v//tpX//62K//+ohP//
+qIT//6iE//+ohP//qIT//3hD//9KBP//YSX//4ZW//+ohP//qIT//6iE//+jff//YCH//1YU//9WF///
+o3z//6iE//+ohP//qIT//5Jm//96RP//SgT//4xd///Tvv//7+T///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//+7j///q4P//7uH//+/k///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//Tl3PRbV1RbKSYlKQAAAAAA
+AAAAMzAuM29qZW/26N72//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///t4v//xqv//552//93Qf//WRr//31K//+mg///4dH//+jb///r3///
+69///+vf///r3///69///+ve///n2f//tpf//4hY//9eH///czz//6R+///Vwf//7+T///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Dl///n2f//glD//3pE//94Q///
+fUn//31J//99Sf//fUn//2Il//9IAv//VRX//2kv//99Sf//fUn//31J//97Rf//VBP//08M//9QDP//
+ekX//31J//99Sf//fUn//3M7//9mK///UQz//5Fj///UwP//7+T///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//9zO///Esv//pY7//8e1///r4P//8Ob///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//jp4PiJg32JQT47QQAAAAAA
+AAAAS0dES52Wj5356uH5//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///w5///8OX//+zg///i0///lWj//2wy//9LBf//bTT//6mG///k1f//7+X///Dm///w5v//
+8Ob///Dm///w5v//8Ob//+vf///g0P//hlb//2Yq//9SD///oXv//8y1///w5v//8Ob///Dm///w5v//
+8Of///Dn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+3i///fz///UxD//04K//9UEf//
+XyD//2Ah//9fIf//YCD//1MQ//9HAP//Twv//1gW//9gIf//YCH//2Ah//9eH///Tgj//0oE//9LBf//
+Xh///2Ah//9gIf//YCH//2Ah//9gIf//YCH//5py///XxP//7+X///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//829//+jjP//Yj///5uC///Zzf//7uP///Dm///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//vs4/u4rqe4WlVSWgAAAAAA
+AAAAamRgatbLwtb97uX9//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///v5f//383//6qH//90P///Twr//1kZ//9uNv//0bz//+HS///r4P//7N///+zg///s4P//
+7OD//+zg///s3///6Nv//7WV//9/TP//Twr//3I6//+edv//4tL//+rd///s4P//7OD//+zg///s4P//
+7eD//+/j///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//9/P///Fq///Twv//3Q8//+kf///
+49T//+fa///m2f//28j//5Bk//9LBf//gE7//7WX///n2v//59r//+fa///fz///cDj//2Aj//9iJf//
+3s7//+fa///n2v//59r//+fa///n2v//59r//+vf///w5P//8Of///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//+/k///n2v//l4D//3NU//9cOf//0cH//+XZ///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7v5v7s4dfsd3FsdwMDAwMM
+CwsMe3Vwe+zg1uz+7+b+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef//+7j///m2P//nHT//3lF//9bHP//WBb//1gW//9cHP//j2T//5Zt//+ZcP//mXD//5lw//+ZcP//
+mXD//5lw//+Zb///l27//3xJ//9fIv//SQL//10d//90P///l2z//5lw//+ZcP//mXD//5lw//+acf//
+pX///8uz///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//9bC//+zk///Tgn//2wy//+Uaf//
+vaH//8Cl//+/pP//s5H//3xI//9KBP//dT///5x0///Apf//wKX//8Cl//+5nf//Zin//1oa//9bG///
+uZz//8Cl///Apf//wKX//8Cl///Apf//wKX//8Cl///CqP//387//+nc///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///u5P//xrX//5+H//98X///jHD//7Wg///f0f//
+7+X///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5//36+D3iYJ8iRsaGRsb
+GRgbjYV/jf7x5/7/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef//+zf///dy///YiT//1QR//9QDf//azL//1ob//9HAP//SgP//0oF//9LBv//Swb//0sG//9LBv//
+Swb//0sE//9KA///RwD//0kB//9KA///Swb//0sG//9LBv//Swb//0sG//9LBv//Swb//0oD//9KA///
+Xh///6iE///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//822//+jff//UAv//2Ml//99SP//
+jV7//45f//+NXv//fUr//2El//9JA///aC3//3xH//+OX///jl///45f//+LW///WBb//1IO//9TEP//
+ilr//45f//+OX///jl///45f//+OX///jV7//4xd//+PYv//yrP//9/Q///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//9LC//+rlf//USv//4Vo///Csf//
+69///+/l///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/mpKNmjUzMjVA
+PTtAn5eRn//x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///r4P//sY///7GQ//+2lv//uZn//4BN//9KA///bjb//35L//+LXP//i1z//4tc//+LXP//
+i1z//35K//9tNv//SgP//10e//90Pv//ilr//4tc//+LXP//i1z//4tc//+LXP//i1z//3A3//9VE///
+XyD//6iE///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//8u0//+hfP//cz3//3E6//9yPP//
+cz7//3I8//9uN///Tgf//0sE//9NB///bjf//3I8//9zPv//cz7//3M+//9xO///UhD//04K//9PCf//
+cDv//3M+//9zPv//cz7//3M+//9yPf//aC7//1ka//9SEP//uJf//9jE///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+/l///p3v//vKn//4Fk//9QK///
+s57//9XG///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/rqWdrl1YU11W
+Uk5WqqGaqv/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///v5P//07///9S////Vwf//wKP//4JR//9MBv//jV///6mF///ApP//wKT//8Ck///ApP//
+wKT//6aB//+IWf//SwX//3E4//+ddP//vaH//8Ck///ApP//wKT//8Ck///ApP//wKT//49i//9gIP//
+XyH//6iE///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//97O///Ksv//spP//7GR//+wkP//
+ro3//5No//92QP//SgT//14f//95Rf//rYv//7GR//+xkf//sZH//7GR//+rif//YyX//1gX//9ZGP//
+q4n//7GR//+xkf//sZH//7GR//+ujf//jV7//2gt//9PCv//vqL//9vJ///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///v5f//28z//7Gb//+Ibf//
+f2D//6OM///Mu///7uT///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/ua+nuXJsZ3Jq
+ZWFqtKuktP/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///t4///wqX//4JR//9OCP//qYf//9C7///x5///8ef///Hn///x5///
+8ef//8uz//+ed///TQf//4NR///Dp///7eP///Hn///x5///8ef///Hn///x5///8ef//62K//9oLf//
+YCH//6iE///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5///8OX//+3j///r3///
+4NH//6+N//97R///Tgn//3hD//+qh///7OH///Hn///x5///8ef///Hn///o2///czv//2Il//9kJ///
+59r///Hn///v5f//6t7//+nd///l2P//rYj//3lC//9RDP//yLH//+HR///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+LV///Juf//
+WDX//3ZX//+hiP//5dr//+3j///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/w7mxw4aAeoZ8
+dnB8vbOrvf/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///t4///wqX//4JR//9OCP//qYf//9C7///x5///8ef///Hn///x5///
+8ef//8Sq//+SZ///TAb//4lZ///Ntf//7uT///Hn///x5///8ef///Hn///x5///8ef//62K//9oLf//
+YCH//6iE///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///v5f//383//8Gl//+gef//
+ZCX//1US//9PCv//hFP//7mb///s3///8Ob///Hn///x5///8ef///Hn///o2///czv//2Il//9kJ///
+59r//+7j///l1///jV7//4VT//+ATf//WBn//1ka//9mKv//49P//+7j///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Dm///u4///
+1cb//5V7//9aNv//jHL//8Cu///w5v//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/zMC5zJiPipiE
+fXeEwbevwf/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///t4///wqX//4JR//9OCP//qYf//9C7///x5///8ef///Hn///x5///
+8ef//72g//+EU///SwX//5Bi///axv//7+X///Hn///x5///8ef///Hn///x5///8ef//62K//9oLf//
+YCH//6iE///x5///8ef///Hn///x5///8ef///Hn///w5f//4dH//8Wr//+phP//kmf//4JR//9yO///
+ZCb//3Q8//+HV///u53//9fE///w5v//8ef///Hn///x5///8ef///Hn///q3v//lGj//4dX//+IWf//
+6t3//+/l///o2v//lWr//41e//+JWv//f03//5Bk//+mg///693///Dl///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5v//
+6Nz//8Kv//+agP//dFb//5Z9//++q///7eP///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/0MS80KCXkaCK
+g32KxLqyxP/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///t4///wqX//4JR//9NCP//p4T//822///s4f//7OH//+zh///s4f//
+7OH//7KS//91Pv//SgT//5Ro///g0f//7OD//+zh///s4f//7OH//+zh///s4f//7OH//6mH//9nLP//
+YCH//6iE///x5///8ef///Hn///x5///8ef///Hn///v5P//0r3//5pw//9iJf//Twn//0sF//9LBf//
+bDL//5Np//+8oP//5Nb//+fa///n2v//59r//+fa///n2v//59r//+fa///j1f//roz//6eC//+og///
+49T//+fa///i1P//oHn//5hu//+Va///rYn//8qz///o2///8Ob///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef//+vg///cz///Y0H//3BS//+OdP//6t////Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/08e/06adl6aK
+g32KxLqyxP/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///t4///wqX//4JR//9LBf//hlT//552//+zkv//s5L//7OS//+zkv//
+s5L//4VU//9WFf//Tgn//4BM//+ykf//s5L//7OS//+zkv//s5L//7OS//+zkv//s5L//4hX//9dHf//
+XyD//6iE///x5///8ef///Hn///x5///8ef///Hn///w5///7uH//7qc//+IWf//mXD//39M//9jJv//
+XyD//2Aj//9jJv//Zir//2Yq//9mKv//Zir//2Yq//9mKv//Zir//2Yq//9mKv//YiT//2Ek//9hJP//
+Zir//2Yq//9mKv//YSP//2Ej//9lKf//sI///9O+///w5v//8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef//9vN//+8qP//SiX//3te//+4pP//7eP///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/08e/06adl6aD
+fXeDwbevwf/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///t4///wqX//4JR//9JAv//ZSn//3E5//96Rv//ekb//3pG//96Rv//
+ekb//2Qo//9OCv//SgT//2Il//96Rv//ekb//3pG//96Rv//ekb//3pG//96Rv//ekb//2Uq//9SEP//
+Xx///6iE///x5///8ef///Hn///x5///8ef///Hn///x5///8OX//9bD//++of//x6///5hv//9oLv//
+VBL//2Ej//9uNf//bjX//241//9uNf//bjX//241//9uNf//bjX//241//9uNf//bjX//241//9uNf//
+bjX//241//9uNP//ZSr//1sc//9XGP//rIj//9G8///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///v5f//
+08P//6qT//+CZf//hGj//6yW///Wx///7+X///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/z8S8z5+XkZ98
+dW98vbOrvf/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///u4///xKj//4hX//9PCv//Twr//08K//9PCv//Twr//08K//9PCv//
+SgT//0gC//9HAP//TQj//00H//9MB///RwD//0oD//9MBv//Twr//08K//9PCv//Twr//08K//9RDP//
+ZCj//6uI///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//6+O//9rMf//
+TQj//2ku//+HV///h1f//4dX//+HV///h1f//4dX//+GVv//glH//4NT//+EVP//h1f//4dX//+HV///
+h1f//4dX//+GVf//dD3//10e//9NCP//qIP//8+5///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+7k///n3P//
+rZn//3pc//9TLv//wrD//93Q///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/zMC5zJiPiphq
+ZWFqtKuktP/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///w5v//49T//9G8///Apf//wKX//8Cl///Apf//wKX//8Cl//+7nv//
+e0b//14g//9NB///nHX//5tz//+QZf//TAb//20z//+Vav//vaH//8Cl///Apf//wKX//8Cl///Apf//
+yK7//9zK///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//6+O//9sMf//
+UhL//552///q3f//6t3//+rd///q3f//6t3//+PU///axv//p4P//7eX///Msv//6Nv//+rd///q3f//
+6t3//+rd///n2f//up3//39N//9NCP//qIP//8+5///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//8m4//+bg///
+VS///45y///Ovv//7OH//+/l///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/w7mxw4aAeoZW
+UU5WqqGaqv/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///w5v//7N///+TU///cy///3Mv//9zL///cy///3Mv//9bD///Jsv//
+azD//1wc//9bG///xKr//7mc//+hfP//TQj//3Y+//+ngv//2cb//9zL///cy///3Mv//9zL///cy///
+38///+jb///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//6+O//9sMf//
+UxL//6F7///x5///8ef///Hn///x5///8ef//+LS///Ntv//fEj//5Zt//+7nv//7eL///Hn///x5///
+8ef///Hn///t4v//wKT//4FQ//9NCP//qIP//8+5///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///t4v//v6z//5qB//96XP//
+knj//7uo///k1///8Ob///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/ua+ouXJsaHJA
+PTtAn5eRn//x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8Ob//+HR///Jsv//
+WBb//1sb//9wN///59j//9K9//+ujf//Tgn//3xH//+0lf//7eH///Hn///x5///8ef///Hn///x5///
+8ef///Dm///v5f//7+X///Dm///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//6+O//9sMf//
+UxL//6F7///x5///8ef///Hn///x5///8ef//9jG//+4mv//Tgr//3U+//+ohP//7OD///Hn///x5///
+8ef///Hn///t4v//wKT//4FQ//9NCP//qIP//8+5///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8Of//+vh///h1P//iW3//3FQ//9nRf//
+2Mr//+nd///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/rqWdrl1YU10b
+GRgbjYV/jf7x5/7/8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5v//7eD//6yK//9rMv//
+SQT//4RT///Eqf//7eP//9K///+ujf//Tgn//3xH//+0lf//7eH///Hn///x5///8ef///Hn///x5///
+8ef//+ja///fzf//387//+ja///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//6+O//9sMf//
+UxL//6F7///x5///8ef///Hn///x5///8ef//8mw//+acf//TQf//4NQ///Cpf//7eP///Hn///x5///
+8ef///Hn///t4v//wKT//4FQ//9NCP//qIP//8+5///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5///7eD//7Kc//93WP//aUj//6SN///h1P//
+7+X///Dm///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/mpKNmjUzMjUM
+DAsMe3Vxe+zh1+z+7+b+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef//+7i///m2P//sY7//4JQ//9XGP//
+bDL//6V////ezP//7+X//9O///+ujf//Tgn//3xH//+0lf//7eH///Hn///x5///8ef///Hn///x5///
+8ef//9rJ///Apv//lWr//7eZ///fzv//7+X///Hn///x5///8ef///Hn///x5///8ef//6+O//9sMf//
+UxL//6F7///x5///8ef///Hn///x5///8Ob//7iZ//98Sf//Tgf//49i///Wwv//7+X///Hn///x5///
+8ef///Hn///t4v//wKT//4FQ//9NCP//qIP//8+5///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//+7k///n2v//qJP//4xy//94Wv//p5H//8u8///u4v//
+8Of///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5//46+H4iYJ9iRsaGRsA
+AAAAamRgatbLwtb97uX9//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5///7+P//+PV///Svv//czv//1wc//9RDP//
+k2j//8Sq///x5///8ef//9O///+ujf//Tgn//3xH//+0lf//7eH///Hn///x5///8ef///Hn///x5///
+8ef//863//+kf///TQj//4hY///MtP//7uT///Hn///x5///8ef///Hn///x5///8ef//7GQ//9uNv//
+Vxb//6N9///x5///8ef///Hn///w5v//7N///6aA//9fIP//UQ7//5x0///p3f//69///+3h///v4///
+7+b///Dm///t4///waX//4RT//9SDP//qYX//9C6///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//+bb///Uxf//aEf//3JR//+Ibf//6dz///Dl///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7v5v7s4dfsd3FsdwMDAwMA
+AAAAS0dES52Wj5356uH5//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///u5P//zLT//5dt//9jJv//SwX//2wy//+UaP//
+5Nf//+3i///x5///8ef//9O///+ujf//Tgn//3xH//+0lf//7eH///Hn///x5///8ef///Hn///x5///
+8ef//8iu//+Zbv//TAf//41f///Vwv//7+T///Hn///x5///8ef///Hn///x5///8ef//8Sr//+Wbf//
+h1X//7ud///x5///8ef///Hn///s4f//r43//3lF//9NB///f0z//7KS///cy///nHT//62K///Fqv//
+6dv//+7i///u5P//0Ln//6WA//+CUf//vqL//9rH///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//6yX//9pSf//i2///7uo///q3///7+b///Dn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//vs4/u4rqe4WlVSWgAAAAAA
+AAAAMzAuM3BqZnD26N72//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///w5v//6Nr//9C6//+2l///iVv//201//9XFf//dj7//510///Fq///
+7eL///Dm///x5///8ef//9TA//+wj///Tgn//3dB//+sif//7OH///Hn///x5///8ef///Hn///x5///
+8ef//7+i//+IWP//TAb//5No///h0f//7+X///Hn///x5///8ef///Hn///x5///8ef//9vK///ErP//
+vqD//9fD///w5v//697//9bC//+9of//fEj//2Ml//9VEv//q4j//7ue///ApP//dT///3lF//+EVP//
+mnD//6eC//+zk///uZz//7WW//+zk///2cX//+bX///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//8q5//+kjf//v6z//9nK///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//jp4PiKg36KQj48QgAAAAAA
+AAAAGxoYG0M/PEPx49rx/u/m/v/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///w5///7+P//+vg///o2///1MD//6iE//95Rv//TQj//1AM//9cHP//qIL//8+4///x5///
+8ef///Hn///x5///8ef//9bC//+zk///Tgn//3A3//+edv//5Nb//+rd///q3f//6t3//+rd///q3f//
+6dz//7GP//91P///TQj//5ty///t4P//8Of///Hn///x5///8Ob//+/l///u5P//7uP//+3i///s4P//
+6+D//+re///n2///2cb//7OT//+KW///Tgr//1MR//9lKf//18P//8es//+phP//XR///1MR//9QCv//
+UAz//2Ik//90QP//nXT//7ud///XxP//6Nz//+vg///u4v//7+f///Dn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//+zh///o3P//8Ob///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//Tl3PRbV1RbKSYlKQAAAAAA
+AAAAAQEBARAQDxDNw7rN7ODW7P/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///u4///zbX//6iD//+DUP//VRT//04K//9OB///cTr//6N9///TwP//697//+7k///x5///
+8ef///Hn///x5///8ef//+DQ///Hrv//Twv//00H//9VE///f0v//4RT//+HV///h1f//4dX//+GVv//
+fUn//2Mm//9MBv//Ziv//6yK///w5v//8ef///Hn///w5v//5tf//9zI///Ruv//xav//7qd//+vjf//
+mG///4VV//9zO///VBL//08L//9OCP//ZSr//5pw///OuP//7eL//+7j///s4P//4tP//863//+3mf//
+jmH//3U///9eHv//Tgr//1AM//9WE///fkr//592//+/pP//6tv//+/j///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5v//8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/9unf9t/Tyt8bGxgbBwcGBwAAAAAA
+AAAAAAAAAAkJCAmUjIeUzsO7zv/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Dl///p2v//nHX//31K//9jJv//YST//3Q9//+KWv//sZD//822///n2f//8Ob///Hn///x5///
+8ef///Hn///x5///8ef//+nc///Zx///dT3//14e//9QC///XiH//2El//9jJ///Yyf//2Mn//9iJv//
+XyD//1kY//9YFf//lGr//8Sr///x5///8ef///Hn///v5P//0r7//62M//+LXP//hFP//35M//94RP//
+bTT//2ox//9oLv//ai///3hD//+JWf//qob//8eu///j1P//8Ob///Hn///w5///7+P//+PV///Yxf//
+waf//7OU//+lf///iFj//3U///9lKf//YiX//3A5//+FVP//zbf//+LS///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef/2s/G2qqimqoPDg4PAgICAgAAAAAA
+AAAAAAAAAAUFBQVXU1BXrKOdrP3w5f3/8Of///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef//+/k///k1f//dkH//18h//9UEf//fkv//6aA///NtP//7uT///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///r3///nnb//3lD//9aGP//UQ///1EO//9RDv//UQ7//1EO//9RDv//
+Ug///10e//9vNv//xKn//93M///x5///8ef///Hn///u4///xKj//4hW//9OCf//Twr//1AK//9QDP//
+Uw///2Ei//9xOP//kGP//66L///Ms///7eL///Dm///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///t4v//y7P//6iE//+FVf//WBf//1IO//9VE///t5f//9fE///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5//+8Ob+u7Gpu3FrZnEHBwYHAAAAAAAAAAAA
+AAAAAAAAAAAAAAALCgoLdW5qdeHVzOH97+X9//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///u5P//2cT//9K8///PuP//59v//+zg///v4///8Of///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///w5v//7OD//+jc///l2P//5NX//+TV///k1f//5NX//+TV///k1f//
+5db//+fY///o3P//7uL//+/l///x5///8ef///Hn///w5///7eH//8u1//+siv//uZv//8Ko///Ntv//
+38///+XW///o2///6t7//+zg///v4///7+f///Dn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///w5///7+P//+zg///p3P//2sj//8Sr//+zlP//6dz//+/k///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7w5v7v4tnvgnx3ghYVFRYBAQEBAAAAAAAAAAAA
+AAAAAAAAAAAAAAADAwMDTEhFTJqTjJr56uH5//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///w5v//6Nr//+XX///k1f//8Ob///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///v5v//8OX//+/l///v5f//7+X//+/l///w5f//
+7+X///Dm///x5///8ef///Hn///x5///8ef///Hn///x5///8Ob//+DR///Rvf//2cX//97M///i1P//
+7uH//+/k///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///w5v//697//97O///Vwv//7+T///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//rs4vqvpqCvWVVSWQkICAkAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAIyEgI1JNS1Lv4djv/O7k/P/x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef//u/l/vPk2vNqZWJqMS4tMQAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAgICAg4ODQ6impOi1crB1f/x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef/4dbN4bevqLcUExIUBAQEBAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAUFBQVWUE1WpJuUpO7h2O7+8Ob+//Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///w5v/16N/1saehsWdhXmcHBwcHAQEBAQAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODQwObmlkbtLHv9L77eP7/vDm/v/x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn//3u5P3h1czhfHZwfBgXFhgBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRgXGT47OT7h1svh9ene9f/x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef/+u3j+urf1epRTElRIyEgIwEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgkJChwaGRyJg32JxLqyxPfr4Pf/8Of///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///w5//77+T7zsK6zpePiZcnJCMnDw4ODwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAgMxLi0xi4R/i+TX0OT97uT9/vDm/v/x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn//7u5f7t4dbtmZGLmUM/PEMEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDHx4cH0VCP0Xc0cfc8+bc8//x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef/+Ovh+OXa0uVWUk5WKCYlKAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwsKCx4cGx55c255sKefsOHWzeH+
+7+X+//Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7v5v7p
+3dPpubCouYV9eIUmJiMmEBAPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEYFxYYZ2FeZ7mvqLnz
+5dzz++3j+//w5v//8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8Of//O3k/PXn3fXG
+vLXGdG5pdCMhHyMCAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBCAgHCBYVFBZ3
+cW13ua+pufTo3/T/8Ob///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5//57uL5xLqyxIeAe4cc
+GxocDAsLDAICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQUFBQU4
+NTM4YlxZYoyFgIzKvrbK5djP5fzv5fz/8Of///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5//+8Ob+6dzT6dDFvNCVjYeVa2Vha0A8O0AI
+CAcIAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAADg0NDiQiISSLg36Lv7Stv+zf1uz36N/3+uzi+v3w5f3/8Of///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///w5//+8OX+++3j+/fq3/fw49rwx721x5iPiZgtKyotExISEwAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAEBAQEJCQgJGhkXGjEvLDGBe3aBs6qjs+DUzOD97+X9//Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn//7v5v7n3NLnu7Kru4uFfos5NTU5Hx0cHwoKCQoCAgICAQEBAQAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAABwcGBxMREBM8Ojc8V1NPV3FqZnGSi4WSpp2WpriuprjOwrvO2c3F2eTYz+Tx
+5Nvx9enf9fnt4vn/8Of///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///w5//67eP69ung9vLl3fLm
+2tDm3NDH3NDEvdC7sam7qaCZqZeNiJd2cGt2XFhUXEI/PUIWFRQWCgkJCgAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgIoJiUoS0dFS3BpZXCclI6cs6qjs8m/t8nj
+187j7ODW7PPn3fP+7+X+/vDm/v/x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///
+8ef///Hn///x5///8ef///Hn///x5///8ef///Hn///x5///8ef///Hn//7v5f706N/07eHY7eXa0OXN
+wbrNuK2muKGYkqF2cGx2U05LUy8tKy8FBAQFAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+EgEAAAMAAAABAKUAAAEBAAMAAAABAEIAAAECAAMAAAAEAACrHgEDAAMAAAABAAEAAAEGAAMAAAABAAIA
+AAEKAAMAAAABAAEAAAERAAQAAAABAAAACAESAAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABAEIA
+AAEXAAQAAAABAACqKAEaAAUAAAABAACrDgEbAAUAAAABAACrFgEcAAMAAAABAAEAAAEoAAMAAAABAAIA
+AAFSAAMAAAABAAEAAAFTAAMAAAAEAACrJodzAAcAAAxIAACrLgAAAAAAAADYAAAAAQAAANgAAAABAAgA
+CAAIAAgAAQABAAEAAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAA
+AElFQyBzUkdCAAAAAAAAAAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAA
+FGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAA
+cGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAA
+JHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29w
+eXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElF
+QzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAk
+oAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0
+dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+AAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+AAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4g
+SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYx
+OTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQT
+CwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUA
+SgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA
+4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoB
+oQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqIC
+rAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kE
+BgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYF
+tQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wH
+vwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEK
+Jwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQ
+JhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QT
+xRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X
+0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCoc
+Uhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwh
+SCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocm
+tyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4s
+oizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQz
+DTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
++To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlB
+akGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1J
+Y0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR
+5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa
+9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBk
+lGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4Sbmtu
+xG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5
+iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE
+44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPed
+ZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyq
+j6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4
+WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbG
+w8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V
+0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5Pzl
+hOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD1
+3vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23//9ItLklKXk5TTXV0YWJsZUFycmF5o0k0
+MtVMTU5PD1BRUlNUV05TV2hpdGVcTlNDb21wb25lbnRzXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+b3JTcGFjZUQwIDAAQzAgMBADgBKAFdRWV1gPWVpbXFROU0lEVU5TSUNDV05TTW9kZWwQCYATEACAFE8R
+EZwAABGcYXBwbAIAAABtbnRyR1JBWVhZWiAH3AAIABcADwAuAA9hY3NwQVBQTAAAAABub25lAAAAAAAA
+AAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAVkZXNjAAAAwAAAAHlkc2NtAAABPAAACBpjcHJ0AAAJWAAAACN3dHB0AAAJfAAA
+ABRrVFJDAAAJkAAACAxkZXNjAAAAAAAAAB9HZW5lcmljIEdyYXkgR2FtbWEgMi4yIFByb2ZpbGUAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAfAAAADHNrU0sAAAAuAAABhGRhREsAAAA6AAABsmNh
+RVMAAAA4AAAB7HZpVk4AAABAAAACJHB0QlIAAABKAAACZHVrVUEAAAAsAAACrmZyRlUAAAA+AAAC2mh1
+SFUAAAA0AAADGHpoVFcAAAAaAAADTGtvS1IAAAAiAAADZm5iTk8AAAA6AAADiGNzQ1oAAAAoAAADwmhl
+SUwAAAAkAAAD6nJvUk8AAAAqAAAEDmRlREUAAABOAAAEOGl0SVQAAABOAAAEhnN2U0UAAAA4AAAE1Hpo
+Q04AAAAaAAAFDGphSlAAAAAmAAAFJmVsR1IAAAAqAAAFTHB0UE8AAABSAAAFdm5sTkwAAABAAAAFyGVz
+RVMAAABMAAAGCHRoVEgAAAAyAAAGVHRyVFIAAAAkAAAGhmZpRkkAAABGAAAGqmhySFIAAAA+AAAG8HBs
+UEwAAABKAAAHLmFyRUcAAAAsAAAHeHJ1UlUAAAA6AAAHpGVuVVMAAAA8AAAH3gBWAWEAZQBvAGIAZQBj
+AG4A4QAgAHMAaQB2AOEAIABnAGEAbQBhACAAMgAsADIARwBlAG4AZQByAGkAcwBrACAAZwByAOUAIAAy
+ACwAMgAgAGcAYQBtAG0AYQAtAHAAcgBvAGYAaQBsAEcAYQBtAG0AYQAgAGQAZQAgAGcAcgBpAHMAbwBz
+ACAAZwBlAG4A6AByAGkAYwBhACAAMgAuADIAQx6lAHUAIABoAOwAbgBoACAATQDgAHUAIAB4AOEAbQAg
+AEMAaAB1AG4AZwAgAEcAYQBtAG0AYQAgADIALgAyAFAAZQByAGYAaQBsACAARwBlAG4A6QByAGkAYwBv
+ACAAZABhACAARwBhAG0AYQAgAGQAZQAgAEMAaQBuAHoAYQBzACAAMgAsADIEFwQwBDMEMAQ7BEwEPQQw
+ACAARwByAGEAeQAtBDMEMAQ8BDAAIAAyAC4AMgBQAHIAbwBmAGkAbAAgAGcA6QBuAOkAcgBpAHEAdQBl
+ACAAZwByAGkAcwAgAGcAYQBtAG0AYQAgADIALAAyAMEAbAB0AGEAbADhAG4AbwBzACAAcwB6APwAcgBr
+AGUAIABnAGEAbQBtAGEAIAAyAC4AMpAadShwcJaOUUlepgAyAC4AMoJyX2ljz4/wx3y8GAAg1ozAyQAg
+rBC5yAAgADIALgAyACDVBLhc0wzHfABHAGUAbgBlAHIAaQBzAGsAIABnAHIA5QAgAGcAYQBtAG0AYQAg
+ADIALAAyAC0AcAByAG8AZgBpAGwATwBiAGUAYwBuAOEAIAFhAGUAZADhACAAZwBhAG0AYQAgADIALgAy
+BdIF0AXeBdQAIAXQBeQF1QXoACAF2wXcBdwF2QAgADIALgAyAEcAYQBtAGEAIABnAHIAaQAgAGcAZQBu
+AGUAcgBpAGMBAwAgADIALAAyAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAEcAcgBhAHUAcwB0AHUAZgBl
+AG4ALQBQAHIAbwBmAGkAbAAgAEcAYQBtAG0AYQAgADIALAAyAFAAcgBvAGYAaQBsAG8AIABnAHIAaQBn
+AGkAbwAgAGcAZQBuAGUAcgBpAGMAbwAgAGQAZQBsAGwAYQAgAGcAYQBtAG0AYQAgADIALAAyAEcAZQBu
+AGUAcgBpAHMAawAgAGcAcgDlACAAMgAsADIAIABnAGEAbQBtAGEAcAByAG8AZgBpAGxmbpAacHBepnz7
+ZXAAMgAuADJjz4/wZYdO9k4AgiwwsDDsMKQwrDDzMN4AIAAyAC4AMgAgMNcw7TDVMKEwpDDrA5MDtQO9
+A7kDugPMACADkwO6A8EDuQAgA5MDrAO8A7wDsQAgADIALgAyAFAAZQByAGYAaQBsACAAZwBlAG4A6QBy
+AGkAYwBvACAAZABlACAAYwBpAG4AegBlAG4AdABvAHMAIABkAGEAIABHAGEAbQBtAGEAIAAyACwAMgBB
+AGwAZwBlAG0AZQBlAG4AIABnAHIAaQBqAHMAIABnAGEAbQBtAGEAIAAyACwAMgAtAHAAcgBvAGYAaQBl
+AGwAUABlAHIAZgBpAGwAIABnAGUAbgDpAHIAaQBjAG8AIABkAGUAIABnAGEAbQBtAGEAIABkAGUAIABn
+AHIAaQBzAGUAcwAgADIALAAyDiMOMQ4HDioONQ5BDgEOIQ4hDjIOQA4BDiMOIg5MDhcOMQ5IDicORA4b
+ACAAMgAuADIARwBlAG4AZQBsACAARwByAGkAIABHAGEAbQBhACAAMgAsADIAWQBsAGUAaQBuAGUAbgAg
+AGgAYQByAG0AYQBhAG4AIABnAGEAbQBtAGEAIAAyACwAMgAgAC0AcAByAG8AZgBpAGkAbABpAEcAZQBu
+AGUAcgBpAQ0AawBpACAARwByAGEAeQAgAEcAYQBtAG0AYQAgADIALgAyACAAcAByAG8AZgBpAGwAVQBu
+AGkAdwBlAHIAcwBhAGwAbgB5ACAAcAByAG8AZgBpAGwAIABzAHoAYQByAG8BWwBjAGkAIABnAGEAbQBt
+AGEAIAAyACwAMgY6BicGRQYnACAAMgAuADIAIAZEBkgGRgAgBjEGRQYnBi8GSgAgBjkGJwZFBB4EMQRJ
+BDAETwAgBEEENQRABDAETwAgBDMEMAQ8BDwEMAAgADIALAAyAC0EPwRABD4ERAQ4BDsETABHAGUAbgBl
+AHIAaQBjACAARwByAGEAeQAgAEcAYQBtAG0AYQAgADIALgAyACAAUAByAG8AZgBpAGwAZQAAdGV4dAAA
+AABDb3B5cmlnaHQgQXBwbGUgSW5jLiwgMjAxMgAAWFlaIAAAAAAAAPNRAAEAAAABFsxjdXJ2AAAAAAAA
+BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCL
+AJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQEr
+ATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIM
+AhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4
+A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2
+BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaM
+Bp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+
+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtR
+C2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGq
+EckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4
+FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3
+Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5q
+HpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOU
+I8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4
+KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9a
+L5Evxy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9
+Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTO
+RRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0C
+TUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC
+Vg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8P
+X2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjs
+aUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNd
+c7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5i
+fsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+
+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMG
+o3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1
+sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6E
+vv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01
+zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK
+3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG
+7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p
+/br+S/7c/23//9ItLl9gXE5TQ29sb3JTcGFjZaJhMlxOU0NvbG9yU3BhY2XSLS5jZFdOU0NvbG9yomMy
+0i0uZmdXTlNJbWFnZaJmMgAAAAgAAAARAAAAGgAAACQAAAApAAAAMgAAADcAAABJAAAATAAAAFEAAABT
+AAAAbQAAAHMAAACAAAAAhwAAAJYAAACdAAAAqgAAALEAAAC5AAAAuwAAAL0AAAC/AAAAxAAAAMYAAADI
+AAAA0QAAANYAAADhAAAA5QAAAOcAAADpAAAA6wAAAO0AAADyAAAA9QAAAPcAAAD5AAAA+wAAAQIAAAEZ
+AAABNQAAATcAAAE5AAAhSwAAIVAAACFbAAAhZAAAIXcAACF7AAAhhgAAIY8AACGUAAAhnAAAIZ8AACGk
+AAAhpwAAIakAACGrAAAhrQAAIbQAACG2AAAhuAAAeqoAAHqvAAB6sgAAerQAAHq2AAB6uAAAer8AAHrB
+AAB6wwABMj0AATJCAAEyUQABMlUAATJgAAEyaAABMnUAATKCAAEylwABMpwAATKgAAEyogABMqQAATKm
+AAEyrwABMrQAATK6AAEywgABMsQAATLGAAEyyAABMsoAAURqAAFEbwABRHwAAUR/AAFEjAABRJEAAUSZ
+AAFEnAABRKEAAUSpAAAAAAAABAEAAAAAAAAAaAAAAAAAAAAAAAAAAAABRKw
+</mutableData>
+        </image>
         <image name="music_logo" width="41" height="40"/>
         <image name="user_default_avatal" width="52" height="52"/>
         <systemColor name="systemBackgroundColor">

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.h

@@ -9,7 +9,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-typedef void(^MinePageTopCallback)(void);
+typedef void(^MinePageTopCallback)(BOOL isBadgeIntroduce);
 
 @interface MinePageTopView : UIView
 

+ 66 - 19
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.m

@@ -21,7 +21,9 @@
 
 @property (weak, nonatomic) IBOutlet UILabel *fansCount;
 
-@property (weak, nonatomic) IBOutlet UILabel *courseCount;
+@property (weak, nonatomic) IBOutlet UILabel *finishCourse;
+
+@property (weak, nonatomic) IBOutlet UILabel *unfinishCourse;
 
 @property (weak, nonatomic) IBOutlet KSStarView *starView;
 
@@ -31,9 +33,13 @@
 @property (weak, nonatomic) IBOutlet UIImageView *liveImage;
 @property (weak, nonatomic) IBOutlet UIImageView *musicImage;
 
-@property (nonatomic, copy) MinePageTopCallback callback;
+@property (weak, nonatomic) IBOutlet UIImageView *firstImage;
+@property (weak, nonatomic) IBOutlet UIImageView *secondImage;
 
-@property (weak, nonatomic) IBOutlet UIView *emptyView;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *firstImageWidth;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *secondImageWidth;
+
+@property (nonatomic, copy) MinePageTopCallback callback;
 
 @end
 
@@ -55,10 +61,12 @@
 - (void)configSource:(id)source {
     if ([source isKindOfClass:[TeacherInfo class]]) {
         TeacherInfo *infoMessage = source;
-        [self displayCount:infoMessage.fansNum inView:self.fansCount];
-        [self displayCount:infoMessage.expTime inView:self.courseCount];
-        self.starView.rate = infoMessage.starGrade / 5.0f;
 
+        self.starView.rate = infoMessage.starGrade / 5.0f;
+        self.fansCount.text = [NSString stringWithFormat:@"%.0f",infoMessage.fansNum];
+        self.finishCourse.text = [NSString stringWithFormat:@"%.0f",infoMessage.expTime];
+        self.unfinishCourse.text = [NSString stringWithFormat:@"%.0f",infoMessage.unExpTime];
+        
         if (![NSString isEmptyString:infoMessage.heardUrl]) {
             [self.userAvatar sd_setImageWithURL:[NSURL URLWithString:[infoMessage.heardUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
         }
@@ -76,18 +84,28 @@
         }
         else {
             NSArray *tagArray = [infoMessage.subjectName componentsSeparatedByString:@","];
-            CGFloat maxWidth = kScreenWidth - 28 - 10 - 80;
+            CGFloat maxWidth = kScreenWidth - 28 - 10 - 91;
             [self configTagViewWithTagArray:tagArray maxWidth:maxWidth];
         }
         
         NSArray *tagArray = [infoMessage.tag componentsSeparatedByString:@","];
         NSString *viperImage = infoMessage.isVip ? @"mine_vip" : @"mine_nomal";
+        if (infoMessage.isVip) {
+            self.userAvatar.layer.borderColor = HexRGB(0xFFE0B9).CGColor;
+        }
+        else {
+            self.userAvatar.layer.borderColor = HexRGB(0xffffff).CGColor;
+        }
         [self.viperImage setImage:[UIImage imageNamed:viperImage]];
+        
         [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_nomal"]];
         [self.videoImage setImage:[UIImage imageNamed:@"mineVideo_nomal"]];
         [self.liveImage setImage:[UIImage imageNamed:@"mineLive_nomal"]];
         [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_nomal"]];
-
+        
+        BOOL hasDegreeAuth = infoMessage.degreeFlag;
+        BOOL hasTeacherAuth = infoMessage.teacherFlag;
+        
         for (NSString *tagString in tagArray) {
             if ([tagString isEqualToString:@"STYLE"]) {
                 [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_active"]];
@@ -102,21 +120,43 @@
                 [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_active"]];
             }
         }
+        
+        if (hasDegreeAuth && hasTeacherAuth) {
+            [self.firstImage setImage:[UIImage imageNamed:@"education_icon"]];
+            self.firstImage.hidden = NO;
+            self.firstImageWidth.constant = 39.0f;
+            [self.secondImage setImage:[UIImage imageNamed:@"qualification_icon"]];
+            self.secondImage.hidden = NO;
+            self.secondImageWidth.constant = 39.0f;
+        }
+        else {
+            if (hasDegreeAuth) {
+                [self.firstImage setImage:[UIImage imageNamed:@"education_icon"]];
+                self.firstImage.hidden = NO;
+                self.firstImageWidth.constant = 39.0f;
+                self.secondImage.hidden = YES;
+                self.secondImageWidth.constant = 0.0f;
+            }
+            else if (hasTeacherAuth) {
+                [self.firstImage setImage:[UIImage imageNamed:@"qualification_icon"]];
+                self.firstImage.hidden = NO;
+                self.firstImageWidth.constant = 39.0f;
+                self.secondImage.hidden = YES;
+                self.secondImageWidth.constant = 0.0f;
+            }
+            else {
+                self.firstImage.hidden = YES;
+                self.firstImageWidth.constant = 0.0f;
+                self.secondImage.hidden = YES;
+                self.secondImageWidth.constant = 0.0f;
+            }
+        }
     }
 }
 
-- (void)displayCount:(NSInteger)count inView:(UILabel *)descLabel {
-    if (count > 10000) {
-        double descNum = count / 10000.0;
-        descLabel.text = [NSString stringWithFormat:@"%.2f万",descNum];
-    }
-    else {
-        descLabel.text = [NSString stringWithFormat:@"%ld",count];
-    }
-}
 
 - (CGFloat)getViewHeight {
-    return 140.0f;
+    return 290.0f;
 }
 
 - (void)configTagViewWithTagArray:(NSArray *)tagArray maxWidth:(CGFloat)maxWidth {
@@ -162,10 +202,17 @@
 
 - (IBAction)topCallback:(id)sender {
     if (self.callback) {
-        self.callback();
+        self.callback(YES);
     }
 }
 
+- (IBAction)editAction:(id)sender {
+    if (self.callback) {
+        self.callback(NO);
+    }
+}
+
+
 /*
 // Only override drawRect: if you perform custom drawing.
 // An empty implementation adversely affects performance during animation.

+ 294 - 112
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.xib

@@ -11,42 +11,14 @@
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="MinePageTopView">
-            <rect key="frame" x="0.0" y="0.0" width="414" height="141"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <rect key="frame" x="0.0" y="0.0" width="414" height="290"/>
+            <autoresizingMask key="autoresizingMask"/>
             <subviews>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="w1f-9h-A4M">
-                    <rect key="frame" x="14" y="0.0" width="386" height="128"/>
+                    <rect key="frame" x="14" y="39" width="386" height="240"/>
                     <subviews>
-                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_default_avatal" translatesAutoresizingMaskIntoConstraints="NO" id="3JZ-4N-xLY">
-                            <rect key="frame" x="11" y="14" width="58" height="58"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="58" id="BQF-U0-Q5F"/>
-                                <constraint firstAttribute="height" constant="58" id="YUb-bw-MgE"/>
-                            </constraints>
-                            <userDefinedRuntimeAttributes>
-                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
-                                    <real key="value" value="28"/>
-                                </userDefinedRuntimeAttribute>
-                            </userDefinedRuntimeAttributes>
-                        </imageView>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="游客" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LhQ-B1-N8g">
-                            <rect key="frame" x="79" y="18" width="37" height="25"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="25" id="ttJ-dx-kxO"/>
-                            </constraints>
-                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
-                            <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="calibratedRGB"/>
-                            <nil key="highlightedColor"/>
-                        </label>
-                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fZT-24-HFt">
-                            <rect key="frame" x="79" y="49" width="297" height="16"/>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="16" id="vKC-05-GFT"/>
-                            </constraints>
-                        </view>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="j04-k1-RIV">
-                            <rect key="frame" x="11" y="92" width="90" height="19"/>
+                            <rect key="frame" x="186" y="100" width="90" height="19"/>
                             <subviews>
                                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7YI-eG-JcD" customClass="KSStarView">
                                     <rect key="frame" x="0.0" y="0.0" width="90" height="19"/>
@@ -63,66 +35,81 @@
                                 <constraint firstAttribute="width" constant="90" id="y0S-Fk-5a6"/>
                             </constraints>
                         </view>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="粉丝" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Auh-B5-0cI">
-                            <rect key="frame" x="252" y="93" width="29" height="17"/>
-                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
-                            <nil key="highlightedColor"/>
-                        </label>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DMU-LC-BHE">
-                            <rect key="frame" x="286" y="101.5" width="0.0" height="0.0"/>
-                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
-                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
-                            <nil key="highlightedColor"/>
-                        </label>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已上课时" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xuu-dd-NkY">
-                            <rect key="frame" x="313" y="93" width="58" height="17"/>
-                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
-                            <nil key="highlightedColor"/>
-                        </label>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mKL-9h-RCS">
-                            <rect key="frame" x="376" y="89.5" width="0.0" height="24"/>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="education_icon" translatesAutoresizingMaskIntoConstraints="NO" id="HE2-vS-rZC">
+                            <rect key="frame" x="58" y="57.5" width="39" height="16"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="16" id="89i-Zb-0oV"/>
+                                <constraint firstAttribute="width" constant="39" id="eqp-Dk-Zah"/>
+                            </constraints>
+                        </imageView>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="qualification_icon" translatesAutoresizingMaskIntoConstraints="NO" id="V1i-h1-rXV">
+                            <rect key="frame" x="103" y="57.5" width="39" height="16"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="16" id="73J-NP-LJJ"/>
+                                <constraint firstAttribute="width" constant="39" id="MJP-a5-PaL"/>
+                            </constraints>
+                        </imageView>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="游客" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LhQ-B1-N8g">
+                            <rect key="frame" x="11" y="53" width="37" height="25"/>
                             <constraints>
-                                <constraint firstAttribute="height" constant="24" id="6cQ-De-Nmw"/>
+                                <constraint firstAttribute="height" constant="25" id="ttJ-dx-kxO"/>
                             </constraints>
-                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
-                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
+                            <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="calibratedRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
-                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="b32-Xt-2YL">
-                            <rect key="frame" x="299" y="95.5" width="1" height="12"/>
-                            <color key="backgroundColor" red="0.82745098039999998" green="0.82745098039999998" blue="0.82745098039999998" alpha="1" colorSpace="calibratedRGB"/>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sxy-XN-92K">
+                            <rect key="frame" x="315" y="11" width="60" height="28"/>
+                            <color key="backgroundColor" red="0.84705882352941175" green="1" blue="0.97254901960784312" alpha="1" colorSpace="calibratedRGB"/>
                             <constraints>
-                                <constraint firstAttribute="width" constant="1" id="0Kr-BR-e7W"/>
-                                <constraint firstAttribute="height" constant="12" id="rTl-Sw-e2q"/>
+                                <constraint firstAttribute="width" constant="60" id="5Lv-mb-fqw"/>
+                                <constraint firstAttribute="height" constant="28" id="dDW-No-JUn"/>
                             </constraints>
-                        </view>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="编辑">
+                                <color key="titleColor" red="0.1764705882352941" green="0.7803921568627451" blue="0.66666666666666663" alpha="1" colorSpace="calibratedRGB"/>
+                            </state>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="14"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="editAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="2l2-4J-UOE"/>
+                            </connections>
+                        </button>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mine_instrument_logo" translatesAutoresizingMaskIntoConstraints="NO" id="IsQ-zh-7a5">
+                            <rect key="frame" x="13" y="129" width="68" height="17"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="17" id="HJa-ca-Sql"/>
+                                <constraint firstAttribute="width" constant="68" id="JHn-lI-mz8"/>
+                            </constraints>
+                        </imageView>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="勋章:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vZ2-QD-d8h">
+                            <rect key="frame" x="11" y="102" width="37" height="15"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
+                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nhJ-jg-o1N">
-                            <rect key="frame" x="122" y="18.5" width="118" height="24"/>
+                            <rect key="frame" x="48" y="97.5" width="76" height="24"/>
                             <subviews>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mine_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="O4w-5f-Puh">
-                                    <rect key="frame" x="0.0" y="4.5" width="34" height="15"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="15" id="ogj-H9-eEZ"/>
-                                        <constraint firstAttribute="width" constant="34" id="qVC-Jx-k8a"/>
-                                    </constraints>
-                                </imageView>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineStyle_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="lc6-oJ-H90">
-                                    <rect key="frame" x="38" y="4" width="16" height="16"/>
+                                    <rect key="frame" x="0.0" y="4" width="16" height="16"/>
                                     <constraints>
                                         <constraint firstAttribute="width" constant="16" id="682-cb-Xnt"/>
                                         <constraint firstAttribute="height" constant="16" id="PNE-zN-nhS"/>
                                     </constraints>
                                 </imageView>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineVideo_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="YEy-rl-QiY">
-                                    <rect key="frame" x="58" y="4" width="16" height="16"/>
+                                    <rect key="frame" x="20" y="4" width="16" height="16"/>
                                 </imageView>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineLive_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="msK-hu-IGj">
-                                    <rect key="frame" x="78" y="4" width="16" height="16"/>
+                                    <rect key="frame" x="40" y="4" width="16" height="16"/>
                                 </imageView>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineMusic_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="Gtu-Mm-ocB">
-                                    <rect key="frame" x="98" y="4" width="16" height="16"/>
+                                    <rect key="frame" x="60" y="4" width="16" height="16"/>
                                 </imageView>
                             </subviews>
                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
@@ -131,53 +118,211 @@
                                 <constraint firstItem="YEy-rl-QiY" firstAttribute="width" secondItem="lc6-oJ-H90" secondAttribute="width" id="0vQ-v4-H35"/>
                                 <constraint firstItem="msK-hu-IGj" firstAttribute="leading" secondItem="YEy-rl-QiY" secondAttribute="trailing" constant="4" id="5FR-xI-N1R"/>
                                 <constraint firstItem="YEy-rl-QiY" firstAttribute="height" secondItem="lc6-oJ-H90" secondAttribute="height" id="5p5-ob-RhJ"/>
+                                <constraint firstItem="YEy-rl-QiY" firstAttribute="centerY" secondItem="lc6-oJ-H90" secondAttribute="centerY" id="6Gh-SR-OKh"/>
+                                <constraint firstItem="Gtu-Mm-ocB" firstAttribute="centerY" secondItem="lc6-oJ-H90" secondAttribute="centerY" id="8Ca-Q0-vWc"/>
+                                <constraint firstItem="msK-hu-IGj" firstAttribute="centerY" secondItem="lc6-oJ-H90" secondAttribute="centerY" id="8Lt-VW-ch0"/>
+                                <constraint firstItem="lc6-oJ-H90" firstAttribute="centerY" secondItem="nhJ-jg-o1N" secondAttribute="centerY" id="9JL-vE-0I0"/>
                                 <constraint firstAttribute="height" constant="24" id="H5T-sZ-VbG"/>
                                 <constraint firstItem="Gtu-Mm-ocB" firstAttribute="leading" secondItem="msK-hu-IGj" secondAttribute="trailing" constant="4" id="HUY-bk-dNV"/>
-                                <constraint firstItem="YEy-rl-QiY" firstAttribute="centerY" secondItem="O4w-5f-Puh" secondAttribute="centerY" id="QPY-rM-lWF"/>
                                 <constraint firstItem="msK-hu-IGj" firstAttribute="height" secondItem="lc6-oJ-H90" secondAttribute="height" id="RMj-pG-D5b"/>
                                 <constraint firstItem="Gtu-Mm-ocB" firstAttribute="width" secondItem="lc6-oJ-H90" secondAttribute="width" id="TFr-3m-1Yf"/>
-                                <constraint firstItem="O4w-5f-Puh" firstAttribute="leading" secondItem="nhJ-jg-o1N" secondAttribute="leading" id="ZAZ-xO-N3k"/>
-                                <constraint firstItem="lc6-oJ-H90" firstAttribute="centerY" secondItem="O4w-5f-Puh" secondAttribute="centerY" id="d8N-WM-xgq"/>
                                 <constraint firstItem="YEy-rl-QiY" firstAttribute="leading" secondItem="lc6-oJ-H90" secondAttribute="trailing" constant="4" id="fnW-Of-fnf"/>
-                                <constraint firstAttribute="width" constant="118" id="mc3-Tm-XBL"/>
-                                <constraint firstItem="msK-hu-IGj" firstAttribute="centerY" secondItem="O4w-5f-Puh" secondAttribute="centerY" id="mwh-Ta-8cm"/>
-                                <constraint firstItem="lc6-oJ-H90" firstAttribute="leading" secondItem="O4w-5f-Puh" secondAttribute="trailing" constant="4" id="pjM-3i-sCg"/>
-                                <constraint firstItem="O4w-5f-Puh" firstAttribute="centerY" secondItem="nhJ-jg-o1N" secondAttribute="centerY" id="rV9-Dd-1L3"/>
                                 <constraint firstItem="Gtu-Mm-ocB" firstAttribute="height" secondItem="lc6-oJ-H90" secondAttribute="height" id="ufV-aq-xhc"/>
-                                <constraint firstItem="Gtu-Mm-ocB" firstAttribute="centerY" secondItem="O4w-5f-Puh" secondAttribute="centerY" id="vIx-qL-7gx"/>
-                                <constraint firstAttribute="trailing" secondItem="Gtu-Mm-ocB" secondAttribute="trailing" constant="4" id="xw6-vI-D4o"/>
+                                <constraint firstItem="lc6-oJ-H90" firstAttribute="leading" secondItem="nhJ-jg-o1N" secondAttribute="leading" id="vb1-w7-FLd"/>
+                                <constraint firstAttribute="trailing" secondItem="Gtu-Mm-ocB" secondAttribute="trailing" id="xw6-vI-D4o"/>
                                 <constraint firstItem="msK-hu-IGj" firstAttribute="width" secondItem="lc6-oJ-H90" secondAttribute="width" id="z08-NF-hRX"/>
                             </constraints>
                             <connections>
                                 <outletCollection property="gestureRecognizers" destination="pU3-So-ynT" appends="YES" id="kn3-5a-J1C"/>
                             </connections>
                         </view>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="评分:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8kd-Ti-hHu">
+                            <rect key="frame" x="149" y="102" width="37" height="15"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
+                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fZT-24-HFt">
+                            <rect key="frame" x="91" y="129.5" width="285" height="16"/>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="16" id="vKC-05-GFT"/>
+                            </constraints>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TF1-4L-ikX">
+                            <rect key="frame" x="0.0" y="150" width="386" height="80"/>
+                            <subviews>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oOv-s2-KI6">
+                                    <rect key="frame" x="0.0" y="0.0" width="128.5" height="80"/>
+                                    <subviews>
+                                        <label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nI7-Zj-cP3">
+                                            <rect key="frame" x="0.0" y="15" width="128.5" height="26"/>
+                                            <gestureRecognizers/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="26" id="s5v-ce-xWq"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" name="DINAlternate-Bold" family="DIN Alternate" pointSize="22"/>
+                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="unU-3i-jae">
+                                            <rect key="frame" x="128" y="28" width="0.5" height="24"/>
+                                            <color key="backgroundColor" red="0.91764705879999997" green="0.91764705879999997" blue="0.91764705879999997" alpha="1" colorSpace="calibratedRGB"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="0.5" id="7XD-bU-pXc"/>
+                                                <constraint firstAttribute="height" constant="24" id="BOX-qa-f47"/>
+                                            </constraints>
+                                        </view>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="粉丝" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hqM-qu-Ygd">
+                                            <rect key="frame" x="50" y="42" width="29" height="28"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="28" id="9Qh-NH-weO"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                            <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                    </subviews>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <gestureRecognizers/>
+                                    <constraints>
+                                        <constraint firstAttribute="trailing" secondItem="unU-3i-jae" secondAttribute="trailing" id="QWF-fP-WLi"/>
+                                        <constraint firstAttribute="bottom" secondItem="hqM-qu-Ygd" secondAttribute="bottom" constant="10" id="Wxi-Bd-jeR"/>
+                                        <constraint firstAttribute="trailing" secondItem="nI7-Zj-cP3" secondAttribute="trailing" id="YN1-T9-S1S"/>
+                                        <constraint firstItem="hqM-qu-Ygd" firstAttribute="centerX" secondItem="nI7-Zj-cP3" secondAttribute="centerX" id="crZ-yy-Trf"/>
+                                        <constraint firstItem="hqM-qu-Ygd" firstAttribute="top" secondItem="nI7-Zj-cP3" secondAttribute="bottom" constant="1" id="jP7-Do-i5Y"/>
+                                        <constraint firstItem="unU-3i-jae" firstAttribute="centerY" secondItem="oOv-s2-KI6" secondAttribute="centerY" id="jZZ-G6-WGA"/>
+                                        <constraint firstItem="nI7-Zj-cP3" firstAttribute="leading" secondItem="oOv-s2-KI6" secondAttribute="leading" id="nUn-70-jO4"/>
+                                    </constraints>
+                                </view>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="OZO-kw-VjD">
+                                    <rect key="frame" x="128.5" y="0.0" width="129" height="80"/>
+                                    <subviews>
+                                        <label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WdG-ah-bQ7">
+                                            <rect key="frame" x="0.0" y="15" width="129" height="26"/>
+                                            <gestureRecognizers/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="26" id="kkf-0a-Aft"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" name="DINAlternate-Bold" family="DIN Alternate" pointSize="22"/>
+                                            <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="已上课时" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VX3-MA-GKi">
+                                            <rect key="frame" x="35.5" y="42" width="58" height="28"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="28" id="u2s-Pi-uLD"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                            <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nSM-G3-hi1">
+                                            <rect key="frame" x="128.5" y="28" width="0.5" height="24"/>
+                                            <color key="backgroundColor" red="0.91764705879999997" green="0.91764705879999997" blue="0.91764705879999997" alpha="1" colorSpace="calibratedRGB"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="24" id="DZa-I7-4xF"/>
+                                                <constraint firstAttribute="width" constant="0.5" id="y0R-Z3-A8o"/>
+                                            </constraints>
+                                        </view>
+                                    </subviews>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <gestureRecognizers/>
+                                    <constraints>
+                                        <constraint firstItem="VX3-MA-GKi" firstAttribute="centerX" secondItem="WdG-ah-bQ7" secondAttribute="centerX" id="3jC-oK-DNr"/>
+                                        <constraint firstItem="WdG-ah-bQ7" firstAttribute="leading" secondItem="OZO-kw-VjD" secondAttribute="leading" id="6wb-J8-pUs"/>
+                                        <constraint firstItem="nSM-G3-hi1" firstAttribute="centerY" secondItem="OZO-kw-VjD" secondAttribute="centerY" id="FqU-6J-83b"/>
+                                        <constraint firstAttribute="bottom" secondItem="VX3-MA-GKi" secondAttribute="bottom" constant="10" id="JDi-w0-EuP"/>
+                                        <constraint firstItem="VX3-MA-GKi" firstAttribute="top" secondItem="WdG-ah-bQ7" secondAttribute="bottom" constant="1" id="aEL-hu-hkC"/>
+                                        <constraint firstAttribute="trailing" secondItem="nSM-G3-hi1" secondAttribute="trailing" id="jF3-dA-N64"/>
+                                        <constraint firstAttribute="trailing" secondItem="WdG-ah-bQ7" secondAttribute="trailing" id="xFT-6S-ffQ"/>
+                                    </constraints>
+                                </view>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5db-il-7Qs">
+                                    <rect key="frame" x="257.5" y="0.0" width="128.5" height="80"/>
+                                    <subviews>
+                                        <label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="c7p-zT-BpU">
+                                            <rect key="frame" x="0.0" y="15" width="128.5" height="26"/>
+                                            <gestureRecognizers/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="26" id="wsD-cR-9aB"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" name="DINAlternate-Bold" family="DIN Alternate" pointSize="22"/>
+                                            <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="未上课时" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UAL-0p-7uP">
+                                            <rect key="frame" x="35" y="42" width="58" height="28"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="28" id="hWC-Vo-Yra"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                            <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                    </subviews>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <gestureRecognizers/>
+                                    <constraints>
+                                        <constraint firstAttribute="trailing" secondItem="c7p-zT-BpU" secondAttribute="trailing" id="6la-uc-lik"/>
+                                        <constraint firstItem="UAL-0p-7uP" firstAttribute="centerX" secondItem="c7p-zT-BpU" secondAttribute="centerX" id="Hsp-YF-73w"/>
+                                        <constraint firstItem="UAL-0p-7uP" firstAttribute="top" secondItem="c7p-zT-BpU" secondAttribute="bottom" constant="1" id="P5P-so-8Wb"/>
+                                        <constraint firstAttribute="bottom" secondItem="UAL-0p-7uP" secondAttribute="bottom" constant="10" id="noJ-rW-0fk"/>
+                                        <constraint firstItem="c7p-zT-BpU" firstAttribute="leading" secondItem="5db-il-7Qs" secondAttribute="leading" id="vdI-yM-S6M"/>
+                                    </constraints>
+                                </view>
+                            </subviews>
+                            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <constraints>
+                                <constraint firstItem="oOv-s2-KI6" firstAttribute="top" secondItem="TF1-4L-ikX" secondAttribute="top" id="6gE-Ck-dhs"/>
+                                <constraint firstItem="OZO-kw-VjD" firstAttribute="width" secondItem="oOv-s2-KI6" secondAttribute="width" id="6pU-i5-DPJ"/>
+                                <constraint firstItem="OZO-kw-VjD" firstAttribute="leading" secondItem="oOv-s2-KI6" secondAttribute="trailing" id="9A0-5i-qjf"/>
+                                <constraint firstAttribute="height" constant="80" id="ETh-Us-0pw"/>
+                                <constraint firstAttribute="bottom" secondItem="oOv-s2-KI6" secondAttribute="bottom" id="Ghw-x4-b9U"/>
+                                <constraint firstItem="5db-il-7Qs" firstAttribute="top" secondItem="TF1-4L-ikX" secondAttribute="top" id="MRg-MS-gKj"/>
+                                <constraint firstItem="5db-il-7Qs" firstAttribute="width" secondItem="oOv-s2-KI6" secondAttribute="width" id="Nok-Nz-8wn"/>
+                                <constraint firstAttribute="bottom" secondItem="OZO-kw-VjD" secondAttribute="bottom" id="Phe-iu-fVX"/>
+                                <constraint firstAttribute="trailing" secondItem="5db-il-7Qs" secondAttribute="trailing" id="X7J-mD-uqh"/>
+                                <constraint firstItem="oOv-s2-KI6" firstAttribute="leading" secondItem="TF1-4L-ikX" secondAttribute="leading" id="az5-nB-Uc3"/>
+                                <constraint firstItem="OZO-kw-VjD" firstAttribute="top" secondItem="TF1-4L-ikX" secondAttribute="top" id="gSB-gt-2E0"/>
+                                <constraint firstAttribute="bottom" secondItem="5db-il-7Qs" secondAttribute="bottom" id="rm7-SL-1ll"/>
+                                <constraint firstItem="5db-il-7Qs" firstAttribute="leading" secondItem="OZO-kw-VjD" secondAttribute="trailing" id="tj5-DJ-lvP"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="8"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                        </view>
                     </subviews>
-                    <color key="backgroundColor" red="1" green="1" blue="1" alpha="0.65000000000000002" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
-                        <constraint firstItem="mKL-9h-RCS" firstAttribute="leading" secondItem="xuu-dd-NkY" secondAttribute="trailing" constant="5" id="1bU-Ht-WAl"/>
-                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="nhJ-jg-o1N" secondAttribute="trailing" constant="10" id="4CM-ac-nI6"/>
-                        <constraint firstItem="j04-k1-RIV" firstAttribute="top" secondItem="3JZ-4N-xLY" secondAttribute="bottom" constant="20" id="FBg-HM-nKD"/>
-                        <constraint firstItem="nhJ-jg-o1N" firstAttribute="leading" secondItem="LhQ-B1-N8g" secondAttribute="trailing" constant="6" id="GrI-qe-Vfj"/>
-                        <constraint firstAttribute="height" constant="128" id="L0D-6Q-Mdc"/>
-                        <constraint firstAttribute="trailing" secondItem="fZT-24-HFt" secondAttribute="trailing" constant="10" id="Mst-ZO-Dz7"/>
-                        <constraint firstItem="xuu-dd-NkY" firstAttribute="leading" secondItem="b32-Xt-2YL" secondAttribute="trailing" constant="13" id="Pxy-By-B95"/>
-                        <constraint firstItem="LhQ-B1-N8g" firstAttribute="leading" secondItem="3JZ-4N-xLY" secondAttribute="trailing" constant="10" id="Qw8-hk-iQ3"/>
-                        <constraint firstItem="mKL-9h-RCS" firstAttribute="centerY" secondItem="xuu-dd-NkY" secondAttribute="centerY" id="Tvf-OC-Knb"/>
-                        <constraint firstItem="LhQ-B1-N8g" firstAttribute="top" secondItem="3JZ-4N-xLY" secondAttribute="top" constant="4" id="Z1a-7m-gyf"/>
-                        <constraint firstItem="nhJ-jg-o1N" firstAttribute="centerY" secondItem="LhQ-B1-N8g" secondAttribute="centerY" id="ZCk-64-OeI"/>
-                        <constraint firstItem="xuu-dd-NkY" firstAttribute="centerY" secondItem="b32-Xt-2YL" secondAttribute="centerY" id="bI5-g5-q9p"/>
-                        <constraint firstItem="DMU-LC-BHE" firstAttribute="leading" secondItem="Auh-B5-0cI" secondAttribute="trailing" constant="5" id="bbF-74-Gf6"/>
-                        <constraint firstItem="xuu-dd-NkY" firstAttribute="centerY" secondItem="DMU-LC-BHE" secondAttribute="centerY" id="dcG-yC-cf1"/>
-                        <constraint firstItem="Auh-B5-0cI" firstAttribute="centerY" secondItem="j04-k1-RIV" secondAttribute="centerY" id="ifO-ER-t0H"/>
-                        <constraint firstItem="fZT-24-HFt" firstAttribute="bottom" secondItem="3JZ-4N-xLY" secondAttribute="bottom" constant="-7" id="jgc-yF-EpV"/>
-                        <constraint firstItem="b32-Xt-2YL" firstAttribute="leading" secondItem="DMU-LC-BHE" secondAttribute="trailing" constant="13" id="km6-VD-mfD"/>
-                        <constraint firstItem="3JZ-4N-xLY" firstAttribute="top" secondItem="w1f-9h-A4M" secondAttribute="top" constant="14" id="nIW-a1-Il7"/>
-                        <constraint firstItem="fZT-24-HFt" firstAttribute="leading" secondItem="LhQ-B1-N8g" secondAttribute="leading" id="q1q-gH-lt3"/>
-                        <constraint firstItem="DMU-LC-BHE" firstAttribute="centerY" secondItem="Auh-B5-0cI" secondAttribute="centerY" id="r4d-as-K5n"/>
-                        <constraint firstItem="3JZ-4N-xLY" firstAttribute="leading" secondItem="w1f-9h-A4M" secondAttribute="leading" constant="11" id="s2m-2p-ugN"/>
-                        <constraint firstItem="j04-k1-RIV" firstAttribute="leading" secondItem="3JZ-4N-xLY" secondAttribute="leading" id="uim-5e-JaP"/>
-                        <constraint firstAttribute="trailing" secondItem="mKL-9h-RCS" secondAttribute="trailing" constant="10" id="wzU-5f-k1b"/>
+                        <constraint firstItem="IsQ-zh-7a5" firstAttribute="top" secondItem="vZ2-QD-d8h" secondAttribute="bottom" constant="12" id="1Te-4O-WNT"/>
+                        <constraint firstItem="HE2-vS-rZC" firstAttribute="leading" secondItem="LhQ-B1-N8g" secondAttribute="trailing" constant="10" id="38B-1g-BuQ"/>
+                        <constraint firstAttribute="height" constant="240" id="5i8-wV-axq"/>
+                        <constraint firstItem="8kd-Ti-hHu" firstAttribute="leading" secondItem="nhJ-jg-o1N" secondAttribute="trailing" constant="25" id="6sP-gm-gel"/>
+                        <constraint firstItem="V1i-h1-rXV" firstAttribute="centerY" secondItem="LhQ-B1-N8g" secondAttribute="centerY" id="8vD-t2-O4h"/>
+                        <constraint firstItem="HE2-vS-rZC" firstAttribute="centerY" secondItem="LhQ-B1-N8g" secondAttribute="centerY" id="Bmz-Yl-VO8"/>
+                        <constraint firstItem="8kd-Ti-hHu" firstAttribute="centerY" secondItem="nhJ-jg-o1N" secondAttribute="centerY" id="JxI-Yd-tqh"/>
+                        <constraint firstItem="j04-k1-RIV" firstAttribute="leading" secondItem="8kd-Ti-hHu" secondAttribute="trailing" id="MV0-Na-HhL"/>
+                        <constraint firstItem="vZ2-QD-d8h" firstAttribute="top" secondItem="LhQ-B1-N8g" secondAttribute="bottom" constant="24" id="MWA-aQ-3YI"/>
+                        <constraint firstAttribute="trailing" secondItem="sxy-XN-92K" secondAttribute="trailing" constant="11" id="OrZ-Lk-L6Y"/>
+                        <constraint firstItem="LhQ-B1-N8g" firstAttribute="top" secondItem="w1f-9h-A4M" secondAttribute="top" constant="53" id="P4z-D4-aHE"/>
+                        <constraint firstItem="sxy-XN-92K" firstAttribute="top" secondItem="w1f-9h-A4M" secondAttribute="top" constant="11" id="XOi-Hq-ObU"/>
+                        <constraint firstItem="IsQ-zh-7a5" firstAttribute="leading" secondItem="w1f-9h-A4M" secondAttribute="leading" constant="13" id="Zjk-J6-Ooh"/>
+                        <constraint firstItem="vZ2-QD-d8h" firstAttribute="leading" secondItem="LhQ-B1-N8g" secondAttribute="leading" id="aaA-Il-VoX"/>
+                        <constraint firstItem="fZT-24-HFt" firstAttribute="leading" secondItem="IsQ-zh-7a5" secondAttribute="trailing" constant="10" id="bG8-zK-KPw"/>
+                        <constraint firstAttribute="trailing" secondItem="fZT-24-HFt" secondAttribute="trailing" constant="10" id="dnC-wd-VPw"/>
+                        <constraint firstAttribute="trailing" secondItem="TF1-4L-ikX" secondAttribute="trailing" id="eD0-oX-57B"/>
+                        <constraint firstItem="nhJ-jg-o1N" firstAttribute="centerY" secondItem="vZ2-QD-d8h" secondAttribute="centerY" id="j5e-io-jGz"/>
+                        <constraint firstItem="j04-k1-RIV" firstAttribute="centerY" secondItem="8kd-Ti-hHu" secondAttribute="centerY" id="jgO-wy-gnh"/>
+                        <constraint firstItem="V1i-h1-rXV" firstAttribute="leading" secondItem="HE2-vS-rZC" secondAttribute="trailing" constant="6" id="knV-NT-Inw"/>
+                        <constraint firstItem="nhJ-jg-o1N" firstAttribute="leading" secondItem="vZ2-QD-d8h" secondAttribute="trailing" id="neP-ib-65J"/>
+                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="V1i-h1-rXV" secondAttribute="trailing" constant="10" id="oz3-Il-T3b"/>
+                        <constraint firstItem="LhQ-B1-N8g" firstAttribute="leading" secondItem="w1f-9h-A4M" secondAttribute="leading" constant="11" id="pR6-dO-j4A"/>
+                        <constraint firstItem="TF1-4L-ikX" firstAttribute="leading" secondItem="w1f-9h-A4M" secondAttribute="leading" id="s0P-uh-Ooh"/>
+                        <constraint firstAttribute="bottom" secondItem="TF1-4L-ikX" secondAttribute="bottom" constant="10" id="sGE-xG-Lut"/>
+                        <constraint firstItem="fZT-24-HFt" firstAttribute="centerY" secondItem="IsQ-zh-7a5" secondAttribute="centerY" id="xhZ-uo-LnE"/>
                     </constraints>
                     <userDefinedRuntimeAttributes>
                         <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
@@ -185,32 +330,66 @@
                         </userDefinedRuntimeAttribute>
                     </userDefinedRuntimeAttributes>
                 </view>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_default_avatal" translatesAutoresizingMaskIntoConstraints="NO" id="3JZ-4N-xLY">
+                    <rect key="frame" x="26" y="0.0" width="78" height="78"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="78" id="BQF-U0-Q5F"/>
+                        <constraint firstAttribute="height" constant="78" id="YUb-bw-MgE"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="39"/>
+                        </userDefinedRuntimeAttribute>
+                        <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                            <real key="value" value="2"/>
+                        </userDefinedRuntimeAttribute>
+                        <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                            <color key="value" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </imageView>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mine_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="O4w-5f-Puh">
+                    <rect key="frame" x="82" y="61" width="34" height="15"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="15" id="ogj-H9-eEZ"/>
+                        <constraint firstAttribute="width" constant="34" id="qVC-Jx-k8a"/>
+                    </constraints>
+                </imageView>
             </subviews>
             <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <constraints>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="w1f-9h-A4M" secondAttribute="trailing" constant="14" id="GcZ-L0-XWV"/>
-                <constraint firstItem="w1f-9h-A4M" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="GhG-TW-FQh"/>
-                <constraint firstItem="w1f-9h-A4M" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="14" id="Opi-Lb-fng"/>
+                <constraint firstItem="w1f-9h-A4M" firstAttribute="top" secondItem="3JZ-4N-xLY" secondAttribute="top" constant="39" id="DWL-gY-dzx"/>
+                <constraint firstItem="w1f-9h-A4M" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="14" id="KJi-WY-Wlp"/>
+                <constraint firstItem="w1f-9h-A4M" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="39" id="Kbj-BA-WD8"/>
+                <constraint firstItem="O4w-5f-Puh" firstAttribute="centerX" secondItem="3JZ-4N-xLY" secondAttribute="trailing" constant="-5" id="Nig-3E-QZK"/>
+                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="w1f-9h-A4M" secondAttribute="trailing" constant="14" id="Oop-Hc-pS9"/>
+                <constraint firstItem="O4w-5f-Puh" firstAttribute="bottom" secondItem="3JZ-4N-xLY" secondAttribute="bottom" constant="-2" id="RQO-qJ-vPd"/>
+                <constraint firstItem="w1f-9h-A4M" firstAttribute="leading" secondItem="3JZ-4N-xLY" secondAttribute="leading" constant="-12" id="zGP-9T-haE"/>
             </constraints>
             <nil key="simulatedTopBarMetrics"/>
             <nil key="simulatedBottomBarMetrics"/>
             <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
             <connections>
-                <outlet property="courseCount" destination="mKL-9h-RCS" id="geb-Y7-zeu"/>
-                <outlet property="fansCount" destination="DMU-LC-BHE" id="KTr-PK-SlC"/>
+                <outlet property="fansCount" destination="nI7-Zj-cP3" id="ph8-6G-8dN"/>
+                <outlet property="finishCourse" destination="WdG-ah-bQ7" id="kTh-1z-CZK"/>
+                <outlet property="firstImage" destination="HE2-vS-rZC" id="U2w-6R-hc6"/>
+                <outlet property="firstImageWidth" destination="eqp-Dk-Zah" id="8gT-kc-SY4"/>
                 <outlet property="liveImage" destination="msK-hu-IGj" id="2dx-Is-foA"/>
                 <outlet property="musicImage" destination="Gtu-Mm-ocB" id="Zj7-ji-aky"/>
+                <outlet property="secondImage" destination="V1i-h1-rXV" id="Rz7-en-SkA"/>
+                <outlet property="secondImageWidth" destination="MJP-a5-PaL" id="qH7-NH-jH6"/>
                 <outlet property="starBgView" destination="j04-k1-RIV" id="76r-zk-VWm"/>
                 <outlet property="starView" destination="7YI-eG-JcD" id="P33-L0-TAr"/>
                 <outlet property="styleImage" destination="lc6-oJ-H90" id="MMV-VQ-XYM"/>
                 <outlet property="subjectView" destination="fZT-24-HFt" id="A3q-LS-oWX"/>
                 <outlet property="teacherName" destination="LhQ-B1-N8g" id="2lX-lZ-dbL"/>
+                <outlet property="unfinishCourse" destination="c7p-zT-BpU" id="g9L-Mb-5B6"/>
                 <outlet property="userAvatar" destination="3JZ-4N-xLY" id="bQ4-YD-XNr"/>
                 <outlet property="videoImage" destination="YEy-rl-QiY" id="uMF-Ia-6D3"/>
                 <outlet property="viperImage" destination="O4w-5f-Puh" id="deL-wn-pHv"/>
             </connections>
-            <point key="canvasLocation" x="131.8840579710145" y="2.34375"/>
+            <point key="canvasLocation" x="128.98550724637681" y="51.227678571428569"/>
         </view>
         <tapGestureRecognizer id="pU3-So-ynT">
             <connections>
@@ -219,11 +398,14 @@
         </tapGestureRecognizer>
     </objects>
     <resources>
+        <image name="education_icon" width="39" height="16"/>
         <image name="mineLive_nomal" width="24" height="23"/>
         <image name="mineMusic_nomal" width="24" height="23"/>
         <image name="mineStyle_nomal" width="23" height="23"/>
         <image name="mineVideo_nomal" width="23" height="23"/>
+        <image name="mine_instrument_logo" width="68" height="17"/>
         <image name="mine_nomal" width="34" height="15"/>
+        <image name="qualification_icon" width="39" height="16"/>
         <image name="user_default_avatal" width="52" height="52"/>
     </resources>
 </document>

+ 3 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageVideoCell.m

@@ -39,13 +39,15 @@
     self.teacherName.text = [NSString returnNoNullStringWithString:model.username];
     if (model.lessonPrice > 0) {
         self.courseMessage.text = [NSString  stringWithFormat:@"¥%.2f/%.0f课时",model.lessonPrice,model.lessonCount];
+        self.descLabel.text = [NSString stringWithFormat:@"%.0f人已购买",model.countStudent];
     }
     else {
         self.courseMessage.text = [NSString  stringWithFormat:@"免费/%.0f课时",model.lessonCount];
+        self.descLabel.text = [NSString stringWithFormat:@"%.0f人已领取",model.countStudent];
     }
 
     
-    self.descLabel.text = [NSString stringWithFormat:@"%.0f人已购买",model.countStudent];
+    
     self.subjectLabel.text = [NSString returnNoNullStringWithString:model.lessonSubjectName];
 }
 

+ 3 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Model/TeacherInfo.h

@@ -50,6 +50,9 @@
 @property (nonatomic, assign) NSInteger isVip;
 @property (nonatomic, assign) double membershipDays;
 
+@property (nonatomic, assign) NSInteger degreeFlag;
+@property (nonatomic, assign) NSInteger teacherFlag;
+
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
 - (instancetype)initWithDictionary:(NSDictionary *)dict;
 - (NSDictionary *)dictionaryRepresentation;

+ 14 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Model/TeacherInfo.m

@@ -46,6 +46,8 @@ NSString *const kTeacherInfoUserId = @"userId";
 NSString *const kTeacherInfoTag = @"tag";
 NSString *const kTeacherInfoIsVip = @"isVip";
 NSString *const kTeacherInfoMembershipDays = @"membershipDays";
+NSString *const kTeacherInfoDegreeFlag= @"degreeFlag";
+NSString *const kTeacherInfoTeacherFlag = @"teacherFlag";
 
 @interface TeacherInfo ()
 
@@ -93,6 +95,8 @@ NSString *const kTeacherInfoMembershipDays = @"membershipDays";
 @synthesize tag = _tag;
 @synthesize isVip = _isVip;
 @synthesize membershipDays = _membershipDays;
+@synthesize degreeFlag = _degreeFlag;
+@synthesize teacherFlag = _teacherFlag;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
 {
@@ -144,6 +148,8 @@ NSString *const kTeacherInfoMembershipDays = @"membershipDays";
             self.tag = [self objectOrNilForKey:kTeacherInfoTag fromDictionary:dict];
             self.isVip = [[self objectOrNilForKey:kTeacherInfoIsVip fromDictionary:dict] integerValue];
             self.membershipDays = [[self objectOrNilForKey:kTeacherInfoMembershipDays fromDictionary:dict] doubleValue];
+        self.degreeFlag = [[self objectOrNilForKey:kTeacherInfoDegreeFlag fromDictionary:dict] integerValue];
+        self.teacherFlag = [[self objectOrNilForKey:kTeacherInfoTeacherFlag fromDictionary:dict] integerValue];
     }
     
     return self;
@@ -191,6 +197,8 @@ NSString *const kTeacherInfoMembershipDays = @"membershipDays";
     [mutableDict setValue:self.tag forKey:kTeacherInfoTag];
     [mutableDict setValue:[NSNumber numberWithInteger:self.isVip] forKey:kTeacherInfoIsVip];
     [mutableDict setValue:[NSNumber numberWithDouble:self.membershipDays] forKey:kTeacherInfoMembershipDays];
+    [mutableDict setValue:[NSNumber numberWithInteger:self.degreeFlag] forKey:kTeacherInfoDegreeFlag];
+    [mutableDict setValue:[NSNumber numberWithInteger:self.teacherFlag] forKey:kTeacherInfoTeacherFlag];
     return [NSDictionary dictionaryWithDictionary:mutableDict];
 }
 
@@ -255,6 +263,8 @@ NSString *const kTeacherInfoMembershipDays = @"membershipDays";
     self.tag = [aDecoder decodeObjectForKey:kTeacherInfoTag];
     self.isVip = [aDecoder decodeIntegerForKey:kTeacherInfoIsVip];
     self.membershipDays = [aDecoder decodeDoubleForKey:kTeacherInfoMembershipDays];
+    self.degreeFlag = [aDecoder decodeIntegerForKey:kTeacherInfoDegreeFlag];
+    self.teacherFlag = [aDecoder decodeIntegerForKey:kTeacherInfoTeacherFlag];
     return self;
 }
 
@@ -299,6 +309,8 @@ NSString *const kTeacherInfoMembershipDays = @"membershipDays";
     [aCoder encodeObject:_tag forKey:kTeacherInfoTag];
     [aCoder encodeInteger:_isVip forKey:kTeacherInfoIsVip];
     [aCoder encodeDouble:_membershipDays forKey:kTeacherInfoMembershipDays];
+    [aCoder encodeInteger:_degreeFlag forKey:kTeacherInfoDegreeFlag];
+    [aCoder encodeInteger:_teacherFlag forKey:kTeacherInfoTeacherFlag];
 }
 
 - (id)copyWithZone:(NSZone *)zone
@@ -345,6 +357,8 @@ NSString *const kTeacherInfoMembershipDays = @"membershipDays";
         copy.tag = [self.tag copyWithZone:zone];
         copy.isVip = self.isVip;
         copy.membershipDays = self.membershipDays;
+        copy.degreeFlag = self.degreeFlag;
+        copy.teacherFlag = self.teacherFlag;
     }
     
     return copy;

+ 6 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/VideoCourse/View/VideoCourseCell.m

@@ -57,7 +57,12 @@
     }
     else {
         self.descView.hidden = NO;
-        self.descLabel.text = [NSString stringWithFormat:@"%.0f人已购买",model.countStudent];
+        if (model.lessonPrice > 0) {
+            self.descLabel.text = [NSString stringWithFormat:@"%.0f人已购买",model.countStudent];
+        }
+        else {
+            self.descLabel.text = [NSString stringWithFormat:@"%.0f人已领取",model.countStudent];
+        }
     }
     self.subjectLabel.text = [NSString returnNoNullStringWithString:model.lessonSubjectName];
 }

+ 49 - 12
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineHeadView.m

@@ -34,6 +34,13 @@
 @property (weak, nonatomic) IBOutlet UIImageView *liveImage;
 @property (weak, nonatomic) IBOutlet UIImageView *musicImage;
 
+@property (weak, nonatomic) IBOutlet UIImageView *firstImage;
+@property (weak, nonatomic) IBOutlet UIImageView *secondImage;
+
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *firstImageWidth;
+
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *secondImageWidth;
+
 @end
 
 @implementation MineHeadView
@@ -45,12 +52,23 @@
 
 - (void)configMessage:(TeacherInfo *)infoMessage {
     NSArray *tagArray = [infoMessage.tag componentsSeparatedByString:@","];
+    if (infoMessage.isVip) {
+        self.userAvatal.layer.borderColor = HexRGB(0xFFE0B9).CGColor;
+    }
+    else {
+        self.userAvatal.layer.borderColor = HexRGB(0xffffff).CGColor;
+    }
+    
     NSString *viperImage = infoMessage.isVip ? @"mine_vip" : @"mine_nomal";
     [self.viperImage setImage:[UIImage imageNamed:viperImage]];
     [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_nomal"]];
     [self.videoImage setImage:[UIImage imageNamed:@"mineVideo_nomal"]];
     [self.liveImage setImage:[UIImage imageNamed:@"mineLive_nomal"]];
     [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_nomal"]];
+    
+    BOOL hasDegreeAuth = infoMessage.degreeFlag;
+    BOOL hasTeacherAuth = infoMessage.teacherFlag;
+    
     for (NSString *tagString in tagArray) {
         if ([tagString isEqualToString:@"STYLE"]) {
             [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_active"]];
@@ -65,22 +83,41 @@
             [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_active"]];
         }
     }
+    if (hasDegreeAuth && hasTeacherAuth) {
+        [self.firstImage setImage:[UIImage imageNamed:@"education_icon"]];
+        self.firstImage.hidden = NO;
+        self.firstImageWidth.constant = 39.0f;
+        [self.secondImage setImage:[UIImage imageNamed:@"qualification_icon"]];
+        self.secondImage.hidden = NO;
+        self.secondImageWidth.constant = 39.0f;
+    }
+    else {
+        if (hasDegreeAuth) {
+            [self.firstImage setImage:[UIImage imageNamed:@"education_icon"]];
+            self.firstImage.hidden = NO;
+            self.firstImageWidth.constant = 39.0f;
+            self.secondImage.hidden = YES;
+            self.secondImageWidth.constant = 0.0f;
+        }
+        else if (hasTeacherAuth) {
+            [self.firstImage setImage:[UIImage imageNamed:@"qualification_icon"]];
+            self.firstImage.hidden = NO;
+            self.firstImageWidth.constant = 39.0f;
+            self.secondImage.hidden = YES;
+            self.secondImageWidth.constant = 0.0f;
+        }
+        else {
+            self.firstImage.hidden = YES;
+            self.firstImageWidth.constant = 0.0f;
+            self.secondImage.hidden = YES;
+            self.secondImageWidth.constant = 0.0f;
+        }
+    }
+    
     self.fansCount.text = [NSString stringWithFormat:@"%.0f",infoMessage.fansNum];
     self.finishCourse.text = [NSString stringWithFormat:@"%.0f",infoMessage.expTime];
     self.unfinishCourse.text = [NSString stringWithFormat:@"%.0f",infoMessage.unExpTime];
     
-//    if ([infoMessage.entryStatus isEqualToString:@"PASS"]) {
-//        self.descView.hidden = NO;
-//        self.descViewHeight.constant = 80.0f;
-//        self.fansCount.text = [NSString stringWithFormat:@"%.0f",infoMessage.fansNum];
-//        self.finishCourse.text = [NSString stringWithFormat:@"%.0f",infoMessage.expTime];
-//        self.unfinishCourse.text = [NSString stringWithFormat:@"%.0f",infoMessage.unExpTime];
-//    }
-//    else {
-//        self.descView.hidden = YES;
-//        self.descViewHeight.constant = 0.0f;
-//    }
-    
     self.starView.rate = infoMessage.starGrade / 5.0f;
     
     if (![NSString isEmptyString:infoMessage.heardUrl]) {

+ 42 - 14
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineHeadView.xib

@@ -26,6 +26,12 @@
                                 <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
                                     <real key="value" value="30"/>
                                 </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                    <real key="value" value="2"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                    <color key="value" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                </userDefinedRuntimeAttribute>
                             </userDefinedRuntimeAttributes>
                         </imageView>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="游客" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QPn-ge-mEt">
@@ -35,13 +41,13 @@
                             <nil key="highlightedColor"/>
                         </label>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="评分:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bTO-A2-pYt">
-                            <rect key="frame" x="231" y="42" width="37" height="15"/>
+                            <rect key="frame" x="231" y="52" width="37" height="15"/>
                             <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
                             <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fw3-T6-lx2">
-                            <rect key="frame" x="268" y="40" width="95" height="19"/>
+                            <rect key="frame" x="268" y="50" width="95" height="19"/>
                             <subviews>
                                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Akw-bX-gxM" customClass="KSStarView">
                                     <rect key="frame" x="0.0" y="0.0" width="95" height="19"/>
@@ -66,7 +72,7 @@
                             </connections>
                         </button>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1mz-7i-YiM">
-                            <rect key="frame" x="122" y="37.5" width="84" height="24"/>
+                            <rect key="frame" x="122" y="47.5" width="84" height="24"/>
                             <subviews>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineStyle_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="iwC-il-8cq">
                                     <rect key="frame" x="4" y="4" width="16" height="16"/>
@@ -109,43 +115,61 @@
                                 <outletCollection property="gestureRecognizers" destination="Iir-fe-oYc" appends="YES" id="R5q-oq-qVK"/>
                             </connections>
                         </view>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="勋章:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cgZ-9q-1D4">
+                            <rect key="frame" x="85" y="52" width="37" height="15"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
+                            <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="HQj-mY-aBN">
+                            <rect key="frame" x="135" y="15" width="39" height="16"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="39" id="K4K-9C-b5a"/>
+                                <constraint firstAttribute="height" constant="16" id="eD6-D4-rNX"/>
+                            </constraints>
+                        </imageView>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="YBP-tz-Trz">
+                            <rect key="frame" x="180" y="15" width="39" height="16"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="16" id="YnY-gE-hGc"/>
+                                <constraint firstAttribute="width" constant="39" id="hbp-cI-NEE"/>
+                            </constraints>
+                        </imageView>
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mine_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="W7w-Qv-jgO">
-                            <rect key="frame" x="132" y="15.5" width="34" height="15"/>
+                            <rect key="frame" x="28" y="57.5" width="34" height="15"/>
                             <constraints>
                                 <constraint firstAttribute="width" constant="34" id="CNO-WI-SZ0"/>
                                 <constraint firstAttribute="height" constant="15" id="w9i-HB-67A"/>
                             </constraints>
                         </imageView>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="勋章:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cgZ-9q-1D4">
-                            <rect key="frame" x="85" y="42" width="37" height="15"/>
-                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
-                            <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
-                            <nil key="highlightedColor"/>
-                        </label>
                     </subviews>
                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <gestureRecognizers/>
                     <constraints>
                         <constraint firstItem="fw3-T6-lx2" firstAttribute="centerY" secondItem="bTO-A2-pYt" secondAttribute="centerY" id="1aL-kd-pqb"/>
-                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="W7w-Qv-jgO" secondAttribute="trailing" constant="10" id="27X-Fu-2t0"/>
                         <constraint firstItem="QPn-ge-mEt" firstAttribute="top" secondItem="Qfc-m1-p6a" secondAttribute="top" constant="6" id="7lO-u5-M6d"/>
+                        <constraint firstItem="W7w-Qv-jgO" firstAttribute="centerX" secondItem="Qfc-m1-p6a" secondAttribute="centerX" id="8zp-MH-1VC"/>
                         <constraint firstItem="bTO-A2-pYt" firstAttribute="centerY" secondItem="1mz-7i-YiM" secondAttribute="centerY" id="Brc-LP-qBn"/>
                         <constraint firstItem="fw3-T6-lx2" firstAttribute="leading" secondItem="bTO-A2-pYt" secondAttribute="trailing" id="EeU-Bv-QiN"/>
                         <constraint firstItem="QPn-ge-mEt" firstAttribute="leading" secondItem="Qfc-m1-p6a" secondAttribute="trailing" constant="10" id="EnN-ds-Dl3"/>
                         <constraint firstItem="Qfc-m1-p6a" firstAttribute="leading" secondItem="Cjp-6k-puJ" secondAttribute="leading" constant="15" id="FsO-Pm-MXG"/>
+                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="YBP-tz-Trz" secondAttribute="trailing" constant="10" id="IJb-S6-0Dq"/>
                         <constraint firstItem="1mz-7i-YiM" firstAttribute="leading" secondItem="cgZ-9q-1D4" secondAttribute="trailing" id="IrQ-V5-x4c"/>
-                        <constraint firstItem="cgZ-9q-1D4" firstAttribute="top" secondItem="QPn-ge-mEt" secondAttribute="bottom" constant="7" id="JD7-oz-m2a"/>
+                        <constraint firstItem="cgZ-9q-1D4" firstAttribute="top" secondItem="QPn-ge-mEt" secondAttribute="bottom" constant="17" id="JD7-oz-m2a"/>
                         <constraint firstItem="v0U-gH-2rd" firstAttribute="trailing" secondItem="Qfc-m1-p6a" secondAttribute="trailing" id="KVZ-uZ-xhf"/>
-                        <constraint firstItem="W7w-Qv-jgO" firstAttribute="centerY" secondItem="QPn-ge-mEt" secondAttribute="centerY" id="Z4G-BK-eEx"/>
+                        <constraint firstItem="W7w-Qv-jgO" firstAttribute="centerY" secondItem="Qfc-m1-p6a" secondAttribute="bottom" id="T73-hP-tAc"/>
                         <constraint firstAttribute="height" constant="70" id="Zrl-wR-XDP"/>
                         <constraint firstItem="Qfc-m1-p6a" firstAttribute="top" secondItem="Cjp-6k-puJ" secondAttribute="top" constant="5" id="aGQ-Aj-LeI"/>
                         <constraint firstItem="v0U-gH-2rd" firstAttribute="top" secondItem="Qfc-m1-p6a" secondAttribute="top" id="aeR-6v-sXE"/>
                         <constraint firstItem="v0U-gH-2rd" firstAttribute="bottom" secondItem="Qfc-m1-p6a" secondAttribute="bottom" id="gSm-Of-Lsh"/>
-                        <constraint firstItem="W7w-Qv-jgO" firstAttribute="leading" secondItem="QPn-ge-mEt" secondAttribute="trailing" constant="6" id="jxD-gR-oSk"/>
                         <constraint firstItem="bTO-A2-pYt" firstAttribute="leading" secondItem="1mz-7i-YiM" secondAttribute="trailing" constant="25" id="oYQ-H3-N85"/>
+                        <constraint firstItem="HQj-mY-aBN" firstAttribute="centerY" secondItem="QPn-ge-mEt" secondAttribute="centerY" id="rjT-BR-f2e"/>
                         <constraint firstItem="v0U-gH-2rd" firstAttribute="leading" secondItem="Qfc-m1-p6a" secondAttribute="leading" id="sso-AP-hQ1"/>
+                        <constraint firstItem="YBP-tz-Trz" firstAttribute="leading" secondItem="HQj-mY-aBN" secondAttribute="trailing" constant="6" id="vCd-jJ-SSW"/>
                         <constraint firstItem="cgZ-9q-1D4" firstAttribute="leading" secondItem="QPn-ge-mEt" secondAttribute="leading" id="wfr-5v-JGU"/>
+                        <constraint firstItem="YBP-tz-Trz" firstAttribute="centerY" secondItem="QPn-ge-mEt" secondAttribute="centerY" id="xAM-gS-SwZ"/>
                         <constraint firstItem="1mz-7i-YiM" firstAttribute="centerY" secondItem="cgZ-9q-1D4" secondAttribute="centerY" id="xYV-Hj-NIN"/>
+                        <constraint firstItem="HQj-mY-aBN" firstAttribute="leading" secondItem="QPn-ge-mEt" secondAttribute="trailing" constant="9" id="zVF-Gh-Jpw"/>
                     </constraints>
                 </view>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bnm-Xd-HxI">
@@ -368,11 +392,15 @@
                 <outlet property="descViewHeight" destination="yWy-7x-S8I" id="XGA-Vi-0C4"/>
                 <outlet property="fansCount" destination="0Jy-fH-DYe" id="akt-uN-3dR"/>
                 <outlet property="finishCourse" destination="biK-ZQ-myM" id="N2Y-ma-dPR"/>
+                <outlet property="firstImage" destination="HQj-mY-aBN" id="YLi-jF-xQN"/>
+                <outlet property="firstImageWidth" destination="K4K-9C-b5a" id="B3Y-qb-r4d"/>
                 <outlet property="liveImage" destination="f2I-A5-dax" id="k6a-sq-aME"/>
                 <outlet property="memberCountLabel" destination="ZuM-Bk-fld" id="Fll-FM-owF"/>
                 <outlet property="memberView" destination="bnm-Xd-HxI" id="5PE-4N-miN"/>
                 <outlet property="memberViewHeight" destination="fZv-vF-MvF" id="JA2-32-lrt"/>
                 <outlet property="musicImage" destination="ZHY-XC-hwf" id="Zh9-EL-xYC"/>
+                <outlet property="secondImage" destination="YBP-tz-Trz" id="Wuv-XK-Q9W"/>
+                <outlet property="secondImageWidth" destination="hbp-cI-NEE" id="2a8-Q6-KMd"/>
                 <outlet property="starView" destination="Akw-bX-gxM" id="ts3-8H-zT3"/>
                 <outlet property="styleImage" destination="iwC-il-8cq" id="gGj-gc-mTv"/>
                 <outlet property="unfinishCourse" destination="Xtn-XA-AzX" id="UhT-2F-V5k"/>