рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рд╢реБрдн рджреЛрдкрд╣рд░, рд╣рдмреНрд░!
рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП "рдмрд╛рд╣рд░" рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдмрд╛рдд рд╣реИред рдФрд░ рдЖрдЬ рдореИрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ "рдкреЗрдВрдЪ" рдореЗрдВ рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рд╕реЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ? рдФрд░ рдпрд╣ рддрдереНрдп рдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреВрд░реНрдг рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ (рд╣рдо рдЗрд╕ рддрдереНрдп рдХреЛ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ VKontakte рдирд╣реАрдВ рд╣реИ)ред рдореБрдЭреЗ рдЬреЛ рдХреБрдЫ рднреА рдЪрд╛рд╣рд┐рдП рд╡реЛ рдерд╛
user_id рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдФрд░ "рдЯреЗрд▓ рдлреНрд░реЗрдВрдбреНрд╕" рдлреАрдЪрд░ рдЬреЛрдбрд╝рдирд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рд░ рдХреЛрдИ рдЬреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ, рдореИрдВ рдХрдЯреМрддреА рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВ! рдорд┐рдард╛рдИ рдХреЗ рд▓рд┐рдП - рдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдПрдХ рд╕рд╛ред
рдХреМрди рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛?
IOS рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧ, рдЬреЛ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЬреЛ рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИрдВред
рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ "
рдкрд░рд┐рдЪрдп " рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдареАрдХ рд╣реИ,
access_token (рд╣рдо
рдЬрд┐рд╕ рдЪреАрдЬ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ) рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлреЙрд░реНрдо рдХрд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
http://oauth.vk.com/authorize? client_id=APP_ID& scope=SETTINGS& redirect_uri=REDIRECT_URI& display=DISPLAY& response_type=token
рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛ рдХрд┐ рдЗрди рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХрдо рд╕реЗ рдХрдо рдЙрдкрд░реЛрдХреНрдд рдкреГрд╖реНрда рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реЗ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рдирд╛рдо рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред
рдЕрдм рдХреЛрдб!
рд╣реБрд░реНрд░реЗ, рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛! рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд
рд╡реНрдпреВ-рдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдмрдЯрди рд╣реИ "
рд▓реЙрдЧ рдЗрди рд╡рд╛реЕрдХрдХрдВрдЯреЗ"ред рд╕рдм рдареАрдХ рд╣реИред
рд╣рдореЗрдВ access_token рдорд┐рд▓рддрд╛ рд╣реИ
рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдХреБрдЫ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо
UIWebView рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢реА рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВред
рдЪреЗрддрд╛рд╡рдиреА! рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдВрджрд░реНрдн рдЧрдгрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
-(IBAction)vkontakteButton:(id)sender {
рджрд░рдЕрд╕рд▓, рдпрд╣рд╛рдВ рд╣рдордиреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рддреИрдпрд╛рд░реА рдХреАред рдореИрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдЕрдиреБрд░реЛрдз рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдКрдВрдЧрд╛ред
http://oauth.vk.com/authorize?client_id=APP_ID&scope=wall,offline&redirect_uri=oauth.vk.com/blank.html&display=touch&response_type=token
client_id = APP_ID - рд╕рд╛рдЗрдЯ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдорд┐рд▓рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░
APP_ID ;
рдЧреБрдВрдЬрд╛рдЗрд╢ = рджреАрд╡рд╛рд░, рдСрдлрд╝рд▓рд╛рдЗрди - рджреАрд╡рд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ (рддрд╛рдХрд┐ рдЯреЛрдХрди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдорд╛рдкреНрдд рди рд╣реЛ);
redirect_uri = oauth.vk.com / blank.html - рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдЕрдиреБрд░реЛрдзрд┐рдд рдЯреЛрдХрди рдорд┐рд▓реЗрдЧрд╛, рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╡рд┐рдВрдбреЛ рдХреЛ рддреБрд░рдВрдд рдмрдВрдж рдХрд░рдирд╛ рд╣реИ (рдкреГрд╖реНрда рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд╕реВрд░рдд рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ);
рдкреНрд░рджрд░реНрд╢рди = рд╕реНрдкрд░реНрд╢ - iPhone рдкрд░ рдпрд╣ рдПрдХ рджреЗрд╢реА рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рд╕реНрдкрд░реНрд╢ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ;
response_type = token - рдареАрдХ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреЛ рд╣рдо рдкрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреЛ
oauth.vk.com/blank.html рдкрд░ рдЯреНрд░реИрдХ рдХрд░рдирд╛
рд╣реЛрдЧрд╛ ред рдЦреИрд░, рдпрд╛рдж рд░рдЦреЗрдВ,
UIWebView рдореЗрдВ рдПрдХ рдЕрджреНрднреБрдд рд╡рд┐рдзрд┐
webViewDidFinishLoad рд╣реИ , рдЬрд┐рд╕реЗ рдЕрдЧрд▓реЗ рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣реЗрдбрд░ рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдордд рднреВрд▓рдирд╛!)ред
-(void) webViewDidFinishLoad:(UIWebView *)webView {
рдЧрд▓рдд рд▓реЛрдбрд┐рдВрдЧ рдЗрддреНрдпрд╛рджрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖рдгреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдирд╣реАрдВ рд▓рд┐рдЦрд╛, рддрд╛рдХрд┐ рдкреГрд╖реНрда рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рди рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЯреЛрдХрди рдХреНрдпрд╛ рдорд┐рд▓рд╛?
рдЕрдЧрд▓рд╛, рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдмрдирд╛рдПрдВ (рдмреЗрд╢рдХ, рдЖрдк рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рд╡реЗ рдЫреЛрдЯреЗ рд╣реИрдВ)
рд╢реАрд░реНрд╖ рд▓реЗрдЦ:
#import <Foundation/Foundation.h> @interface VkontakteDelegate : NSObject @property NSString *username, *realName, *ID, *link, *email, *access_token; @property UIImage* photo; + (id)sharedInstance; -(void) loginWithParams: (NSMutableDictionary*) params; -(void) postToWall; @end
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:
#import "VkontakteDelegate.h" @implementation VkontakteDelegate @synthesize username, realName, ID, photo, access_token, email, link; + (id)sharedInstance { static VkontakteDelegate *__sharedInstance; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ __sharedInstance = [[VkontakteDelegate alloc]init]; }); return __sharedInstance; } - (id) init { access_token = [[NSUserDefaults standardUserDefaults] objectForKey:@"vk_token"]; ID = [[NSUserDefaults standardUserDefaults] objectForKey:@"vk_id"]; return self; } -(void) loginWithParams:(NSMutableDictionary *)params { ID = [params objectForKey:@"user_id"]; access_token = [params objectForKey:@"access_token"]; //, ! [[NSUserDefaults standardUserDefaults] setValue:access_token forKey:@"vk_token"]; [[NSUserDefaults standardUserDefaults] setValue:ID forKey:@"vk_id"]; [[NSUserDefaults standardUserDefaults] synchronize]; // NSString *urlString = [NSString stringWithFormat:@"https://api.vk.com/method/users.get?uid=%@&access_token=%@", ID, access_token] ; NSURL *url = [NSURL URLWithString:urlString]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; NSHTTPURLResponse *response = nil; NSError *error = nil; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; // - , ! // . // , ... NSArray* userData = [responseString componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"\":{},[]"]]; realName = [userData objectAtIndex:14]; realName = [realName stringByAppendingString:@" "]; realName = [realName stringByAppendingString:[userData objectAtIndex:20]]; // , [[NSUserDefaults standardUserDefaults] setValue:@"vkontakte" forKey:@"SignedUpWith"]; [[NSUserDefaults standardUserDefaults] setValue:realName forKey:@"RealUsername"]; [[NSUserDefaults standardUserDefaults] synchronize]; } -(void) postToWall { // - ( "+") NSString* message = @"vkontakte+wall+posting"; NSString *urlString = [NSString stringWithFormat:@"https://api.vk.com/method/wall.post?uid=%@&message=%@&attachments=http://google.com&access_token=%@", ID, message,access_token] ; NSURL *url = [NSURL URLWithString:urlString]; //, , NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; NSHTTPURLResponse *response = nil; NSError *error = nil; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; }
рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдм рдХреБрдЫ рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдХреНрд╖рдг рдХреА рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
NSError *jsonParsingError = nil; NSMutableDictionary *userInfo = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&jsonParsingError]; userInfo = [userInfo objectForKey:@"response"]; realName = [userInfo objectForKey:@"first_name"]; realName = [realName stringByAppendingFormat:[userInfo objectForKey:@"last_name"]];
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдердорд┐рдХ (
рдкреНрд░рд▓реЗрдЦрди ) рд╣реИ:
https://api.vk.com/method/users.get?uid=%@&access_token=%@
рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛, рд╣рдо рдЕрдиреБрд░реЛрдз рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдорд╛рдиреЗрдВрдЧреЗред рдпрд╣рд╛рдБ рд╡рд╣ рд╣реИ:
https://api.vk.com/method/wall.post?uid=%@&message=%@&attachments=http://google.com&access_token=%@
рд╡рд╣ рдХреНрдпрд╛ рдкрд╕рдВрдж рд╣реИ?
uid =% @ - рд╕реНрдерд╛рдирд╛рдкрдиреНрди
user_id ;
рд╕рдВрджреЗрд╢ =% @ - рд╣рдореЗрдВ рдЬреЛ рд╕рдВрджреЗрд╢ рдЪрд╛рд╣рд┐рдП;
рд╕рдВрд▓рдЧреНрдирдХ = http: //google.com - рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ;
access_token =% @ - рд╣рдо рд╕реНрдерд╛рдирд╛рдкрдиреНрди рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЯреЛрдХрдиред
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА
рдпрд╣рд╛рдБ ред
рдкрд░рд┐рдгрд╛рдо
рдЦреИрд░, рд╣рдордиреЗ рдЕрдкрдирд╛ рд▓рдХреНрд╖реНрдп рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рд╕рд╕реНрддреЗ рдореЗрдВ рд▓рд╛рдЧрдд - рд╕рд░рд▓ рдХреЛрдб рдХреА рд╕реИрдХрдбрд╝реЛрдВ рд▓рд╛рдЗрдиреЗрдВред рд╣рдордиреЗ рддреИрдпрд╛рд░ рдПрд╕рдбреАрдХреЗ рдХреА рдЦреЛрдЬ рд╕реЗ рдмрдЪрд╛ рд▓рд┐рдпрд╛ - рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ,
рддреЛ рдХреГрдкрдпрд╛ ред рдпрджрд┐ рдЖрдк рд╡рд░реНрдгрд┐рдд рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЕрдиреБрдорддрд┐ рд▓реЗрдирд╛ рди рднреВрд▓реЗрдВред
рдореИрдВ рдЗрд╕ рдкрд░ рдЕрдкрдиреА рдЫреБрдЯреНрдЯреА рд▓реЗрддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╢реБрд░реБрдЖрддреА ("рдирд╛рд░рдХреАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░" - рд╢рд╛рдпрдж рд╣реА) рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИред рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, "рдЕрдВрдЧреВрдареЗ, рд╣рдорд╛рд░реЗ рдЪреИрдирд▓ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ!"
PS рд╢рд╛рдпрдж рдХреЛрдб рдЧрдВрджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреА рддрд╕реНрд╡реАрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИред