#packopt name "¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ìϢ³¼èÆÀ¥Ä¡¼¥ë"
#packopt hide 1

#include "user32.as"
#include "shell32.as"
#include "comctl32.as"
#include "kernel32.as"
#include "ole32.as"
#include "mod_regexp.as"
#uselib "imagehlp.dll "
#func global MakeSureDirectoryPathExists "MakeSureDirectoryPathExists" str
#uselib "shlwapi.dll"
#cfunc global PathMatchSpec "PathMatchSpecA" sptr,sptr

#include "hspext.as"

;//2¥Ð¥¤¥Èʸ»úȽÄê
#define ctype wbyte(%1) ( (( (129<=%1)&(%1<=159) )||( (224<=%1)&(%1<=252) )) )

#include "gblconst-sysval.hsp";
#include "exlistview'.hsp"
#include "mp3infp_ExportFunc_HSP.hsp"
#include "lua-xl.hsp"

#include "Modules.hsp"

;¥ê¥¹¥È¥Ó¥å¡¼ID
#enum LIST_POINT = 0
#enum LIST_FOLDERNAME
#enum LIST_FILENAME
#enum LIST_TITLE
#enum LIST_TITLE_DATA
#enum LIST_ARTIST
#enum LIST_ARTIST_DATA
#enum LIST_ALBUM
#enum LIST_ALBUM_DATA
#enum LIST_TIME
#enum LIST_TIME_DATA
#enum LIST_LYRICSITE
#enum LIST_DATABASE

;¥¦¥£¥ó¥É¥¦ID
#define global WindowID_Main 0
#define global WindowID_Setting 2
#define global WindowID_ShowSite 1

;¥¿¥¤¥È¥ë
#define app_title "¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ìϢ³¼èÆÀ¥Ä¡¼¥ë"
;¥Ð¡¼¥¸¥ç¥ó
#define app_version "ver. 0.2.2"

;// ¥á¥¤¥ó¥¦¥£¥ó¥É¥¦ºîÀ®
screen WindowID_Main, ginfo_dispx, ginfo_dispy, 0, ,, 640,480
	title app_title
	;	¼«¥¦¥£¥ó¥É¥¦¤Î¥¹¥¿¥¤¥ë¤òÊѹ¹
	;		$10000 = ºÇÂç²½¥Ü¥¿¥óÍ­¸ú
	;		$40000 = ¥¦¥£¥ó¥É¥¦¥µ¥¤¥º²ÄÊÑÍ­¸ú
	GetWindowLong hwnd, -16
	SetWindowLong hwnd, -16, stat | $10000 | $40000


// ÀßÄêÊÑ¿ô
FileSavePos = ""		      ;Êݸ¥Õ¥¡¥¤¥ë¾ì½ê
FileSaveExt = ".lrc"	      ;Êݸ¥Õ¥¡¥¤¥ë³ÈÄ¥»Ò
LyricsMasterPass = ""	      ;LyricsMaster¤Î¥Ñ¥¹
FileNameFilter = ""           ;¶ÊÅÐÏ¿»þ¤Î¥Õ¥£¥ë¥¿
FileNameFilterRegExpCheck = 0 ;¥Õ¥£¥ë¥¿¤òÀµµ¬É½¸½¤Ë¤¹¤ë
MusicFileExts="*.mp3,*.m4a,*.wma,*.wav,*.ogg,*ape" ;¥ê¥¹¥ÈÅÐÏ¿¥Õ¥£¥ë¥¿
Option_CheckerPoint=90        ;¥Á¥§¥Ã¥¯´ð½à
Option_WeightTitle=100
Option_WeightArtsit=60
Option_WeightAlbum=40
Option_WeightTime=30


;//¥°¥í¡¼¥Ð¥ëÊÑ¿ô
rec_dat = ""		;¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÀ¸¥Ç¡¼¥¿
LUA_hmiku = ""		;½é²»¥ß¥¯Wiki¤«¤é²Î»ì¤ò¼èÆÀ¤¹¤ë¤¿¤á¤ÎLUA¥¹¥¯¥ê¥×¥È
LUA_touhoukashi=""	;ÅìÊýƱ¿ÍCD¤Î²Î»ì@Wiki¤«¤é²Î»ì¤ò¼èÆÀ¤¹¤ë¤¿¤á¤ÎLUA¥¹¥¯¥ê¥×¥È

hlist = 0			;¥ê¥¹¥È¥Ó¥å¡¼¤Î¥Ï¥ó¥É¥ë
tb_hWnd = 0			;¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ï¥ó¥É¥ë
tb_id(0) = 0		;¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥óIDÇÛÎó

ListViewPos=0,0		;¥ê¥¹¥È¥Ó¥å¡¼¤Î°ÌÃÖ
toolbar_height=0	;¥Ä¡¼¥ë¥Ð¡¼¤Î¹â¤µ



;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
;	Header.hsp
;
;		¥Ä¡¼¥ë¥Ð¡¼ºîÀ®¡¢³ä¤ê¹þ¤ßÀßÄê¡¢¥á¥Ã¥»¡¼¥¸½èÍý
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²

#include "Header.hsp"


;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
;	Option.hsp
;
;		ÀßÄꥦ¥£¥ó¥É¥¦ºîÀ®¡¦½èÍý¡¢LyricsMaster¸¡º÷Ãæ¤Î¾ÜºÙɽ¼¨Áë ºîÀ®
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²

#include "Option.hsp"


;¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÅÀ¿ôÉÕ¤±¤Î½Å¤ß³ä¤ê¿¶¤êÀßÄê
PointInMusicList_option_set Option_WeightTitle, Option_WeightArtsit, Option_WeightAlbum, Option_WeightTime

//¥Ç¡¼¥¿¥Ù¡¼¥¹À¸¥Ç¡¼¥¿¼èÆÀ(¥Í¥Ã¥È)
rec_dat = GetHTMLSource("http://timetag.main.jp/herodb/timetag/rec.dat", Char_EUC, 1)
	
//²Î»ì¼èÆÀLUA¥¹¥¯¥ê¥×¥È¤ò¥í¡¼¥É
notesel LUA_hmiku
noteload "LUA/www5.atwiki.jp_hmiku.lua"
noteunsel
notesel LUA_touhoukashi
noteload "LUA/www31.atwiki.jp_touhoukashi.lua"
noteunsel


	//¥ê¥¹¥È¥Ó¥å¡¼ºîÀ®
	hlist=Createlstview(0, 0, ListViewPos(1),ginfo_winx,480-ListViewPos(1) )
	GetWindowLong hlist, -16
	SetWindowLong hlist,-16,stat|LVS_SHOWSELALWAYS|LVS_SINGLESEL|LVS_NOSORTHEADER
	lsvexset hlist, LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES
	lsvcladd hlist," ",LIST_POINT,0,50,0,0
	lsvcladd hlist,"¥Õ¥©¥ë¥À",LIST_FOLDERNAME,0,60,0,0
	lsvcladd hlist,"¥Õ¥¡¥¤¥ë",LIST_FILENAME,0,180,0,0
	lsvcladd hlist,"¥¿¥¤¥È¥ë",LIST_TITLE,0,100,0,0
	lsvcladd hlist,"DB",LIST_TITLE_DATA,0,100,0,0
	lsvcladd hlist,"¥¢¡¼¥Æ¥£¥¹¥È",LIST_ARTIST,0,100,0,0
	lsvcladd hlist,"DB",LIST_ARTIST_DATA,0,100,0,0
	lsvcladd hlist,"¥¢¥ë¥Ð¥à",LIST_ALBUM,0,100,0,0
	lsvcladd hlist,"DB",LIST_ALBUM_DATA,0,100,0,0
	lsvcladd hlist,"ºÆÀ¸»þ´Ö",LIST_TIME,0,60,0,0
	lsvcladd hlist,"DB",LIST_TIME_DATA,0,60,0,0
	lsvcladd hlist,"²Î»ì¥µ¥¤¥È",LIST_LYRICSITE,0,120,0,0
	lsvcladd hlist,"¥Ç¡¼¥¿¥Ù¡¼¥¹",LIST_DATABASE,0,300,0,0
	
	stop
;	
;	¡Ú¥¦¥£¥ó¥É¥¦ºîÀ® ´°Î»¡Û
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²



;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
;	¥ê¥¹¥È¥Ó¥å¡¼¡§¥Õ¥¡¥¤¥ë¤ò¥É¥í¥Ã¥×
;
;		¶ÊÅÐÏ¿ ½èÍý
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
*ListViewDrop
	;//D&D¥Ï¥ó¥É¥ë
	hDrop=wParam
	;//D&D¸Ä¿ô³Îǧ
	DragQueryFile hDrop,-1,0,0
	DropNum = stat
    //¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥ó¤ò»ÈÍÑÉԲĤˤ¹¤ë
	sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_LISTVIEW), 0
	;¥ê¥¹¥È¥Ó¥å¡¼¹àÌܤκÇÂç¿ô
	MaxListNum = lsvcount(hlist, 0)
	;
	sdim DropFileName, 4*1024
	MusicTitle=""
	MusicArtist=""
	MusicAlbum=""
	MusicTime=""
	;¶Ê½ü³°¥Õ¥£¥ë¥¿¤òÇÛÎó¤Øʬ²ò
	split FileNameFilter, "|", FileNameFilters :FileNameFilters_num = stat
	repeat FileNameFilters_num
		;¥ï¥¤¥ë¥É¥«¡¼¥É»ÅÍͤˤʤäƤ¤¤Ê¤«¤Ã¤¿¤éË**¤ò­¤¹
		if instr(FileNameFilters(cnt),0,"*")=-1 && instr(FileNameFilters(cnt),0,"?")=-1 : FileNameFilters(cnt) = "*"+FileNameFilters(cnt)+"*"
	loop
	;ListViewÅÐÏ¿
	repeat DropNum
		;¥É¥í¥Ã¥×¥Õ¥¡¥¤¥ë̾ £±¤Ä¼èÆÀ
		DragQueryFile hDrop, cnt, varptr(DropFileName), 4*1024
		//¥Õ¥¡¥¤¥ë¤«¥Õ¥©¥ë¥À¤«È½ÃǤ·¤Æ¡¢¥Õ¥©¥ë¥À¤Ê¤é²¼ÁؤΥե¡¥¤¥ë¤ò¼è¤ê½Ð¤¹
		;¥Õ¥©¥ë¥À¤«³Îǧ
		dirlist x, DropFileName, 5
		if stat=1 {
			;¥Õ¥©¥ë¥À¤À¤Ã¤¿
			d_cur=dir_cur
			chdir DropFileName+"\\"
			;¥Õ¥©¥ë¥À¤Î²¼ÁØ¥Õ¥¡¥¤¥ë¤ò¼èÆÀ
			dirlist2h 1,
			dirlist2 ssize, "*.*",1
			sdim files, ssize
			dirlist2r files
			chdir d_cur
			currentadd=1 ;²¼ÁØ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê̾¤ò­¤¹É¬Íפ¬¤¢¤ë
		}else {
			;¥Õ¥¡¥¤¥ë¤À¤Ã¤¿
			files = DropFileName
			currentadd=0
		}
		// ¥Õ¥¡¥¤¥ë¤ò¥ê¥¹¥È¥Ó¥å¡¼¤ØÅÐÏ¿
		notesel files
		notemax_=notemax
		noteunsel
		index=0
		repeat notemax_
	    	getstr file, files, index, ,1024 :index+=strsize
	    	if currentadd=1 : file = DropFileName+"\\"+file
	    	;¥Õ¥©¥ë¥À¤«³Îǧ
			dirlist x, file, 5
			if stat=1 :continue ;¥Õ¥©¥ë¥À¤Ê¤éÃƤ¯
			;²»³Ú¥Õ¥¡¥¤¥ë¤«³Îǧ
			if instr( MusicFileExts, 0, getpath(file,2+16) ) = -1 :continue ;°ã¤¦¤Ê¤éÃƤ¯
			//¶Ê½ü³°¥Õ¥£¥ë¥¿ÀßÄê
			if FileNameFilter!"" {
				if FileNameFilterRegExpCheck = 0 {
					;¥ï¥¤¥ë¥É¥«¡¼¥É¤Ç½ü³°
					flg=0
					repeat FileNameFilters_num
						if PathMatchSpec( getpath(file,8), FileNameFilters(cnt) ) ! 0 :flg=1 :break
					loop
					if flg=1 :continue
				}else {
					;Àµµ¬É½¸½¤Ç½ü³°
					if match( getpath(file,8), FileNameFilter )!"" :continue
				}
			}
	    	
			//¶Ê¥Õ¥¡¥¤¥ë¤«¤é¾ðÊó¤ò¼èÆÀ
			GetMusicInfo file, MusicTitle, MusicArtist, MusicAlbum, MusicTime
			
			;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
			;	¶Ê¾ðÊ󤫤é¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ò¤¢¤¤¤Þ¤¤¸¡º÷¡£ ³Î¤«¤é¤·¤µ(¥Ý¥¤¥ó¥È)¤È¥Ç¡¼¥¿¤òÊÖ¤¹¡£
			;
			;		PointInMusicList( ¥Ç¡¼¥¿¥Ù¡¼¥¹À¸¥Ç¡¼¥¿, "¥¿¥¤¥È¥ë<>¥¢¡¼¥Æ¥£¥¹¥È<>¥¢¥ë¥Ð¥à<>ºÆÀ¸»þ´Ö(ÉÃ)" )
			;		Ìá¤êÃÍ : "¥Ý¥¤¥ó¥È<>KEY<>¥¿¥¤¥È¥ë<>¥¢¡¼¥Æ¥£¥¹¥È<>²Î»ì¥µ¥¤¥È<>¥¿¥¤¥à¥¿¥°FileName<>wikiURL<>¥¢¥ë¥Ð¥à<>ºÇ½ª¹¹¿·Æü»þ<>ºÆÀ¸»þ´Ö(¥ß¥êÉÃ)<>Åê¹Æ¼Ô<>¥³¥á¥ó¥È"
			;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
			PIMLstr = PointInMusicList(rec_dat, MusicTitle+"<>"+MusicArtist+"<>"+MusicAlbum+"<>"+str(  ( int(submatch(MusicTime,"^(\\d+):\\d+"))*60+int(submatch(MusicTime,"^\\d+:(\\d+)")) )*1000  ))
			
			//³Æ¾ðÊó¤òÃê½Ð
			PIMLpoint = int(match(PIMLstr,"^\\d+"))	;¥Ý¥¤¥ó¥ÈÃê½Ð
			PIMLtitle = submatch(PIMLstr,"^.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?$")  ;¥¿¥¤¥È¥ëÃê½Ð
			PIMLartist= submatch(PIMLstr,"^.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?$")  ;¥¢¡¼¥Æ¥£¥¹¥ÈÃê½Ð
			PIMLalbum = submatch(PIMLstr,"^.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?$")  ;¥¢¥ë¥Ð¥àÃê½Ð
			PIMLsite  = submatch(PIMLstr,"^.*?<>.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?$")  ;²Î»ì¥µ¥¤¥ÈÃê½Ð
			mtime = int(submatch(PIMLstr,"^.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?$")) ;ºÆÀ¸»þ´ÖÃê½Ð
				mtimem=mtime/60/1000 :mtimes=mtime/1000-mtimem*60
				PIMLtime = strf("%d:%02d",mtimem,mtimes)
			
			//¥ê¥¹¥È¥Ó¥å¡¼¤ØÅÐÏ¿
			lsvimadd  hlist, str(PIMLpoint),   MaxListNum, LIST_POINT       ;¥Ý¥¤¥ó¥È
			lsvsubadd hlist, getpath(file,32), MaxListNum, LIST_FOLDERNAME  ;¥Õ¥©¥ë¥À
			lsvsubadd hlist, getpath(file,8),  MaxListNum, LIST_FILENAME    ;¥Õ¥¡¥¤¥ë
			lsvsubadd hlist, MusicTitle,       MaxListNum, LIST_TITLE       ;¥¿¥¤¥È¥ë(¥Õ¥¡¥¤¥ë)
			lsvsubadd hlist, PIMLtitle,        MaxListNum, LIST_TITLE_DATA  ;¥¿¥¤¥È¥ë(¥Ç¡¼¥¿¥Ù¡¼¥¹)
			lsvsubadd hlist, MusicArtist,      MaxListNum, LIST_ARTIST      ;¥¢¡¼¥Æ¥£¥¹¥È(¥Õ¥¡¥¤¥ë)
			lsvsubadd hlist, PIMLartist,       MaxListNum, LIST_ARTIST_DATA ;¥¢¡¼¥Æ¥£¥¹¥È(¥Ç¡¼¥¿¥Ù¡¼¥¹)
			lsvsubadd hlist, MusicAlbum,       MaxListNum, LIST_ALBUM       ;¥¢¥ë¥Ð¥à(¥Õ¥¡¥¤¥ë)
			lsvsubadd hlist, PIMLalbum,        MaxListNum, LIST_ALBUM_DATA  ;¥¢¥ë¥Ð¥à(¥Ç¡¼¥¿¥Ù¡¼¥¹)
			lsvsubadd hlist, MusicTime,        MaxListNum, LIST_TIME        ;ºÆÀ¸»þ´Ö(¥Õ¥¡¥¤¥ë)
			lsvsubadd hlist, PIMLtime,         MaxListNum, LIST_TIME_DATA   ;ºÆÀ¸»þ´Ö(¥Ç¡¼¥¿¥Ù¡¼¥¹)
			lsvsubadd hlist, PIMLsite,         MaxListNum, LIST_LYRICSITE   ;²Î»ì¥µ¥¤¥È
			lsvsubadd hlist, replace(PIMLstr,"^\\d+<>","",,1), MaxListNum, LIST_DATABASE ;¥Ç¡¼¥¿¥Ù¡¼¥¹À¸¥Ç¡¼¥¿(³ºÅöÎó)

			;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
			;	´û¤Ë¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ì¤¬¤¢¤ë¤«³Îǧ ½èÍý
			;		Ìá¤êÃÍ¡§ 1=¥Õ¥¡¥¤¥ë¤¬¤¢¤ë
			;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
			FileFolder = getpath(file,32) ;¥Õ¥©¥ë¥À̾
			FileName = getpath(file,8)    ;¥Õ¥¡¥¤¥ë̾
			gosub *ExistTimetagFile
			; ¡¦¤â¤·¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤Ê¤é¥Á¥§¥Ã¥¯¤ÏÉÕ¤±¤Ê¤¤
			; ¡¦¥Ý¥¤¥ó¥È¤¬¿å½à°Ê¾å¤Ê¤é¥Á¥§¥Ã¥¯¤òÉÕ¤±¤ë
			lsvsetcheck hlist, MaxListNum, (PIMLpoint >= Option_CheckerPoint) *(stat!=1)
			;¥ê¥¹¥È¥Ó¥å¡¼Áí¿ô¤Ë+1
			MaxListNum++
			wait 1
		loop
		
	loop
	DragFinish hDrop ;³«Êü
    //¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥ó¤ò»ÈÍѲÄǽ¤Ë¤¹¤ë
	sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_LISTVIEW), 1
	return


;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
;	¥ê¥¹¥È¥Ó¥å¡¼¡§¡Ö¼Â¹Ô¡×
;
;		¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ì¼èÆÀ ½èÍý
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
*GetTimetagLyrics
	//LyricsMaster¤Î¥Ñ¥¹¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤«³Îǧ¤¹¤ë
	dirlist x, LyricsMasterPass, 5
	if stat = 0 {
		dialog "Lyrics Master¤Î¤¢¤ë¥Õ¥©¥ë¥À¤òÅÐÏ¿¤·¤Æ²¼¤µ¤¤"
		gi_sel = ginfo_sel
		;ÀßÄꥦ¥£¥ó¥É¥¦³«¤¯
		gsel WindowID_Setting, 1
		gsel gi_sel
		return
	}
	
	;//LyricsMaster¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É(Ϣ³¼èÆÀ¤ËºÇŬ²½)
	preferences_lyricsmaster = LoadLMpreferences(1)
	if preferences_lyricsmaster="" : dialog "Lyrics Master¤ò°ìÅÙµ¯Æ°¤·¤Æ»ÈÍѵ¬Ìó¤ËƱ°Õ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹",1 :return
	
	//LyricsMaster¤Ç¸¡º÷Ãæ¡¢¤É¤Î¥µ¥¤¥È¤«¤é²Î»ì¤ò½¦¤¨¤ÐÎɤ¤¤«¤òÌÀ¼¨¤¹¤ëÁë¤òɽ¼¨
	gi_sel=ginfo_sel
	gsel WindowID_ShowSite, 2
	gsel gi_sel
    //¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥ó¤ò»ÈÍѲÄǽ¤Ë¤¹¤ë
	sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_NEXT), 1
	sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_STOP), 1
	;¥ê¥¹¥È¥Ó¥å¡¼¹àÌܤκÇÂç¿ô
	MaxListNum = lsvcount(hlist, 0)
	
	;Á´¥ê¥¹¥È ½èÍý¼Â¹Ô
	repeat MaxListNum
		;¥Á¥§¥Ã¥¯¾õÂÖ³Îǧ
		if lsvgetcheck(hlist, cnt)=1 {
			;½èÍý¹ÔÁªÂòɽ¼¨
				itemcheck = lsvgetcheck(hlist, cnt)
			lsvimsel hlist, cnt ;¹ÔÁªÂò
				;¤Ê¤ó¤«lsvimsel¤Ç¹Ô¤òÁªÂò¤·¤¿¤é¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤¬¸«¤¨¤Ê¤¯¤Ê¤ë¤Î¤Ç¸«¤¨¤ë¤è¤¦¤Ë¤¹¤ë
				lsvsetcheck hlist, cnt, itemcheck
			;²Î»ì¤òÆþ¤ì¤ëÊÑ¿ô¡£È¾Ê¬¥Õ¥é¥°Âå¤ï¤ê¤Ë¤â»ÈÍÑ¡£
			lyrics=""
			;¥ê¥¹¥È¥Ó¥å¡¼¤«¤é²Î»ì¥µ¥¤¥È¼èÆÀ
			lsvgetstr PIMLsite, hlist, cnt, LIST_LYRICSITE
			//URL¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾ì¹ç
			if instr(PIMLsite, 0, "/http://")!-1 {
				;URLÈ´¤­½Ð¤·
				PIMLsiteURL = submatch(PIMLSite, "/(http://.*)$")
				;//ǧ¼±¤Ç¤­¤ë²Î»ì¥µ¥¤¥È¤«³Îǧ
				if instr(PIMLsiteURL, 0, "http://www5.atwiki.jp/hmiku/")!-1 {
					//½é²»¥ß¥¯Wiki¤Ç¤¢¤ë
					lyrics = GetLyrics( PIMLsiteURL, LUA_hmiku ) ;²Î»ì¤ò¼èÆÀ
				}else : if instr(PIMLsiteURL,0, "http://www31.atwiki.jp/touhoukashi/")!-1 {
					;ÅìÊýƱ¿ÍCD¤Î²Î»ì@Wiki¤Ç¤¢¤ë
					lyrics = GetLyrics( PIMLsiteURL, LUA_touhoukashi ) ;²Î»ì¤ò¼èÆÀ
				}
			}
			//URL¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤=LyricsMaster¤Ç²Î»ì¤ò¼èÆÀ¤¹¤ë
			if lyrics="" {
				// LyricsMaster¤Ç²Î»ì¤ò¼èÆÀ¤¹¤ë
				;¥ê¥¹¥È¥Ó¥å¡¼¤«¤é¥¿¥¤¥È¥ë¼èÆÀ
				lsvgetstr PIMLtitle, hlist, cnt, LIST_TITLE_DATA
				;¥ê¥¹¥È¥Ó¥å¡¼¤«¤é¥¢¡¼¥Æ¥£¥¹¥È¼èÆÀ
				lsvgetstr PIMLartist, hlist, cnt, LIST_ARTIST_DATA
				;PIMLsite¤«¤é²Î»ì¥µ¥¤¥È̾¤Î¤ß¤òÃê½Ð¡Ê¤â¤·URL¤¬¤Ä¤¤¤Æ¤¤¤ì¤Ð³°¤¹¡Ë
				PIMLsiteName = replace( PIMLsite, "/http://.*$", "" )
	
				//LyricsMaster¤ÎÀßÄê¤ò¾å½ñ¤­¤¹¤ë
				;¸¡º÷¤¹¤ë²Î»ì¥µ¥¤¥È¤ò»ØÄê
				preferences_lyricsmaster_temp = ReplaceSearchSiteLMpreferences( preferences_lyricsmaster, PIMLsiteName )
				;ÀßÄê¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­Êݸ¤¹¤ë
				SaveLMpreferences preferences_lyricsmaster_temp
				
				;//LyricsMasterµ¯Æ°
				exec dirinfo(3)+"\\wscript.exe \""+LyricsMasterPass+"\\ExtSupport.js\" multi \""+PIMLtitle+"\" \""+PIMLartist+"\""
				
				;¤É¤Î²Î»ì¥µ¥¤¥È¤«¤é¼èÆÀ¤¹¤ì¤ÐÎɤ¤¤«ÌÀ¼¨Áë¤Ëɽ¼¨
				mes_ShowSiteWindow "("+(cnt+1)+"/"+MaxListNum+") "+PIMLtitle+"\n"+"¼èÆÀ²Î»ì¥µ¥¤¥È¡§ "+PIMLsite
				;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
				;	LyricsMasterµ¯Æ°¸å¡¢²Î»ì¼èÆÀ´Æ»ë ½èÍý¡Ê¸¡½Ð¤¹¤ë¤Þ¤Ç½Ð¤Æ¤³¤Ê¤¤¡Ë
				;		¤Á¤ã¤ó¤È¼èÆÀ¤Ç¤­¤¿         ¢ª lyrics¤Ë²Î»ì¤¬Æþ¤ë
				;		¡Ö¼¡¤Ø¡×¹Ô¤¯¤¿¤áÌá¤Ã¤Æ¤­¤¿ ¢ª lyrics=""
				;		¡ÖÃæ»ß¡×                   ¢ª lyrics="<Ãæ»ß>"
				;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
				gosub *LyricsMasterCheck
				//
				if lyrics="<Ãæ»ß>" :break ;¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ì¼èÆÀ½èÍý¤òÃæ»ß¤¹¤ë
				//
			}
			//URL¤Þ¤¿¤ÏLyricsMaster¤«¤é²Î»ì¤ò¼èÆÀ¤·¤¿¡£¢ª¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ì¤òÀ¸À®¤·¤ÆÊݸ¤¹¤ë
			if lyrics ! "" {
				;¥¿¥¤¥à¥¿¥°¾ðÊó¥Õ¥¡¥¤¥ë̾¤ò¼èÆÀ
				lsvgetstr PIMLstr, hlist, cnt, LIST_DATABASE
				PIMLtagfile = submatch(PIMLstr,"^.*?<>.*?<>.*?<>.*?<>(.*?)<>.*?<>.*?<>.*?<>.*?<>.*?<>.*?$")	;¥¿¥¤¥à¥¿¥°¾ðÊó¥Õ¥¡¥¤¥ë̾Ãê½Ð
				;//ľÀÜ¥¿¥¤¥à¥¿¥°¾ðÊó¥Æ¥­¥¹¥È¤ò¼èÆÀ¤Ë¹Ô¤¯
				timetagdata = GetHTMLSource( "http://timetag.main.jp/herodb/timetag/bin/"+PIMLtagfile,,1 )
				
				;//¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ì À¸À®
				TimetagLyrics = ApplyTimetagData( lyrics, timetagdata )
				
				;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
				;	¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ì ¥Õ¥¡¥¤¥ëÊݸ ½èÍý
				;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
				lsvgetstr FileFolder, hlist, cnt, LIST_FOLDERNAME ;¥Õ¥©¥ë¥À¼èÆÀ
				lsvgetstr FileName, hlist, cnt, LIST_FILENAME     ;¥Õ¥¡¥¤¥ë̾¼èÆÀ
				gosub *TimetagFileSave
				
				;¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ì¤òÊݸ¤Ç¤­¤¿¤é¥Á¥§¥Ã¥¯¤ò³°¤¹
				lsvsetcheck hlist, cnt, 0
			}
		}
		wait 1
	loop
	//LyricsMaster¤Ç¸¡º÷Ãæ¡¢¤É¤Î¥µ¥¤¥È¤«¤é²Î»ì¤ò½¦¤¨¤ÐÎɤ¤¤«¤òÌÀ¼¨¤¹¤ëÁë¤òÈóɽ¼¨
	gi_sel=ginfo_sel
	gsel WindowID_ShowSite, -1
	//¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤òÁ´Ì̤Ëɽ¼¨
	gsel WindowID_Main, 2
	gsel WindowID_Main, 1
	gsel gi_sel
    //¥Ä¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥ó¤ò»ÈÍÑÉԲĤˤ¹¤ë
	sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_NEXT), 0
	sendmsg tb_hWnd, TB_ENABLEBUTTON, tb_id(TB_STOP), 0
	
	;//LyricsMaster¤ÎÀßÄê¤ò¡Ö¼Â¹Ô¡×¤ÎºÇ½é¤Ë¥í¡¼¥É¤·¤¿¾õÂÖ¤ËÌ᤹
	SaveLMpreferences_LastLoad
	
	return


;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
;	LyricsMaster¡§µ¯Æ°¸å
;
;		²Î»ì¼èÆÀ´Æ»ë ½èÍý
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
*LyricsMasterCheck
	LyricsMasterStep=0 ;¥¹¥Æ¥Ã¥×¥Õ¥é¥°
	repeat
		//¥¹¥Æ¥Ã¥×0 µ¯Æ°¤ò³Îǧ¡£¥¦¥£¥ó¥É¥¦¥Ï¥ó¥É¥ë¤ò¼èÆÀ¤¹¤ë¡£
		if LyricsMasterStep = 0 {
			;µ¯Æ°³Îǧ
			FindWindow "RBWindow","Lyrics Master"
			if stat!0 {
				LyricsMaster_hWnd = stat ;LyricsMaster¤Î¥¦¥£¥ó¥É¥¦¥Ï¥ó¥É¥ë
				LyricsMasterStep = 1
			}
		}
		//¥¹¥Æ¥Ã¥×1 ¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤Î¥¨¥Ç¥£¥Ã¥È¥Ü¥Ã¥¯¥¹¤ò´Æ»ë¡£²Î»ì¤¬É½¼¨¤µ¤ì¤¿¤é¼èÆÀ¤¹¤ë¡£
		if LyricsMasterStep = 1 {
			;³«¤¤¤Æ¤¤¤ë¤Î¤ò³Îǧ¤·¤¿¤¬°ìÅÙÊĤ¸¤¿¾ì¹ç¤Ï¥­¥ã¥ó¥»¥ë¡£¼¡¤Î¹àÌܤعԤ¯¡£
			IsWindow LyricsMaster_hWnd : if stat=0 :break
			;LyricsMaster¤Î¥ê¥Ã¥Á¥¨¥Ç¥£¥Ã¥È¤ÎÃæ¿È¤ò¼èÆÀ
			RitchEditStr = GetEdit_LyricsMster(LyricsMaster_hWnd)
			if RitchEditStr!"" {
				;¥ê¥Ã¥Á¥¨¥Ç¥£¥Ã¥Èʸ»úÎ󤫤饿¥¤¥È¥ë¤ä¥¢¡¼¥Æ¥£¥¹¥È¤òÃê½Ð¡¢È´¤­¼è¤ê¡¢²Î»ì¥µ¥¤¥È¿äÄê
				LMstringDivide RitchEditStr, "", LM_title, LM_artist, LM_website, 2/*LyricsMasterVersion*/
				if stat=1 {
					if replace(PIMLsite,"/http://.*$","") ! LM_website {
						;¸¡º÷Ãæ¤Î²Î»ì¥µ¥¤¥È¤È¼èÆÀ¤·¤¿²Î»ì¥µ¥¤¥È¤¬°Û¤Ê¤ë¾ì¹ç¡¢³Îǧ¤¹¤ë¡£
						//¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤òÁ´Ì̤Ëɽ¼¨
						gi_sel=ginfo_sel
						gsel WindowID_Main, 2
						dialog "¼èÆÀÀè¤Î²Î»ì¥µ¥¤¥È¤¬°Û¤Ê¤ë¤è¤¦¤Ç¤¹¤¬Â³¹Ô¤·¤Þ¤¹¤«¡©\n\nLyricsMaster¡§ "+LM_website,2
						gsel WindowID_Main, 1
						gsel gi_sel
						if stat = 7 {
							;¤¤¤¤¤¨
							SetEdit_LyricsMster LyricsMaster_hWnd, "" ;LyricsMaster¤Î¥¨¥Ç¥£¥Ã¥È¥Ü¥Ã¥¯¥¹¤ò¶õÍó¤Ë¤¹¤ë
							continue
						}
					}
					lyrics = RitchEditStr
					SetEdit_LyricsMster LyricsMaster_hWnd, "" ;LyricsMaster¤Î¥¨¥Ç¥£¥Ã¥È¥Ü¥Ã¥¯¥¹¤ò¶õÍó¤Ë¤¹¤ë
					;²Î»ì¼èÆÀ½èÍý¤«¤éæ½Ð¥¹¥Æ¥Ã¥×
					LyricsMasterStep = -1
				}
			}
		}
		//¥¹¥Æ¥Ã¥×-1 ²Î»ì¼èÆÀ½èÍý¤«¤éæ½Ð
		if LyricsMasterStep = -1 {
			;+¥Ä¡¼¥ë¥Ð¡¼¤«¤é¡Ö¼¡¤Ø¡×¥³¥Þ¥ó¥É
			
			//LyricsMaster¤¬µ¯Æ°¤·¤Æ¤¤¤¿¤éÊĤ¸¤ë
			;µ¯Æ°¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤éæ½Ð
			FindWindow "RBWindow","Lyrics Master"
			if stat != 0 {
				;µ¯Æ°¤ò³Îǧ¡¢ÊĤ¸¤ë
				sendmsg stat, WM_CLOSE, 0,0
			}else {
				break
			}
		}
		if LyricsMasterStep = -2 {
			;¥Ä¡¼¥ë¥Ð¡¼¤«¤é¡ÖÃæ»ß¡×¥³¥Þ¥ó¥É
			lyrics = "<̾ȧ>"
			break
		}
		wait 150 ;1.5É䴤Ȥ˳Îǧ¤¹¤ë¡£
	
	loop
	;//LyricsMaster¤òÊĤ¸¤ë
	
	LyricsMasterStep=0 ;¥¹¥Æ¥Ã¥×¥Õ¥é¥°
	
	return

;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
;	¥Õ¥¡¥¤¥ëÁàºî¡§Êݸ
;
;		¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ìÊݸ ½èÍý
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
*TimetagFileSave
	//²Î»ì¤òÊݸ
	//¤â¤·ÀßÄê¤ÇÊݸÀè¤ËÀäÂХѥ¹¤ò»ØÄꤷ¤Æ¤¤¤ÆÊݸ¥Õ¥©¥ë¥À¤¬¤Þ¤Àºî¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤ä¤ä¤³¤·¤¤¤Î¤ÇÀè¤Ëºî¤ë
	;ÀäÂХѥ¹¤«³Îǧ
	if match( FileSavePos, "^\\w\\:\\\\" )!""{
		//¥Õ¥©¥ë¥À¤ò³Îǧ
		dirlist x, FileSavePos, 5 ;¥Ç¥£¥ì¥¯¥È¥ê³Îǧ
		if stat=0 {
			;¥Õ¥©¥ë¥À¤¬¤Ê¤¤¾ì¹çºî¤ë
			MakeSureDirectoryPathExists FileSavePos+"\\" ;¥Õ¥©¥ë¥ÀºîÀ®(¿¼³¬ÁØOK)
		}	
	}
	
	;//Êݸ¾ì½ê
	if FileSavePos = "" {
		;¶Ê¤ÈƱ¤¸¥Õ¥©¥ë¥À
		TimetagFileName = FileFolder + getpath(FileName,1) + FileSaveExt
	}else {
    	;¥Õ¥©¥ë¥À(ÀäÂХѥ¹)¤«³Îǧ
		dirlist x, FileSavePos, 5
		if stat=1 {
			;ÀäÂХѥ¹
			TimetagFileName = FileSavePos + "\\" + getpath(FileName,1) + FileSaveExt
		}else {
			;¶Ê¤Î²¼ÁØ¥Õ¥©¥ë¥À
			TimetagFileName = FileFolder + FileSavePos + "\\" +getpath(FileName,1) + FileSaveExt
		}
	}
	
	//¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ì¤òÊݸ
	notesel TimetagLyrics
	notesave TimetagFileName
	noteunsel
	return

;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
;	¥Õ¥¡¥¤¥ëÁàºî¡§³Îǧ
;
;		´û¤Ë¥¿¥¤¥à¥¿¥°ÉÕ¤­²Î»ì¤¬¤¢¤ë¤«³Îǧ ½èÍý
;		Ìá¤êÃÍ¡§ 1=¥Õ¥¡¥¤¥ë¤¬¤¢¤ë
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
*ExistTimetagFile
	;//Êݸ¾ì½ê
	if FileSavePos = "" {
		;¶Ê¤ÈƱ¤¸¥Õ¥©¥ë¥À
		TimetagFileName = FileFolder + getpath(FileName,1) + FileSaveExt
	}else {
    	;¥Õ¥©¥ë¥À(ÀäÂХѥ¹)¤«³Îǧ
		dirlist x, FileSavePos, 5
		if stat=1 {
			;ÀäÂХѥ¹
			TimetagFileName = FileSavePos + "\\" + getpath(FileName,1) + FileSaveExt
		}else {
			;¶Ê¤Î²¼ÁØ¥Õ¥©¥ë¥À
			TimetagFileName = FileFolder + FileSavePos + "\\" +getpath(FileName,1) + FileSaveExt
		}
	}
	exist TimetagFileName
	if strsize!-1 {
		return 1
	}
	return 0


;¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±¡±
;	¥ê¥¹¥È¥Ó¥å¡¼¡§¡Ö¥Á¥§¥Ã¥¯¤·¤Æ¤Ê¤¤¹àÌܤòºï½ü¡×
;
;		¥Á¥§¥Ã¥¯¤·¤Æ¤Ê¤¤¹àÌܤòºï½ü ½èÍý
;¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²¡²
*NOCHECKDEL
	;¥ê¥¹¥È¥Ó¥å¡¼¹àÌܤκÇÂç¿ô
	MaxListNum = lsvcount(hlist, 0)
	;Á´¥ê¥¹¥È³Îǧ
	repeat MaxListNum, 1
		;¥Á¥§¥Ã¥¯¾õÂÖ³Îǧ
		if lsvgetcheck(hlist, MaxListNum-cnt)=0 {
			lsvimdel hlist, MaxListNum-cnt
		}
	loop
	return


¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2021-09-09 (ÌÚ) 05:02:28