Blogspot domains localized and Google mum !!

Google has made a really weird move. It has localized the Blogspot domains for all Indian users or atleast thats what I have come to know. All the Blogspot URLs are redirecting to a .in domain if they are accessed from within India. A intial guess is that is that everybody with a Indian IP address is being redirected to the .in version. The .com version is still existing and is served to everybody with a IP address out of India. There are very far reaching implications for such a move.



UPDATE: There is a official explanation about the issue present Here. To check your .com domain put /ncr after your Blog URL and you will be redirected to the .com domain.


Till now there is no news that any other countries blogspot domain is localized. I have myself tested for .de , .ca, etc but none are redirecting to the blogspot blog. Google being mum about this move is also a very weird thing (maybe Google has been hacked !!! ).

Advantages
> As its localized to India, so Indian users can access Blogspot blogs faster. Now their request is sent to Indian servers rather than a US based server.

> For all Bloggers its in a way a good news as now they have two domains for the same blog


> Both the versions a.k.a. .com and .in are same. Any comment on the .in version will appear on the .com version as well.

> No SEO losses as such as every page has a rel=canonical tag with a .com domain


Disadvantages
> As users are distributed between these two domains there is a loss in Alexa Rankings !!!


> Page Rank is zero for the .in version !!


> Confusion: users might get puzzled that their Blog URL's have been changed.


> Unnecessary: Google could have just created a copy of blogspot blogs in every countries Servers and served the .com version faster from their.


All in all this is out-rightly weird. Even though there is a thing about serving blogs faster but changing the domain for that purpose is not a correct move. The Blogger Forum has started to fill with request about this change. Another odd thing to note is that Google is mum about this issue. There is no mention about this thing on any of their Blogs.


One thing that is coming into my mind is that ,there is ongoing hearing against Google Inc in the Delhi High Court. Even though this is just a thought but maybe this has been done to make it easy for the Indian Govt to ban Blogspot URL's in India. Something like the dreaded SOPA & PIPA. This is just a thought.


I strongly suggest that there should be option for Bloggers to choose whether they want a localized domain or not. 


What are your views about this bizarre move by Google

Alternatives to Marquee and Blink tags

In the 90s the internet was full of websites which had scrolling and blinking text. By the 2000s these became obsolete due to some usability issues the major one being the time the user had to wait to read the whole text. In case you still want to use their functionality, then I suggest using CSS alternatives.


<Marquee> alternative




An auto-running 'Marquee' with 'hover' to stop the scroll, with links.
An auto-running 'Marquee' with 'hover' to stop the scroll, with links.



HTML
<div class="myMarquee">

<div class="scroller">

<div>
An auto-running 'Marquee' with 'hover' to stop the scroll, with <a href="#">links</a>.</div>
<div>
An auto-running 'Marquee' with 'hover' to stop the scroll, with <a href="#">links</a>.</div>

</div>
</div>

CSS
.myMarquee {width:500px; height:80px; overflow:hidden; position:relative; border:1px solid #aaa; margin:0 auto;box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.7);-o-border-radius: 18px 18px;-moz-border-radius: 18px 18px;-webkit-border-radius: 18px 18px;border-radius: 18px 18px;background:#f8f8f8;background-image: -webkit-gradient(linear, 0% 0%, 0% 95%, from(rgba(255, 255, 255, 0.7)), to(rgba(255, 255, 255, 0)));background-image: -moz-linear-gradient(-90deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0));}

.scroller {display:block; width:1240px; height:40px; position:absolute; left:0; top:0;-moz-animation-iteration-count: infinite;-moz-animation-timing-function: linear;-moz-animation-duration:10s;-moz-animation-name: scroll;-webkit-animation-iteration-count: infinite;-webkit-animation-timing-function: linear;-webkit-animation-duration:10s;-webkit-animation-name: scroll;}

.scroller div {font-family:georgia, serif; font-size:16px; line-height:40px; float:left; width:600px; color:#000; font-weight:bold; padding:0 10px; }

.scroller div a {color:#c00;}

@-moz-keyframes scroll {
0% {left:0;}
100% {left:-620px;}
}
.scroller:hover {
-moz-animation-play-state: paused;
}

@-webkit-keyframes scroll {
0% {left:0;}
100% {left:-620px;}
}
.scroller:hover {
-webkit-animation-play-state: paused;
}

This is a simple keyframe named scroll which defines just two states at 100% and 0%. Its time is set to infinite so that it runs indefinitely.


<Blink> alternative


Blinking Text





HTML

<div id="Blinker" >Blinking Text</div>

CSS

#Blinker {display:block; height:40px;-moz-animation-iteration-count: infinite;-moz-animation-timing-function: linear;-moz-animation-duration:1s;-moz-animation-name: blink;-webkit-animation-iteration-count: infinite;-webkit-animation-timing-function: linear;-webkit-animation-duration:1s;-webkit-animation-name: blink;font-family:georgia, serif; font-size:16px; line-height:40px; float:left; }

@-moz-keyframes blink {
0% {opacity:0;}
100% {opacity:1;}
}
#Blinker:hover {
-moz-animation-play-state: paused;
}

@-webkit-keyframes blink {
0% {opacity:0;}
100% {opacity:1;}
}
#Blinker:hover {
-webkit-animation-play-state: paused;

}


This animation is based on a keyframe named blink , which has just 2 states with changing opacity property.


Even though these alternatives are currently supported in Webkit and Mozilla browsers only but this will change in the future. As the time goes by CSS animations will gain momentum and will have wide cross browsers support.

Shifting from Blogger: Things to keep in Mind

Blogger is the best blogging platform out there in terms of features and cost. Even then some of us decide to shift to other platforms. The thing is that self hosted blogs have a sense of control and security. With legislations like SOPA and PIPA in pipeline, many people have started to think how Google ,FB and other services might become puppet in hands of the Government. This might be one of the leading reasons why people may want to make a switch. In this post I will be discussing which points to keep in mind while doing the switch.



Blogging Platform
There are lots of them out there and it can be sometime hard to choose one. The choice of the blogging platform should solely depend on the easy of use as well as and resources for troubleshooting problems. An active community can be really helpful when you hit unexpected road blocks while using the platform. Another thing to consider is the functionalities (a.k.a. possibility ) present ,sometimes this is the main reason for switching in the first place. Some examples are WordPress ,Drupal ,Joomla,etc,etc 


Hosting
Choosing a hosting is a vital task ,because it will be your responsibility to make sure that your site is up every second. There are lots of high quality hosting options available within a affordable price but it can became a headache while choosing one . I suggest using services like Host Search which give clear comparisons between various hosting providers with in detail reviews.


Import Your Stuff
Shifting your blog from one CMS to another doesn't mean that you have to start from scratch again. There are tools available for exporting all your posts as well as comments into XML format which can then be easily imported. XML is a widely accepted format and mostly all major CMS'es have a Import functionality present for it. Though there might be problems when your transferring 2 million posts of yours !!


Usability 
Before doing the actual switch, make yourself familiar with most of features of the new CMS or atleast the basic onces which you would be using frequently. This makes sure you don't hit any unexpected problems. Reading through the official Documentation of the specific CMS would be really helpful in these cases.


Test then Finalize
When you have successfully shifted all your content to the new CMS, it is recommended that you keep the old blog up for atleast a month to make sure that all the traffic is directed to the new blog. As Blogger doesn't allow 301 Redirects it would be simpler to inform users by a sort of Banner on Top about the new Blog. There is a video by Google Webmaster Help explaining it in more detail.






It would be so Awesome if Google released a Self Hosting version of Blogger. It would be a step towards making Blogger the ultimate Blogging platform. Who is stopping from dreaming...

How to increase your Alexa Rank


The first question which comes into bloggers mind is "How to increase the alexa rank?" most bloggers including me are quite worried about their Alexa ranks.
Is it important? Yes, why not, I think most of you agree it is the only parameter which shows the status and reputation of a blog.
Now this big question can be answered by just following few techniques.




1. Download Alexa Toolbar





To boost your alexa rank toolbar is very important, as it is a biased rank. Confused?..Let me explain. If the visitors on your site have this Alexa toolbar then only the visits are counted by Alexa.Therefore you should encourage the visitors to install the Alexa Toolbar.




2. Write a Blog Post about Alexa
In the world of competition people are always looking for Improving their Alexa ranks , So if they search for it and come to your blog and in a way increase the number of visits. Normally these people have Alexa toolbar installed.


3. Ask For Reviews
Encourage the visitors and readers to give their positive review on Alexa about your site/blog. Even though there are no direct benefits but it is a way for people to know about your blog in a nutshell. 




4. Submit your blog to Directories
Submitting your blog to various directories like DMOZ, OnTopList, Bloggers,etc. DMOZ is the largest human edited directory in the world and one from which nearly all the Search Engine pick their anchor texts. Getting listed in DMOZ is lengthy process but it is a way to get indexed by all major search engines




5. Place Widgets 
You can place alexa widgets on your site to inform visitors about your rank so that they visit again and again. Any clicks on it are counted by Alexa as visits to your site. You can get widgets from Here


Alexa is considered the standard benchmark for measuring a site's impact worldwide. Even though it is not the most correct index out there ,but it is considered a kind of requirement. Lastly make sure the content is always the king, so keep posting content which is of value to your readers.




Author Bio


This is a Guest Post by Navneet Pandey who shares tips and tutorials on topics ranging from PHP ,HTML to Technology related news on his blog iTeching. You can find him on Google+

W3C Valid Blogger blog: An impossibility


Markup Validator is used to check the validity of Web documents. My previous two templates Standardized and Directus are both 1 error away from W3C Valid label. This error being due to the IE meta tag whose purpose is to make sure everything HTML5 works in the IE9. But recently very weird things started to happen on this blog, neither was I able to Digg any of the new posts nor was the Like button working for them.



What Happened

Faulty Like Button
 

All the New posts were showing the Number of likes that the main domain had received rather than the independent Likes of that posts


Unable to Digg
The Digg button was not working for any of the new posts, It was redirecting to a older story that I had Dugg a while back. It was supposing the new posts had already been dugg.


Why it Happened
After going through my source ,it struck that I had removed a couple of lines to achieve W3C validity. After a bit of thinking and testing I realized that the reason for this problem was

<link rel="service.post" type="application/atom xml" title="Blog Name - Atom" href="http://www.blogger.com/feeds/BLOGID/posts/default" />

I had excluded the above line of code, as it was giving a error while the validation process. After including it again ,everything started to work fine.


How was it causing the problem
The cause was the attribute present in the rel tag. W3C showed that the value in the rel tag is not registered

Error Line 18, Column 158Bad value service.post for attribute rel on element link: Keyword service.post is not registered.


With this problem ,It becomes impossible to make a perfectly Valid W3C blog in which the Like and Digg buttons works correctly. There is a alternative that you can use conditional tags to make the Homepage Valid atleast.


For people using the Standardized and Directus template ,here is how you can fix it :


Find the following code:

<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<script type='text/javascript'>(function() { var a=window;function c(b){this.t={};this.tick=function(b,i,d){d=void 0!=d?d:(new Date).getTime();this.t[b]=[d,i]};this.tick("start",null,b)}var f=new c;a.jstiming={Timer:c,load:f};try{var g=null;a.chrome&&a.chrome.csi&&(g=Math.floor(a.chrome.csi().pageT));null==g&&a.gtbExternal&&(g=a.gtbExternal.pageT());null==g&&a.external&&(g=a.external.pageT);g&&(a.jstiming.pt=g)}catch(h){};a.tickAboveFold=function(b){var e=0;if(b.offsetParent){do e =b.offsetTop;while(b=b.offsetParent)}b=e;750>=b&&a.jstiming.load.tick("aft")};var j=!1;function k(){j||(j=!0,a.jstiming.load.tick("firstScrollTime"))}a.addEventListener?a.addEventListener("scroll",k,!1):a.attachEvent("onscroll",k);
})();</script>
<meta content='blogger' name='generator'/>
<link href='http://YourBlogName.blogspot.com/favicon.ico' rel='icon' type='image/x-icon'/>
<link href='http://YourBlogName.blogspot.com/' rel='canonical'/>
<link href='http://YourBlogName.blogspot.com/feeds/posts/default' rel='alternate' title='Atom' type='application/atom xml'/>
<link href='http://YourBlogName.blogspot.com/feeds/posts/default?alt=rss' rel='alternate' title='RSS' type='application/rss xml'/>
<link href='http://www.blogger.com/openid-server.g' rel='openid.server'/>
<!--[if IE]><script type="text/javascript" src="http://www.blogger.com/static/v1/jsbin/754431588-ieretrofit.js"></script> <![endif]-->
<!--[if IE]> <script> (function() { var html5 = ("abbr,article,aside,audio,canvas,datalist,details," "figure,footer,header,hgroup,mark,menu,meter,nav,output," "progress,section,time,video").split(','); for (var i = 0; i < html5.length; i ) { document.createElement(html5[i]); } try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} })(); </script> <![endif]-->

Replace it with this line of code:

<b:include data='blog' name='all-head-content'/>


In the upcoming post I will talk how you can achieve W3C validity atleast partially.


I am not aware of the technicalities of why this tag is present in the first place but it has something to with the feed of the post. What are your views on it ?

The official Threaded Comment: The Good and Bad

Atlast Threaded comments are live. It is one of the most awaited feature by all Blogger users. Now you can simply Reply to any comment without the popup that appeared in the many old hacks. Also there is a added feature to Show/Hide all the replies a comment receives. Even though it took so much time to bring this , but still it lacks the thing.


threaded comment image

How to Enable it

I) If you are using a uncustomized template , then they will be enabled by themselves if you follow these steps

1. Make sure that the blog feed is set to full ,to do it
For Old Interface Users: Go to Settings > Site Feed > Allow Blog Feed ,set it to Full
For New Interface Users: Go to Settings > Other > Allow Blog Feed ,set it to Full

2. And set the Comment position to Embedded below post,to do it
For Old Interface Users: Go to Settings > Comments > Comment Form Placement ,set it to Embedded below Post
For New Interface Users: Go to Settings > Posts and comments > Comment Location ,set it to Embedded



II) If you have a little modified template, without the Reply feature hack installed


1. Find the following code in the Edit HTML


<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
<b:include data='post' name='comments'/>
</b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<b:include data='post' name='comments'/>
</b:if>

You will see two instances of this code, one for mobile template and other of the default template. 

2. Now replace this code (both the instances) with the following code

<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threaded_comments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>
</b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threaded_comments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>
</b:if>

III) If you have a heavily modified template, with the Reply feature hack installed (With Nesting)


This one is the most difficult one to fix, The easier way is to select the Revert widget templates to default but it might as well remove all the other modifications you would have done .


Other way is to make a test blog and then search for the code in between  <b:includable id='comments' var='post'> and </b:includable>. Copy everything from there and paste it inplace of your main blog. Now first check if it is Saving and then follow II) part above and check again for errors. If everything is working fine ,then save and it should work but in the process don't forget that part I) conditions should also be satisfied. 


The Good and the Bad:
Pros
-The feature is there !!!
-The Reply feature is enabled in normal templates as well as Mobile version and Dynamic Views.
-One-click Show/Hide feature for Replies
-Inline Reply form
-Author's comments are easily differentiated 



Cons
-Only single level of nesting a.k.a you can't reply to a reply


Also to implement the reply feature in Blogger ,Google upgraded the Comment API , so now you will see a lot of Recent Comment with Thumbnails widgets 


For the time being I will stick to the old hack just because of 6 levels of nesting


What are your views on this change, did you like it or not ?

Blogger is going to release Threaded comments

Threaded comments or nested comments as many people call them is the one feature which is missing in the Blogger comment system. I have come to know through reliable sources that Blogger is soon going to release Threaded comment as a default option for users. Even though the date is not known but it will be live anytime now. In any case if you are getting a bit impatient then I will also be discussing how to implement it now in your blog using a hack thats doing rounds across the internet . I have altered its style a bit to make it look a bit more presentable.


How I came to Know



Well that reliable ,super-secret source of my is none other than the Edit HTML of the Template. Even though it may sound a bit confusing ,but while creating templates I came across some code with threaded keyword in them and after a bit searching though it I could understand that it was a new feature that Blogger was going to rollout.Here is some visual evidence and you can even try it yourself by searching for the term threaded in the template. (Tick the Expand Widget Preview option)




Earlier in the day Dasari Harish of Way2Blogging did a post explaining what you can expect from this commenting system and how it will work and other stuff related to it.



This new feature rollout also explains why recently there has been lot of Service Unavailable errors and a bit of slowdown while using Blogger .


  


How to Implement it Now in your Blog

Demo

There are hacks present on the internet dating back to as long as 2008 ,on how to do this in your blog. But recently hacks by Tien Nguyen have made it possible to implement this in your blog. I will be using a older version of his hack and the styling done by me. In case you want the Newest Version you can get it from Here

Step 1: Go to Templates > Edit HTML (Old Interface Users go to Design > Edit HTML)

Step 2: Tick the Expand widget Preview Option 

Step 3: Search for ]]></b:skin> and paste the following CSS just before it (How to Copy code easily)


#cm_block{position:relative;left:-20px;}
.cm_wrap{clear:both;float:right;margin-bottom:10px;width:98%}
.cm_head{float:left;margin:0;width:70px}
.avatar-image-container a img{border-radius:100%;background:url() no-repeat scroll center center;position:relative;left:1px;top:0px;width:40px;height:40px;}
.cm_avatar{width:42px;height:42px;margin:0;padding:0;border:solid 4px white;-webkit-border-radius:1em;-moz-border-radius:10em;border-radius:10em;-webkit-box-shadow:0 1px 2px rgba(0,0,0, .2);-moz-box-shadow:0 1px 2px rgba(0,0,0, .2);box-shadow:0 1px 2px rgba(0,0,0, .2);border-image:initial;background-color:white;}
.cm_reply{padding-top:5px}
.cm_reply a{-moz-border-radius:2px;-webkit-border-radius:2px;background:0;border:1px solid #C4C4C4;border-left-color:#E4E4E4;border-radius:2px;border-top-color:#E4E4E4;color:#424242!important;display:inline-block;font:12px/19px sans-serif;margin:0;padding:1px 6px;text-align:center;text-decoration:none;text-shadow:0 -1px 0 #FFF}
.cm_reply a:hover{background:#f8f8f8;text-decoration:none!important}
.cm_reply a:active{background:#f1f1f1;text-decoration:none!important}
.cm_entry{border-radius:10px 100px 80px;background:#f8f8f8;overflow:hidden;padding:16px}
.cm_info{margin-bottom:5px}
.cm_name{float:left;font-size:12px;font-weight:700}
.cm_name:after{content:" said";}
.cm_date{color:#444;float:right;font-size:10px;font-style:italic}
.cm_entry p{color:#222;font-size:13px;margin:0}
.cm_pagenavi{color:#666;font-size:10px;font-weight:700;text-shadow:1px 1px #FFF;text-transform:uppercase}
.cm_pagenavi a{color:#666;padding:10px;text-decoration:none}
.cm_pagenavi a:hover{text-decoration:none}
.cm_pagenavi span{background:#FFF;border:1px solid #E0E0E0;color:#888;padding:4px}

Step 4: Search for <b:includable id='comments' var='post'> and till the end of this tag which looks like this </b:includable> Replace all the code with the code given below


<div class='comments' id='comments'>
<a name='comments'/>
<b:if cond='data:post.embedCommentForm'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='comment-form'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
<b:else/>
<b:if cond='data:post.allowComments'>
<a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
</b:if>
</b:if>
<b:if cond='data:post.allowComments'>
<h4>
<b:if cond='data:post.numComments &gt; 0'>
<b:if cond='data:post.numComments == 1'>
<span id='cm_total'>1</span> comment
<b:else/>
<span id='cm_total'><data:post.numComments/></span> comments
</b:if>
</b:if>
</h4>
<div id='cm_reply_css'/>
<div class='cm_pagenavi' id='cm_page'/>
<div id='cm_block'>
<b:loop values='data:post.comments' var='comment'>
<b:if cond='data:comment.isDeleted'>
<b:else/>
<div expr:id='data:comment.anchorName'>
<div class='cm_wrap'>
<a expr:name='data:comment.anchorName'/>
<div class='cm_head'>
<div class='cm_avatar'>
<b:if cond='data:blog.enabledCommentProfileImages'>
<data:comment.authorAvatarImage/>
</b:if>
</div>
<div class='cm_reply'>
<a expr:href='&quot;https://www.blogger.com/comment.g?blogID=7535998369717577932&amp;postID=&quot; data:post.id &quot;&amp;isPopup=true&amp;postBody=%40%3C%61%20%68%72%65%66%3D%22%23&quot; data:comment.anchorName &quot;%22%3E&quot; data:comment.author &quot;%3C%2F%61%3E#form&quot;' onclick='javascript:window.open(this.href, &quot;bloggerPopup&quot;, &quot;toolbar=0,location=0,statusbar=1,menubar=0,scrollbars=yes,width=600,height=500&quot;); return false;'>Reply</a>
</div>
</div>
<div class='cm_entry'>
<span class='cm_arrow'/>
<div class='cm_info'>
<div class='cm_name'>
<b:if cond='data:comment.authorUrl'>
<a expr:href='data:comment.authorUrl' rel='nofollow' target='_blank'>
<data:comment.author/>
</a>
<b:else/>
<b><data:comment.author/></b>
</b:if>
</div>
<div class='cm_date'>
<data:comment.timestamp/>
</div>
<div class='clear'/>
</div>
<p><data:comment.body/><b:include data='comment' name='commentDeleteIcon'/></p>
</div>
</div>
</div>
</b:if>
</b:loop>
</div>
<div class='cm_pagenavi' id='cm_page_copy'/>

</b:if>
</div>


In Line 40 of the above code relplace the blogID with your blog Id (To find the blog id ,just open lets say the Stats page and in the address bar you will see a very long numbers ,thats your blog id).

Step 5: Now below the </body> tag ,paste the following code(Sorry for the Horizontal scrollbar but had to make the code one-click copyable):

<script type="text/javascript"><!--
var _0x7bf4=["\x32\x20\x78\x3D\x31\x72\x2E\x31\x6E\x2E\x4A\x3B\x32\x20\x46\x3D\x77\x2E\x79\x28\x27\x31\x6D\x27\x29\x3B\x32\x20\x6D\x3D\x46\x2E\x75\x3B\x32\x20\x70\x3D\x5B\x5D\x3B\x32\x20\x37\x3D\x5B\x5D\x3B\x32\x20\x64\x3D\x5B\x5D\x3B\x32\x20\x6E\x3D\x30\x3B\x32\x20\x49\x3D\x27\x27\x3B\x32\x20\x4B\x3D\x27\x27\x3B\x32\x20\x45\x3D\x27\x27\x3B\x32\x20\x69\x3D\x30\x3B\x32\x20\x6A\x3D\x30\x3B\x32\x20\x6B\x3D\x30\x3B\x32\x20\x68\x3D\x30\x3B\x32\x20\x62\x3D\x27\x27\x3B\x32\x20\x42\x3D\x22\x22\x3B\x32\x20\x71\x3D\x22\x22\x3B\x31\x73\x20\x31\x31\x28\x29\x7B\x32\x20\x56\x3D\x2D\x31\x3B\x38\x28\x5A\x2E\x31\x79\x3D\x3D\x27\x31\x7A\x20\x31\x76\x20\x31\x75\x27\x29\x7B\x32\x20\x31\x65\x3D\x5A\x2E\x31\x77\x3B\x32\x20\x31\x30\x3D\x31\x78\x20\x31\x32\x28\x22\x31\x74\x20\x28\x5B\x30\x2D\x39\x5D\x7B\x31\x2C\x7D\x5B\x5C\x2E\x30\x2D\x39\x5D\x7B\x30\x2C\x7D\x29\x22\x29\x3B\x38\x28\x31\x30\x2E\x31\x41\x28\x31\x65\x29\x21\x3D\x31\x70\x29\x56\x3D\x31\x71\x28\x31\x32\x2E\x24\x31\x29\x7D\x31\x6F\x20\x56\x7D\x32\x20\x57\x3D\x31\x31\x28\x29\x3B\x38\x28\x57\x3D\x3D\x2D\x31\x7C\x7C\x57\x3E\x3D\x39\x29\x7B\x31\x34\x28\x6D\x2E\x66\x28\x27\x4C\x3D\x22\x63\x27\x29\x21\x3D\x2D\x31\x29\x7B\x69\x3D\x6D\x2E\x66\x28\x27\x4C\x3D\x22\x63\x27\x29\x3B\x6D\x3D\x6D\x2E\x65\x28\x69\x2B\x34\x29\x3B\x69\x3D\x6D\x2E\x66\x28\x27\x22\x27\x29\x3B\x70\x5B\x6E\x5D\x3D\x6D\x2E\x65\x28\x30\x2C\x69\x29\x3B\x6D\x3D\x6D\x2E\x65\x28\x69\x29\x3B\x37\x5B\x6E\x5D\x3D\x77\x2E\x79\x28\x70\x5B\x6E\x5D\x29\x2E\x75\x3B\x64\x5B\x6E\x5D\x3D\x30\x3B\x6E\x2B\x2B\x7D\x76\x28\x69\x3D\x30\x3B\x69\x3C\x6E\x2D\x31\x3B\x69\x2B\x2B\x29\x7B\x76\x28\x6A\x3D\x69\x2B\x31\x3B\x6A\x3C\x6E\x3B\x6A\x2B\x2B\x29\x7B\x38\x28\x37\x5B\x6A\x5D\x2E\x66\x28\x70\x5B\x69\x5D\x29\x21\x3D\x2D\x31\x29\x7B\x49\x3D\x70\x5B\x6A\x5D\x3B\x4B\x3D\x37\x5B\x6A\x5D\x3B\x64\x5B\x6A\x5D\x3D\x64\x5B\x69\x5D\x2B\x31\x3B\x45\x3D\x64\x5B\x6A\x5D\x3B\x76\x28\x68\x3D\x69\x2B\x31\x3B\x68\x3C\x6A\x3B\x68\x2B\x2B\x29\x7B\x38\x28\x64\x5B\x68\x5D\x3C\x45\x29\x7B\x31\x37\x7D\x7D\x76\x28\x6B\x3D\x6A\x3B\x6B\x3E\x68\x3B\x6B\x3D\x6B\x2D\x31\x29\x7B\x70\x5B\x6B\x5D\x3D\x70\x5B\x6B\x2D\x31\x5D\x3B\x37\x5B\x6B\x5D\x3D\x37\x5B\x6B\x2D\x31\x5D\x3B\x64\x5B\x6B\x5D\x3D\x64\x5B\x6B\x2D\x31\x5D\x7D\x70\x5B\x68\x5D\x3D\x49\x3B\x37\x5B\x68\x5D\x3D\x4B\x3B\x64\x5B\x68\x5D\x3D\x45\x7D\x7D\x7D\x76\x28\x69\x3D\x30\x3B\x69\x3C\x6E\x3B\x69\x2B\x2B\x29\x7B\x6A\x3D\x37\x5B\x69\x5D\x2E\x66\x28\x27\x40\x3C\x61\x20\x4A\x3D\x22\x23\x63\x27\x29\x3B\x38\x28\x6A\x21\x3D\x2D\x31\x29\x7B\x42\x3D\x37\x5B\x69\x5D\x2E\x65\x28\x30\x2C\x6A\x29\x3B\x71\x3D\x37\x5B\x69\x5D\x2E\x65\x28\x6A\x2B\x31\x29\x3B\x6A\x3D\x71\x2E\x66\x28\x27\x3C\x2F\x61\x3E\x27\x29\x3B\x71\x3D\x71\x2E\x65\x28\x6A\x2B\x34\x29\x3B\x37\x5B\x69\x5D\x3D\x42\x2B\x71\x7D\x6A\x3D\x37\x5B\x69\x5D\x2E\x66\x28\x27\x50\x3D\x22\x59\x22\x27\x29\x3B\x38\x28\x6A\x21\x3D\x2D\x31\x29\x7B\x42\x3D\x37\x5B\x69\x5D\x2E\x65\x28\x30\x2C\x6A\x29\x3B\x71\x3D\x37\x5B\x69\x5D\x2E\x65\x28\x6A\x29\x3B\x38\x28\x64\x5B\x69\x5D\x3E\x36\x29\x64\x5B\x69\x5D\x3D\x36\x3B\x37\x5B\x69\x5D\x3D\x42\x2B\x27\x74\x3D\x22\x31\x35\x3A\x27\x2B\x28\x31\x39\x2D\x64\x5B\x69\x5D\x2A\x35\x29\x2B\x27\x25\x22\x20\x27\x2B\x71\x7D\x62\x2B\x3D\x37\x5B\x69\x5D\x7D\x62\x2B\x3D\x27\x3C\x67\x20\x50\x3D\x22\x31\x66\x22\x3E\x3C\x2F\x67\x3E\x27\x3B\x46\x2E\x75\x3D\x62\x3B\x46\x2E\x74\x2E\x51\x3D\x27\x31\x62\x27\x3B\x32\x20\x4D\x3D\x77\x2E\x79\x28\x27\x31\x61\x27\x29\x2E\x75\x3B\x32\x20\x6F\x3D\x4F\x28\x4D\x29\x3B\x38\x28\x6F\x3E\x72\x29\x7B\x62\x3D\x27\x3C\x67\x20\x74\x3D\x22\x47\x3A\x31\x63\x22\x3E\x31\x64\x20\x27\x3B\x32\x20\x48\x3D\x28\x6F\x2D\x6F\x25\x72\x29\x2F\x72\x2B\x31\x3B\x32\x20\x73\x3D\x27\x27\x3B\x32\x20\x6C\x3D\x31\x3B\x69\x3D\x78\x2E\x66\x28\x27\x2E\x31\x6C\x27\x29\x3B\x38\x28\x69\x21\x3D\x2D\x31\x29\x7B\x73\x3D\x78\x2E\x65\x28\x30\x2C\x69\x2B\x35\x29\x7D\x7A\x7B\x73\x3D\x78\x7D\x69\x3D\x73\x2E\x66\x28\x27\x23\x44\x27\x29\x3B\x38\x28\x69\x21\x3D\x2D\x31\x29\x7B\x73\x3D\x73\x2E\x65\x28\x30\x2C\x69\x29\x7D\x69\x3D\x78\x2E\x66\x28\x27\x3F\x53\x3D\x27\x29\x3B\x38\x28\x69\x3D\x3D\x2D\x31\x29\x7B\x6C\x3D\x31\x7D\x7A\x7B\x6C\x3D\x4F\x28\x78\x2E\x65\x28\x69\x2B\x31\x33\x29\x29\x7D\x76\x28\x69\x3D\x31\x3B\x69\x3C\x3D\x48\x3B\x69\x2B\x2B\x29\x7B\x38\x28\x69\x3D\x3D\x6C\x29\x7B\x62\x2B\x3D\x27\x3C\x55\x3E\x27\x2B\x69\x2B\x27\x3C\x2F\x55\x3E\x27\x7D\x7A\x7B\x62\x2B\x3D\x27\x3C\x61\x20\x4A\x3D\x22\x27\x2B\x73\x2B\x27\x3F\x53\x3D\x27\x2B\x69\x2B\x27\x23\x44\x22\x3E\x27\x2B\x69\x2B\x27\x3C\x2F\x61\x3E\x27\x7D\x7D\x38\x28\x6C\x2A\x72\x3C\x3D\x6F\x29\x7B\x62\x2B\x3D\x27\x3C\x2F\x67\x3E\x3C\x67\x20\x74\x3D\x22\x47\x3A\x54\x22\x3E\x27\x2B\x28\x28\x28\x6C\x2D\x31\x29\x2A\x72\x29\x2B\x31\x29\x2B\x27\x20\x2D\x20\x27\x2B\x28\x6C\x2A\x72\x29\x2B\x27\x20\x52\x20\x27\x2B\x6F\x2B\x27\x20\x44\x3C\x2F\x67\x3E\x27\x7D\x7A\x7B\x62\x2B\x3D\x27\x3C\x2F\x67\x3E\x3C\x67\x20\x74\x3D\x22\x47\x3A\x54\x22\x3E\x27\x2B\x28\x28\x28\x6C\x2D\x31\x29\x2A\x72\x29\x2B\x31\x29\x2B\x27\x20\x2D\x20\x27\x2B\x6F\x2B\x27\x20\x52\x20\x27\x2B\x6F\x2B\x27\x20\x44\x3C\x2F\x67\x3E\x27\x7D\x32\x20\x43\x3D\x77\x2E\x79\x28\x27\x31\x69\x27\x29\x3B\x43\x2E\x75\x3D\x62\x3B\x43\x3D\x77\x2E\x79\x28\x27\x31\x68\x27\x29\x3B\x43\x2E\x75\x3D\x62\x3B\x38\x28\x6C\x3C\x48\x29\x7B\x62\x3D\x27\x3C\x74\x20\x31\x67\x3D\x22\x31\x6B\x2F\x31\x6A\x22\x3E\x2E\x58\x20\x7B\x51\x3A\x20\x31\x38\x7D\x3C\x2F\x74\x3E\x27\x3B\x32\x20\x4E\x3D\x77\x2E\x79\x28\x27\x31\x36\x27\x29\x3B\x4E\x2E\x75\x3D\x62\x7D\x7D\x7D\x7A\x7B\x31\x34\x28\x6D\x2E\x66\x28\x27\x4C\x3D\x63\x27\x29\x21\x3D\x2D\x31\x29\x7B\x69\x3D\x6D\x2E\x66\x28\x27\x4C\x3D\x63\x27\x29\x3B\x6D\x3D\x6D\x2E\x65\x28\x69\x2B\x33\x29\x3B\x69\x3D\x6D\x2E\x66\x28\x27\x3E\x27\x29\x3B\x70\x5B\x6E\x5D\x3D\x6D\x2E\x65\x28\x30\x2C\x69\x29\x3B\x6D\x3D\x6D\x2E\x65\x28\x69\x29\x3B\x37\x5B\x6E\x5D\x3D\x77\x2E\x79\x28\x70\x5B\x6E\x5D\x29\x2E\x75\x3B\x64\x5B\x6E\x5D\x3D\x30\x3B\x6E\x2B\x2B\x7D\x76\x28\x69\x3D\x30\x3B\x69\x3C\x6E\x2D\x31\x3B\x69\x2B\x2B\x29\x7B\x76\x28\x6A\x3D\x69\x2B\x31\x3B\x6A\x3C\x6E\x3B\x6A\x2B\x2B\x29\x7B\x38\x28\x37\x5B\x6A\x5D\x2E\x66\x28\x70\x5B\x69\x5D\x29\x21\x3D\x2D\x31\x29\x7B\x49\x3D\x70\x5B\x6A\x5D\x3B\x4B\x3D\x37\x5B\x6A\x5D\x3B\x64\x5B\x6A\x5D\x3D\x64\x5B\x69\x5D\x2B\x31\x3B\x45\x3D\x64\x5B\x6A\x5D\x3B\x76\x28\x68\x3D\x69\x2B\x31\x3B\x68\x3C\x6A\x3B\x68\x2B\x2B\x29\x7B\x38\x28\x64\x5B\x68\x5D\x3C\x45\x29\x7B\x31\x37\x7D\x7D\x76\x28\x6B\x3D\x6A\x3B\x6B\x3E\x68\x3B\x6B\x3D\x6B\x2D\x31\x29\x7B\x70\x5B\x6B\x5D\x3D\x70\x5B\x6B\x2D\x31\x5D\x3B\x37\x5B\x6B\x5D\x3D\x37\x5B\x6B\x2D\x31\x5D\x3B\x64\x5B\x6B\x5D\x3D\x64\x5B\x6B\x2D\x31\x5D\x7D\x70\x5B\x68\x5D\x3D\x49\x3B\x37\x5B\x68\x5D\x3D\x4B\x3B\x64\x5B\x68\x5D\x3D\x45\x7D\x7D\x7D\x76\x28\x69\x3D\x30\x3B\x69\x3C\x6E\x3B\x69\x2B\x2B\x29\x7B\x6A\x3D\x37\x5B\x69\x5D\x2E\x66\x28\x27\x40\x3C\x41\x20\x4A\x3D\x22\x23\x63\x27\x29\x3B\x38\x28\x6A\x21\x3D\x2D\x31\x29\x7B\x42\x3D\x37\x5B\x69\x5D\x2E\x65\x28\x30\x2C\x6A\x29\x3B\x71\x3D\x37\x5B\x69\x5D\x2E\x65\x28\x6A\x2B\x31\x29\x3B\x6A\x3D\x71\x2E\x66\x28\x27\x3C\x2F\x41\x3E\x27\x29\x3B\x71\x3D\x71\x2E\x65\x28\x6A\x2B\x34\x29\x3B\x37\x5B\x69\x5D\x3D\x42\x2B\x71\x7D\x6A\x3D\x37\x5B\x69\x5D\x2E\x66\x28\x27\x50\x3D\x59\x27\x29\x3B\x38\x28\x6A\x21\x3D\x2D\x31\x29\x7B\x42\x3D\x37\x5B\x69\x5D\x2E\x65\x28\x30\x2C\x6A\x29\x3B\x71\x3D\x37\x5B\x69\x5D\x2E\x65\x28\x6A\x29\x3B\x38\x28\x64\x5B\x69\x5D\x3E\x36\x29\x64\x5B\x69\x5D\x3D\x36\x3B\x37\x5B\x69\x5D\x3D\x42\x2B\x27\x74\x3D\x22\x31\x35\x3A\x27\x2B\x28\x31\x39\x2D\x64\x5B\x69\x5D\x2A\x35\x29\x2B\x27\x25\x22\x20\x27\x2B\x71\x7D\x62\x2B\x3D\x37\x5B\x69\x5D\x7D\x62\x2B\x3D\x27\x3C\x67\x20\x50\x3D\x22\x31\x66\x22\x3E\x3C\x2F\x67\x3E\x27\x3B\x46\x2E\x75\x3D\x62\x3B\x46\x2E\x74\x2E\x51\x3D\x27\x31\x62\x27\x3B\x32\x20\x4D\x3D\x77\x2E\x79\x28\x27\x31\x61\x27\x29\x2E\x75\x3B\x32\x20\x6F\x3D\x4F\x28\x4D\x29\x3B\x38\x28\x6F\x3E\x72\x29\x7B\x62\x3D\x27\x3C\x67\x20\x74\x3D\x22\x47\x3A\x31\x63\x22\x3E\x31\x64\x20\x27\x3B\x32\x20\x48\x3D\x28\x6F\x2D\x6F\x25\x72\x29\x2F\x72\x2B\x31\x3B\x32\x20\x73\x3D\x27\x27\x3B\x32\x20\x6C\x3D\x31\x3B\x69\x3D\x78\x2E\x66\x28\x27\x2E\x31\x6C\x27\x29\x3B\x38\x28\x69\x21\x3D\x2D\x31\x29\x7B\x73\x3D\x78\x2E\x65\x28\x30\x2C\x69\x2B\x35\x29\x7D\x7A\x7B\x73\x3D\x78\x7D\x69\x3D\x73\x2E\x66\x28\x27\x23\x44\x27\x29\x3B\x38\x28\x69\x21\x3D\x2D\x31\x29\x7B\x73\x3D\x73\x2E\x65\x28\x30\x2C\x69\x29\x7D\x69\x3D\x78\x2E\x66\x28\x27\x3F\x53\x3D\x27\x29\x3B\x38\x28\x69\x3D\x3D\x2D\x31\x29\x7B\x6C\x3D\x31\x7D\x7A\x7B\x6C\x3D\x4F\x28\x78\x2E\x65\x28\x69\x2B\x31\x33\x29\x29\x7D\x76\x28\x69\x3D\x31\x3B\x69\x3C\x3D\x48\x3B\x69\x2B\x2B\x29\x7B\x38\x28\x69\x3D\x3D\x6C\x29\x7B\x62\x2B\x3D\x27\x3C\x55\x3E\x27\x2B\x69\x2B\x27\x3C\x2F\x55\x3E\x27\x7D\x7A\x7B\x62\x2B\x3D\x27\x3C\x61\x20\x4A\x3D\x22\x27\x2B\x73\x2B\x27\x3F\x53\x3D\x27\x2B\x69\x2B\x27\x23\x44\x22\x3E\x27\x2B\x69\x2B\x27\x3C\x2F\x61\x3E\x27\x7D\x7D\x38\x28\x6C\x2A\x72\x3C\x3D\x6F\x29\x7B\x62\x2B\x3D\x27\x3C\x2F\x67\x3E\x3C\x67\x20\x74\x3D\x22\x47\x3A\x54\x22\x3E\x27\x2B\x28\x28\x28\x6C\x2D\x31\x29\x2A\x72\x29\x2B\x31\x29\x2B\x27\x20\x2D\x20\x27\x2B\x28\x6C\x2A\x72\x29\x2B\x27\x20\x52\x20\x27\x2B\x6F\x2B\x27\x20\x44\x3C\x2F\x67\x3E\x27\x7D\x7A\x7B\x62\x2B\x3D\x27\x3C\x2F\x67\x3E\x3C\x67\x20\x74\x3D\x22\x47\x3A\x54\x22\x3E\x27\x2B\x28\x28\x28\x6C\x2D\x31\x29\x2A\x72\x29\x2B\x31\x29\x2B\x27\x20\x2D\x20\x27\x2B\x6F\x2B\x27\x20\x52\x20\x27\x2B\x6F\x2B\x27\x20\x44\x3C\x2F\x67\x3E\x27\x7D\x32\x20\x43\x3D\x77\x2E\x79\x28\x27\x31\x69\x27\x29\x3B\x43\x2E\x75\x3D\x62\x3B\x43\x3D\x77\x2E\x79\x28\x27\x31\x68\x27\x29\x3B\x43\x2E\x75\x3D\x62\x3B\x38\x28\x6C\x3C\x48\x29\x7B\x62\x3D\x27\x3C\x74\x20\x31\x67\x3D\x22\x31\x6B\x2F\x31\x6A\x22\x3E\x2E\x58\x20\x7B\x51\x3A\x20\x31\x38\x7D\x3C\x2F\x74\x3E\x27\x3B\x32\x20\x4E\x3D\x77\x2E\x79\x28\x27\x31\x36\x27\x29\x3B\x4E\x2E\x75\x3D\x62\x7D\x7D\x7D","\x7C","\x73\x70\x6C\x69\x74","\x7C\x7C\x76\x61\x72\x7C\x7C\x7C\x7C\x7C\x43\x6D\x5F\x49\x74\x65\x6D\x5F\x43\x6F\x6E\x74\x65\x6E\x74\x7C\x69\x66\x7C\x7C\x7C\x73\x74\x72\x6F\x75\x74\x7C\x7C\x43\x6D\x5F\x49\x74\x65\x6D\x5F\x4C\x65\x76\x65\x6C\x7C\x73\x75\x62\x73\x74\x72\x69\x6E\x67\x7C\x69\x6E\x64\x65\x78\x4F\x66\x7C\x64\x69\x76\x7C\x7C\x7C\x7C\x7C\x43\x6D\x5F\x43\x75\x72\x5F\x50\x61\x67\x65\x7C\x43\x6D\x5F\x42\x6C\x6F\x63\x6B\x5F\x43\x6F\x6E\x74\x65\x6E\x74\x7C\x43\x6D\x5F\x4E\x75\x6D\x7C\x43\x6D\x5F\x54\x6F\x74\x61\x6C\x7C\x43\x6D\x5F\x49\x74\x65\x6D\x5F\x49\x64\x7C\x73\x74\x72\x5F\x74\x32\x7C\x32\x30\x30\x7C\x4F\x72\x67\x5F\x55\x72\x6C\x5F\x54\x68\x72\x65\x61\x64\x43\x4D\x7C\x73\x74\x79\x6C\x65\x7C\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x7C\x66\x6F\x72\x7C\x64\x6F\x63\x75\x6D\x65\x6E\x74\x7C\x43\x75\x72\x5F\x55\x72\x6C\x5F\x54\x68\x72\x65\x61\x64\x43\x4D\x7C\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x7C\x65\x6C\x73\x65\x7C\x7C\x73\x74\x72\x5F\x74\x31\x7C\x43\x6D\x5F\x50\x61\x67\x65\x5F\x4F\x62\x6A\x7C\x63\x6F\x6D\x6D\x65\x6E\x74\x73\x7C\x43\x6D\x5F\x49\x74\x65\x6D\x5F\x4C\x65\x76\x65\x6C\x5F\x54\x7C\x43\x6D\x5F\x42\x6C\x6F\x63\x6B\x7C\x66\x6C\x6F\x61\x74\x7C\x43\x6D\x5F\x50\x61\x67\x65\x5F\x4E\x75\x6D\x7C\x43\x6D\x5F\x49\x74\x65\x6D\x5F\x49\x64\x5F\x54\x7C\x68\x72\x65\x66\x7C\x43\x6D\x5F\x49\x74\x65\x6D\x5F\x43\x6F\x6E\x74\x65\x6E\x74\x5F\x54\x7C\x69\x64\x7C\x43\x6D\x5F\x54\x6F\x74\x61\x6C\x5F\x4F\x62\x6A\x7C\x43\x6D\x5F\x52\x65\x70\x6C\x79\x43\x53\x53\x5F\x4F\x62\x6A\x7C\x70\x61\x72\x73\x65\x49\x6E\x74\x7C\x63\x6C\x61\x73\x73\x7C\x64\x69\x73\x70\x6C\x61\x79\x7C\x6F\x66\x7C\x63\x6F\x6D\x6D\x65\x6E\x74\x50\x61\x67\x65\x7C\x72\x69\x67\x68\x74\x7C\x73\x70\x61\x6E\x7C\x72\x76\x7C\x49\x45\x5F\x76\x65\x72\x7C\x63\x6D\x5F\x61\x75\x74\x68\x6F\x72\x5F\x72\x65\x70\x6C\x79\x7C\x63\x6D\x5F\x77\x72\x61\x70\x7C\x6E\x61\x76\x69\x67\x61\x74\x6F\x72\x7C\x72\x65\x7C\x67\x65\x74\x49\x6E\x74\x65\x72\x6E\x65\x74\x45\x78\x70\x6C\x6F\x72\x65\x72\x56\x65\x72\x73\x69\x6F\x6E\x7C\x52\x65\x67\x45\x78\x70\x7C\x7C\x77\x68\x69\x6C\x65\x7C\x77\x69\x64\x74\x68\x7C\x63\x6D\x5F\x72\x65\x70\x6C\x79\x5F\x63\x73\x73\x7C\x62\x72\x65\x61\x6B\x7C\x6E\x6F\x6E\x65\x7C\x31\x30\x30\x7C\x63\x6D\x5F\x74\x6F\x74\x61\x6C\x7C\x62\x6C\x6F\x63\x6B\x7C\x6C\x65\x66\x74\x7C\x50\x61\x67\x65\x7C\x75\x61\x7C\x63\x6C\x65\x61\x72\x7C\x74\x79\x70\x65\x7C\x63\x6D\x5F\x70\x61\x67\x65\x5F\x63\x6F\x70\x79\x7C\x63\x6D\x5F\x70\x61\x67\x65\x7C\x63\x73\x73\x7C\x74\x65\x78\x74\x7C\x68\x74\x6D\x6C\x7C\x63\x6D\x5F\x62\x6C\x6F\x63\x6B\x7C\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x7C\x72\x65\x74\x75\x72\x6E\x7C\x6E\x75\x6C\x6C\x7C\x70\x61\x72\x73\x65\x46\x6C\x6F\x61\x74\x7C\x77\x69\x6E\x64\x6F\x77\x7C\x66\x75\x6E\x63\x74\x69\x6F\x6E\x7C\x4D\x53\x49\x45\x7C\x45\x78\x70\x6C\x6F\x72\x65\x72\x7C\x49\x6E\x74\x65\x72\x6E\x65\x74\x7C\x75\x73\x65\x72\x41\x67\x65\x6E\x74\x7C\x6E\x65\x77\x7C\x61\x70\x70\x4E\x61\x6D\x65\x7C\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x7C\x65\x78\x65\x63","","\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x72\x65\x70\x6C\x61\x63\x65","\x5C\x77\x2B","\x5C\x62","\x67"];eval(function (_0x4f09x1,_0x4f09x2,_0x4f09x3,_0x4f09x4,_0x4f09x5,_0x4f09x6){_0x4f09x5=function (_0x4f09x3){return (_0x4f09x3&lt;_0x4f09x2?_0x7bf4[4]:_0x4f09x5(parseInt(_0x4f09x3/_0x4f09x2))) ((_0x4f09x3=_0x4f09x3%_0x4f09x2)&gt;35?String[_0x7bf4[5]](_0x4f09x3 29):_0x4f09x3.toString(36));} ;if(!_0x7bf4[4][_0x7bf4[6]](/^/,String)){while(_0x4f09x3--){_0x4f09x6[_0x4f09x5(_0x4f09x3)]=_0x4f09x4[_0x4f09x3]||_0x4f09x5(_0x4f09x3);} ;_0x4f09x4=[function (_0x4f09x5){return _0x4f09x6[_0x4f09x5];} ];_0x4f09x5=function (){return _0x7bf4[7];} ;_0x4f09x3=1;} ;while(_0x4f09x3--){if(_0x4f09x4[_0x4f09x3]){_0x4f09x1=_0x4f09x1[_0x7bf4[6]]( new RegExp(_0x7bf4[8] _0x4f09x5(_0x4f09x3) _0x7bf4[8],_0x7bf4[9]),_0x4f09x4[_0x4f09x3]);} ;} ;return _0x4f09x1;} (_0x7bf4[0],62,99,_0x7bf4[3][_0x7bf4[2]](_0x7bf4[1]),0,{}));
--></script>

If you get a error while saving this code,escape the code above using Postable and then paste it in your template



Step 6: Preview for errors and then Save .


Don't hesitate to ask questions if you have any problems implementing it in your blog.


What do you think about this move by Blogger ,is it in the right direction ? Will this make Blogger come one step closer to becoming the Best CMS out there ? (It is already the Best Online CMS out there.- Atleast according to Royal Pingdom )

New Blogger Template : Directus

Hi everybody , this is a new Blogger template. The name might be a little unheard , but it means Simple in Latin. I have used a lot of CSS3 essentially shadows and border-radius property. The header design is quite similar to the Dynamic Views template and it is Responsive like the previous template (No horizontal scroll-bar till 580px). It has threaded comments but now with Circular avatar picture. The colors used are overall of lighter shade and give a kind of soothing effect.




Demo


Download



Complete List of Features


-Responsive design (No horizontal scrollbar till 580px)
-Cross browser compatibility 
-Page Navigation
-Widgets ready sidebar
-Its own Related Post widget
-Stylish commenting system with Circular Avatars
-Attractive Post Title with hover and active states
-jQuery and CSS3 powered Header design
-Three column footer
-Threaded Reply feature for Blogger Comment system
-Eye-catching Sidebar Design
-Search Engine Optimized
-Near W3C Valid
-95%+ Google Page Speed score 

-Integrated Menu and Search Box
-CSS3 shadows around post area
-Inbuilt FB and Twitter Icon
-Attractive web fonts like Trade Winds and Playball
-Appealing "Read More" button with hover and active states
-Modified input and select fields
-Responsive Images

How to configure the features:

1.Menu
The menu is just below the Header and automatically displays all the pages of the blog. Firstly when you install it on your blog, go to  Layout (or Page Elements) and remove the title of that widget. The title should remain blank for it to display the pages correctly. In case you are using the New interface then you can easily add custom links to this menu by going to Pages in the Dashboard and then choosing Web Address in the New Page option.


2.Page Navigation
To change the number of posts to be shown on using pagination find the term postperpage ( Using CTRL+F ) ,There will be a script something like this

<script type='text/javascript'>
var home_page=&quot;/&quot;;
var urlactivepage=location.href;
var postperpage=3;
var numshowpage=6;
var upPageWord =&#39;Previous&#39;;
var downPageWord =&#39;Next&#39;;
</script>


You can change the number values as you like in the above code.
var postperpage=9; → Changes the no of posts that will show up on clicking any page number.
var numshowpage=3;→ Changes the number of linking to show in the widget







Note: Make sure that you also set the value of Number of Posts on Main Page (Go to Design > Page Elements , Click on Edit option of Blog Post and then Number of posts on main page: ) to same as that of the postperpage value.




3.Enabling Reply option for the comments
The the reply option in the comment will have to enabled . Just search for the term blogid= ( using CTRL+F ) with "Expand Widget Preview" option ticked. You will see something like this "blogID=XXXXXXXXXXXX" replace this XXXXXXXXXXX number with your Blog's ID. [To find your Blog's ID just Open Design Tab and in the Address bar of your browser there will be a very long number , just paste that here]



4. Deleting Navbar and Attribution widget
If you are using Simple templates or any other default Blogger template, Then it might happen that the NavBar and Attirbution widget would be visible in the sidebar just after installing the template. To remove these widgets you will have to Edit HTML of the Blog and search for something like "Navbar" & "Attribution". These too things you will find inbetween b:widget tags . Remove everything including these tags which will look something like this


<b:widget id='Navbar' >
..................
..................
</b:widget>


Note: Interestingly this can only be done in the Old Blogger Interface. In case you try it in new Blogger interface ,it will always crash.


5. Header
The header text can be changed easily using the Header widget present in the Page Elements (or Layouts ). If you want to add a background image ,then search for the following term .header{ and you will see something like this


.header{background-image:-moz-linear-gradient(center top, rgba(255, 255, 255, 0.1), rgba(100, 100, 100, 0.05));background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0.05)));background-attachment:scroll;background-color:rgba(243, 243, 243, 1);-moz-box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);-ms-box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);-o-box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);height:90px !important;position:absolute;top:0px !important;left:0px !important;width:100% !important;z-index:1001;display:block;-webkit-box-shadow:0px 3px 30px rgba(0, 0, 0, 0.1);-moz-box-shadow:0px 3px 30px rgba(0, 0, 0, 0.1);box-shadow:0px 3px 30px rgba(0, 0, 0, 0.1);}

Remove all the background- attributes from the above code and replace it with a single attribute containing the URL of the background ,something like this:


.header{background: url(IMAGE-URL);-moz-box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);-ms-box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);-o-box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.3);height:90px !important;position:absolute;top:0px !important;left:0px !important;width:100% !important;z-index:1001;display:block;-webkit-box-shadow:0px 3px 30px rgba(0, 0, 0, 0.1);-moz-box-shadow:0px 3px 30px rgba(0, 0, 0, 0.1);box-shadow:0px 3px 30px rgba(0, 0, 0, 0.1);}

6. Some other features


>>To add border across images add a class="thumb" in the img tag


>>To make images with rounded edges , add a class="image" in the a tag surrounding the img tag.


>>The images are scaled down in smaller screens ,never exceeding the white post area


>> If you want to add buttons like the Read More one ,you can achieve it b adding a class="button" in a a tag something like this:


<a href="URL" class="button" >Button</a>


These also have option to add a small symbol just before them ,like for example a arrow



<a href="URL" class="next button" >Button</a>


For complete list of options check this URL

This template could not have been possible without Codrops (Header Text) ,RDT (Buttons) and CSS-Tricks (a lot of things)

I hope you like the template and don't hesitate to the ask about any problems you face while using the template.


Demo


Download

10 Tips for Beginner Bloggers

Blogging online about anything can provide you with a source of income; however, you can't go into blogging expecting to see big results right away. A good blog takes a while to become established. Until it does, you won't see much profit, but if you work hard and keep at it, you can find your blog turning into a regular source of income. I will be discussing some easy-to-follow tips that can help you get started and keep going.






1. Pick Your Niche

Choose a topic that interests you and of which you are familiar. If you choose something that you aren't passionate about or have no knowledge of, your blog won't read well and you will have a difficult time attracting and keeping readers. The goal is to provide others with knowledge on a topic you enjoy.


2. Keep Your Content Fresh

While you don't necessarily have to write a new post every day, you should be contributing to your blog on a regular basis. The more often you update your blog, the better it will rank with search engines and the more often people will return. Page views are an important aspect to blogging. If you only write a post once every three or four months, people won't be interested.


3. Write Solid Content

If you don't write content that is easy to read and coherent, you will have a difficult time finding readers. The search engines watch for content that is stuffed with keywords rather than using them appropriately and will lower your rankings if your content isn't high-quality. Practice your writing skills and run your posts by someone else to ensure that everything reads well.


4. Spread The Word

While search engines are a great tool to help readers find your blog, you can't rely on them completely. Use the social media networks to spread the word about your blog. Provide your readers with the option to share your posts with family and friends through social networking sites. This will help you gain greater readership with less work from you.


5. Make It Catchy

Use exciting, descriptive titles for your posts. The first thing your readers will see is the title to your posts. You want the title to grab the reader's attention and make him want to read more. Asking a question or telling your reader what they can expect to learn by reading your post will help encourage your readers to keep reading.


6. Monitor Your Comments

As a beginning blogger, you may think that any comment is a good one. However, some people use comments to spread spam and to draw traffic away from your blog. Delete any posts that contain spam or links to your competitors. While it is okay to link to related blogs, you don't want any that lead your readers to a direct competitor.


7. Write Directly To Your Audience

Knowing who your audience is will help you write to them. For instance, if you have a blog that deals with home improvement, most of your readers will be homeowners and those interested in improving their homes. Use lingo that your audience will know and avoid terms they may not.


8. Use Images With Your Blog

Those who read blogs often don't want to deal with a steady block of content. Breaking up your content by adding some relevant images will add to the value of your blog and help attract new readers and keep old readers interested.


9. Break Up The Text

Break up your content using headers, bullets and numbered lists. Using headers allows your readers to scan the content to determine if they really want to read the whole thing. If not, they can choose the sections that are most relevant to them and move on. Bullet points and numbered lists can help your readers identify important information.


 10. Network With Other Bloggers

If you follow and comment on other blogs, the owners are more likely to reciprocate. This is a good way to build more readers because their readers will become familiar with you and are more likely to follow you as well. 






Blogging for profit can take a long time to establish. Therefore, it is often easy to give up not long after you begin. However, if you keep at it and follow the proper protocol as a beginning blogger, you can see your blog through to success. 

 .

Author Bio
This is a Guest Post by James Adam who is working at an online printer cartridge retailer. James works through the printer ink and helps out with their HP ink cartridges

New Blogger Template : Standardized

Standardized Blogger Template ImageIts been nearly 3 months since the Stylify template. Now I am presenting my second template named Standardized. It has its roots in responsive design and has some awesome features like threaded Reply comment & eye-catching Header design. A mix of design and usability.




See Demo



Download




Initially I started making this template with the goal to make it W3C valid. Thats where the name Standardized came from, the one that follows standards. Near the end of process I hit a really nasty cross-browser issue (a.k.a. IE sucks) , and by just 1 error this template remained from obtaining that "VALID" markup title. This is just version 1 and better onces are to come. The highlight of this template is the Nested Reply comment feature inside the Blogger comment system itself! A really amazing hack...


Features
-Responsive design (No horizontal scrollbar till 580px)
-Cross browser compatibility 
-Page Navigation
-Widgets ready sidebar
-Its own Related Post widget
-Stylish commenting system with comments having gradient background style
-Attractive Post Title
-jQuery and CSS3 powered Header design
-Four column footer
-Threaded Reply feature for Blogger Comment system
-Eye-catching Sidebar Design
-Search Engine Optimized
-Near W3C Valid
-90%+ Google Page Speed score

How to configure some of the Features:



1.Menu
The code for the menu widget has been separately included in the Download Package. Rather than integrating it into the Template and making it difficult to edit ,I have included it separately. All the styles are included beforehand just the Links have to be copied in. The menu should be in the section of the Header (being just below the Header).


2.Page Navigation
To change the number of posts to be shown on using pagination find the term postperpage ( Using CTRL+F ) ,There will be a script something like this

<script type='text/javascript'>
var home_page=&quot;/&quot;;
var urlactivepage=location.href;
var postperpage=3;
var numshowpage=6;
var upPageWord =&#39;Previous&#39;;
var downPageWord =&#39;Next&#39;;
</script>


You can change the number values as you like in the above code.
var postperpage=9; → Changes the no of posts that will show up on clicking any page number.
var numshowpage=3;→ Changes the number of linking to show in the widget







Note: Make sure that you also set the value of Number of Posts on Main Page (Go to Design > Page Elements , Click on Edit option of Blog Post and then Number of posts on main page: ) to same as that of the postperpage value.




3.Enabling Reply option for the comments
The the reply option in the comment will have to enabled . Just search for the term blogid= ( using CTRL+F ) with "Expand Widget Preview" option ticked. Below it you will see "blogID=XXXXXXXXXXXX" replace this XXXXXXXXXXX number with your Blog's ID. [To find your Blog's ID just Open Design Tab and in the Address bar of your browser there will be a very long number , just paste that here]


4.Social Media Buttons and Search Box
The Download package also contains code for these two widgets. Either you can put them in separate widgets or put them together. In case you put them together then make sure the search box is above the icons and also include it in the section just below the Header (In Page Elements/Layouts). The widget containing the Social Media Icon should always be in this section.


This template came in the wake of many users complaining about different problems in the previous template.


Liked My Work ?
 
© 2009 Blogger Tips 2013 | Powered by Blogger