ひまつぶし雑記帖

ブラウザでバーコードをスキャンしてISBNを取得する

2022/11/24 [14:17:52] (木) 天気

2006年公開のWEB本棚「趣味は読書2」のスマホ版にバーコードをスキャンして本を登録できるようにしたのでメモ。

このWEB本棚は、なんだかんだ15年以上続けていて、最初は自宅で組んだパソコンをサーバーにして公開してたんだけど、東日本大震災があって、計画停電とかいつ停電してもおかしくない状況というのがあって、レンタルサーバーに引っ越し、現在にいたる。

WEB本棚「趣味は読書2」 https://doncha.net/

もともと自分で使うことを考えてたので、既読・未読がわかって、簡単なメモやカテゴリをつけられればいいので、機能的には十分足りてる。

ただ、1冊ずつISBNを手入力するのがちょっと面倒くさい。ガサツなわたしはISBNをタイプミスしてエラーになることも少なくないし。
なもんで、後づけで、アマゾンの検索結果を一覧にしてチェックしたものを本棚に登録できるようにして使ってたら、2019年のAPIの利用規定改定でアフィリエイトで売上のないアカウントはAPIを利用できないということになった。当然アフィリエイトの売上などないわたしは、APIを利用した検索結果からの一括登録ができなくなってしまった。
これを作った当初の状態に戻っただけなので、まあしょうがないな、ぐらいな感じ。本を買っては/読んでは、ちまちま本棚に登録していた。

てな昨今だったわけだけど。
イーロン・マスクがTwitterを買って、何かと騒がしいので、以前アカウントを作っていたマストドンに久しぶりにログイン。
ここは本好き、本読みのひとが集まるサーバー(インスタンス)で、流れてくる話も小説がらみが多くて静かに面白い。本の整理、積読なんかの話も流れてくる。

本好きの集まるマストドンはこちら
Bookwor.ms

それに刺激されて、ふたたびだかみたびよたびだか、WEB本棚の見直しをしてみた。
機能的には満足しちゃっていて、データベースの構造もシンプルで必要十分、昔の自分をちょっと褒めてもいいかもだった。
UIを含めたデザインが古臭くて気に入らない。でも、変更するとなると、かなり面倒くてさすがに手をつける気合気力体力がない…IE対応なんかのスタイルシートも混じってて、そのうち考えないとなあ。
スマホ版も見直しかな、とスマホでログインして触ってみて、そういやISBNの入力をバーコードスキャンでやりたいと思ってたんだと。

さっそく検索してみた。
…て、ここまで、自分でもびっくりするぐらい無駄なまえがき、無用なゴタクが長くてすまん。もう爺、老人なもので許してください。

ブラウザからスマホのカメラを使うためのjavascriptライブラリも公開されていた。
Quagga.jsというライブラリで、公式ページはこちら→ QuaggaJS

javascriptも詳しくないし、読み取り精度をあげるためには、HTML5あたりのcanvasも使う必要があるらしい。
あちこち実装されてるかたのサイトを拝見しては、ちょっとずつ試して試して、最終的にこちらのサイトに助けられて、どうにかISBNのバーコードスキャンに成功。

QuaggaJSを使ってブラウザでバーコードスキャン:なんぶ電子
ほんと、こちらのページには感謝しかない。

テストページでいろんなコードを試してまる一日。javascriptだけじゃだめで、canvasも使う必要があるのが大騒ぎで、javascriptが意図通りじゃないのか、それともHTML的な問題なのか切り分けるのに時間がかかった…って、どっちも自分のスキル不足が原因なんだけど。

WEB本棚「趣味は読書2」スマホ版  https://doncha.net/sp/
image
image

WEB本棚「趣味は読書2」ついて  https://doncha.net/about.pl
WEB本棚「趣味は読書2」で出来ること  https://doncha.net/about.pl?c=help

たぶん、小学校の頃、自動車文庫(移動図書館)がなければ、いまの自分はなかった。
ほんと、小説は面白いぞー!

»電子書籍制作代行についてはこちら

AI画像ギャラリー

2022/10/11 [11:54:23] (火) 天気

AIが生成する画像であちこち炎上してる。

・勝手にひとの絵をパクるな
・絵も描けないくせにAI絵師はないだろ
たぶん、この2つに集約される。

「膨大なinputの集積があって、その坩堝からoutputを創る、創造する」
ということでは人間もAIもやってることは同じ。
神さまじゃないんだから、無から何かを創るなんてことはできない。元になるinputがあって始めてoutputだ。

他人である、作家、画家、漫画家の創作から影響を受けないひとはいない。
AIはネット上の画像をサンプルにして学習してるけど、コラージュ、元の画像を切り貼りして出してるわけじゃない。ここは人間も同じなので、AIだからといって、勝手にひとの絵をパクるな、は当たらない。
例外なく、誰しもみな、模倣から始まる。

outputの手段、方法がAIに描かせるのと人間が手作業で描くのとでは、別の話になる。
AIで描いた絵とかいっても、人間はこんな絵が欲しいという指示を出すだけ。自分で手を動かすわけじゃない。プロデューサーとか編集者を自認するならともかく、絵師とかイラストレーターを自認するのはさすがにない。
ここは勘違いしちゃいけないところ。ていうか、そもそも役割が違うだろ。

もちろん、日進月歩どころか秒進分歩の速度・加速度で変化をしていくAIだから明日にはどうなってるかわからないけど、ひととの関わり、役割についてはこんな状態が続くんじゃないかな。


ゴタクはともかく。面白いんだよなあ、AIが出してくる絵。
どこかで見たような、最大公約数的な絵だ、ともいわれていて、そこはなるほどなあ、と。
それは悪いことではなくて、むしろそこが面白いところで、わたしのような凡庸な人間には、どこかで見たような「馴染んだ感じ」が刺さるのかもしれない。
一枚絵を起点に、ストーリー、物語が膨らむ感じがする。とっかかりやすいんだろうな。

てことで、AI画像ギャラリーのページを作ってみた。
AI絵にキャプションやカテゴリをつけることができるだけなんだけど、写経してる感じとでもいうか現実逃避というか、意外にハマる。
スマホからでも更新できるし、電車の中で眺めて遠い目をするのも、老人ならではの、更年期障害鬱傾向でストレスフルな時にはありがたいものとなった(自画自賛)
意味不明な断片の投げつけは気持ち悪いと思われるんだろうなあ。でも、こんなのも含めて「絵」って、精神安定剤になるんだなあ。
セルフ・ヒーリングページだ。

image
「AIイメージギャラリー」
久しぶりにがっつりスクリプトを書いた。
手を動かしたのが丸一日。データベースの構成とかWEBのUIの設計、セキュリティ対策なんかをもぞもぞ考えてた時間も入れると3日ぐらいか。
金にもならないことに3日もかけてどうすんだ、とか言われるだろうけど、面白いが最優先。

StableDiffusionで絵を作って、追加していこう。

»電子書籍制作代行についてはこちら

GBLシーズン12でACE到達

2022/9/23 [11:08:43] (金) 天気

ポケモンGOの対人戦GOバトルリーグ。9月2日からスタートしたシーズン12でACEに到達。レートは2036だった。

最初のスーパーリーグ開催期間の9月12日に初期レート1950が出てからが悶絶だった。
初期レートが出た日に続けてやったら負け越し、その後ハイパーリーグ開催でも負け越しの連続で1800帯に落ちて抜け出せず。ACEに必要なレート2000が遠ざかるばかりだった。

ラグラージやフシギバナといった対人戦でよく使われるポケモンに混じって、ディアルガやカイオーガなどハイパーリーグの対人戦ではあまり見ない伝説のポケモンが出てきたり、その対応もわからないまま、結局ラグやバナに崩壊させられたり。

わたしはわたしで、負け越しが続くと慌ててパーティを変える。
有名なテンプレパーティをだったり、Youtubeで配信されてるパーティを使ってみたり、右往左往朦朧状態。当然、そのパーティの立ち回り方なんかを理解してるわけじゃないんで、やっぱり勝てずじまい。負け越しを重ねて抜け出せない。

結局最後はハイパーリーグで有名なテンプレの毒悪悪のバリエーションで勝ち上がってどうにかレート2000、ACE到達となった。
image
とはいえ、タイミング的なものもあって、負け越しの連続だった時期は、たぶん上手いひとたちが同じレートあたりにいて勝てず、上手い人たちが勝ち抜けした今だから、という漁夫の利かな。

にしても、毎回思うんだけど、上手いひとが増えてるなあ。
たぶんGBL、GOバトルリーグに参加してるひとはポケモンGOのごく一部だと思っていて、その人たちの練度習熟度が上がってGBLのレベルが底上げされてるんだろな。

還暦老人にはなかなか厳しい環境になってきた。【ポケモンGo】
お気に入りのポケモン (2016/8/10)
ポケモンGoでウォーキング再開 (2016/9/19)
ポケモンGo:カビゴンが放流されている (2016/9/26)
ポケモンGo:種族のHP順 (2016/9/29)
ポケモンGo:カビゴンの英才教育 (2016/10/24)
ポケモンGo:ハロウィンイベント飴ちゃん祭りの成果 (2016/11/1)
ポケモンGo:ジムバトルに参戦 (2016/11/29)
ポケモンGo:Pokemon GO Plus (2016/12/6)
ポケモンGo:ヤドランでカイリュー退治 (2016/12/29)
ポケモンGo:レギュラーとジムトレーナー (2017/1/20)
ポケモンGo:TL33になりました (2017/2/15)
ポケモンGo:イースターイベントで図鑑埋め (2017/4/18)
ポケモンGo:ハピナス対策【ジム戦】 (2017/5/29)
ポケモンGo:大型アップデート直前 (2017/6/23)
ポケモンGo:新ジム戦がめっちゃ面白くなってた (2017/6/23)
ポケモンGO:レイドバトルで技マシンget (2017/6/28)
ポケモンGo:コイキングレイドバトル (2017/6/29)
ポケモンGo:TL36になりました (2017/7/27)
ポケモンGo:ソロレイドの準備 (2017/7/31)
ポケモンGo:レベル3ソロレイド:ゲンガー (2017/8/9)
ポケモンGo:3鳥捕獲完了 (2017/8/10)
ポケモンGo:技マシン使用履歴 (2017/8/16)
ポケモンGo:宵越しの砂は持たない (2017/8/24)
ポケモンGo:レベル3ソロレイド:カイリキー (2017/8/30)
ポケモンGo:金コイキング捕獲 (2017/9/6)
ポケモンGo:秋分の砂2倍イベント (2017/9/28)
ポケモンGo:今月のレイドバトルはライコウ (2017/10/11)
ポケモンGo:フーディンレイドに惨敗中 (2017/10/17)
ポケモンGo:エンテイ初日GET (2017/11/2)
ポケモンGo:レベル3ソロレイド:ストライク (2017/11/9)
ポケモンGo:ポケモンのMAX強化 (2017/12/6)
ポケモンGo:レベル3ソロレイド:フーディン (2017/12/14)
ポケモンGo:バトルパーティ編成 (2017/12/21)
ポケモンGo:レベル3ソロレイド:ポリゴン (2017/12/22)
ポケモンGo:EXレイド・ミュウツー捕獲 (2018/1/24)
ポケモンGo:EXレイドパスが来た! (2018/2/10)
ポケモンGo:レックウザ終了・伝説系捕獲率 (2018/3/15)
ポケモンGO:噂のミュウをゲット (2018/4/4)
ポケモンGO:カンストポケモン (2018/5/9)
ポケモンGO:力まかせのジムバトル (2018/6/13)
ポケモンGO:ルギア最強説 (2018/6/19)
ポケモンGO:水イベント終了 (2018/6/21)
ポケモンGo:レベル40になった (2018/8/14)
ポケモンGO:カンストポケモンその2 (2018/9/20)
ポケモンGO:ミュウツー事情 (2018/10/18)
ポケモンGO:ミュウツー技開放 (2019/1/2)
ポケモンGO:ブイズでジムバトル (2019/6/4)
ポケモンGO:GOバトルリーグ (2020/2/5)
GOバトルリーグ:44勝61敗 (2020/2/7)
GOバトルリーグ:初の5連勝! (2020/2/12)
GOバトルリーグ:5連敗5連敗 (2020/2/17)
ポケモンGO:GBLで負け続ける (2020/8/23)
GOバトルリーグ:シーズン8でもACE到達 (2021/6/15)
GOバトルリーグ シーズン10開始 (2021/11/30)
GBLシーズン10でACE到達 (2021/12/20)
GBLシーズン11のランク20 (2022/3/7)
GBLシーズン11でACE到達 (2022/6/17)
GBLシーズン12でACE到達 (2022/9/23)

»電子書籍制作代行についてはこちら

無題

2022/9/19 [05:04:22] (月) 天気

image
以前、この街に来た時、このあたりは賑やかな商店街だった。

役所の出張所の案内板があったので、IDの更新手続きをしておこうと立ち寄った。

»電子書籍制作代行についてはこちら

colabで使うstablediffusionの小ネタ

2022/8/29 [15:43:21] (月) 天気

google colabでstablediffusionを試していて気になったところの小ネタ。
…というか python は初めて。

・画像サイズがデフォルトだと512x512のスクエア
 大昔ハッセルとかがスクエアフォーマットだった記憶もあり、これはこれで、好きなんだけど、たとえば、stablediffusionで電書の表紙なんかを作りたいとなった場合、スクエアだとよろしくない。縦長の画像が欲しい。

image = pipe(prompt, height=768, width=512)["sample"][0]


当てずっぽうでやってみたら、たまたま意図通りだった。イメージを作る呪文をパイプで渡すところに高さと横幅を指定してやればOK。ただ、512x1024でやってみたら OUT OF MEMORY でエラーになる。大きなサイズを扱いたければ有料のコースがあるよ、とお知らせ。無料で使わせてもらってるからしょうがない。

・画像ファイルを複数作りたい
 一発で期待通りの画像が取り出せることはなく、ひとつのプロンプトで何回も取り出して、その中から選択、となる。一回ずつコマンドを叩くのは効率が悪いので、一回叩いて2つ画像を取り出すようにした。

import time
for i in range(2):
  ut=int(time.time())
  fname = str(ut) + '.png'
  image = pipe(prompt, height=768, width=512)["sample"][0]
  image.save(fname)


書き出すファイルは、ファイル名をタイムスタンプにして上書きしないように、ちょっと工夫。
range(2)、2回と言わずもっと回数を増やしてもいいんだけど、とりあえず様子見で。

縦長画像

beautiful concept art of KAWAII,
a girl walks on the street.she is seventeen,
steampunk city,AKIHABARA,
rim light,wide angle,sharp focus,
pixiv rankin,highly detailed,arknights,4K


KAWAIIやpixiv、arknightというキーワードはキャラがそれっぽくイマドキになる呪文。
image
image
ポートレイトの呪文も試してみた。

beautiful concept art of KAWAII,
portrait of a girl,full body,glossy eyes, blonde,
high contrast,rim light,sharp focus,
pixiv rankin,arknights,highly detailed,4K


image
image
image 
blondeではなくblack hairも試したんだけど、噂通り、金髪の方が安定する。なんでや。

[2022/09/19 23:07:40] 追記。
今日時点、colabで使ってるコードをメモしておこう。

from diffusers import StableDiffusionPipeline
import matplotlib.pyplot as plt
import time
import random
import torch
from google.colab import drive
drive.mount('GoogleDriveのパス')


最初の2行はお約束。
import time
→ファイル名にタイムスタンプを使うのに必要
import random
→ランダムseed生成に必要
import touch
→seedをpipeに渡すために必要
import drive
→生成した画像をgoogle driveに保存するために必要
google driveのパスは「/content/gdrive」とか適当に。

上記、いろいろ必要なものをインポートしたら以下のコードが使える。

pmt_fname = str(int(time.time()))
with open('GoogleDriveのパス' + pmt_fname + '.txt', 'w') as f:
  f.write(prompt)
for i in range(4):
  seed=random.randrange(0,2147483647,1)
  #seed=1349413827
  gen=torch.Generator("cuda").manual_seed(seed)
  #ut=int(time.time())
  #fname = str(ut) + '-' + str(seed) + '.png'
  fname = pmt_fname + '-' + str(seed) + '.png'
  image = pipe(prompt, height=768, width=512, generator=gen,num_inference_steps=200)["sample"][0]
  image.save('GoogleDriveのパス' + fname)


とりあえず、ひとつのプロンプトでタテ768pxヨコ512pxの画像を4枚作る。
ステップ数はデフォルトは50。多くするとそれだけ時間がかかるけど、細部まで作り込まれるということで200にしてみた。

ファイルはgoogle driveに保存される。
タイムスタンプ.txtという名前でプロンプトのテキストファイルを保存
ex.)1663466109.txt
プロンプトのタイムスタンプ+ランダムseed.pngという画像ファイルを生成保存
ex.)
1663466109-1096018807.png
1663466109-1253973203.png

出来上がった絵をみて、惜しいなあ、ここもうちょっと色味が地味なのがよかった、とか思った時に元になったプロンプトが残るので修正変更試行錯誤も簡単になる。そして何より、

StableDiffusionは、同じプロンプト、同じseedを渡すと、同じ画像が生成される。

これがキモというミソだろう。
構図はいいのに、なんでこんな格好してるんだ、とか、ここは空に月が欲しかった、てな時はseedを同じにしてプロンプトを少しいじると同じような構図で違う絵が出てくる。欲しい絵に近づけることが可能になる、かな。

検索するとAIがらみ、技術的な話にたどり着いてしまうんだけど、わたしのような素人はこんぐらいの理解で蛮勇するのでちょうどいい。

以下3枚は同じseedで生成
image

High quality concept art,
landscape of steampunk city with a monk,
riverside street,river babbling,
sunlight pouring down,
forest of skyscrapers,
a monk walks on the path,
rim light,wide angle,
sharp focus,highly detailed,
digital art illustration,
art station trending,playstation5,4


image

High quality concept art,
landscape of cyberpunk city with a monk,
TOKYO AKIHABARA,
riverside street,river babbling,
sunlight pouring down,
forest of skyscrapers,
a monk walks on the path,
rim light,wide angle,
sharp focus,highly detailed,
digital art illustration,
art station trending,playstation5,4


image

High quality concept art,
landscape of deep forest with a monk,
riverside and golden pond,
river babbling,
sunlight pouring down,
sunlight filtering through trees
a monk walks on the path,
rim light,wide angle,
sharp focus,highly detailed,
digital art illustration,
art station trending,playstation5,4



1枚めを最初に生成。
2枚め。スチームパンクじゃなくてサイバーパンクの街に、TOKYO、AKIHABARAも追加。
3枚め。街ではなくて森の中にしようと思ってプロンプト文字列の変更が大きかったようで、Seedの魔力もあまり効かなかった。

もうひとつ。
ネットだと画像の解像度は72dpiでも足りるんだけど、紙印刷だとカラーは最低300dpi、モノクロは600dpi必要となる。google colabで使うStableDiffusionの解像度は72dpi。設定で可能になるかもしれないけど、わからないんで、あれこれ検索。
同じくAIの技術を使って画像をリファクタリングする?アップコンバージョンするReal-ESRGANというのがあった。

これのおかげで512x768 72dpi程度で出力される画像を高精細化して300dpi、紙印刷にも耐える画像として使えるようなった。

変換前image
変換後image
なんか違いのわかりにくいビミョーな例になってるけど、輪郭あたりをみてもらえると一目瞭然。StableDiffusionとReal-ESRGANの組み合わせでまた可能性が広がる。

StableDiffusionでステップ数をあえて低くして作った画像を、Real-ESRGANで高精細化して細部を作り込むというやり方もできる、かも。

Real-ESRGANの公式ページ
https://github.com/xinntao/Real-ESRGAN
これもオススメ、ていうか必需品。

»電子書籍制作代行についてはこちら

StableDiffusionの呪文?

2022/8/28 [13:46:53] (日) 天気

画像生成AIが面白くて、google colabでお試し中。
AIからどんな画像を取り出すのかは、AIに投げる言葉次第。呪文と言われるのもわかる。

↓こちらが丁寧で詳しいのでオススメ
魔術そして理解するお絵描きAI講座
https://note.com/fladdict/n/n0f0be20e3e23
ていうか、これは必読。

具体的な呪文の例はこちら
https://lexica.art/
検索窓にpixivとかplaystation5とか入れるとわかりやすい。


で、以下はド素人が多分に間違った知見を元に書いてるヨタ。

AIに投げる呪文はプロンプトと言われていてその構成は以下が最適

<全体のフォーマット><主題><主題の補足><作者><全体の補足><フレーバー>


「美術館のサイトなんかでどんなキャプションがついてそうか?」を考えて呪文を組み立てると良いらしい、AIに意図が伝わりやすいとのこと。

image
Buddha walk on the surface of the moon
呪文はこれだけ。前記した構成でいうと「仏陀が月の表面を歩く」主題だけ。これはこれでAIまかせで面白い。

ただ、ほかのひとの上げている画像と見比べてみて、画質というか描画が全然ダメだなあ、と。ほかのひとの呪文を覗いてあれこれつけ足してみたら安定した、かな。
image

High quality concept art,
Buddha walking on the surface of the moon,
high contrast,
sharp focus,
art station trending,
highly detailed,
digital painting,
digital art,
4k


「主題」は最初と同じ
Buddha walk on the surface of the moon
で、それ以外にいろいろ見様見真似、それこそ呪文状態で付け足した。

「全体のフォーマット」に High quality concept art を指定。
コンセプトアートはいい感じの絵ということ、でいいかな。ここは他に油絵とか水彩画とかを指定するといいらしい。

「主題の補足」にコントラストが強くてピントぴったりという補足説明。

「作者」は「art stationというゲーム紹介サイトのトレンドにありそうな」ということにした。ほかにpixiv rankinだと「ピクシブでランクインしてそうな」という使い方。ここにゴッホとかレンブラント、京都アニメーションやジブリなんかも。

「フレーバー」として細部まで細かい、デジタルで描かれている、画質4K。
このフレーバーに、カメラのレンズや開放値、シャッタースピードなんかを入れるのも効果的というのが、ネットで学習するAIならでは、というやつだろう。

美術などを学問的系統的に学ぶのではなくて、ECサイトのカメラ販売ページなんかにある作例を脈絡なく取り込んでるのでこちらの側からアクセスも面白いということになった、んだろなあ。
image
たぶん、以下からフレーバーに「playstation5」とか「unreal engine」とかつけた。ゲーム画面を指定したらそれっぽいものが出るようになった。安定した、かな。
image
月の上ばかりじゃなく、サイバーパンクの街にしてみたり
image
image
日本の寺にしてみたり
image
スチームパンクにしてみたり
image
坊主が歩いてばかりなので跪いてお祈りするようにしてみたり
image
image
坊主ばかりじゃなくて女の子にしてみたり
image
スチームパンクな街に秋葉原を指定してみたり
image

こりゃキリがなくて面白すぎる。
意図した絵を作るために呪文の精度を上げれば仕事に使えるし、意図しない絵が出てきたらそれを元にストーリーを作る・大喜利を始めるのも面白いし。

ちなみに、権利的には商利用も自由。本、同人誌の表紙や挿絵が欲しいけど、絵が描けないとか頼めるひとを探すのが難しいというような場合、この画像生成AIの出番。
ただし、実在の人物なんかを呪文のタネに仕込んだ場合、肖像権にブチ当たって弁護士と内容証明が飛んでくる可能性が十分あるので、そこだけ注意。

まだまだ遊べるなあ。

[2022/08/30 10:24:41]追記

今日時点で。呪文のテンプレは以下

High quality concept art,

「ここに具体的な描写内容を英語で記述」

rim light,
wide angle,

sharp focus,
high contrast,
highly detailed,
digital art illustration,
art station trending,
playstation5,
4K


なんとなく、だけど。StableDiffusionは縦長の構図は苦手かなあ。
image
あとは出てきた絵をネタにしたエントリを頑張る

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
名前:
飯田哲章
mail:
t2aki@mrh.biglobe.ne.jp
twitter:
t2akii

WEBサービス制作/電子書籍制作

検索
<<2022/11>>
  12345
6789101112
13141516171819
20212223242526
27282930

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版

[487 Page] »
1 2 3 4 5 6 7 8 9 10

TOTAL:2922

2022 (14)
1 (1)
3 (2)
6 (2)
7 (1)
8 (4)
9 (2)
10 (1)
11 (1)
2021 (12)
1 (3)
2 (1)
6 (1)
8 (2)
9 (1)
10 (1)
11 (2)
12 (1)
2020 (18)
1 (2)
2 (6)
4 (1)
6 (1)
7 (2)
8 (2)
12 (4)
2019 (17)
1 (3)
2 (4)
3 (2)
4 (2)
5 (1)
6 (1)
8 (1)
10 (1)
12 (2)
2018 (21)
1 (3)
2 (2)
3 (2)
4 (1)
5 (1)
6 (6)
8 (1)
9 (1)
10 (2)
12 (2)
2017 (32)
1 (2)
2 (1)
4 (2)
5 (1)
6 (6)
7 (3)
8 (5)
9 (3)
10 (2)
11 (2)
12 (5)
2016 (41)
1 (5)
2 (5)
3 (2)
4 (3)
5 (4)
6 (6)
7 (2)
8 (2)
9 (3)
10 (1)
11 (4)
12 (4)
2015 (99)
1 (11)
2 (12)
3 (9)
4 (6)
5 (8)
6 (8)
7 (3)
8 (5)
9 (16)
10 (6)
11 (1)
12 (14)
2014 (112)
1 (16)
2 (5)
3 (6)
4 (12)
5 (16)
6 (19)
7 (9)
8 (6)
9 (4)
10 (8)
11 (6)
12 (5)
2013 (145)
1 (24)
2 (15)
3 (18)
4 (23)
5 (14)
6 (11)
7 (7)
8 (11)
9 (5)
10 (4)
11 (6)
12 (7)
2012 (103)
1 (1)
2 (1)
3 (4)
4 (3)
5 (7)
6 (26)
7 (17)
8 (5)
9 (8)
10 (10)
11 (11)
12 (10)
2011 (54)
1 (4)
3 (7)
4 (4)
5 (14)
6 (6)
7 (3)
8 (3)
9 (1)
10 (4)
11 (2)
12 (6)
2010 (70)
1 (12)
2 (7)
3 (6)
4 (6)
5 (3)
6 (10)
7 (6)
8 (4)
9 (3)
10 (4)
11 (3)
12 (6)
2009 (144)
1 (15)
2 (12)
3 (12)
4 (6)
5 (15)
6 (6)
7 (10)
8 (9)
9 (17)
10 (12)
11 (14)
12 (16)
2008 (148)
1 (10)
2 (6)
3 (10)
4 (11)
5 (13)
6 (10)
7 (13)
8 (19)
9 (18)
10 (12)
11 (13)
12 (13)
2007 (106)
1 (7)
2 (5)
3 (3)
4 (7)
5 (5)
6 (9)
7 (8)
8 (13)
9 (18)
10 (11)
11 (8)
12 (12)
2006 (158)
1 (28)
2 (28)
3 (25)
4 (7)
5 (9)
6 (7)
7 (12)
8 (13)
9 (10)
10 (7)
11 (6)
12 (6)
2005 (350)
1 (31)
2 (26)
3 (26)
4 (27)
5 (29)
6 (30)
7 (32)
8 (30)
9 (30)
10 (32)
11 (29)
12 (28)
2004 (292)
1 (24)
2 (24)
3 (29)
4 (27)
5 (28)
6 (25)
7 (26)
8 (24)
9 (12)
10 (19)
11 (26)
12 (28)
2003 (318)
1 (22)
2 (25)
3 (21)
4 (28)
5 (28)
6 (28)
7 (28)
8 (29)
9 (26)
10 (29)
11 (28)
12 (26)
2002 (317)
1 (29)
2 (26)
3 (26)
4 (25)
5 (28)
6 (30)
7 (27)
8 (21)
9 (25)
10 (27)
11 (28)
12 (25)
2001 (277)
1 (17)
2 (21)
3 (23)
4 (20)
5 (31)
6 (18)
7 (26)
8 (25)
9 (29)
10 (19)
11 (24)
12 (24)
2000 (53)
6 (9)
7 (4)
8 (2)
9 (3)
10 (1)
11 (15)
12 (19)
1999 (3)
7 (1)
10 (2)
1998 (18)
9 (9)
10 (7)
11 (2)