From 9e0feb2e751d9b079a5101812acf5f842d9ad640 Mon Sep 17 00:00:00 2001 From: wedxz Date: Wed, 16 Aug 2017 15:07:32 +0800 Subject: [PATCH 1/2] wscn --- LNRefresh.xcodeproj/project.pbxproj | 44 ++++++++++-------- .../UserInterfaceState.xcuserstate | Bin 25531 -> 26127 bytes .../LNHeaderDIYAnimator/LNHeaderDIYAnimator.h | 0 .../LNHeaderDIYAnimator/LNHeaderDIYAnimator.m | 0 .../LNHeaderDIYAnimator/YLoadingPanel.h | 0 .../LNHeaderDIYAnimator/YLoadingPanel.m | 0 LNRefresh/LNRefresh/NSObject+LNRefresh.h | 1 + LNRefresh/LNRefresh/NSObject+LNRefresh.m | 6 +++ LNRefreshDemo/DemoVC.m | 2 +- 9 files changed, 32 insertions(+), 21 deletions(-) rename {LNRefreshDemo => LNRefresh/LNRefresh}/LNHeaderDIYAnimator/LNHeaderDIYAnimator.h (100%) rename {LNRefreshDemo => LNRefresh/LNRefresh}/LNHeaderDIYAnimator/LNHeaderDIYAnimator.m (100%) rename {LNRefreshDemo => LNRefresh/LNRefresh}/LNHeaderDIYAnimator/YLoadingPanel.h (100%) rename {LNRefreshDemo => LNRefresh/LNRefresh}/LNHeaderDIYAnimator/YLoadingPanel.m (100%) diff --git a/LNRefresh.xcodeproj/project.pbxproj b/LNRefresh.xcodeproj/project.pbxproj index 1879083..cf0e2fd 100644 --- a/LNRefresh.xcodeproj/project.pbxproj +++ b/LNRefresh.xcodeproj/project.pbxproj @@ -24,8 +24,6 @@ /* Begin PBXBuildFile section */ AF1F98FD1F1C63590074E638 /* LNRefresh.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF29B5781F0C900300348F99 /* LNRefresh.framework */; settings = {ATTRIBUTES = (Required, ); }; }; AF1F99001F1CAA660074E638 /* DemoVC.m in Sources */ = {isa = PBXBuildFile; fileRef = AF1F98FF1F1CAA660074E638 /* DemoVC.m */; }; - AF1F99181F20779E0074E638 /* LNHeaderDIYAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = AF1F99131F20779E0074E638 /* LNHeaderDIYAnimator.m */; }; - AF1F991A1F20779E0074E638 /* YLoadingPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = AF1F99171F20779E0074E638 /* YLoadingPanel.m */; }; AF1F991E1F2077D80074E638 /* LNHeaderAnimator+Analysis.m in Sources */ = {isa = PBXBuildFile; fileRef = AF1F991D1F2077D80074E638 /* LNHeaderAnimator+Analysis.m */; }; AF29B5891F0C900300348F99 /* LNRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = AF29B57B1F0C900300348F99 /* LNRefresh.h */; settings = {ATTRIBUTES = (Public, ); }; }; AF29B5C41F0CC04600348F99 /* NSObject+LNRefresh.h in Headers */ = {isa = PBXBuildFile; fileRef = AF29B5C21F0CC04600348F99 /* NSObject+LNRefresh.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -34,6 +32,10 @@ AF6450E81F32C0B700DB8520 /* LNRefreshConst.m in Sources */ = {isa = PBXBuildFile; fileRef = AF6450E61F32C0B700DB8520 /* LNRefreshConst.m */; }; AFA03C581F272DAA00896ED8 /* lnrefresh.json in Resources */ = {isa = PBXBuildFile; fileRef = AFA03C571F272DAA00896ED8 /* lnrefresh.json */; }; AFA03C621F27546500896ED8 /* LNRefresh.bundle in Resources */ = {isa = PBXBuildFile; fileRef = AFA03C611F27546500896ED8 /* LNRefresh.bundle */; }; + AFA7D5681F4423FE00FAFA50 /* LNHeaderDIYAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = AFA7D5641F4423FE00FAFA50 /* LNHeaderDIYAnimator.h */; }; + AFA7D5691F4423FE00FAFA50 /* LNHeaderDIYAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = AFA7D5651F4423FE00FAFA50 /* LNHeaderDIYAnimator.m */; }; + AFA7D56A1F4423FE00FAFA50 /* YLoadingPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = AFA7D5661F4423FE00FAFA50 /* YLoadingPanel.h */; }; + AFA7D56B1F4423FE00FAFA50 /* YLoadingPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = AFA7D5671F4423FE00FAFA50 /* YLoadingPanel.m */; }; AFC94B491F1470C800D635BC /* LNRefreshComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = AFC94B471F1470C800D635BC /* LNRefreshComponent.h */; settings = {ATTRIBUTES = (Public, ); }; }; AFC94B4A1F1470C800D635BC /* LNRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = AFC94B481F1470C800D635BC /* LNRefreshComponent.m */; }; AFC94B741F14CB5700D635BC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = AFC94B731F14CB5700D635BC /* main.m */; }; @@ -77,10 +79,6 @@ /* Begin PBXFileReference section */ AF1F98FE1F1CAA660074E638 /* DemoVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoVC.h; sourceTree = ""; }; AF1F98FF1F1CAA660074E638 /* DemoVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoVC.m; sourceTree = ""; }; - AF1F99121F20779E0074E638 /* LNHeaderDIYAnimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LNHeaderDIYAnimator.h; sourceTree = ""; }; - AF1F99131F20779E0074E638 /* LNHeaderDIYAnimator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LNHeaderDIYAnimator.m; sourceTree = ""; }; - AF1F99161F20779E0074E638 /* YLoadingPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YLoadingPanel.h; sourceTree = ""; }; - AF1F99171F20779E0074E638 /* YLoadingPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YLoadingPanel.m; sourceTree = ""; }; AF1F991C1F2077D80074E638 /* LNHeaderAnimator+Analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "LNHeaderAnimator+Analysis.h"; sourceTree = ""; }; AF1F991D1F2077D80074E638 /* LNHeaderAnimator+Analysis.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "LNHeaderAnimator+Analysis.m"; sourceTree = ""; }; AF29B5781F0C900300348F99 /* LNRefresh.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LNRefresh.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -96,6 +94,10 @@ AFA03C5D1F2734C000896ED8 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Main.strings"; sourceTree = ""; }; AFA03C5E1F2734C100896ED8 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/LaunchScreen.strings"; sourceTree = ""; }; AFA03C611F27546500896ED8 /* LNRefresh.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = LNRefresh.bundle; sourceTree = ""; }; + AFA7D5641F4423FE00FAFA50 /* LNHeaderDIYAnimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LNHeaderDIYAnimator.h; sourceTree = ""; }; + AFA7D5651F4423FE00FAFA50 /* LNHeaderDIYAnimator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LNHeaderDIYAnimator.m; sourceTree = ""; }; + AFA7D5661F4423FE00FAFA50 /* YLoadingPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YLoadingPanel.h; sourceTree = ""; }; + AFA7D5671F4423FE00FAFA50 /* YLoadingPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YLoadingPanel.m; sourceTree = ""; }; AFC94B471F1470C800D635BC /* LNRefreshComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LNRefreshComponent.h; sourceTree = ""; }; AFC94B481F1470C800D635BC /* LNRefreshComponent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LNRefreshComponent.m; sourceTree = ""; }; AFC94B701F14CB5600D635BC /* LNRefreshDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LNRefreshDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -151,17 +153,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - AF1F99111F20779E0074E638 /* LNHeaderDIYAnimator */ = { - isa = PBXGroup; - children = ( - AF1F99161F20779E0074E638 /* YLoadingPanel.h */, - AF1F99171F20779E0074E638 /* YLoadingPanel.m */, - AF1F99121F20779E0074E638 /* LNHeaderDIYAnimator.h */, - AF1F99131F20779E0074E638 /* LNHeaderDIYAnimator.m */, - ); - path = LNHeaderDIYAnimator; - sourceTree = ""; - }; AF1F991B1F2077D80074E638 /* LNRefreshAnalysis */ = { isa = PBXGroup; children = ( @@ -204,6 +195,7 @@ AF29B5B71F0C9CCD00348F99 /* LNRefresh */ = { isa = PBXGroup; children = ( + AFA7D5631F4423FE00FAFA50 /* LNHeaderDIYAnimator */, AFC94B471F1470C800D635BC /* LNRefreshComponent.h */, AFC94B481F1470C800D635BC /* LNRefreshComponent.m */, AFC94BA31F14D0BE00D635BC /* LNRefreshAnimator.h */, @@ -226,11 +218,21 @@ path = LNRefresh; sourceTree = ""; }; + AFA7D5631F4423FE00FAFA50 /* LNHeaderDIYAnimator */ = { + isa = PBXGroup; + children = ( + AFA7D5641F4423FE00FAFA50 /* LNHeaderDIYAnimator.h */, + AFA7D5651F4423FE00FAFA50 /* LNHeaderDIYAnimator.m */, + AFA7D5661F4423FE00FAFA50 /* YLoadingPanel.h */, + AFA7D5671F4423FE00FAFA50 /* YLoadingPanel.m */, + ); + path = LNHeaderDIYAnimator; + sourceTree = ""; + }; AFC94B711F14CB5700D635BC /* LNRefreshDemo */ = { isa = PBXGroup; children = ( AF1F991B1F2077D80074E638 /* LNRefreshAnalysis */, - AF1F99111F20779E0074E638 /* LNHeaderDIYAnimator */, AFC94BB61F16397600D635BC /* HomeVC.h */, AFC94BB71F16397600D635BC /* HomeVC.m */, AF1F98FE1F1CAA660074E638 /* DemoVC.h */, @@ -272,7 +274,9 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + AFA7D56A1F4423FE00FAFA50 /* YLoadingPanel.h in Headers */, AF29B5891F0C900300348F99 /* LNRefresh.h in Headers */, + AFA7D5681F4423FE00FAFA50 /* LNHeaderDIYAnimator.h in Headers */, AF6450E71F32C0B700DB8520 /* LNRefreshConst.h in Headers */, AFEDEA141F220315003EBEA8 /* LNRefreshHandler.h in Headers */, AFC94BA51F14D0BE00D635BC /* LNRefreshAnimator.h in Headers */, @@ -441,6 +445,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + AFA7D56B1F4423FE00FAFA50 /* YLoadingPanel.m in Sources */, + AFA7D5691F4423FE00FAFA50 /* LNHeaderDIYAnimator.m in Sources */, AFC94BBC1F17209D00D635BC /* LNHeaderAnimator.m in Sources */, AFC94BC01F1720B300D635BC /* LNFooterAnimator.m in Sources */, AF29B5C51F0CC04600348F99 /* NSObject+LNRefresh.m in Sources */, @@ -457,8 +463,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - AF1F99181F20779E0074E638 /* LNHeaderDIYAnimator.m in Sources */, - AF1F991A1F20779E0074E638 /* YLoadingPanel.m in Sources */, AFC94BB81F16397600D635BC /* HomeVC.m in Sources */, AF1F991E1F2077D80074E638 /* LNHeaderAnimator+Analysis.m in Sources */, AFC94B771F14CB5700D635BC /* AppDelegate.m in Sources */, diff --git a/LNRefresh.xcodeproj/project.xcworkspace/xcuserdata/vvusu.xcuserdatad/UserInterfaceState.xcuserstate b/LNRefresh.xcodeproj/project.xcworkspace/xcuserdata/vvusu.xcuserdatad/UserInterfaceState.xcuserstate index 0371335512dfaafadeafe302a0924a6fc307766f..4b30aaaf766038278652df1dee81ded7fb86e449 100644 GIT binary patch delta 14221 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 static const char LNRefreshHeaderKey = '\0'; @@ -199,6 +200,11 @@ - (LNRefreshHeader *)addPullToRefresh:(LNRefreshComponentBlock)block { return [self addPullToRefresh:[[LNHeaderAnimator alloc] init] block:block]; } +//WSCN +- (LNRefreshHeader *)addPullToRefreshTypeDIY:(LNRefreshComponentBlock)block { + return [self addPullToRefresh:[LNHeaderDIYAnimator createAnimator] block:block]; +} + - (LNRefreshHeader *)addPullToRefresh:(LNHeaderAnimator *)animater block:(LNRefreshComponentBlock)block { if (!self.ln_header) { LNRefreshHeader *header = [LNRefreshHeader initWithFrame:CGRectZero animator:animater block:block]; diff --git a/LNRefreshDemo/DemoVC.m b/LNRefreshDemo/DemoVC.m index 8e2ab9a..2190623 100644 --- a/LNRefreshDemo/DemoVC.m +++ b/LNRefreshDemo/DemoVC.m @@ -180,7 +180,7 @@ - (void)createTableView { [headerAnimator setImages:idleImages forState:LNRefreshState_Refreshing]; } } else { // 自定义刷新动画 - [self.tableView addPullToRefresh:[LNHeaderDIYAnimator createAnimator] block:^{ + [self.tableView addPullToRefreshTypeDIY:^{ [wself pullToRefresh]; }]; // self.tableView.ln_header.animator.trigger = 100; From 35a1a24540be176115504183095201ee8438db28 Mon Sep 17 00:00:00 2001 From: wedxz Date: Wed, 16 Aug 2017 15:29:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?add=20=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 26127 -> 26405 bytes LNRefresh/LNRefresh/NSObject+LNRefresh.h | 63 ++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/LNRefresh.xcodeproj/project.xcworkspace/xcuserdata/vvusu.xcuserdatad/UserInterfaceState.xcuserstate b/LNRefresh.xcodeproj/project.xcworkspace/xcuserdata/vvusu.xcuserdatad/UserInterfaceState.xcuserstate index 4b30aaaf766038278652df1dee81ded7fb86e449..84898718e7e2d5ac6671f98e8376e8b4c3b998ea 100644 GIT binary patch delta 12985 zcmZvB2V7Iv`*+T{_vT&*goKfVuptRyg}up6m?0p;U63k@13|^D%{_Hj>*%f8Y8`;P z)?KZ8*HN|Zy|>l6cOCByL52VO^P{Ne8Rt3A_j#W4+~-U=1Qs3vQ$^TLY8UgdK!L9m z!U?O5Zou|C*bKIStzakE3;qQAz+d1HI1G+~_ z0fZ2PZcqS)&>ea}5%h(AFa#=L42*?wFb$@|45)*dFbi5>2`q(eVHqrkU0@aL4~IY- z90kY0iEs*>YJ)$*pWz%>4;R8ka2ebJx5903JKOx=cr24Tan;g}5@g-yV|!zN?iDJ zY!)^bYrqy`OR#m=@7Q{51NH~D4cm?Vg&o2UW2dmw*iGyfb{o5c-No)<|6&iZr`SvE z74{#_!2!<0U2s>NkGtUl+!L4J-nblB;Gwt@53}LXcnqG1t8opk#dUZ#-WG3%x5qo+ z9q~?hIo=iTf%nF1@qT!Jd;~rc{|2|=qwsO~c>EB46hDTa!cXJp@eBAB{3?DEzlGn! z|G^*PkML*sbNn^_27ix#ARvJeBta1_gexH=+zAmOCVU8AB9I6oY;rWG2FAYw2vgcwQ; zBgPWri1Eaa#B^c?(Lgj33y4+3YGMtsme@}0Aa)YFh$F<`#8KiHaf!H0Tp{ig4~Tz> zH%Y`>;y*6QrMOO9FRq9y=1RCSuAHmj#&P4h30xgl&oyw3+yZVPw+*+5TgENtcH#D6 z-eYpxuiOpXKe!vYd%1sd_i;~fPjXLjuW_$)Z*U)RA9J5@-*Z23Kaw2Mg>)tPq?Gg_ zeMvtuj0`6u$Vf7UOeNDu6PZoskolyQEFz1^4rE8NjOkz7nJAvckm$t^Z=E4hu_PVOLgl6%N~Oa-rNQ56Y8LQejj$6+uN(QIv{`redgADvpY$5~xH< zOX(;*WuS7Y5~`GHOSPlgQyr*|R5z-U>Q42bqWe+(sR2|S^$lgCXlgVyp8ARUnVLn- zrhcL3Q;pODY9Y0VT1IW4Hd9-u9gLpPfWr(;jKKb)53T)3w1@8H0-?oPRN1|M<$$Wp znwq-G{%gx9G0B@sPo?M5Yw30L*0r=-D!``Fzc5<_)qr8bg*x&ldOZCzJ!@@0VF%zD zaqLv|)DFXAA_HTSV-iQUAD)^N%UpNw?err(mYzwEp{Fu!J< zWO^FSoB->=1`ZF51{=X9<~I*4Yq;p%sY<&tO4v`-g<=C9J0H> zZm@}-M1N0z*WvR~1n`sU{UD1aPhpSKlFa!;KGH<~p*6W_JI+XOqJcA#Q+ooOVof{^ z&VaMvT&Hd|T?bZI_N^-|^0aiQ>sehnpsu32mYz<}pgHA&e5OsZS?F-2s@h@pMR19^ z=qU-l%&9FGc$nIjn3`2sYPwd`^{naZV7m&gF(R)haGf!EMTZ3FdREu=skHCZ#1r`W zXb$D&0tFN8=PNF*8Q8yTrLm@4hf=xlnrL-hmjZ>hDow8+u` z9&l=pbDUYmM_^z*cudcs8OB8v82TK%;V2e>7vLp$1zywh==pR#-LL?>1^;m_g7nLot7;&_CNv;Lf+_h2y`CQcrFJY%CXq*s1Q8 zilH?F>q`1pRyM!|cCMyn2KXr3E@pLd#5D0GxPFCeIf}(_Is6T-fGgoDxEijZkI;Y9 zN9kkqary*(axq5+e~0Vg2KWcu2shCZ`V@i%2o@pO1;J4Wj%I8=yOQ_7gB-;|xEKBj z_rd+}0DYQ1L!YJ3(dQS!zu+Nw7#@Lt(--L52vi{GfnXS|upfX;N9IT0ze3NzbN1Le zOJA&q=jqFA(0$2Fc!hP$Z2D5UAeXro?a%N7f|$L29s$?kZH}T5-hemZE&2+5mA=*p zUEp1Kk6uDwr*AQ@{HmiL!6)_bF@1x+>2T{aPT71~?r`Z#_^PwDIDcSW#n*i*i!19I z;Y)_`m!-aiAMASngYV#b`VM`MzTXHxVjK+6|03XrfUcEw7`Mr~yXAtMX6vFnKNl5@ z*F^lMT#(KZV;MTYr3F#YM0`*#Ff>VS3y2K!z$9#yz&tT8OoWN)hx8-*G5ur#=8Z`) zAIz72O20?I4FO+fvV5mo2qtH}hRNt>^_YTw-jtD8IGd4J1QtoZpx=JZNGuwQW3vv6 z!D8u`^s5Fe9!sEK({Gp^R0vZLlxR!GG_B}bOh^AmzoUZ-Lv-I&aqPdE>i}lP3OI_T zSSFT*Wn(#5E|!N`uzbu)f1p1iz(D{Y01?0tz!4x2;4a0qSR1SeE5=H&Qmif34r@>U zhX9EHg@6+R&Iq{h*gpukBEY8=%#;W@6BGQ=)(xw4l%OW?uqyauK7I3(8NIPSt?Cn2 zgVnZP7=YEaUKorGaV)g8U%W9RKdBmljdZL#_MzE4!4Lvb0-8CAjb^Vg_AI9cp%`8fDi$nFX%@wGMP|537g8s5cWMb8JmKDCjwpwh#IkJ*bf+k zfEWP@0^UqVS%rMIeY0N>kbcfeY#uiMlR4}ajx}Nnn5(j2Vj;GOQ_KD2tQAT+ zI7BybeyhMagI!{a1a=lXhn>eRU>6YxM<4=$NY>Q|s1{>Ab%foKF`5r{(| zo{b87t%zXi!^BKM=r6W^*qp}hBM?L1>{v9gZ(woP{yl5!K4JL?d)ylIXV`PcLZJiQ z*LH`$K_IauxbLv{7!MndKr#YJ^gk@3A^Pnmf9p1-N3&ua;#?L|9P`6*oQ>)f1X2-5 zYs5*M!r35BM<4?MHH&FJ^D@#`BxJY2+33)G#ufL%MT{~^87;*FSmv7gyS!}lZ#>cYA;c+|6K56cP zSG2+l?}oQbdc4Z+$DRnZYXKMD2d~Ea+TrSmKnDccH)Y_bDk@81u}k|nV#&q9pEenQ z4{lCJe9)(K?9_-4!H43*5a^7+R|u3f6&@)wS{Bj-puGy!D-c+X!0!lb zL|`idI}q57z@G@Pm>x#pC;}%CID^0i1TG_R9Rc>9WrO%30#6Zmfxv47STsH$2oNL? zq!4sLP|$pjxj7nO{BQepgg{qjm8#JF^A(1lbSzgg$5Ql6akRVF7t%QgsYkh>knQ2K z{Hkkf`m)Wps;b59jbC;!^=y(4h-oQ*!$IoZ{0+c7iXkPfWbZl{s=qKex3KJA2epP- zot)}xs;sVQYgARY-1@15pATab3^>!<2Q)__0@Mh-)esW$*6Nsi30fCX99B?q+ zxy1%vj_qybf&%+D6r)OTX+f1bsK~y-wdf3{bBTvn%hMA94u(-oSyE*yzY{VCWy}}F zPOV%+ggF?-ebMdd*~0UL%0ZvNs;+8bQoLh%qTQo*f6Yiyc(pojii6>M#+uyb3(|zz zu{?zZ(%53z;8>oOf@l6l1aupmDj?=HV(;|<$}s) z&;#9Dd97`e@YFOD^DMPRFcX~|g0sH}hO{uXi-S6cjkLnnN3L{G=CMb%CRa6AETW32 zX7321C((=OP4q#a9)Sh~8WC8qfapuqaO6Zk1QsH&h-Po0#mva`IoNQvv7cu0j3*HB zEk|yz#BBXpW~Z}d*nXV_SS{!FIc5$?DXE{jA7TPA*&#QDnCg&Qj=*m%8nKSpXqVR!n~2SKghbJc_ z*#}9nF`rvnt~1xINi|o%6>{WU4+Pljjhbb;OTr z$N$87F)^9-er#gm=Xl|UawF}caoi}b${~6Tf#WSjcfDw|IRK1H`V=nQL~fd0EQ6cQ z&0sCkAaD|aQ+Bb_&A9!<>-kf2n5Cw$z{jVs0Dd`=iJN0rpylRr^H>FJcXSqkb9M#i zn-#2enKP%;@Ys}87VD(sCfwug@O{xy%x&+my#u$S!*;d{z0|^X|5FE7H#XTG7yHHb z3T}6YSPyO$yLB%Ft{`yLE_SVX>sbxm$Fo~E;SiscY#->w$FVyznfmaM8wlLAGv8`v zK6diVlm9#Wo2icqxr4x6JKw!#zBQ>2+ci5R!G4;AxOnE4Ugg9#zYpwu|1yX5a>i`% zbLB2V;1ObHQ|#&!#@7&rE$6Own7oF&)^XBj2t2pbo2x;@)ch`W4wRC=fV+vi-7eTqyk+~?r9$-QS63+4X9z3&kFh#;qhSojU96Xoy)o6F2Yqr#Q@AA%4;jOBtj zbId5mNkDR0HC}R(q?)uqE`nrBE$6nT%x*?Eff-{`xRMeCoe*@kE8#IcOre-R8DiI= zm639eoD4&d|gvY)Wc=GmIQ?#SVG^F|;j z`(Nf+NOoZ5uuY7hyp?ST27JO{96903Cf^|#+WehNes5Pk8A0X$P;MdHe9`W0*X|hL zk~7I!97O~96ZtcO;Rr@Hkh95O5L6+kX^mxlQzHN)$_19@d61OR#uCiW*)3X5a*=~8 zs$5Xq#ATm`Ik*HR%{wk7SF=++avAw6xt#osTtTiRS0NaUU<`t>2*x28k6;3ViHpfK z8{|#$7I~YzL*7Nuj9?~$SqNq$n1f(Gf>zeNLGDjlnD+d$X~C~ac0S+I zw09&s*{dhtBbZxHvIQoOnV09CMPZzm^%Rbvg|@a)l?`Zm9kBEqP^a%-S<#Flw_EgHj{d4MBw9x6Fq8nl?sG*+R-hnW;=Fi(>s$iC`ZDYZ0tNaOmd& z0hLFwAM}lsh03R_2zE!X2ZB|NR3X)dVn@3@5$uIvZ+mhnnE6(JX1aB>yc1RazeKuF z6%=btHG+K+tYI_-KJqGx9nJm!%B!iqR1Jdt5bTfO0Op$lnQkC8^nY;PO z2*JT@-PJyBnj~?$asuU$6L_3L93J&8HEQkkf*NQW(o`&{G1SJCsLCrD>a##(&T_)2o7g`fFQf^$VF5k=OV>WKXNW|F0%fh zEeL*tAkDt#SnOU2&M}$w>=bZN&$^*S%+aE0x;d;tbE$dlti>w(3s(r+Z!7ae)6OHv zRwj0gN7Yje4nry%sCxTgUQklgtzu|kMO|QgT5JMSUmR4nm{V5IaiyVsM9n__P``4@ zma+4NnfMfZGPR0YjnBq^!e`)<=vfGiK!E)&U||}A;5Y@=f03-XuYIkm}A zFUEfPQuAo_sYGpeFpU4gptS9#_LLU0k7$)N;7}ZIPB15elgLTqXo*sy6Z>saOAIHz zW#6tR5EF^1#1HHX_6%Yxagw-3JSLtJ&xx1BYxary9r1zd%5~!kxgP8@wV3P8_2K%l zkI~iKX>5COo%@0GCKc?hrzW-R6=x*P?ER5L=8^d}vViQyz9?6*Z_0hxSLIr=Kgm{p zatQmj%#e%Ns&$=wLGh?GHpDwpRa7skH~X49iJC%9qkg1jurIpHso$wh?ECFDY6o?g zI!>LWPE!}COVkzW8uiEtI$=&OPF_xdPGL?-PU%i2r#4P)o!UEfbSihMaO&!0t90t? zG}vjZ)Avr(o#r~NbK2~*-|26sV@@ZWPB~q4y6kk->AKTRXVTfnIo&zixzxFxa|h>6 z&R;o~J6AaOb*^>p?_B3R$a#qKFy|4@jPow%YdnJI$y4y+c}ct!UOG?B)AHKz%6JvL zuDtHNDqb&M9d97-TizJnINo=>NjBbO-fZ44yg9siy!pHhygj^qyaT*Lyd%7$yi2^x zyeqtGF1U-(Md=dm66vCHiE)W@NpMMWNpVSY$#BuQl)AKY>EP1I#XQm{_2Q?OrfP;f|aL~u%QMsQAWL2yavBn%R!3JpTDFiV&tw6zsh3VR593VREy zg*C!{!U4i>g`>5V!#&5n$i2k9t$Ta- zj_zIEE8Tmz_jK>=UhO{KeWm+W_gn4{-CuhE50OWhM~X+DM-Pvl9=$!PJ!(Aqc{F+~ z_xRmogU3dX%^q7lwtF11d7SaMj)gG0zj8r##Pig?hz!WqRd#Re1IC zn(j5rYp>TGkwD}pl8a(R@uEagvPdV&6y=FZMD0W!M4dzfM6_sv$Tm^*y=aPPnrN2j z7tvhNd{KjFf#^5U2GK6jdC?uwW6@L5bJ0uDYcUXGVnR%coy0tGm^f41Q~a%XqIi;c zvUs+5u6VwxcH>_lK8s#rueq_uK0!ct@xezg9MWh5>nzM zahLc=l#(b(v`rE#Ns^>U(j*y@Oi6*Hv*asDnWT%PT2d?NFBvEqEEy{KUNS>6TQWy7 zPf{;gAz3T=U9v&4MY2t@L$XV9NODSYU2;cqPjX-KSn^czT=LSJ@)mjrdnbFh@$Tc@ z*SprczjvMY_uezS=XfvmKIDDY`@Hu>@5|m-y1gR3={#w@v{AZH zxowTber_9^j{ybPoPhxPo7Udp9wxc_)Pbi>GQMCBA?%VHu!Ax+3d5`XS>f% zpWQykZ9XS`PWznmx#)An=eo}=pF2Jue0_YCzFOb@zN3BT`7Za};JeXxv+q{l?Y=vG z5BVPPJ?eYH_q6Xh-wS?(pVqI+?+3rFeh2*y`~B^A-0!5{X}=qOxBTw--SbcKH~Q!L zTl}s5h5qgQJNS3<|H{AIpZ2f!-{XJS|ET|Q|C9cg{B4*0ulnEff9d}|z$+j)AS@sv zASxg_ASoavAU!}6pbN+kCr&0v-pv5BL}e0Sir{X+J%W1$R|nSy4+tI@{8RAS;A_F}Lc}3)A^9PL zLZ*ex4Vf1*Kcpe#*O28QD?&DhYzf&KvOVNb$l;J9AxA@OmqIRwTnV`r@-XC4$m5Ww zA#Y?{87ZS=&N2^~Naii`kwwaqWT~_F9Thq`bXw?-p)*5gh0Y0` z7kW7Kt`bu!lm*K6%1+8MWfx^{>_sYr2naWwpIm&s;Rm!!> z^~yh#o0WT%$CPK47nGNk*OYga_mvNoPn6G;Z^J;CEKCzt682SCm$0s3m0|tE287jx z4GNnYHYaRR*wV1&VJpMdgl!Jn7Pd2NPuRY&17Xj@gTvc|)8XHTPYq|nXN3P8K0AD6 z_#d|Lt>HVucZcr{KOTN2{CxPO@ay5X!taLv6aG4a7ZDwi5uuMTMPx--BCHW@B8nrr zMD&j68__SKE@E)Ru!u1c<0B?UOpcfu!9+}t*d1{>;!UJ)q&ds1?7TU6UsyHtBs`&ECbj;M~QPO8qR z&Z{n|uBvXRZmaI89;hCvo~mA`UaS67eTW9pcr-WKBibuk94(EmiXIp}IC^OGi0H%7 z=c6x1Uyi;OlMthiF~*ou#s3+9 zBK}nTnfUVwQ3+`Y83~#MeZsVaxe4mDoC;wB`r)^le8{rebUC{faJ(zRdP&neDd_ZH`ksnb&5q;b=z zH0Lzew6e6`Y1L^pY5mjAr`<`rmv%qxVY)Wml5R~eOfODvNMD)$hb?_``nL3)>3h-- zryor}k$x)uZ2I~17a6`8;Tc64oie&*RA&s!7?m+5V_e3BjENaPX3Wf(mGMi)yo~yc zWf|)-c4i#RIFxZD<7me5j0+i;Gp=Ra$he(xH{(ghe`-oCRC}ns)MB-_I#?}NE7jrZ zD0Q?tMXgs`)$P)MG{u@y zO*>5&O;=5KO_ip%rdl&dW7AC1OxMiR{H&R+nWI^xS*lrX)2z^})~wZR(HzvA(OlJB z*WA?H*4))R(LC3@(!9~U(|pj9T7lM2tI#U7;o3;8N}H@r)2g*vtwC$j=4(4@duVI5 z{k3)4LE0f&q#dmtr=6gkq@AptshzJ~s$H+$uHC8Kt=+5Lr#-4Yp*^iVtG%GTq`j?u zrsL>rPCA~>Rp+J?>ZCe9U7#*lC)b7QVsxpxOkIJljjmW%s%xj~qU);buB+1Z)>Z2U z>1f>q-3;A4UA?YRw@|lOw@SBGw_f*$ZnJKy?oZuu-9_C!-BaCj-AmnT-CI4T=jxsG zJUw48(0l8H_0jqieVRT)uhHxDIX1mTU!ZTJFVVNvm+O1$>-0$foqm#jvVN-m2mNgQ zTz$R1QNKvPM88_US-(erOn+W~QGZ!~RexQ7U;j}5ME^|xQvccj3_OFEA=nUMh%!VQ zVh!f$8R`wc88#U9 z7!Di$HXJjYFq|@6He55@G~71aGu$^kH@r7G8$FC(MzPV`=wp-_Lyh6aNMp1y)|h6@ zG!`2>8_SGcj9(kO8LN%8#sS8G#v#UG#!<#e#-EK1#s$Vj#wEsO#}&QnhnmC9wkUJ7InJD5R-1FpCFTlqFLNJrUvsUw zzj?U%8#6MGGLJQnH%~LqGA}l-Ft0YRGjA|&Gw(F-G4C@UFrPM`HJ>+M%5={R$PCI1 z$y8)^%B;%lmDwk=CUZgN>dbYS8!|U#Zq3}Dc_H&==AF!cG9P4tEYB?ete~urELm2l zEh{`LIV&%#EUO}`SJt4c;aTIdre-b8T9tJm>q^#xtVdZ-vtDGq&U%|I$_~g5&X#9~ zW@lt;v-R1AY;$&Yc4>C|?8@w_?B3aZv-@Qa$R3ex%lW_bx&3nc=ho$p%>5>p&Yhq8 zTkeY7mAR{Px8?54-IKd7_dxDnxtDSuyhUfV|*5d7d&aB2Sg4 z&eP=?ZF!k_IeC`6g1n-&T6S1= zTmG~hupF}dZ8>f^WjSlPXL(?GXnAaTX0g4rys^Bqe8}hIJLh}ltMbkH9rJ7Q$K}t@ zU!VUf|AUpVx>s){w;W1@T}l%!TUl^Ay!Bf@(YE90fmu;@r6l+sf8JZ#=^|PoI*>X zwXj`bSz(XDnxd0MXNs;CJuG@r^sd;cSXAs?>{}dA99%3fRu(4~rxd3ZtBZBThGJ83 zW^wQ0sl}U$Zx;Vs{G#|n2`F(c5teinm4uZaq@m8`2!s%luy=L>AqfyApdu<&LB)ZnxT-eys2$e2dfU1O z;@-24s#U8U*3mlJ+S=B=s8~1V4eR;0E{w+yQ@qzrjD? zF?a$g$b$ip4+CK^jDR8-4P`I|s$eS2g4r+!7C<93!D3hrE1(;8hdp2o>46nmm@D98SAHm1)3C6(yMqpel6br+`u?S3rMPo5o0;a-JF*T;av{){dhvj1x zm>cVYb;T+%4_1X$W8JXsSS{8E^Y+6AV1uzHY&bRw8;ecCUc&|u(jAaY(2IC+lKAJKE@7Whp;cOW7v1tdF*@a2kZj&BX$Y9j9tfWW4~bc zus^Urv8Ol(2ROtr9LFg<5D&tocqAT$N8>TL98bhk@C+}WiD%*2xDI#XF1!pc$189* z?!mj`wRjy~k2l~0@Me4jJ`x{=kHsh86Y+!i5&S6r1%3=aiJ!vH;Aipg@bmbO_)qv{ z{0e>pzlq<$@8b9I-|>g|Bm6P`gy0Z>AP6oIK=6rRLP&%Y5rmY8Bw~p;!Yd~d2_=z2 zXb3HlNn{auL_VP-^n{tP5G912a1muh7osasO>`rA61BuYVi3_t3?_yULy2KT6Y(lB zftX0VMNA{!CO#nM67z`p#7bfnv6|RU>>zd$9}FLBuWPZ7>A+4l?bdnWhH?k+$hwM)_l7q=6vV|N&P9$ma4RR*=F3FH{ z$$8{Day_|$+(>RBHaZ&TB$cc|GEL%m16 zPklfwpjK1snQFoSzF^)XCJH~JKc^v0&=R_UR@4a%%%Mo>_5yAuBzxEzh7Ip#-9CvD zll)oqEP5fmh2Bc<-M%!q0ARD|`OFW(VPH1n2r-fG({Irq&~vxX4ygeWMeE}yA-yJK zWWjBFS+$hV{CHa-P*mSHBlueWPnFbFyAIysZT z@#UOJoaQs&Bn#&h_zHXtPS@5C?>~ANi>bP@tfr-LSi`86zQda7cWH*^u$~*xIJBWK zEsYtHpT=y;pm=_C=fF42oFoyk9DK`Z_Wky3{XF=d862SjKQQwm(vlK2{Rj1J8rbjx zNNGdg`i7C_rp94?TN;NqRgG_MC}fN=DM4qz&n%*g;54`lzG7lT;^cYsyM9yG!1d}1 z4-0NNxW;Kd%?V%`Z-UXS;1<1rp3T&X;*;-!-#LmE;8$=D{08pRi|EDl5_;(h@BsY5 z`s*RRj9$fhYz?zqWK@8EA@ni-2cAL>1avFCoNl96tl%U8J0v)XY{JZDJgVR&JWu%<=s^mr=vCPBQ5*gWg1MW(p-S@wqUMqgb|#Ry=1eggPJeB6?dZ)YID; zhb&49%|0v^Xr*`1yIx``fsRgkozO+^q(5X1N@9w;Ku;%H6|AOr(|hQII$^NGR%~nN zH+tYeHoPMn`pQkc4z}Yx3wy#^*o*aFZ*Usc!B?0BsVn{ynnQm?fBFsV2m7<6de{I5 zu;kvbk@El!2FI8g(hBb<^ig`>Ij{n(WFx)`tcFA3Ft84+XT5)z-tR9rzgtIw(QR-P zY=NWc1N6uA!T(os{tA0uAstHS*%GANi{?=0qABlGCH{Ko1Q%O;1?I?r?T{3d46H!yJfIWACxGav)OWuNC+KoXf;VDY1F%YJ8M}84(rR zZ6Pbk5wnf!McOTet2v6*a2afc%V8T_0awCR^fCHN`Z#@pK1rXVzgo>nglpkCxE^kR z8{sCl=Y5T!9YH68JrJCL;6&zH)ZxtC@Bl}#67GR};YV;E+)tmT&(LS-bM!YW;m7bG zJOmHJPv~#y%Lw#FkdL5@IUju|`Ac}hmpjMl?^@wW`g=C1UY066!|r+>eZEfUWGx33oG@qr0rjS@5+dVJ}<6!|9pT151Lf@h9uE2sY0Tzr2>0jx;5#S>rVaCTF z3KnC&Hh@X!d#zX`{To|&(VAGc?yxv4p1w~%d{K9p98<8hg(YH1^zZb8~L+wHv3A;*Osv@2*f=*C9v(j4B3J0L?9jk`O6&H zjeXRy|6=>F{RqeqNT3tib3~aOA~}p5?a0Ha$3CN3Es0Fm>kBne_?EGWh0P-KyDlM7<+>Ki$ER%`3MxS!D|!|tO=Y=-oh7w z!+CfB)10DA6X0QNeDGjgh=<^z2dW@ z@oa$bI0P)MIO}LDGhY>*mBfYzSKzGQYzUOT2oJ8pHLUCLR9uZfF#;vaajh>vb~ZrI z%2?ei2hZ=!!&c&FzS>Kq6P|4t*W+v{ufz?w5jWvx+=74;0X8CK2$UmGu@bl8#drxT z$ga5&=z>63p9Wu$cGclsUPkG;!YaJFQ)uuWc*jDef8v##;$l$Nweer(2$aF)X z8iA_zs(RiB1DIdbAxQ)AA6sV!YAWXz#I7M_#60}_*?ii=CCGFf-k}sBhUwdR}koj zKs^Ej5Ew+yWdvFkQ>c|i`4lY0m*K7Wa=Z;+fv?0@;j8gA_*#4&Q?FHe5m_gyV1P&u`6oD@gIF7(61WqIH4Fcy8xPZXV2wXwn1_Hkz@GAoM z5%>cE*5Cgi@E?KzK>|Ul(~*Pwt~c`#sH+pY{MTpZMrmC8>9{2=K%^bi;RwY)_w)8; z;xf%lMPYEnu#VIderkW_Qd)KBi(?Bv?O$$Sg}Ov^QunQ&GLQ+$aCfF$@KYLDN@WLC zm;B2^n7;W1>;<3fEOgyZ9mX2+M7*^Bi+_1|ov@BQHx0}ynOx?}%$N=wzxg>v)Cp_a zPgYYt!Q9IaXY5%a9k~AVbB+4{T;FDfbb#1?f+H}RbwXul_p~412#jUS*_AKV67AT9x>vPgNaD@3eyf0PrIzb{N zeg?!sa(AZ0_$gDK*$tC)j5Lwpr@r3Vw7N4>vY+Wqzuz+$zgLx=nbdx!X?4Of-|nM) zA1N)`PR26)EYsPbn>vHc^;2fB6l;fV7x|ZGbvB&Z!K)@e$DH;&zL-bGl=f|^AKEao zQ??VuelCWYQ!u!Lu+zW%{<9(o4Stbogxg1AW)=+YjI+uwG5@)__~+(2?X$+uweXoM zn1w~b>Ai@)>`6fMCi)O{1lv#8#rr_P3kd$ z{j1bEy_@%yGKDQwIh1oU4MxU6D*hFk*&9V(~8v@&X zVmth1W!R(fANb+sr{}SDbMiV~(}-QfKA!>;v7b1=DmaM1hY0NQDcJ2-z)no2Z}=Y* zlaAm&CBF122_udZC;Z^|BJfc=cxH$p8aqpz_tU>8e(=-TBlUovzSSVZE)zHW^qa&j zKb^&K$WMR5%Kt|E>7(Zo4~a*9`X>k+X{Y-^#=c(=ex}!iyzE?mTwYv5iT}75D;g1s za|uoomqg%G1U~age$KpOOu~Y=p+0g>7&qLn_!t6Tc2FFrA&2y4cb}bKzy>@w`-SJZ zQQUZ+WQL5J;Fmmsz{!r1#={pP{qf4oeI74v3Rmls%1q;?`=!|H+t(eX(kw&IJjF!gTPsz*tusxN_^TI^NSVaX0kJ_jLiIwVdj=_T|Nb&W!!SV z-ER^2uH7ypFh^rm+!`M_yC=8SPyQZ(A3DOy*gZvFJ0T;>=iaP>ycfXwaR;{VXArm1 zFZd$@KXnu|ZBP&Q1ItU#c_G%!9qkiKAHyBX?q@s#7ZJGR6TAFuKXT4)ajywkIeEFh zFZ-c7{Lk=T{n%m(yZg7(9LUv_GKl{l%vYG+*I5B(jQwRnjC^|!SCwp-CoCll- zWDS#NPe~WIe>ak~WUtx^Py5)nOW&43%gNrH=8g+~t~&A+X0|;F>r3`yHrWe8>d65< zObrM|wvq!8jPhaf4)I|cieU8r!lWZdA?ODbj9^SBKnRMThh!`{{-x$u5j&Xl4=Tw? zKIN|=82`VNn|;cye(fPX?fwZV`6l@`N3ooIi=2jF0)mOl$?4=f2r3ZF?Hr#ueviwU zpGv!Sh|dT9Em)f+_@45mY0nSxqh{ z+sGBHT6(YU|t5w~bvI%W3Xb;qm?JIqvZk%~7mkT{VH4NExWtC~v#N zMk2^o^D79pAUJvzW#U|*rchHk7dRJK|Iuu;#~?V4F?m**X0WzrQnR{Oc(lG}BHxWx zQT$-ZMFhwCfy|-a_1kP%PR-#o*9nDH!|VHwkMG+OpH-Ni!zij`wR1UrS~)@N+Z;RO zWk==ILQbD`?C1UrY6-p&pU-~sPhm#@i}Cm9xd^ZgX%Ye-An+~%>_A~q`-lGm1m0rf z|8h!8t@F2y*Pee@F}2kZ-c8izYEMhwmIfMdD2|kqz)9uga0)p__Knw0R1v+{H{B*; z6nmE+%f95kM$p7$Vl8oyI6+(>eqvv1FB4aZ>%>jsHt{$6V*4-glnb~Rm*A4@!>yBB z!=1$4z&**mO%h}%nan=2rn1LV8ha#VkvZ&vP~att*z=*1tYY6;d$2F9z1X+bSIB-O z+sa8V`@*_}?HZTJN0frfVjn%L+MhaKp@y+9oFjd~qsCJ+*jLSk)M9EW)ka|81O3j=k5hCoxGCD0aF5?C7O3@i(*2y6@-7dSU? zbKrr%(}6bv9|r{or3MuT^$KbT8W1!nXmHS|pq8L9L0)gr>p^b^%?(-Jg2jTRf>yyQ!5YCj!3M#{g3kr#1m6oT2!0Y=5nL18 z5ZnspdxKMgbAuhhuHf=ucW~EWPjGc`_u!h~+Tf<(=HQXREx}`g#|6I{JTdsSU^;km z@cY4=g7*cV3H~Yg5209?D$EsHg(bpLp-WgUbPLA{rwZQ`P7}T(oGF|wd|$X+xK_Ac zxKX%S_@QvOaIbKm@PP1k2n>k~k%uTklp(4RZ(c}ANNI>Oq%5Q&q)SL;NL5JxkcNvBSXEfJu(!hIgv|?E5Vk06N!YTm zjbXdJVF$tvh8+$&5_Tf&RM>Z6kHVgWM};fHRpIJzZMZJn5$*~v4|j*xgx7}Ghc||g z37;JPPWa65+2QYop9#MZ{(JbNh@c2jggK%lVnoEeh(i%4Bfg2a9C0<`dc@6$`w@>K zo`?t$B?=G)iV{T`qC$~QWDuD|7LiL-E^>>!T}2*IwWyD1kZ6=>x@exLRn#V0DOxRB zE7~U7A^K3XTeMfSPxQU$kvLMECDw`cVxzcB>=t(wSBblcdx(dM$BQS5UlSwo6!Gig znPNu#zId*9zIc^*y?CQ|vv`O2L-B6$Uhya5)quNDfQRNN!4@G)5XHl}Y8&B&k7amsUu7N+(IDNvBI^NM}jsNLNYM zNY_a>NHW?)QX%+Q#onC6&CG2R#y zGbQG$m>*-V#$1oN8FM@4e$0cIKVu%n{2dz^TNK+Tc3|w_*rBmav14P$#l9LlC3be~ z+}O>r`(i(dJsSI2>=&_L#d=T2o{Rl1_WRfyvA1G>iM<j4HF2~)A`z!9BxF>P{#dG3$@%;Fpcwu~4d_=q{zA1ij{PFnn@fYHMioXH_sFZ|{p9`S_3{DoQSuh~X!%(ARQc=j zH{@^0XUP}I7t5E(z02flXX1gxLy1QcKTSN7csB7|;f#rukRiUo=Tiq8~h73UQ{D1KC2R$NuwP~1}du6UXpkQ|gOOb$yHB}gR1id7XVkE)xhMpdgCq#CAbR*h1PQ%z94rlP&7nW|RRQPpYHx2o?|KdLUPuBvXR zZmAxof>b<}Obtj4N)@I?rN*YpQWH}ZsVS+csWquBsk2hIrT&n5HT6d7?bJJ|f2aPF z`Z)Dpb%2_$4pa-&Vs)fCMjfY4S7)hn)dgyu8mZq_&s8r`x2jjDSF1Ovx2kujcd7TN zy%*FEHG!H4jYJcriP5MusT#FLt0~n~YvySdYL;kPH7hi$HS07RG@CWsG&?oBH6LjX zXbx$PXg<>%)11(Jr8%SdMsr?sLG!cbvgVrRrsfyTubTUsKQxcDg<8GVq_t{Gv<_{V z)~&77R%?4`Yqfo}eYN%4f!e{^VP0*sc9eFEcD#0?)~lVYeO>#OcDi<^c8>Nv?Og2w z?IP`3?RxD-?H28SY5cUHwBWSRwEk($X(Q8G(#ED8OZztMeA*9bKc%Oo>(UMBrgUpM zlfEo{dHRa<)#;Bi@CC%+2)XXBK77 z&0LYWDsxTd`YbXlJWG@%$%@Kq%9@ZhDa)HRIqP)R&smqUu4G-$&d)B+wr4xC%d(ed zZ^+)1y(N2ljx(@=l7gHavtS6bGzr(%4gz@;2pd&HFv?X+Fru^11o;{HpwJ`91P$^Y`Z; z%RiofGXLv>go3n!jDoC!+=3+q>kBp(Y%bVVh!qM8Lkq(T#f9F&cM4|~&MssMuNK}f zd{Fpj;a^4eqN<|aMXwa~FB(wPSTwR|bkVq?SBoYUd5abl9V$9i^hn3i@pPd&Z=6o4 zQ|Z(?tu9?xpwsD$IJ z4|ThBdv*JC2Xvq5j_FS5PU%kT&gy>DUDw^yJ<$_-QqR-#^+9@(UaF7Q$LeKzxn8Z$ z(OdK`eYxJP@2dCcdwKPB`hNO){Xl)Aex!b){&oGk`i1(%`lb3-eVcxRezSg?eusXS zevkgJ{*?Z_{<{92{=WW!{!jfQ1IK_FxCY9=Hv}0(hB$-TkYmU*6c~yOdP9l9VJI_H z7`hrfhF*rjhOq|PFxfEG@P^?n!yLnVhPj6MhDC-Y2JdRa7Q=qSr-siB#|*~}Ck@{k zzBl}6_}OsTaMf_v@Q;x+3XP%0aHGg5G0KdI#$;oPQEk*3^Nc2=!`RJOXY6b2Z)`9Q zG&UPY8OIpM87CMg8Q(B6#%0E}#`VUH#?8j9#=XY<#)HPg#-qm1j9(eg8?PJh8Sfh( z82|JdADK8N%)~WOCcY`iBr?UDG^SirzNyfpGZ{>Flhagga+@kmRi@sifu<3r*GzAk zrkSRjW|(G~=9w0nmY9~A+Dt1=n@qb*M@%P7r%Yd)&X~@bellG$T{T@d-7@`R`oqjI z2bo1?i8<07ZH_f3n^k6wInA7D_GX*)X1lq{+}m7d?rZLEZZJ2QN0?j8W6a~t6UMa8;gDpcX!!08$uUe*9W?SZaEekD+ElVw}mUWhm zmMxZTmYtSemV=h#mh+a&maCTQmYbH_mIs!HmcK2JE&o|LR-QG~8fR5nRaUiCYfZNn zSanvT)ois{ORR2d4{L+9$=YlkX>GBNv3jkOt*=|(w7zY9$NIi?sda;Or*)TgkM$$# ze(R^!FRaI{-jmj^t!Jzktkd|QxBWRu#WZLv0)O>R@$a%>ix%T{i4 z+q&93wqCY6TR&U9ZJ@2uHqtiH_J)nIEwU}KEwe4Rt*~vhZLw{)?X>N-?X`VkJ7v3I zyJov#yJh>ucGvdM_P6bc?Z0ABj1>nKM-(S`i&Ki##c9Qv#RbK>Vq>wT*jC)N*i&3x z+@p9#@q*$-#Y>7?i@zzpQhcrWM)B>ExDs_qT1jR}PDy@AVM(`=x{`h+4J89hCYH=9 znP0M~WJ$@=lI0~UOSYAKT5`VRLdms~`y~(U(9X9f+EeW|dr$j7`(XPpd$WC%eYAa! z-MhfP*uKoZ+`h}c*S^ob-+s{kiTx}48T&>175jDjE&Cn&ul7gwf9(I-pO%J~ic6)X zk)<)E@uiy5%+j3F{8D|Xsnl9pTv}OLRobnzrgTl|&eC0_drJ2?LLG4qts}#c?Z|T! zI`j^c!|JGXR6BY&Y8`zXeI50VfsRJ6V~S&zW4U9C;}gd@#}&sN$6d!g$6t=W9gm$+ zPNg%&sdB2F1x}sQ=(IR(&Jt%2=RjwRbF_1ebDZ;a=X=h%&IQiJ&SlOv=PKt~=Wgdm z&I8Uv&LhsxoX4CeoTr?(oKIW}4r@G#7F|H3> z^IeNvOI@w5?XG>Uk6njdM_iw}&bcnTuDGtcuDc$%9=iT^J#jrP17*QwF=eWuX1kXg385}%PQL{w^VMg+*!H1@}tWAl^<6g zs=V&udvZK=oG{j^ w*z;c%sKTqrDqfXHTP3NAtcs~>u9{r+X4MS;6pQ_jx9vaF7XRPR|E!wzf5wB5i2wiq diff --git a/LNRefresh/LNRefresh/NSObject+LNRefresh.h b/LNRefresh/LNRefresh/NSObject+LNRefresh.h index 875ee04..a375e04 100644 --- a/LNRefresh/LNRefresh/NSObject+LNRefresh.h +++ b/LNRefresh/LNRefresh/NSObject+LNRefresh.h @@ -39,18 +39,81 @@ @property (nonatomic, strong) LNRefreshHeader *ln_header; @property (nonatomic, strong) LNRefreshFooter *ln_footer; +/** + 添加下拉刷新 + + @param block LNRefreshComponentBlock + @return LNRefreshHeader + */ - (LNRefreshHeader *)addPullToRefresh:(LNRefreshComponentBlock)block; + +/** + 添加DIY下拉刷新 + + @param block LNRefreshComponentBlock + @return LNRefreshHeader + */ - (LNRefreshHeader *)addPullToRefreshTypeDIY:(LNRefreshComponentBlock)block; + +/** + 加载自定义动画下拉刷新 + + @param animater 自定义动画 LNHeaderAnimator类 + @param block LNRefreshComponentBlock + @return LNRefreshHeader + */ - (LNRefreshHeader *)addPullToRefresh:(LNHeaderAnimator *)animater block:(LNRefreshComponentBlock)block; + +/** + 添加加载更多 + + @param block block + @return LNRefreshFooter + */ - (LNRefreshFooter *)addInfiniteScrolling:(LNRefreshComponentBlock)block; + +/** + 添加自定义动画加载更多 + + @param animater 自定义动画 LNFooterAnimator类 + @param block LNRefreshComponentBlock + @return LNRefreshFooter + */ - (LNRefreshFooter *)addInfiniteScrolling:(LNFooterAnimator *)animater block:(LNRefreshComponentBlock)block; +/** + 开始下拉刷新 + */ - (void)startRefreshing; + +/** + 结束下拉刷新 + */ - (void)endRefreshing; + +/** + 移除头部刷新控件 + */ - (void)removeRefreshHeader; + +/** + 移除尾部加载控件 + */ - (void)removeRefreshFooter; + +/** + 结束加载更多 + */ - (void)endLoadingMore; + +/** + 重置没有更多数据 + */ - (void)resetNoMoreData; + +/** + 提示没有更多数据 + */ - (void)noticeNoMoreData; @end