元ネタ: Windows Live WriterではてなダイアリーAtomPubにチャレンジしてみた。
はてなダイアリーがAtomPubに対応してWindows Live Writerから投稿ができるようになってます。
金曜日の昼の時点ではWindows Live Writerからアカウント追加しようとするとエラーが起きる状態でしたが、既に修正されています。
現時点で直っているのでもうどうでもいいのだけど、少し調べた結果、原因ははてなサーバーが受け付けるWSSE認証のパスワードダイジェストとWLWが送信するパスワードダイジェストの生成方法に違いがあったと思います。あまり自信ないけどー。
WSSE認証ではHTTPヘッダに次のような値を設定します。
X-XSSE: UsernameToken Username="jz5", PasswordDigest="XjGKvYV6OvwmSQnj9T4lcpdjGzI=", Created="2008-08-29T15:25:17", Nonce="Rm6rUDIDuQhzTHrgQf8hTAlxc858PWgDLIdYuoGL"
このPasswordDigestは、CreatedとNonceとパスワードから生成される値です。CreatedとNonceはヘッダに記述されていますが、パスワードはサーバとクライアントそれぞれに持っているのでそれを使います。サーバはヘッダの情報からPasswordDigestを生成してパスワードが同じものであるか確認できるわけですね。
私も詳しくはないので何が正しいかまではわかりませんが、PasswordDigestを生成するコードは次のようになります。
Windows Live Writerで生成するPasswordDigest:
Dim sha1 = New System.Security.Cryptography.SHA1CryptoServiceProvider
passwordDigest = Convert.ToBase64String(sha1.ComputeHash(System.Text.Encoding.UTF8.GetBytes((nonce & created & password))))
nonceとcreatedには、ヘッダに指定されていた文字列そのままが入っていると思ってください。ヘッダの値をそのまま連結した文字列のバイト配列を取得しSHA1のハッシュ値としています。
一方、はてなダイアリー側で生成するPasswordDigest:
decodedNonce = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(nonce))
buffer = Convert.FromBase64String(decodedNonce)
Dim sha1 = New System.Security.Cryptography.SHA1CryptoServiceProvider
passwordDigest = Convert.ToBase64String(sha1.ComputeHash(System.Text.Encoding.UTF8.GetBytes((System.Text.Encoding.ASCII.GetString(buffer) & created & password))))
Nonce部分の解釈が異なります。送信時にヘッダに指定するNonceを、Base64エンコードしたものからPasswordDigestを生成すると、はてなでは受け付けてくれていました。サーバ側で検証する場合は上のようにデコードした文字を使ってPasswordDigestを作ります。
おそらく以上のことが原因じゃないかなー。認証としてどちらが正しいのかは知りません。
関連: はてブをプログラムから追加する
フィードバック
# re: はてダとWindows Live Writer
2008/08/30 2:06 by
なるほど、そういうことだったのですか。勉強になりました。
Atom Pubもおもしろそうですね。
# re: はてダとWindows Live Writer
2008/08/30 23:25 by
コメントありがとうございます。
私もHTTPの勉強になりましたw
# re: はてダとWindows Live Writer
2008/09/17 0:02 by
いまさらですが、こんな記事を見つけました。
http://d.hatena.ne.jp/onishi/20080831/1220159168
JZ5さんの言われていたこと、まさにドンピシャでしたね。すげー。
# re: はてダとWindows Live Writer
2008/09/17 0:14 by
すごくはないけどw 新幹線で調べて友人宅で投稿した甲斐がありました(?)
# DrvvTqHJpncabCjmZ
2014/07/19 3:05 by
hPX0hk This is one awesome article.Much thanks again. Keep writing.
# kzyvIsMBMeHpQ
2018/12/17 15:38 by
mKrhZM Merely a smiling visitant here to share the love (:, btw great design. аАТ?а?а?аАТ?а? Treat the other man as faith gently it is all he has to believe with.аАТ?а? аАТ?а?а? by Athenus.
# vtDywGwvWohOUuUXH
2019/04/22 21:16 by
xtqOrG I really liked your post.Thanks Again. Really Great.
# bhwFYykHmCMtRcmOJxG
2019/04/26 20:15 by
over it all at the minute but I have bookmarked it and also added your RSS
# CxOYQztyDnzljYsvwtF
2019/04/26 21:45 by
Lovely site! I am loving it!! Will come back again. I am taking your feeds also.
# xKUzpGyuUF
2019/04/28 2:04 by
I was recommended this web site by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my problem. You are amazing! Thanks!
# tHffjOuqiyy
2019/04/28 4:55 by
It is appropriate time to make some plans for the future and it as time to be happy.
# VDlQTuhVpbEiFTqWH
2019/04/29 19:11 by
I think this is a real great blog.Thanks Again. Great.
# NdyMoWczRNNbtpBe
2019/04/30 16:46 by
Thanks so much for the blog article.Thanks Again.
# QqdWcNFXDQ
2019/04/30 23:40 by
You, my pal, ROCK! I found just the information I already searched all over the place and simply could not find it. What a great web site.
# TUPrzObvcNh
2019/05/01 18:06 by
It as hard to come by well-informed people about this topic, however, you sound like you know what you are talking about! Thanks
# ZRYQKudBOoFhAzXibsv
2019/05/01 19:57 by
You made some good points there. I checked on the web for more info about the issue and found most people will go along with your views on this site.
# gFJgBebWNXULf
2019/05/02 3:08 by
Just Browsing While I was surfing today I noticed a excellent article about
# JaadGQrommnCEcGuy
2019/05/02 17:04 by
Thanks so much for the blog post.Really looking forward to read more. Really Great.
# wIsDZlatRGcuFdXQ
2019/05/03 4:03 by
You can certainly see your skills in the work you write. The world hopes for more passionate writers like you who are not afraid to say how they believe. Always go after your heart.
# jvdxGqiCpbDIJ
2019/05/03 8:34 by
that should outweigh Owens touchdowns. I think all of it
# jcPpdQDTelJ
2019/05/03 10:54 by
Only wanna admit that this is extremely helpful, Thanks for taking your time to write this.
# QrBicLXYXWidqiniRPT
2019/05/03 12:27 by
tiffany and co outlet Secure Document Storage Advantages | West Coast Archives
# HFyZFNIUnUt
2019/05/03 16:14 by
Yahoo results While searching Yahoo I found this page in the results and I didn at think it fit
# GUDhMeKPOmJGDaIG
2019/05/03 18:02 by
Piece of writing writing is also a fun, if you know then you can write otherwise it is difficult to write.
# flDmsftZYhRhbBRfG
2019/05/03 20:26 by
Wow! In the end I got a webpage from where I know
# OOmUiFdjHrs
2019/05/04 3:35 by
This excellent website truly has all the info I wanted about this subject and didn at know who to ask.
# OSlkDXqqBRlWooKhZ
2019/05/04 4:18 by
I value the blog post.Really looking forward to read more. Great.
# FHGzsXhBOXUZTbzosvX
2019/05/05 18:41 by
This excellent website definitely has all the information and facts I needed concerning this subject and didn at know who to ask.
# KrOSRNnMAmkLQdve
2019/05/07 15:48 by
There is definately a lot to learn about this subject. I love all of the points you have made.
# KUXnJeGckVnVsrhlMZE
2019/05/08 20:33 by
Some really excellent posts on this site, regards for contribution.
# ETDuFrpUZwMWT
2019/05/09 0:28 by
very handful of internet sites that take place to become in depth below, from our point of view are undoubtedly well worth checking out
# xkVFWbzvMRvx
2019/05/09 1:31 by
It as not that I want to copy your web-site, but I really like the layout. Could you tell me which theme are you using? Or was it especially designed?
# yMdcXmIquMmewPvPC
2019/05/09 4:45 by
Im obliged for the article post.Really looking forward to read more.
# HxQalOWjrqnYRsFaM
2019/05/09 8:54 by
This can be a set of phrases, not an essay. that you are incompetent
# UUyMlyDciXLd
2019/05/09 9:04 by
You should take part in a contest for one of the most useful websites on the net. I am going to highly recommend this blog!
# OpoTQECRnKEs
2019/05/09 11:13 by
This is a topic which is close to my heart Many thanks! Exactly where are your contact details though?
# qZogoIZLxosIMP
2019/05/09 11:21 by
Looking forward to reading more. Great post.Much thanks again. Great.
# RraMwbNmLawgtV
2019/05/09 13:45 by
Its hard to find good help I am forever proclaiming that its hard to procure good help, but here is
# jDXSnlQWWAYZuxWSKFG
2019/05/09 15:29 by
I think other web-site proprietors should take this website as an model, very clean and wonderful user friendly style and design, let alone the content. You are an expert in this topic!
# xWMBNfavpOcnh
2019/05/09 17:39 by
Wow, superb blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your web site is great, let alone the content!
# hhwdUZejET
2019/05/09 19:51 by
Thanks for another great post. Where else may anybody get that type of info in such an ideal way of writing? I have a presentation next week, and I am at the search for such information.
# OsELdluDennVbCawEy
2019/05/09 23:53 by
You will be my function models. Thanks for the post
# AwUTdKvrJvm
2019/05/10 0:49 by
I view something truly special in this site.
# HqeAhfBdzxPwilkey
2019/05/10 8:27 by
Really enjoyed this article post.Really looking forward to read more. Fantastic.
# ESRiOljTFZQYYMbd
2019/05/14 5:27 by
Very informative blog article.Really looking forward to read more. Great.
# QobiQrztbsaeQO
2019/05/14 7:34 by
Well I definitely enjoyed studying it. This information provided by you is very constructive for correct planning.
# pVXVxgtfBPWouDw
2019/05/14 13:58 by
Really enjoyed this blog post.Really looking forward to read more. Keep writing.
# lbAHmyWKyo
2019/05/14 17:32 by
This particular blog is really entertaining additionally amusing. I have picked up helluva useful tips out of this amazing blog. I ad love to return every once in a while. Cheers!
# HYCDsBTETizkcQw
2019/05/14 18:17 by
my family would It?s difficult to acquire knowledgeable folks during this topic, nevertheless, you be understood as do you know what you?re referring to! Thanks
# cliIteGPhuowqW
2019/05/14 22:21 by
I truly appreciate this blog post. Keep writing.
# DtWNuXhblCZ
2019/05/15 1:15 by
Very neat article post.Really looking forward to read more.
# MYxEdSFFuqeP
2019/05/15 3:19 by
Right away I am going away to do my breakfast, later than having my breakfast coming over again to read more news.
# tNvWNPGOcAZ
2019/05/16 21:10 by
You made some decent points there. I looked on the internet for the topic and found most individuals will agree with your website.
# lZuFiilIuNCnRe
2019/05/20 16:54 by
so much time I had spent for this information!
# NuutskkyaTpMhAIqdCB
2019/05/20 21:09 by
user in his/her brain that how a user can be aware of it.
# EiWpkBuedZ
2019/05/21 3:16 by
Major thanks for the blog.Much thanks again. Great.
# xzkycxsOqFWLrQAHd
2019/05/22 21:37 by
You have made some decent points there. I checked on the internet for more information about the issue and found most people will go along with your views on this web site.
# IwwkmgbJswnNo
2019/05/23 0:08 by
This very blog is without a doubt entertaining and amusing. I have chosen many useful things out of this amazing blog. I ad love to go back again soon. Thanks!
# SRBFLHCZzOTAvAky
2019/05/23 5:41 by
Terrific paintings! This is the kind of information that are meant to be shared around the net. Shame on Google for not positioning this publish higher! Come on over and visit my site. Thanks =)
# UJRrWPSqQlqzmT
2019/05/24 0:49 by
I truly appreciate this article post.Really looking forward to read more. Keep writing.
# hFEwdQvwYryvY
2019/05/24 3:24 by
Louis Vuitton Online Louis Vuitton Online
# UikLLVWFLSjbUrVzM
2019/05/24 5:30 by
I think this is a real great post.Thanks Again. Much obliged.
# eTgjivhTBxs
2019/05/24 22:23 by
It as not that I want to duplicate your internet site, but I really like the design. Could you tell me which style are you using? Or was it tailor made?
# jJpHaxUJPQ
2019/05/25 7:06 by
Lovely website! I am loving it!! Will come back again. I am bookmarking your feeds also
# IpKsiHrVGdB
2019/05/27 22:54 by
This web site truly has all of the information I wanted concerning this subject and didn at know who to ask.
# tdkGOLWQfChuvpEot
2019/05/27 23:49 by
Just Browsing While I was browsing yesterday I noticed a excellent post concerning
# UXslmWlquvd
2019/05/28 1:39 by
Thanks for the good writeup. It in truth was once a entertainment account it.
# PQVsKgIsoxrokSPFj
2019/05/28 2:21 by
Yeah, now it as clear ! And firstly I did not understand very much where there was the link with the title itself !!
# svrnawzaINCs
2019/05/28 22:50 by
Spot on with this write-up, I really suppose this web site wants way more consideration. I?ll most likely be once more to learn way more, thanks for that info.
# lFWnCFLuUSdQWJ
2019/05/29 17:39 by
There may be noticeably a bundle to find out about this. I assume you made sure good points in options also.
# jJmeToWiczHOeIwc
2019/05/29 22:26 by
Perch, my favourite species Hook Line Bid Blog
# JqBPEmHPiLuJAQrMFp
2019/05/30 5:36 by
other. If you happen to be interested feel free to send me an e-mail.
# kRCCHAgFgRsf
2019/05/31 15:54 by
Merely a smiling visitant here to share the love (:, btw great pattern.
# PoYnkspXpkVOHZyxDrt
2019/05/31 22:32 by
This blog is obviously cool additionally informative. I have chosen a bunch of useful stuff out of this blog. I ad love to return every once in a while. Thanks a lot!
# riYHgvZKqjuyIMqgb
2019/06/03 20:34 by
It will likely be company as ordinary in the growth, building and retirement functions.
# KnBGqwJlHLHSKNc
2019/06/03 23:05 by
Really great info can be found on website.
# gCsYIDSjQhcpsE
2019/06/04 1:57 by
It as nearly impossible to find experienced people about this subject, however, you sound like you know what you are talking about! Thanks
# odKbZZEYSLjjBmx
2019/06/04 2:20 by
Wow, incredible blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your website is wonderful, as well as the content!
# HXnLIrxdUjbbtsQkzAW
2019/06/05 16:11 by
Simply a smiling visitor here to share the love (:, btw great pattern. а?а?He profits most who serves best.а?а? by Arthur F. Sheldon.
# gKpqjDKriifZ
2019/06/05 18:22 by
Well I sincerely enjoyed reading it. This post offered by you is very practical for proper planning.
# BKwAsrVmebsdX
2019/06/05 22:35 by
Major thankies for the post.Really looking forward to read more.
# TRAetuXmRakNCa
2019/06/06 0:43 by
tiffany rings Secure Document Storage Advantages | West Coast Archives
# EaugaFUIqEzoNVIEx
2019/06/07 17:32 by
like you wrote the book in it or something. I think that you could do with some pics to drive the message home
# NnVwtfCDGUj
2019/06/07 17:55 by
Thanks-a-mundo for the blog post. Great.
# yajsdgQloGokE
2019/06/07 20:19 by
Thanks, I have been hunting for details about this subject for ages and yours is the best I ave found so far.
# FpWvQOBcJNcdTE
2019/06/07 23:06 by
Major thanks for the blog.Much thanks again. Great.
# ETasAMKPsxUNxjcINb
2019/06/08 3:20 by
I was suggested this blog by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my difficulty. You are wonderful! Thanks!
# KoSJCemvJJdVAlyhJtX
2019/06/08 5:24 by
It as not that I want to replicate your website, but I really like the pattern. Could you tell me which theme are you using? Or was it especially designed?
# YIjbZNixGRG
2019/06/08 7:28 by
You made some respectable factors there. I seemed on the web for the difficulty and located most people will go together with together with your website.
# zYiayndfTAIWtckPZp
2019/06/10 15:57 by
Thanks for sharing, this is a fantastic blog article.Really looking forward to read more.
# BOMYvknjPY
2019/06/11 2:33 by
This blog was how do you say it? Relevant!! Finally I have found something which helped me. Appreciate it!
# AWxMBnnSouhVBvSVGuT
2019/06/12 5:39 by
Muchos Gracias for your article post.Really looking forward to read more. Keep writing.
# WGhdWAJZbxFezlqQAc
2019/06/12 22:45 by
kindle fire explained by Amazon CEO Jeff Bezos Got An kindle fire specs Idea ? In This Case Study This.
# nMCTGqRAQX
2019/06/15 1:00 by
Purple your website submit and loved it. Have you at any time considered about visitor publishing on other relevant blogs comparable to your weblog?
# FnKZwjAnruqOS
2019/06/17 18:42 by
just curious if you get a lot of spam feedback?
# wANtLjKzfHFLbMz
2019/06/17 23:14 by
I went over this site and I conceive you have a lot of great information, saved to my bookmarks (:.
# vqfDPMiwOfxcnRaY
2019/06/18 0:30 by
the near future. Anyway, should you have any suggestions or techniques for new blog owners please
# XwtLuyahOuTUqJIX
2019/06/18 3:01 by
location where the hold placed for up to ten working days
# gbHDalxvsmqyQeSlfB
2019/06/18 7:14 by
the internet. You actually know how to bring a problem to light
# VCZfUunQZz
2019/06/18 20:44 by
Wow, wonderful blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your website is magnificent, let alone the content!
# EENjYldcaAKRXXP
2019/06/20 19:25 by
Im obliged for the blog article.Really looking forward to read more. Much obliged.
# imYjEQnwoIvOnVO
2019/06/21 21:21 by
There is definately a great deal to know about this subject. I love all the points you ave made.
# oXQDnIAbylHWAFutJB
2019/06/22 2:56 by
This is one awesome article post.Really looking forward to read more.
# qjvXEdQUvaUXaPIV
2019/06/24 16:18 by
Many thanks for Many thanks for making the effort to line all this out for people like us. This kind of article was quite helpful to me.
# pjPOCAKtPtOx
2019/06/26 1:01 by
Muchos Gracias for your article post.Thanks Again. Keep writing.
# yNYTYEEmcOW
2019/06/26 3:33 by
You made some good points there. I checked on the web to find out more about the issue and found most individuals will go along with your views on this site.
# OBcKCfkdLaSGo
2019/06/26 11:31 by
their payment approaches. With the introduction of this kind of
# EmLbgedaGDke
2019/06/26 14:49 by
Thanks so much for the article. Keep writing.
# oUbSDSMDLg
2019/06/26 22:21 by
the time to study or go to the material or internet sites we ave linked to below the
# knKFvatZvT
2019/06/27 18:35 by
Wow, great post.Much thanks again. Fantastic.
# vEHEPMMDBQD
2019/06/28 21:55 by
Your style is very unique in comparison to other people I ave read stuff from. Many thanks for posting when you ave got the opportunity, Guess I all just bookmark this blog.
# EnZuVmGQtdkPqROBQMC
2019/06/29 0:25 by
Thanks a lot for the article.Really looking forward to read more. Really Great.
# vRpKVrtHqZupZCE
2019/06/29 5:41 by
Its hard to find good help I am forever saying that its difficult to get good help, but here is
# XhAIZRPsecZxwP
2019/06/29 8:30 by
Really appreciate you sharing this blog.Really looking forward to read more. Want more.
# hhCBTUUJFKpYsLx
2019/06/29 11:19 by
Some genuinely superb blog posts on this internet site , appreciate it for contribution.
# BUTHSRZcvX
2019/07/01 20:45 by
It as hard to find experienced people for this subject, however, you sound like you know what you are talking about! Thanks
# doyUNXVtJtTCNfWFiJz
2019/07/02 4:17 by
Really informative blog post.Much thanks again. Awesome.
# oTzQQzjHvkGTRyufJZ
2019/07/02 7:16 by
Really informative post.Really looking forward to read more. Really Great.
# haIZeWigjpHZLMUD
2019/07/03 20:16 by
Muchos Gracias for your post.Much thanks again. Want more.
# mymDZcWKKNFsMApW
2019/07/04 15:50 by
Pretty! This has been an extremely wonderful post. Thanks for providing this info.
# fVHEWJkmKreKBVLX
2019/07/07 19:51 by
Wow! This can be one particular of the most helpful blogs We ave ever arrive across on this subject. Basically Wonderful. I am also an expert in this topic therefore I can understand your effort.
# PeAceFToCXFp
2019/07/07 22:45 by
You ave made some really good points there. I checked on the net to learn more about the issue and found most people will go along with your views on this web site.
# rVNUJokjOdMstH
2019/07/08 16:02 by
Useful item would it live Satisfactory if i change interested in Greek in support of my sites subscribers? Thanks
# ARVsOLhOnvfMUVMCO
2019/07/08 18:07 by
Very good blog.Really looking forward to read more. Keep writing.
# UoPYoQpxVSrMH
2019/07/08 19:58 by
I was recommended this website by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my problem. You are incredible! Thanks!
# pAxWXttljrKEYEDofyf
2019/07/09 7:58 by
Thanks, I ave recently been searching for facts about this subject for ages and yours is the best I ave found so far.
# cvGFnkkejtbWyKnhde
2019/07/11 0:30 by
It as hard to seek out knowledgeable folks on this matter, however you sound like you realize what you are speaking about! Thanks
# MlTIOdFpUvVIPT
2019/07/11 7:35 by
Thanks a lot for the blog post.Really looking forward to read more. Much obliged.
# tpKZYqmjfG
2019/07/11 18:40 by
Nonetheless, I am definitely pleased I came across
# nwWfqQhwMe
2019/07/12 0:13 by
In fact, the most effective issue about this film is how excellent it is actually as an epic quest film instead of how hilarious it as.
# QsWkCPglgyC
2019/07/15 5:58 by
Major thankies for the blog article.Thanks Again. Keep writing.
# igjdrvVdSKs
2019/07/15 10:36 by
Really appreciate you sharing this blog. Much obliged.
# yjOjUWYsOnmSm
2019/07/15 13:46 by
Some truly fantastic information, Gladiolus I discovered this.
# WwlCbmAZSNtPs
2019/07/15 21:46 by
Wow that was unusual. I just wrote an really long comment but after I clicked submit my comment
# qNeGvCeeYUhmtMg
2019/07/16 6:12 by
Your style is so unique in comparison to other folks I ave read stuff from. Many thanks for posting when you ave got the opportunity, Guess I all just bookmark this blog.
# AlEOWzEFXfHg
2019/07/16 23:11 by
I think this is a real great blog post. Want more.
# vJmCrSYpYgXMAQeUM
2019/07/17 0:57 by
Simply a smiling visitor here to share the love (:, btw outstanding design. Audacity, more audacity and always audacity. by Georges Jacques Danton.
# xwRPXJHwPFtLSbx
2019/07/17 7:54 by
These players are generally in one of the most storied and exciting programs in college
# BIIBWrQHWmntfbGY
2019/07/18 0:59 by
Muchos Gracias for your post.Much thanks again. Keep writing.
# XZtOHJGomEeneC
2019/07/19 1:08 by
Spenz, by far the fastest inputs for cash. Free but iPhone/web only
# eXkFYdHwVGkRcrvEj
2019/07/19 6:52 by
Your article is a refreshing change from the content I ave been reading on this topic. I agree with a lot of what you are saying here.
# tDsFAHFHmImysDOKjB
2019/07/19 18:33 by
You are my inspiration , I own few web logs and infrequently run out from to brand.
# wouVhBJypbobrdHgG
2019/07/19 21:53 by
This blog is really awesome as well as diverting. I have chosen many useful things out of this amazing blog. I ad love to visit it every once in a while. Thanks a lot!
# DGIFGbhePYNWM
2019/07/20 6:02 by
Peculiar article, totally what I needed.
# pQLdPPkhZluYNQd
2019/07/22 19:01 by
Major thanks for the blog post.Thanks Again. Awesome.
# tJlZlJexHOEgoV
2019/07/23 3:25 by
Well I truly liked reading it. This post procured by you is very practical for accurate planning.
# zAFdqbYHca
2019/07/23 8:21 by
You ave made some good points there. I looked on the net for additional information about the issue and found most individuals will go along with your views on this website.
# aIdwcxacsUtIqLMlgaO
2019/07/24 0:13 by
pretty valuable stuff, overall I imagine this is worthy of a bookmark, thanks
# rdyHrFDEwrZy
2019/07/24 3:34 by
Major thanks for the article.Thanks Again. Keep writing.
# wCRMAlMdkv
2019/07/24 8:34 by
I truly appreciate this blog. Much obliged.
# fDAUzlUuJXtgDOTtps
2019/07/24 10:17 by
This is one awesome blog.Really looking forward to read more.
# EGgNwNPIaDLH
2019/07/24 12:04 by
Just wanna tell that this is extremely helpful, Thanks for taking your time to write this.
# RrHxJaFlTQNMRzTq
2019/07/24 15:37 by
Wow, wonderful blog structure! How long have you been running a blog for? you make running a blog look easy. The entire glance of your website is magnificent, let alone the content!
# MoKwmJxmyeUj
2019/07/24 22:59 by
It as not that I want to duplicate your web-site, but I really like the design and style. Could you let me know which style are you using? Or was it custom made?
# IVqIXYXsYlpBaMTcM
2019/07/25 1:52 by
It as hard to find expert persons by this matter, then again you sound like you already make out what you are talking about! Thanks
# lxGUmVGqohoFmJaCpz
2019/07/25 7:18 by
I reckon something really special in this website.
# ARcgNkNoMUxxayHRS
2019/07/25 9:02 by
Link exchange is nothing else but it is just placing the other person as blog link on your page at appropriate place and other person will also do similar for you.
# EkffsIjcBJPbqph
2019/07/25 12:34 by
web site, since I experienced to reload the
# UHKyyFkbRqdnkY
2019/07/25 14:24 by
Wohh exactly what I was looking for, regards for putting up.
# RTsSItuMqmnQTQbyng
2019/07/25 20:04 by
This excellent website really has all of the info I needed about this subject and didn at know who to ask.
# PIRwqWHGRhrTbKj
2019/07/25 22:47 by
In my opinion you commit an error. I suggest it to discuss. Write to me in PM, we will talk.
# pNnzKZXrLuxDdbodfQd
2019/07/26 0:40 by
Looking forward to reading more. Great blog article.Much thanks again. Fantastic.
# JUvQRRifBGvCSZ
2019/07/26 2:33 by
This very blog is without a doubt entertaining and amusing. I have chosen many useful things out of this amazing blog. I ad love to go back again soon. Thanks!
# RmIvdgqrFX
2019/07/26 4:27 by
I think this is a real great blog.Really looking forward to read more. Much obliged.
# utOvgdIbNejvLTA
2019/07/26 8:29 by
The app is called Budget Planner Sync, a finance calendar.
# JbqiSwRqqcWFYgPO
2019/07/26 15:27 by
Really appreciate you sharing this blog article.Thanks Again. Much obliged.
# yhkaVfBnKVTTFbkWGsE
2019/07/26 17:33 by
pretty handy material, overall I feel this is really worth a bookmark, thanks
# oekerBUtEjyEhVsO
2019/07/26 22:19 by
Looking around While I was surfing yesterday I noticed a great article concerning
# YmQSsSfeuHdwgzh
2019/07/27 0:02 by
Yay google is my world beater aided me to find this outstanding site!.
# TWKLWnfHPjGpTHp
2019/07/27 0:34 by
I truly appreciate this blog post.Much thanks again. Fantastic.
# pYpQQDFyEOrHzATbEo
2019/07/27 1:59 by
This particular blog is without a doubt awesome as well as amusing. I have discovered a bunch of useful advices out of this source. I ad love to visit it every once in a while. Cheers!
# XXRvSdZpbvLtDE
2019/07/27 7:12 by
Really superb information can be found on blog.
# wkPerOqmvUg
2019/07/27 9:28 by
Spot on with this write-up, I absolutely feel this site needs a lot more attention. I all probably be returning to read through more, thanks for the info!
# HixsbNNysaTB
2019/07/27 12:04 by
Well I definitely liked reading it. This article offered by you is very effective for accurate planning.
# wGwiiHldnjRTvyD
2019/07/27 13:10 by
Really appreciate you sharing this article.Really looking forward to read more. Much obliged.
# uvFAJrnCrmXZjQCA
2019/07/27 18:33 by
It as difficult to find well-informed people in this particular subject, however, you seem like you know what you are talking about! Thanks
# FLubaqkXFrvIkuka
2019/07/27 19:00 by
This awesome blog is without a doubt awesome and besides amusing. I have picked up a bunch of helpful advices out of this amazing blog. I ad love to return again soon. Thanks a bunch!
# CNIAZWkzItgFIxoe
2019/07/27 21:29 by
pretty handy material, overall I feel this is worth a bookmark, thanks
# zStgvJTJVIiZHJAx
2019/07/28 2:14 by
Whoa! This blog looks exactly like my old one! It as on a completely different subject but it has pretty much the same layout and design. Wonderful choice of colors!
# eikyndhuiOE
2019/07/28 3:43 by
This is one awesome article post.Thanks Again. Keep writing.
# VACruHWcHdCAdzeh
2019/07/28 4:28 by
Just Browsing While I was surfing yesterday I noticed a great article about
# ZRvHzVXFIs
2019/07/28 4:56 by
Some times its a pain in the ass to read what blog owners wrote but this site is really user genial !.
# qPPpRWasNE
2019/07/28 5:14 by
Well I definitely enjoyed reading it. This subject provided by you is very practical for correct planning.
# FLlIZdkdXbQZVZB
2019/07/28 9:27 by
If the tenant is unable to supply a reference whatsoever, a purple flag really should go up.
# vEzNgQAvTd
2019/07/28 10:25 by
I was suggested this blog by my cousin. I am not sure whether this post is
# PvltHXHDhFteVm
2019/07/28 10:37 by
pretty practical stuff, overall I feel this is worthy of a bookmark, thanks
# lKSKEooiisrxnoz
2019/07/28 10:59 by
I think other web site proprietors should take this website as an model, very clean and fantastic user friendly style and design, as well as the content. You are an expert in this topic!
# sePVMPWfKLLlPVLwgEc
2019/07/28 20:59 by
this is now one awesome article. Really pumped up about read more. undoubtedly read onaаАа?б?ТТ?а?а?аАТ?а?а?
# nJhrfhsOMldICM
2019/07/29 1:53 by
Im obliged for the post.Much thanks again. Really Great.
# MGSAJTVoDwdXHQCZ
2019/07/29 8:02 by
It as best to participate in a contest for probably the greatest blogs on the web. I will recommend this site!
# rcSGlMlKZwmvqIvMLJ
2019/07/29 11:01 by
I truly appreciate this article.Really looking forward to read more. Fantastic.
# OWcVZZXZYcQaQJQWW
2019/07/29 13:13 by
It as not that I want to copy your web-site, but I really like the layout. Could you tell me which style are you using? Or was it custom made?
# lwhRaLWQtwxFkFCZYf
2019/07/29 15:50 by
pretty handy material, overall I feel this is worth a bookmark, thanks
# DPDsVEfCwelDSVw
2019/07/29 18:33 by
Wonderful post! We will be linking to this particularly great post on our site. Keep up the great writing.
# izzDhkOXdtrpM
2019/07/29 19:27 by
Wow, superb blog structure! How lengthy have you been blogging for? you make running a blog glance easy. The full glance of your web site is great, let alone the content!
# IFFCODxdaVxQDWrscXm
2019/07/30 1:40 by
you have an amazing blog here! would you prefer to make some invite posts on my weblog?
# OmCBawepqNtciV
2019/07/30 2:21 by
This website was how do I say it? Relevant!! Finally I ave found something which helped me. Thanks a lot!
# JzecWDxUWIoIgwleG
2019/07/30 3:04 by
You have made some decent points there. I checked on the internet for more information about the issue and found most people will go along with your views on this site.|
# gZPfMvcKkiRghYp
2019/07/30 3:36 by
Looking forward to reading more. Great blog post.Thanks Again. Great.
# ZSjwjnwcEayDH
2019/07/30 4:55 by
It as hard to find experienced people for this subject, however, you sound like you know what you are talking about! Thanks
# CklcGnpwllNesvZixLj
2019/07/30 10:18 by
Lovely just what I was looking for.Thanks to the author for taking his time on this one.
# HKYFWWRJEPrGw
2019/07/30 10:52 by
Its such as you learn my mind! You seem to grasp so much
# iTfhMsaOrFrkZ
2019/07/30 15:20 by
Thanks-a-mundo for the article. Fantastic.
# zuhSTTrvqzUQ
2019/07/30 21:54 by
I truly appreciate this blog article.Much thanks again.
# alVgcXZENVUpHBLnTit
2019/07/31 3:07 by
the time to study or pay a visit to the material or websites we ave linked to below the
# oBbbtCTFvbjcV
2019/07/31 5:53 by
This page definitely has all the info I needed about this subject and didn at know who to ask.
# EMHwTsmvGj
2019/07/31 11:13 by
Try to remember the fact that you want to own an virtually all comprehensive older getaway.
# ChfKIDSjtJfh
2019/07/31 18:55 by
Superb Article My brother suggested I might like this web site. He was totally right. This post truly made my day. You can not imagine simply how much time I had spent for this info! Thanks!
# uiGtVtYohceyTJUIB
2019/08/01 0:00 by
You should take part in a contest for one of the best blogs on the web. I will recommend this web site!
# mfHBxBoyGkyVuOwY
2019/08/01 1:09 by
I will immediately grab your rss feed as I can at find your e-mail subscription link or newsletter service. Do you ave any? Please let me know in order that I could subscribe. Thanks.
# dKXfsSZFUPuuY
2019/08/01 2:50 by
wow, awesome blog.Much thanks again. Will read on...
# DzHPTeKcSPWH
2019/08/01 3:48 by
Major thankies for the post. Keep writing.
# HhWSeVuGZdXimZpLTH
2019/08/01 20:43 by
It as nearly impossible to attain educated inhabitants in this exact focus, but you sound in the vein of you identify what you are talking about! Thanks
# xFEuPRkqmhgpnfBs
2019/08/01 21:20 by
Major thankies for the blog.Thanks Again. Want more.
# KLELSkvfXdSQ
2019/08/01 21:28 by
What is the procedure to copyright a blog content (text and images)?. I wish to copyright the content on my blog (content and images)?? can anyone please guide as to how can i go abt it?.
# FTlyAhdtDSbMNVW
2019/08/05 21:51 by
It as very straightforward to find out any matter on net as compared to textbooks, as I found this article at this site.
# jXkfBlzwEIwlMiJOZD
2019/08/06 22:45 by
Post writing is also a excitement, if you know then you can write if not it is difficult to write.
# eaJGemobZh
2019/08/07 1:15 by
msn. That is an extremely neatly written article. I will make sure to bookmark it and return to learn more of your useful info.
# GgjNlGVuFEAAOOkj
2019/08/07 5:10 by
You can definitely see your enthusiasm in the paintings you write. The sector hopes for more passionate writers like you who aren at afraid to mention how they believe. At all times follow your heart.
# rOxXxewVLjhNUEgmFDa
2019/08/07 10:09 by
I value the blog post.Really looking forward to read more.
# UzcRPUflBZRYRTXD
2019/08/07 12:09 by
Personalized promotional product When giving business gifts give gifts that reflect you in addition to your company as image
# HXwvyszAhIJeDJ
2019/08/07 16:15 by
I was recommended this web site by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my difficulty. You are wonderful! Thanks!
# WBHgDPHvKRUwZcxDtIF
2019/08/07 18:18 by
Im thankful for the blog article.Really looking forward to read more.
# VypwBHeyed
2019/08/07 23:54 by
your weblog posts. Any way I will be subscribing for your feeds
# izHOqLvyFufj
2019/08/08 4:47 by
Thanks so much for the article post.Thanks Again.
# DRNJkdgkbhBMRexOKa
2019/08/08 10:51 by
It as not that I want to copy your website, but I really like the style and design. Could you let me know which style are you using? Or was it especially designed?
# NRwCYvfpJerMlsVYNV
2019/08/08 14:56 by
Rtl horoscope haas horoscope poisson du jour femme
# JDxKCDxuLpdtpBhvS
2019/08/09 1:00 by
Simply a smiling visitor here to share the love (:, btw great design and style. Treat the other man as faith gently it is all he has to believe with. by Athenus.
# fFLpXOaItgp
2019/08/09 3:02 by
Looking forward to reading more. Great blog post. Keep writing.
# TWFjLXlnwCQ
2019/08/10 1:40 by
This blog is obviously cool as well as diverting. I have discovered helluva useful things out of this source. I ad love to visit it again soon. Cheers!
# bVWcfftXYdNEnZbwqh
2019/08/13 2:14 by
I think this is a real great post. Fantastic.
# SSNnyGhIJHlkuDaig
2019/08/13 4:24 by
Wanted posting. Loads of excellent writing here. I wish I saw it found the site sooner. Congrats!
# orycafKlmcqj
2019/08/13 10:22 by
I think other web site proprietors should take this website as an model, very clean and great user genial style and design, as well as the content. You are an expert in this topic!
# OLqLkUFqux
2019/08/13 19:14 by
that you simply made a few days ago? Any certain?
# UXJwaDQMAKPpuQ
2019/08/13 21:21 by
This excellent website certainly has all of the information I needed concerning this subject and didn at know who to ask.
# ljGaxpthZlQa
2019/08/20 2:55 by
Website worth visiting below you all find the link to some sites that we think you should visit
# vTRdshuWyggGVjCLv
2019/08/20 9:02 by
Wow, great post.Really looking forward to read more. Great.
# fLBWbscdvfiLUHyDY
2019/08/20 11:06 by
Major thankies for the article post.Much thanks again. Want more.
# ulABUdbmOKQBYwjVEDt
2019/08/20 15:16 by
This unique blog is no doubt educating as well as diverting. I have chosen a lot of helpful stuff out of it. I ad love to go back every once in a while. Thanks a bunch!
# oBnyyUpOZBOHOb
2019/08/20 17:24 by
Tetraed LIMS logiciel de gestion de laboratoire Sern amet port gaslelus
# YcWptEAXUeO
2019/08/24 19:38 by
I similar to Your Write-up about Khmer Karaoke Celebrities
# nCYCsFxlLXJvPSj
2019/08/26 18:07 by
The Birch of the Shadow I believe there may possibly become a several duplicates, but an exceedingly helpful checklist! I have tweeted this. Lots of thanks for sharing!
# gvLiGFmmrKarC
2019/08/28 6:01 by
Really clear web site, regards for this post.
# qBlOyUtPjud
2019/08/28 8:12 by
I value the article post.Much thanks again. Great.
# UOdSvhbKwGHFRXgvBc
2019/08/28 10:21 by
It as difficult to find experienced people about this topic, but you sound like you know what you are talking about! Thanks
# mDmWsbgOoxsnSD
2019/08/29 4:03 by
Wonderful article! We will be linking to this great post on our site. Keep up the good writing.
# LbOxnUBReE
2019/09/03 1:34 by
There is noticeably a bundle to identify about this. I consider you made certain good points in features also.
# ePipZhLfhuH
2019/09/03 3:51 by
wonderful issues altogether, you simply gained a logo new reader. What might you suggest in regards to your post that you just made some days in the past? Any certain?
# ObAhEFrRNJCDP
2019/09/03 8:27 by
Im no professional, but I think you just made the best point. You obviously comprehend what youre talking about, and I can definitely get behind that. Thanks for staying so upfront and so truthful.
# HLTXNlEcvRW
2019/09/03 15:32 by
This is a beautiful picture with very good light
# YIAHDwoGyIkEaoqF
2019/09/04 1:44 by
This Is The Technique That as Actually Enabling bag-professionals To Advance
# QftPbBwcDdXckgclxlo
2019/09/04 4:36 by
This is a good tip particularly to those new to the blogosphere. Short but very accurate info Many thanks for sharing this one. A must read post!
# CgjNDSiNPQyzHFqED
2019/09/04 15:09 by
This Is The Technique That as Actually Enabling bag-professionals To Advance
# UYVZxqwAdyF
2019/09/04 17:35 by
Major thankies for the article. Keep writing.
# gkCsggVoGV
2019/09/05 10:56 by
Music began playing any time I opened this web site, so frustrating!
# OOyeFTWcowYnH
2019/09/10 4:01 by
Really informative blog article.Thanks Again. Great.
# EAtuMmDXQHzc
2019/09/11 3:39 by
It's a shame you don't have a donate button! I'd certainly donate to this fantastic blog!
# VYTLNGvmMIPxgAeM
2019/09/11 11:35 by
ipad case view of Three Gorges | Wonder Travel Blog
# EHbjHdFQHJXb
2019/09/11 16:33 by
Music began playing any time I opened this web site, so frustrating!
# YNizeXNbDC
2019/09/11 20:00 by
Really appreciate you sharing this blog.Thanks Again. Great.
# ATaQKOcMApVywLYKVza
2019/09/11 22:58 by
I was recommended this website by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my difficulty. You are wonderful! Thanks!
# kcaVWbLKTaPp
2019/09/11 23:34 by
Thanks for sharing, this is a fantastic post.Really looking forward to read more. Want more.
# ctgLeQensndCsYJhD
2019/09/12 7:05 by
Vale Flash O PORTAL MUTIMDIA DO VALE DO PARABA
# SBIGkGoviFwze
2019/09/12 9:40 by
the most beneficial in its field. Awesome blog!
# PVKpOvQSNXTRHREsc
2019/09/12 10:16 by
There as certainly a great deal to find out about this topic. I love all the points you ave made.
# VbrVQyjTrWRwnhy
2019/09/12 13:30 by
You made some good points there. I checked on the web for more info about the issue and found most people will go along with your views on this site.
# dczRZmQhgrQIvlqHLAb
2019/09/12 16:42 by
I was suggested this blog by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my trouble. You are incredible! Thanks!
# WdnxaUZiPZ
2019/09/12 21:47 by
Im grateful for the blog article.Really looking forward to read more.
# VyRvsqksHBOiMG
2019/09/13 0:14 by
you possess a fantastic weblog here! would you prefer to make some invite posts in my weblog?
# eLRqHhHZMpgEjuJyBOm
2019/09/13 1:13 by
It as hard to come by well-informed people for this topic, however, you sound like you know what you are talking about! Thanks
# SGsYnnckZaTud
2019/09/13 10:46 by
I will bookmark your weblog and take a look at again right here regularly.
# OonUAOAYLDf
2019/09/13 17:23 by
tarde sera je serais incapable avons enfin du les os du.
# gxyVmFUUEIAuQ
2019/09/13 19:01 by
Major thankies for the blog post.Really looking forward to read more. Fantastic.
# RIFdRIbJmZ
2019/09/13 19:24 by
same topics discussed here? I ad really like to be a part of
# wTPefGTPljw
2019/09/13 22:10 by
This website was how do I say it? Relevant!! Finally I have found something which helped me. Thanks!
# mIhVnWQwjbHIZRNC
2019/09/14 8:35 by
This particular blog is really entertaining and besides informative. I have picked up helluva helpful things out of it. I ad love to return over and over again. Thanks a lot!
# uJfxyirMTNDANwUW
2019/09/14 8:59 by
Thanks-a-mundo for the blog post.Much thanks again. Want more.
# VkejuskuZoOeJPxW
2019/09/14 14:05 by
regular basis. It includes good material.
# aZjsdsEUvBTh
2019/09/14 16:33 by
You made some decent points there. I looked on the internet for the topic and found most people will agree with your website.
# dEkJoLoprS
2019/09/15 17:04 by
Some really good blog posts on this website , regards for contribution.
# Best offer 2021
2021/07/22 20:56 by
You will be pleasantly surprised to learn about our generous offer.
The link to our offer is valid for only one day
https://tinysrc.me/go/hg0PJIWng
# Fanyastic offer 2021
2021/07/25 7:57 by
You will be pleasantly surprised to learn about our generous offer.
The link to our offer is valid for only one day
https://tinysrc.me/go/hg0PJIWng
# hlddrkvbzdbp
2021/11/30 4:59 by
# gmehwodcvplh
2022/05/14 16:39 by
# Test, just a test
2022/12/17 7:16 by