 |
|
 |
 |
 |
|
|
|
(via -
docs.google.com ) I read it on 03/07/10 at 08:58 PM
Posted on 03/08/10 at 01:56 AM
|
This documentation is for TwitterOAuth library verision 0.1.x. If you are using trunk (0.2.x) these instructions will be wrong! Try it out live: http://twitter.abrah.am Twitter OAuth is in beta and could change at any time. Feel free to contact me with bug/questions. A full TwitterOAuth lib will be released soon. Currently the code is hacked together and should not be used in production without proper testing. IndexDefinitionsConsumer: the application you are building. registered with twitter. Sometimes referred to as application
User: the user using your application. Token: there are several different sets of tokens usually in key/secret pairs. Consumer token: the token pair Twitter gives you when you register an application. Request token: the first token pair Twitter returns. used to build an authorize URL used to request the access token. Access token: unique to user. Used to access users data. Get the codePull code from http://github.com/abraham/twitteroauthgit clone git://github.com/abraham/twitteroauth.git Process overviewThis is a very simplistic overview of authenticating with Twitter's OAuth. - Build TwitterOAuth object.
- Request tokens from twitter.
- Build authorize URL.
- Send user to Twitter's authorize URL.
- Get access tokens from twitter.
- Rebuild TwitterOAuth object.
- Query Twitter API with new access tokens.
ProcessFor this example we will be using the the index.php from the example folder and it will be located in the web root. public/index.php public/twitteroauth/
Go to https://twitter.com/oauth_clients and register a new application. Fill out what the form. For a callback URL we will be using http://example.com/index.php. Once registered you will get a consumer key and a consumer secret. Those go in index.php Now we create a TwitterOAuth object. The class constructor chooses HMAC-SHA1 as the signature method, and builds a OAuthConsumer object with the app consumer key/secret. $to = new TwitterOAuth($consumer_key, $consumer_secret); With that object we use curl to request a token from twitter. The API URL we hit is https://twitter.com/oauth/request_token. getRequestToken() pulls the tokens from twitter, parses it into an array, and creates a new OAuthConsumer object. $tok = $to->getRequestToken();
Save the tokens for when the user returns from Twitter. Set up the authorization URL. This is the URL the user will visit to tell twitter the application can access their data. https://twitter.com/oauth/authorize is used. $request_link = $to->getAuthorizeURL($token); Once the user tells twitter yes and returns we request the access tokens. The access tokens can be thought of the users passwords and will be used to authenticate as them for future API calls. https://twitter.com/oauth/access_token is used. $tok = $to->getAccessToken();
At this point you can check https://twitter.com/account/connections and the application should be listed. Build a new TwitterOAuth object using consumer key/secret and access key/secret. $to = new TwitterOAuth($consumer_key, $consumer_secret, $user_access_key, $user_access_secret);
Now to interact with the API as the user to verify their credentials. This should return their profile. You can now save the access key/secret as being associated with the returned user info. $content = $to->OAuthRequest('https://twitter.com/account/verify_credentials.xml', array(), 'GET');
To send a status update change the API URL and add a key/value array. $content = $to->OAuthRequest('https://twitter.com/statuses/update.xml', array('status' => 'Test OAuth update. #testoauth'), 'POST'); There you have it. Basic interaction with Twitter's OAuth beta. To run other commands just change the API URL and array() keys/values in the last call. LinksMy website: http://abrah.amTwitter: http://twitter.comOAuth: http://oauth.netTwitter API docs: http://apiwiki.twitter.comTwitter API discussion: http://groups.google.com/group/twitter-development-talkFire Eagle OAuth docs: http://fireeagle.yahoo.net/developer/documentation/php_walkthru
Tags: twitter access token oauth key
|
| |
| |
|
|
|
|
|
|
|
|
(via -
Daggle: Danny Sullivan's Blog ) I read it on 11/25/09 at 09:16 PM
Posted on 11/26/09 at 02:14 AM
|
As the war of words ramps up between Google and some news publishers, the latest spin seems to be how worthless the traffic is that Google sends. In reality, the traffic probably does have value, but the newspapers are likely doing a terrible job of monetizing it.
I'll give some examples in a minute, but how about an imaginary story to illustrate the problem?
Let's say a newspaper executive opens a store. They put some story headlines up in their shop window.
Now one of those old fashioned newskids comes along. You know, the type that you'd see in movies selling papers on the street. Let's call the kid Google.
Google reads the headlines and then scampers off down the street, shouting out to people things like Senate's debating health care! or 1 out of 4 homeowners are in the red!
Some of these people are interested. They ask this Google kid for more information, and Google sends them back to the news store.
At the store, the news exec owner greets visitors by asking them what the hell they want. Perplexed, they visitors say they heard about these stories and wanted to know more. The exec shouts at them. Get the hell out of my store, you freeloader! This is for members-only. We don't need riff-raff like you in here.
That's a hell of a way to run a business, don't you think? But it's pretty much how News Corporation execs seem to view the world. Consider what News Corp digital chief Jonathan Miller said earlier this month:
The traffic which comes in from Google brings a consumer who more often than not read one article and then leaves the site. That is the least valuable of traffic to us the economic impact [of not having content indexed by Google] is not as great as you might think. You can survive without it.
Today, we got similar remarks from James Moroney, executive vice president of A.H. Belo, which publishes the Dallas Morning News and other papers:
This is traffic that's not being monetized to any great degree, Moroney said. It's akin to a person who drops into town, buys one copy of your newspaper and leaves town again and yet you spend a whole bunch of time building your business around that type of customer.
Let's be clear about one reason why these statements are coming out. This is round two against Google. In round one, some publishers said Google steals our content. Google's response was that it sends them millions of visitors for free. So in round two, it's time to make out like those visitors aren't worth much. That's especially important if you're an executive who, after floating the idea of dropping Google, comes under attack as stupidly cutting your own throat.
Me, I see visitors as opportunities. This is the internet, where you can tell far more about a visitor to your web site than you can in print. You can tell:
- They're visiting for the first time or on a repeat basis
- They came from Google
- They came from a specific page, or using specific search terms
- The geographic area they're located in
And the visitor who buys your paper printed on a dead tree out of a newsstand? You can tell you sold a copy. And that's it. That regular subscriber? You know they live in a particular area, maybe some demographic info, but you can't custom your dead tree version in any way to target for that.
Can you imagine what would happen if the Wall Street Journal did a one time promotion where for a day, they gave away 1 million copies of their paper? Since there's a real cost to doing so, don't you think they'd figure out a way to make that promotion count? They'd sell special ads? They'd have a super attractive subscription offer?
But on the internet, where they're not paying anything for all that traffic flowing from Google, there just doesn't seem to be any effort. Millions of people are just written off as worthless. If they're watching The Simpsons on Murdoch's Fox TV network, they're valuable (see Free Isn't A Four-Letter Word Offline, So Why Does The Media Hate It Online?). Put the exact same people on the internet, and suddenly they're net neaderthals.
The problem isn't with the people. They didn't suddenly change when sitting in front of a computer keyboard. They don't suddenly have less money. They aren't suddenly less attractive marketing prospects. The problem is with how you're targeting them.
Remember what Miller said? That most of these visitors read a story once and then leave? Well, clearly the WSJ has some analytics running to understand that. Someone, somewhere has churned a report to arm Miller with that information. But that same data can be used to target those visitors better.
Time for a real life example. Today, at lunch, in the hard copy of the Wall Street Journal that I pay $100 per year for, I read a story bout how 1 in 4 US homeowners are underwater or owing more than their homes are worth.
I guess I have at least $100 per year in value to the Wall Street Journal, since I'm a subscriber. But that's gross revenue. Someone's being paid to deliver the hard copy to my door. There are print costs involved with producing it. I doubt the $100 I pay per year covers all that. But the WSJ also convinces advertisers that I'm somehow valuable to them, which is why they pay to place quality ads in the WSJ like this in front of me:

Now that same story is currently being featured on Google. The minute I click from Google to read it, I'm transformed. My $100 per year value is lost. Instead, I become one of those people who Miller says that he doesn't make any money from.
Well, let's see what I get:

That's the beginning of the story. It is EXACTLY the same thing I see if I read this story by clicking through to it from a link on the WSJ's home page (they've made it free to anyone from there). It's also the same thing I see when I'm logged in using my paid account.
Why is the WSJ treating the one-time / first-time visitor the same way as a regular reader? See those two big arrows I've drawn pointing into the story? I'm pointing out that one of the top goals the WSJ would have for first time visitors is to get them to take that 2 week free offer to subscribe or to take one of the free stay connected via email or RSS options. And yet, these things are shoved off to the top and side of the page.
Place them in front of the reader! At worst, you lose nothing. But more likely, you've slightly interrupted one of those freeloaders in the same way you interrupt them when they watch News Corp TV shows and get commercials. And more of them will convert. They may buy more subscriptions, or they may register so you can do outreach marketing to them.
Meanwhile, money IS being made, even off the supposed freeloaders. There's a big ad sitting there off to the site, plus another one right above. Oh, there's too much ad inventory? Then find a way to convince your advertisers to buy more ads or pay more for them, which probably means showing that your ads perform well. And if they're not performing well, fix your problem. Why aren't they?
This is an article about mortgage owners being underwater. Can we assume some of the readers are attracted to it because they may want help with their mortgages? Are there no companies that offer this to type of service? Are there no ad execs who could figure out how to reach them?
Instead, I get served with an ad from Zurich about how to buy the right insurance for my business. Seriously? That's the ad you show me? This is targeting? Roll out one of those Get a mortgage for below 5% ads that I see offline everywhere.
Even better, here's another ad that also shows for this article:

Yeah, in an article about how people can't afford their homes, you show me an ad about buying an iconic residential masterpiece in Boca Raton. And when I don't click on that, because it has nothing to do with my interests, you call me a freeloader.
Your loss, I think. I've got money to spend. Plenty of your visitors do. You're just not figuring out how to get it from me.
That visitor from Google? Show them a completely different experience, if you want. Article and ad, perhaps embedded within the content (labeled as ads, but inline, rather than off to the side). Please, go hire someone like Jeremy Shoemaker or Jennifer Slegg, both of whom live and breathe how to make as much money out of visitors as possible.
Do something. Anything. Please. Survive. But there's one thing you shouldn't do. Blame others for sending you visitors and not figuring out how to make money off of them.
Tags: google visitors story ad news
|
| |
| |
|
|
|
|
|
|
(via -
TechStartups.com ) I read it on 11/27/09 at 11:08 AM
Posted on 11/24/09 at 04:51 PM
|
By Senior Editor Kris Smith (@croncast)
Fring is an Israel based startup that has been offering its signature VoIP application for mobile devices is now available for Android phones in the Android Market. Fring is an app that allows users to connect via popular chast and VoIP tools like Skype and Google Talk.
It was first introduced a little over three years ago in beta for handsets that were running Symbian OS. Since that time it has spread across the other popular platforms to gain a foothold in the instant messaging space on mobiles. Not to mention cornering VoIP though API development with some of the most popular internet based messaging software.
Fring allows users to aggregate their connections across networks and easily send text, photos, files and now video. And yes, like anything else being released today, Fring will allow you to tweet. Happy?
The two most robust platforms for using Fring are on Symbian 9 or higher and Windows Mobile phones. The newest, Android, has a few features for now like text chat, mobile calling and personalization settings.
Using the application is fairly straight forward as you need to download and install for your phone, register and then wait for Fring to connect the together your networks and contacts. Once this step is done you can begin getting in touch with your posse(s) via your mobile.
I've had good luck with Fring when I needed to get in touch with a contact that I didn't have handy in my phone contacts and for Skype text based chats. Now that it is ready for the new kid, Android, I would suspect that more features like those for the iPhone will make their way into the app.
DISCLOSURE OF MATERIAL CONNECTION: http://cmp.ly/0
Android Market VoIP by Fring is a post from: TechStartups.com
Tags: Android , Droid VoIP , Fring , Google Talk iPhone , iPhone , Israeli startup , symbian OS , Windows Mobile 
Tags: fring android voip mobile text
|
| |
| |
|
|
|
|
|
|
(via -
TechStartups.com ) I read it on 11/05/09 at 01:22 PM
Posted on 11/05/09 at 05:14 PM
|
I was asked to review a scenario for a friend this morning that deals with competition for mind share in an ongoing roe between disparate entities. Ahem, feuding like Hatfields and McCoys as Waylon Jennings would say, and they're doing it primarily online.
Most of us choose to go about our business online without causing confrontation. You might not choose to be involved in a situation like this.
However, if you are put in this position tactics for a remedy are below:
- Make sure all of your sites where dynamic content is being created on have RSS feeds
- Make sure the sites are being indexed by Google . . . and recently cached by going to Google and typing in site:blogdomain.com blogdomain.com being the site URL
- Most of the sites below (I was furnished with list including Topix and Blog Catalog to mention a couple) require registration and some code editing to claim the sites. Register with them and follow their protocol for submission into their directories for partner programs and additional synidcation
- Create a press release(s) that contains links, not just copy, but links to the RSS feeds from clients site(s). Example, For more information on this ongoing issue subscribe to: http://www.blogdomain.com/rssfeed. The popular outlets have wide syndication
- Use this tool from Google http://www.google.com/sktool/# and enter your sites and the sites of the competitor into it. Disregard the pricing listed on the page for AdWords and focus on the keywords. Compare the the keywords of your competitor with those of your sites and adjust accordingly in all digital communications. Organic search is king.
- Next use this too from Google https://adwords.google.com/select/KeywordToolExternal once your keywords are set to see how you are doing
- Depending on the blog or site platform you should have the abilility to create keyword RSS feeds. Do this. Robots like structured data and favor feeds. Most, if not all, Google real-time alerts come from RSS feed links back to the source site.
- Commenting on local (this is a regional battle for mind share) blogs with links to client site(s) and feeds is another way to increase chances of indexing and more favorable search results
If I were fighting this battle or one like it these are exact steps that I would take. So dear reader, if we ever lock horns, we may duel to a draw since you have my playbook.
How to Win Mind Share in Online Battles is a post from: TechStartups.com
Tags: google keyword tools , Hatfields and McCoys , mind share , mindshare , organic search robot , structured data 
Tags: google sites site feeds mind
|
| |
| |
|
|
|
|
|
|
(via -
No Credit Needed ) I read it on 07/26/09 at 09:12 AM
Posted on 07/26/09 at 02:00 PM
|
|
|
|
|
|
(via -
ReadWriteWeb ) I read it on 07/16/09 at 01:38 PM
Posted on 07/16/09 at 07:15 PM
|
Douglas Rushkoff author, speaker, and teacher is a man on a mission. As a step towards getting "people to see the software-like code lying underneath how they interact," his latest book, Life, Inc., explores the nature of money, our economic system, and how a corporate mindset has shaped who we are as people in modern society.
As a media theorist who's written about some of the most influential ideas of the digital age, Rushkoff is second to none. In Life Inc., he describes not just corporations, but how we all can change to an "open source economy" that favors decentralized value creation over banking and central currency. We spoke with to ask more about what this new economy would look like and how the Web is involved.
Sponsor

How The Web Broke The Economy
ReadWriteWeb: I was particularly struck by how you position the Web as a way for individuals to create things of value for each other, as the door to an open source economy. Can you describe what exactly an open source economy would look like, and what role software and the Web have to play in that?
Douglas Rushkoff: This program written central banking and corporatist monopolies was created to favor people who had money and wanted to make money without creating value. Technology broke the monopoly centralized banking had on centralized value creation by allowing people to develop things at low cost. The gift economy that really the real Internet was built on is anathema to the GNP.
RWW: Will enterprise software the same trend? What role is there for business-to-business transactions in the decentralized economy you've laid out?
R: When I'm at the supermarket, every once in a while the cash register crashes and they restart it and they see Windows. I get the feeling that the manager and the cashier and everyone in there thinks that this shouldn't be running Windows. They're thinking, oh my god, they're using amateur-level software. You want to think that these are proprietary perfect registers.

My feeling is that businesses and the IT of business are going to want a higher order of quality. They are going to proprietary super-pro enterprise OS's. I feel business is going to want something like the business-only IBM computer, and I think that's not a bad thing.
Localized Currencies & Technology
RWW: You tell a fascinating story about investing in a local restaurant called Comfort, where you created "comfort dollars" that gave him cheaper capital and your community more food. Do you see that kind of special currencies as being viable for technology investment? Can the Internet be used for localized currency?
R: I certainly hope so. The great thing about software is that you don't need a bank because that's where all kind of bizarreness and corruption happen. But you do see every transaction; software is just really really good for that. You can see how money if flowing, how transactions are flowing. The problem with our economy is that when speculators ore extracting currency, money comes first. In a distributed system money is the result of transactions.
The main thing standing in the way of it is that people don't believe its possible. It's not they cant do it its that they can;t see it. It's like when you show someone Linux for the first time.
A New, Collaborative Mindset
RWW: In the book, you make a connection between the Renaissance, with both social change and the art and science that focused on the ideal of a single master painter or scientist, and the individualistic mindset that allows modern capitalism to function. Do you see social networks and collaborative software has having a comparable effect on our mindset?
R: Renaissances tend to reverse whatever the last one created. This one is towards decent partner collaboration and the sharing of value. So for sure, and we're going to get different kinds of discoveries. I think that the computer may be the most central thing to making all of this happen.
A Word for Developers & Entrepreneurs
RWW: What message would you give to people who are going to be building the software to run this open source economy?
Rushkoff: My biggest message to them is this...There's this prevalent notion is that the reason you get involved is that you create a business that you then sell. I would argue that is not the path to greatest fulfillment, I would contend that it's not the path to the great technology. The less you borrow, the less you will be required to grow, and the closer you can stay you can stay to those growth metrics that are more appropriately scaled.
Life, Inc. is in bookstores now. If you're seeking a primer on the book and Rushkoff's conception of what corporatism means, be sure to watch the short Life, Inc. The Movie below
Discuss
Tags: economy software money business rushkoff
|
|
| |
| |
|
|
|
|
|
|
(via -
WSJ.com: Business Technology ) I read it on 10/28/08 at 01:38 PM
Posted on 10/28/08 at 09:22 AM
|
CodeWeavers is learning what happens when you scream Free Software in a crowded Internet.
The St. Paul, Minn., firm, which makes software letting Mac and Linux users run Windows on their machines, launched the Great American Lame Duck Presidential Challenge this summer. The idea, as CodeWeavers put it, was to encourage President Bush to make the most of his remaining days in office by accomplishing a major economic or political goal by January 20, 2009.
One of those six goals was to reduce gas prices in the Twin Cities to $2.79 a gallon. Two weeks ago, that happened, and as the prize, CodeWeavers said it would let users on Oct. 28 only download its software for free.
Then techie sites Digg and Slashdot, both of which have a rapid following, linked to CodeWeavers or posts about the offer, and the volume of traffic took the site down.
As of this afternoon, Codeweavers.com displays a placeholder page where visitors can register to get a serial number in a few days. We apologize for any inconvenience. We still love Digg, even if our server disagrees. ;-) the site says.
And if another goal gets fulfilled during President Bush's waning days, the offer will restart. They are:
- Return the stock market to its 2008 high
- Reduce the average price of a gallon of milk to $3.50
- Create at least one net job in the U.S. this calendar year
- Return the median home price to its Jan. 1, 2008 level
- Bring Osama Bin-Laden to justice
- Andrew LaVallee

Tags: codeweavers software days reduce goal
|
| |
| |
|
|
|
|
|
|
(via -
ReadWriteWeb ) I read it on 10/13/08 at 04:36 PM
Posted on 10/13/08 at 06:45 PM
|
GoDaddy has just unveiled an amazing new service called SmartSpace which lets anyone register a domain name and then instantly turn it into a social web site which aggregates any of the following components onto one page: a blog, a photo album, a chat application, email, RSS feeds, and even components from social networking applications like MySpace, Facebook, or LinkedIn. All you have to do is register the domain name you want and all the technical work is done for you - the site builds itself automatically.
Sponsor

Dynamic, Social Content
With the new SmartSpace service from GoDaddy, anyone can create a personal web site which aggregates your activity from across the social web, combine that with other sources of news and information, and then create a personalized start page containing everything of interest to them. The service can also be used as a blogging platform with social elements like chat already built in. The idea is that you can use the SmartSpace platform to create the kind of site that's right for you, whether that's a social network of sorts, a traditional web site with social elements, a place to host your podcasts, or whatever else you want.
SmartSpace is designed to be easy to use, even for non-technical users. With a click of a button, you can grab content from sites like flickr, YouTube, Google News, Facebook, MySpace, or any other web site that offers an RSS feed.

You can even customize this content to your own personal preferences. For example, if you only want to see Flickr photos of lolcats, you can just type in "lolcat" in the tag field provided. Alternatively, you could select the RSS feed of a particular person's photos.

In addition to this dynamic content form across the social web, GoDaddy also makes available various pre-selected news feeds which you can add if desired. This content is categorized by subject, and is similar to the types of selections that many of today's personalized homepages offer.
Chat & Email
The Chat application lets you have online text conversations right on the site. With the included administrative controls, you can launch a room, invite users, ban users, and participate in both public and private chat sessions. Again, there's nothing technical involved in adding this to your page - the app is already set up and ready to use. All you have to do is make a few choices about how it's displayed and whether it's loaded by default when you log in.

Also, because SocialSpace users have purchased a domain name via GoDaddy, there's an option to set up email addresses using that name. The interface for doing so is much easier to manage than GoDaddy's usual UI for creating email addresses (an ugly and geeky interface). Here, you're basically able to push a button and set up multiple email addresses associated with your domain. The inboxes for these can then be added as widgets to your homepage.

Photo Albums
If you don't keep your images online with a web service like Flickr, you also have the option to make your SmartSpace an online photo album using the SmartSpace photo application. With this, you can upload photos from your computer and then share those photos both publicly and privately in albums that are added to your page.
Web Site and Blogs
For text-based content, you can choose to either add a web site or blog to your homepage. With these options, you can select from a number of pre-built templates to configure the site. Although not as robust a platform as WordPress, the blog will probably work fine for casual users who want to take advantage of the other elements of the SmartSpace service.

Just Another Personalized Homepage Or A New Type Of Social Network?
SocialSpace could be linked to some patent filings the company filed earlier this year which describe a web portal that functions as a social network aggregator. According to those filings, the aggregation could be done using login systems like OpenID. Although there's no mention of OpenID integration in the SmartSpace support documents yet, we hope that integration is something they plan to add in the future.
Still, even without OpenID, what GoDaddy has launched today is a viable competitor to the other personalized homepages out there like iGoogle, My Yahoo, Netvibes, etc. But GoDaddy's SocialSpace goes beyond what those sites offer in a number of ways. Although widgetized content like photos and RSS feeds can be added to nearly any start page today, GoDaddy actually lets you own a domain name, set up a blog or website and then easily, instantly turn it into a personalized social network that aggregates content from the social web and includes chat functionality for instant interactions with your friends.
Will SocialSpace kill MySpace and Facebook? That's highly doubtful, but it could be a nice aggregator for those looking to establish a web presence with minimal work. And because it's from GoDaddy, a household name thanks to their high profile TV commercials and ad campaigns, this move also represents what may be the final leap where "social media" fully crosses over to the mainstream use and acceptance.
More Info
Prices for SmartSpace start at $4.99/month for 2 months. From there, the prices are as follows: 12 mo: $4.74/month, 24 mo: $4.49/month, or 36 mo: $4.24/month. You can watch a short introductory video here.
Discuss

Tags: social web godaddy site smartspace
|
| |
| |
|
|
|
|
|
|
(via -
The Jeff Pulver Blog ) I read it on 09/25/08 at 10:04 AM
Posted on 09/25/08 at 01:37 PM
|
On October 28, 2008 I will be hosting the first of a series of seminars where I will be sharing my perspective on the state of Social Media and it's impact on the future of Business Communication.
Back in 1995 I was one of the first people who as a hobbyist and a user of Internet Telephony saw the future impact of the technology on the future of communications. For me it was the thought of telephony as a software rather than a service that caught my attention. Thirteen years later as a person who uses social media in his everyday life, I believe that social media will have a huge impact in the way we communicate in the months and years ahead.
In this seminar I will be sharing some of my social media experiences and connecting some of the dots in terms of how I see various social media platforms having an impact on the future of business communication. Back in the late 1980s through the mid 1990s we all dealt with the introduction and dependence of email on our corporate and personal life. I believe that social media will have an even stronger impact in our immediate future.
The first seminar will be held on Long Island in Melville, New York at the pulver.com offices on October 28th. The morning will be an interactive lecture followed by lunch and an afternoon questions and answers session.
Seating will be limited to keep this as a intimate experience with the people attending.
The cost to register is $995 if you register by October 17th, $1195 afterwards. If you would like to attend, please contact me and I will follow up with you.
Tags: Social Media, Social Communications, Facebook, LinkedIn, twitter, Jeff Pulver
Tags: social media impact future first
|
| |
| |
|
|
|
| |
|
|
|
|
|
|
|
|