Module:Birthday

local p = {} D = {} J = {} T = {} function BirthdayInsert(Date, Japanese, Transliterated) table.insert(D, Date) table.insert(J, Japanese) table.insert(T, Transliterated) end --When adding, do so in the right place. It's first ordered by day, then within days by years oldest to newest. --This way it's already in an order best for most of the birthday functions, and no sorting needs to be programmed in. BirthdayInsert('2005-01-05', 'ももな', 'Aoki Momona') BirthdayInsert('2002-01-06', '梁川奈々美', 'w:c:helloproject:Yanagawa Nanami|Yanagawa Nanami') BirthdayInsert('1995-01-07', '佐藤綾乃', 'w:c:helloproject:Sato Ayano|Sato Ayano') BirthdayInsert('1997-01-07', '石田亜佑美', 'w:c:helloproject:Ishida Ayumi|Ishida Ayumi') BirthdayInsert('1988-01-10', '吳思璇', 'w:c:helloproject:Wu Si Xuan|Wu Si Xuan') BirthdayInsert('1988-01-11', 'ジュンジュン', 'w:c:helloproject:Junjun|Junjun') BirthdayInsert('1993-01-12', '光井愛佳', 'w:c:helloproject:Mitsui Aika|Mitsui Aika') BirthdayInsert('1999-01-14', '茂木美奈実', 'w:c:helloproject:Mogi Minami|Mogi Minami') BirthdayInsert('1994-01-16', '邱翠玲', 'w:c:helloproject:Mogi Minami|Mogi MinamiQiu Cui Ling') BirthdayInsert('1999-01-17', '新井乃亜', 'Arai Noa') BirthdayInsert('1985-01-19', '石川梨華', 'w:c:helloproject:Ishikawa Rika|Ishikawa Rika') BirthdayInsert('2004-01-19', '伊勢 鈴蘭', 'w:c:helloproject:Ise Layla|Ise Layla') BirthdayInsert('1983-01-20', '矢口真里', 'w:c:helloproject:Yaguchi Mari|Yaguchi Mari') BirthdayInsert('1993-01-21', '青木千春', 'Aoki Chiharu') BirthdayInsert('2008-01-23', '小野田華凛', 'w:c:helloproject:Onoda Karin|Onoda Karin') BirthdayInsert('1990-01-24', '阿部真央', 'Abe Mao') BirthdayInsert('1991-01-25', '田中杏里', 'w:c:helloproject:Tanaka Anri|Tanaka Anri') BirthdayInsert('1984-01-27', '平野智美', 'w:c:helloproject:Hirano Tomomi|Hirano Tomomi') BirthdayInsert('1997-01-28', '清水理子', 'Shimizu Riko') BirthdayInsert('1977-01-30', '小林梓', 'w:c:helloproject:Kobayashi Azusa|Kobayashi Azusa') BirthdayInsert('1991-01-30', '綾瀬美穂', 'Ayase Miho') BirthdayInsert('1998-01-30', '中村朱里', 'Nakamura Akari') BirthdayInsert('1992-01-31', '武藤水華', 'w:c:helloproject:Muto Mika|Muto Mika') BirthdayInsert('2001-02-02', '牧野真莉愛', 'w:c:helloproject:Makino Maria|Makino Maria') BirthdayInsert('1994-02-05', '中島早貴', 'w:c:helloproject:Nakajima Saki|Nakajima Saki') BirthdayInsert('1981-02-06', '戸田鈴音', 'w:c:helloproject:Toda Rinne|Toda Rinne') BirthdayInsert('1983-02-07', 'レフア・サンボ', 'w:c:helloproject:Lehua Sandbo|Lehua Sandbo') BirthdayInsert('1988-02-07', '加護亜依', 'Kago Ai') BirthdayInsert('1992-02-07', '矢島舞美', 'w:c:helloproject:Yajima Maimi|Yajima Maimi') BirthdayInsert('1996-02-07', '萩原舞', 'w:c:helloproject:Hagiwara Mai|Hagiwara Mai') BirthdayInsert('1999-02-07', '片岡未優', 'Kataoka Miyu') BirthdayInsert('1985-02-09', '深谷愛', 'w:c:helloproject:Fukaya Ai|Fukaya Ai') BirthdayInsert('2004-02-09', '為永幸音', 'w:c:helloproject:Tamenaga Shion|Tamenaga Shion') BirthdayInsert('1991-02-10', '曾德萍', 'w:c:helloproject:Ceng De Ping|Ceng De Ping') BirthdayInsert('2000-02-10', '野村みな美', 'w:c:helloproject:Nomura Minami|Nomura Minami') BirthdayInsert('2002-02-10', '小関舞', 'w:c:helloproject:Ozeki Mai|Ozeki Mai') BirthdayInsert('1997-02-11', '彩りりあ', 'Aya Riria') BirthdayInsert('1987-02-12', '斉藤美海', 'w:c:helloproject:Saito Miuna|Saito Miuna') BirthdayInsert('1977-02-15', '小湊美和', 'w:c:helloproject:Kominato Miwa|Kominato Miwa') BirthdayInsert('1989-02-15', '永井沙紀', 'w:c:helloproject:Nagai Saki|Nagai Saki') BirthdayInsert('1997-02-15', '朝倉みずほ', 'Asakura Mizuho') BirthdayInsert('1999-02-15', '尾形春水', 'w:c:helloproject:Ogata Haruna|Ogata Haruna') BirthdayInsert('2000-02-19', '森戸知沙希', 'w:c:helloproject:Morito Chisaki|Morito Chisaki') BirthdayInsert('1984-02-22', '柴田あゆみ', 'w:c:helloproject:Shibata Ayumi|Shibata Ayumi') BirthdayInsert('1989-02-22', '相原乃依', 'Aihara Noi') BirthdayInsert('2001-02-22', '横山玲奈', 'w:c:helloproject:Yokoyama Reina|Yokoyama Reina') BirthdayInsert('1982-02-25', '大谷雅恵', 'w:c:helloproject:Otani Masae|Otani Masae') BirthdayInsert('1999-02-25', '一岡怜奈', 'w:c:helloproject:Ichioka Reina|Ichioka Reina') BirthdayInsert('1980-02-26', '石井里佳', 'w:c:helloproject:Ishii Rika|Ishii Rika') BirthdayInsert('1985-02-26', '藤本美貴', 'Fujimoto Miki') BirthdayInsert('1999-02-26', '天羽るる', 'Amou Ruru') BirthdayInsert('2008-02-26', '松原ユリヤ', 'w:c:helloproject:Matsubara Yuriya|Matsubara Yuriya') BirthdayInsert('2004-02-28', '岡本帆乃花', 'w:c:helloproject:Okamoto Honoka|Okamoto Honoka') BirthdayInsert('1990-03-02', '秋山ありす', 'Akiyama Arisu') BirthdayInsert('1990-03-02', '跡部みぅ', 'Atobe Miu') BirthdayInsert('1982-03-02', '大木衣吹', 'w:c:helloproject:Oki Ibuki|Oki Ibuki') BirthdayInsert('1981-03-03', '村田めぐみ', 'w:c:helloproject:Murata Megumi|Murata Megumi') BirthdayInsert('1999-03-04', '藤井梨央', 'w:c:helloproject:Fujii Rio|Fujii Rio') BirthdayInsert('2004-03-05', '蛭田愛梨', 'Hiruta Airi') BirthdayInsert('1989-03-06', 'アリア・M・ミルヴァーナ', 'Aria M Milvana') BirthdayInsert('1990-03-06', '菅原佳奈枝', 'w:c:helloproject:Sugawara Kanae|Sugawara Kanae') BirthdayInsert('1992-03-06', '嗣永桃子', 'w:c:helloproject:Tsugunaga Momoko|Tsugunaga Momoko') BirthdayInsert('1997-03-07', '有馬えみり', 'Arima Emily') BirthdayInsert('2002-03-07', '羽賀朱音', 'w:c:helloproject:Haga Akane|Haga Akane') BirthdayInsert('1978-03-08', '荒井紗紀', 'w:c:helloproject:Arai Saki|Arai Saki') BirthdayInsert('1988-03-08', '天海つばさ', 'Amami Tsubasa') BirthdayInsert('1990-03-08', '藍川千佳', 'Aikawa Chika') BirthdayInsert('2001-03-08', '和田桜子', 'w:c:helloproject:Wada Sakurako|Wada Sakurako') BirthdayInsert('2005-03-08', '出頭杏奈', 'w:c:helloproject:Shutto Anna|Shutto Anna') BirthdayInsert('1992-03-09', '麻友美', 'Asa Tomomi') BirthdayInsert('1991-03-11', 'リンリン', 'w:c:helloproject:Linlin|Linlin') BirthdayInsert('1995-03-12', '福田花音', 'w:c:helloproject:Fukuda Kanon|Fukuda Kanon') BirthdayInsert('1999-03-12', '小田さくら', 'w:c:helloproject:Oda Sakura|Oda Sakura') BirthdayInsert('1974-03-13', '稲葉貴子', 'w:c:helloproject:Inaba Atsuko|Inaba Atsuko') BirthdayInsert('1999-03-14', '横川夢衣', 'w:c:helloproject:Yokogawa Yumei|Yokogawa Yumei') BirthdayInsert('1993-03-15', '岡田ロビン翔子', 'w:c:helloproject:Okada Robin Shoko|Okada Robin Shoko') BirthdayInsert('1999-03-15', '根本凪', 'Nemoto Nagi') BirthdayInsert('1999-03-16', '高瀬くるみ', 'w:c:helloproject:Takase Kurumi|Takase Kurumi') BirthdayInsert('1976-03-18', '本多ルル', 'w:c:helloproject:Honda Ruru|Honda Ruru') BirthdayInsert('2001-03-23', '安藤咲桜', 'Ando Sakura') BirthdayInsert('1987-03-24', '麻美ゆま', 'Asami Yuma') BirthdayInsert('1999-03-24', '荒川沙奈', 'Arakawa Sana') BirthdayInsert('1999-03-26', '相川茉穂', 'w:c:helloproject:Aikawa Maho|Aikawa Maho') BirthdayInsert('2000-03-27', '小川麗奈', 'w:c:helloproject:Ogawa Rena|Ogawa Rena') BirthdayInsert('1984-03-29', '里田まい', 'w:c:helloproject:Satoda Mai|Satoda Mai') BirthdayInsert('2003-03-29', '児玉咲子', 'w:c:helloproject:Kodama Sakiko|Kodama Sakiko') BirthdayInsert('1992-03-30', '七星ぐみ', 'Nanase Gumi') BirthdayInsert('1993-03-30', '96猫', '96neko') BirthdayInsert('1968-04-01', '渡部チェル', 'w:c:helloproject:Watanabe Cher|Watanabe Cher') BirthdayInsert('2000-04-01', '岸本ゆめの', 'w:c:helloproject:Kishimoto Yumeno|Kishimoto Yumeno') BirthdayInsert('1993-04-02', '秋田恵里', 'Akita Eri') BirthdayInsert('1994-04-02', '宮崎由加', 'w:c:helloproject:Miyazaki Yuka|Miyazaki Yuka') BirthdayInsert('1992-04-03', '中山菜々', 'w:c:helloproject:Nakayama Nana|Nakayama Nana') BirthdayInsert('1998-04-03', '大塚愛菜', 'w:c:helloproject:Otsuka Aina|Otsuka Aina') BirthdayInsert('1999-04-03', '浅川梨奈', 'Asakawa Nana') BirthdayInsert('1993-04-04', '赤木 彩香', 'Akagi Sayaka') BirthdayInsert('1994-04-04', '菅谷梨沙子', 'w:c:helloproject:Sugaya Risako|Sugaya Risako') BirthdayInsert('1979-04-06', '平家みちよ', 'w:c:helloproject:Heike Michiyo|Heike Michiyo') BirthdayInsert('1998-04-06', '勝田里奈', 'w:c:helloproject:Katsuta Rina|Katsuta Rina') BirthdayInsert('1998-04-10', '新井ひとみ', 'Arai Hitomi') BirthdayInsert('1991-04-11', '真野恵里菜', 'w:c:helloproject:Mano Erina|Mano Erina') BirthdayInsert('1992-04-11', '苺りなはむ', 'Ichigo Rinahamu') BirthdayInsert('1985-04-12', '吉澤ひとみ', 'w:c:helloproject:Yoshizawa Hitomi|Yoshizawa Hitomi') BirthdayInsert('1994-04-12', '鈴木愛理', 'w:c:helloproject:Suzuki Airi|Suzuki Airi') BirthdayInsert('1997-04-13', '板原有沙', 'ALISA') BirthdayInsert('1983-04-15', 'エイプリル・ババラン', 'w:c:helloproject:April Barbaran|April Barbaran') BirthdayInsert('1992-04-15', '須磨愛', 'w:c:helloproject:Suma Ai|Suma Ai') BirthdayInsert('1990-04-16', '青木英里奈', 'w:c:helloproject:Aoki Erina|Aoki Erina') BirthdayInsert('1992-04-16', '安斉奈緒美', 'Anzai Naomi') BirthdayInsert('2004-04-19', '佐藤光', 'w:c:helloproject:Sato Hikari|Sato Hikari') BirthdayInsert('1999-04-20', '坂本有香', 'Sakamoto Yuka') BirthdayInsert('2004-04-20', '石栗奏美', 'w:c:helloproject:Ishiguri Kanami|Ishiguri Kanami') BirthdayInsert('1994-04-21', '朝日奈央', 'Asahi Nao') BirthdayInsert('1997-04-21', '高木紗友希', 'w:c:helloproject:Takagi Sayuki|Takagi Sayuki') BirthdayInsert('1993-04-23', '尾野里紗', 'w:c:helloproject:Ono Risa|Ono Risa') BirthdayInsert('2004-04-23', '河野みのり', 'w:c:helloproject:Kawano Minori|Kawano Minori') BirthdayInsert('1993-04-24', '新矢皐月', 'Araya Satsuki') BirthdayInsert('1991-04-25', '田中杏里', 'w:c:helloproject:Tanaka Anri|Tanaka Anri') BirthdayInsert('1998-04-25', '荒井麻珠', 'Arai Maju') BirthdayInsert('2000-04-26', '浜浦彩乃', 'w:c:helloproject:Hamaura Ayano|Hamaura Ayano') BirthdayInsert('1983-04-28', '심순민', 'w:c:helloproject:Shim Soon Min|Shim Soon Min') BirthdayInsert('1992-04-28', '橋田三令', 'w:c:helloproject:Hashida Mirei|Hashida Mirei') BirthdayInsert('2001-04-28', '竹村未羽', 'w:c:helloproject:Takemura Miu|Takemura Miu') BirthdayInsert('1991-04-29', '大瀬楓', 'w:c:helloproject:Ose Kaede|Ose Kaede') BirthdayInsert('2003-04-29', '吉田真理恵', 'w:c:helloproject:Yoshida Marie|Yoshida Marie') BirthdayInsert('1991-04-30', '仙石みなみ', 'w:c:helloproject:Sengoku Minami|Sengoku Minami') BirthdayInsert('2004-04-30', '米村姫良々', 'w:c:helloproject:Yonemura Kirara|Yonemura Kirara') BirthdayInsert('1992-05-01', '吉川友', 'w:c:helloproject:Kikkawa Yuu|Kikkawa Yuu') BirthdayInsert('1993-05-04', '赤松美音', 'Akamatsu Mion') BirthdayInsert('1987-05-07', '紺野あさ美', 'w:c:helloproject:Konno Asami|Konno Asami') BirthdayInsert('1997-05-07', '前田彩里', 'w:c:helloproject:Maeda Irori|Maeda Irori') BirthdayInsert('1999-05-07', '佐藤優樹', 'w:c:helloproject:Sato Masaki|Sato Masaki') BirthdayInsert('2001-05-07', '段原瑠々', 'w:c:helloproject:Dambara Ruru|Dambara Ruru') BirthdayInsert('2002-05-10', '船木結', 'w:c:helloproject:Funaki Musubu|Funaki Musubu') BirthdayInsert('1978-05-12', '石黒彩', 'w:c:helloproject:Ishiguro Aya|Ishiguro Aya') BirthdayInsert('1999-05-13', '小林アサヒ', 'Kobayashi Asahi') BirthdayInsert('1996-05-14', '岡井明日菜', 'w:c:helloproject:Okai Asuna|Okai Asuna') BirthdayInsert('1998-05-14', '堀江葵月', 'w:c:helloproject:Horie Kizuki|Horie Kizuki') BirthdayInsert('1996-05-15', '青山吉能', 'Aoyama Yoshimo') BirthdayInsert('1995-05-15', '山賀香菜恵', 'w:c:helloproject:Yamaga Kanae|Yamaga Kanae') BirthdayInsert('1972-05-18', '信田美帆', 'w:c:helloproject:Shinoda Miho|Shinoda Miho') BirthdayInsert('1992-05-22', '徳永千奈美', 'w:c:helloproject:Tokunaga Chinami|Tokunaga Chinami') BirthdayInsert('2002-05-23', '大和明桜', 'Yamato Ao') BirthdayInsert('1991-05-24', '梅田えりか', 'w:c:helloproject:Umeda Erika|Umeda Erika') BirthdayInsert('1992-05-25', '愛沢美奈', 'Aizawa Mina (Alice Project)') BirthdayInsert('2002-05-25', '山崎夏菜', 'Yamasaki Nana') BirthdayInsert('1984-05-28', 'ミカ・タレッサ・トッド', 'w:c:helloproject:Mika Todd|Mika Todd') BirthdayInsert('1998-05-28', '鞘師里保', 'w:c:helloproject:Sayashi Riho|Sayashi Riho') BirthdayInsert('1958-05-28', '相本久美子', 'Aimoto Kumiko') BirthdayInsert('2001-05-28', '佐々木莉佳子', 'w:c:helloproject:Sasaki Rikako|Sasaki Rikako') BirthdayInsert('1994-05-29', '瀬崎あずさ', 'w:c:helloproject:Sezaki Azusa|Sezaki Azusa') BirthdayInsert('1999-05-31', '島野萌々子', 'w:c:helloproject:Shimano Momoko|Shimano Momoko') BirthdayInsert('1998-06-01', '長谷川芹奈', 'Hasegawa Serina') BirthdayInsert('1997-06-04', '中西香菜', 'w:c:helloproject:Nakanishi Kana|Nakanishi Kana') BirthdayInsert('1992-06-05', '古川小夏', 'w:c:helloproject:Furukawa Konatsu|Furukawa Konatsu') BirthdayInsert('1992-06-06', '村上愛', 'w:c:helloproject:Murakami Megumi|Murakami Megumi') BirthdayInsert('2003-06-07', '西田汐里', 'w:c:helloproject:Nishida Shiori|Nishida Shiori') BirthdayInsert('1995-06-08', '佐保明梨', 'w:c:helloproject:Saho Akari|Saho Akari') BirthdayInsert('1998-06-08', '古賀かれん', 'Koga Karen') BirthdayInsert('1999-06-08', 'ありさ', 'Arisa') BirthdayInsert('1993-06-12', '後藤夕貴', 'w:c:helloproject:Goto Yuki|Goto Yuki') BirthdayInsert('1998-06-12', '室田瑞希', 'w:c:helloproject:Murota Mizuki|Murota Mizuki') BirthdayInsert('1991-06-14', '大桃子サンライズ', 'Omomoko Sunrise') BirthdayInsert('1996-06-14', '関根梓', 'w:c:helloproject:Sekine Azusa|Sekine Azusa') BirthdayInsert('1993-06-15', '有原栞菜', 'w:c:helloproject:Arihara Kanna|Arihara Kanna') BirthdayInsert('2003-06-16', '山本莉唯', 'Yamamoto Rio (Niji no Conquistador)|Yamamoto Rio') BirthdayInsert('1987-06-17', '辻希美', 'Tsuji Nozomi') BirthdayInsert('1973-06-19', '中澤裕子', 'Nakazawa Yuko') BirthdayInsert('1994-06-21', '岡井千聖', 'w:c:helloproject:Okai Chisato|Okai Chisato') BirthdayInsert('1993-06-22', '西念未彩', 'w:c:helloproject:Sainen Mia|Sainen Mia') BirthdayInsert('1998-06-22', '新木こころ', 'Araki Kokoro') BirthdayInsert('1991-06-23', '絢瀬かのん', 'Ayase Kanon') BirthdayInsert('2002-06-23', '前田こころ', 'w:c:helloproject:Maeda Kokoro|Maeda Kokoro') BirthdayInsert('1978-06-24', 'CHINO', 'w:c:helloproject:CHINO|CHINO') BirthdayInsert('1996-06-24', '山邊未夢', 'Yamabe Miyu') BirthdayInsert('1999-06-24', '吉村リナ', 'Yoshimura Rina') BirthdayInsert('2000-06-24', '島村嬉唄', 'w:c:helloproject:Shimamura Uta|Shimamura Uta') BirthdayInsert('1986-06-25', '松浦亜弥', 'w:c:helloproject:Matsuura Aya|Matsuura Aya') BirthdayInsert('1994-06-25', '麻倉もも', 'Asakura Momo') BirthdayInsert('1992-06-26', '秋本麗奈', 'Akimoto Reina') BirthdayInsert('1994-06-27', '古峰桃香', 'w:c:helloproject:Komine Momoka|Komine Momoka') BirthdayInsert('1997-06-28', '中江友梨', 'Nakae Yuri') BirthdayInsert('2003-06-28', '橋本桃呼', 'w:c:helloproject:Hashimoto Momoko|Hashimoto Momoko') BirthdayInsert('2005-06-28', '山﨑愛生', 'w:c:helloproject:Yamazaki Mei|Yamazaki Mei') BirthdayInsert('2004-06-29', '北川亮', 'w:c:helloproject:Kitagawa Ryo|Kitagawa Ryo')

BirthdayInsert('1997-07-01', '金子りえ', 'w:c:helloproject:Kaneko Rie|Kaneko Rie') BirthdayInsert('1995-07-02', '金澤朋子', 'w:c:helloproject:Kanazawa Tomoko|Kanazawa Tomoko') BirthdayInsert('1997-07-02', '庄司芽梨', 'Shoji Mei') BirthdayInsert('1968-07-03', '浅倉亜季', 'Asakura Aki') BirthdayInsert('1992-07-03', '須藤茉麻', 'w:c:helloproject:Sudo Maasa|Sudo Maasa') BirthdayInsert('1997-07-03', '橋本渚', 'w:c:helloproject:Hashimoto Nagisa|Hashimoto Nagisa') BirthdayInsert('1990-07-04', '矢口めぐみ', 'w:c:helloproject:Yaguchi Megumi|Yaguchi Megumi') BirthdayInsert('1965-07-05', '小西貴雄', 'w:c:helloproject:Konishi Takao|Konishi Takao') BirthdayInsert('1997-07-07', '生田衣梨奈', 'w:c:helloproject:Ikuta Erina|Ikuta Erina') BirthdayInsert('1999-07-07', '川村文乃', 'w:c:helloproject:Kawamura Ayano|Kawamura Ayano') BirthdayInsert('2005-07-07', '松永里愛', 'w:c:helloproject:Matsunaga Riai|Matsunaga Riai') BirthdayInsert('1994-07-10', '天使もえ', 'Amatsuka Moe') BirthdayInsert('1985-07-11', '藤咲裕美', 'w:c:helloproject:Fujisaki Hiromi|Fujisaki Hiromi') BirthdayInsert('1997-07-12', '杏野なつ', 'Anno Natsu') BirthdayInsert('1989-07-13', '道重さゆみ', 'Michishige Sayumi') BirthdayInsert('1991-07-13', '小倉愛実', 'w:c:helloproject:Ogura Manami|Ogura Manami') BirthdayInsert('1992-07-15', '久住小春', 'Kusumi Koharu') BirthdayInsert('2005-07-15', '山田苺', 'w:c:helloproject:Yamada Ichigo|Yamada Ichigo') BirthdayInsert('1994-07-16', '茜屋日海夏', 'Akaneya Himika') BirthdayInsert('1984-07-17', '木村麻美', 'w:c:helloproject:Kimura Asami|Kimura Asami') BirthdayInsert('2001-07-17', '井上玲音', 'w:c:helloproject:Inoue Rei|Inoue Rei') BirthdayInsert('1988-07-18', '金子沙織', 'Kaneko Saori') BirthdayInsert('2000-07-21', '田口夏実', 'w:c:helloproject:Taguchi Natsumi|Taguchi Natsumi') BirthdayInsert('1980-07-22', '北上アミ', 'w:c:helloproject:Kitagami Ami|Kitagami Ami') BirthdayInsert('1989-07-23', '鍾安琪', 'w:c:helloproject:Zhong An Qi|Zhong An Qi') BirthdayInsert('2004-07-23', '窪田七海', 'w:c:helloproject:Kubota Nanami|Kubota Nanami') BirthdayInsert('1998-07-25', '褒城好美', 'Houjou Konomi') BirthdayInsert('1994-07-27', '朝倉彩花', 'Asakura Ayaka') BirthdayInsert('1998-07-27', '隈本茉莉奈', 'Kumamoto Marina') BirthdayInsert('1998-07-28', '岡村里星', 'w:c:helloproject:Okamura Rise|Okamura Rise') BirthdayInsert('2002-07-29', '秋山眞緒', 'w:c:helloproject:Akiyama Mao|Akiyama Mao') BirthdayInsert('2002-07-29', '阿部夢梨', 'Abe Yumeri') BirthdayInsert('1994-08-01', '和田彩花', 'w:c:helloproject:Wada Ayaka|Wada Ayaka') BirthdayInsert('2003-08-01', '江口紗耶', 'w:c:helloproject:Eguchi Saya|Eguchi Saya') BirthdayInsert('1993-08-03', '熊井友理奈', 'w:c:helloproject:Kumai Yurina|Kumai Yurina') BirthdayInsert('1993-08-03', '雨宮伊織', 'Amamiya Iori') BirthdayInsert('1999-08-04', '広瀬彩海', 'w:c:helloproject:Hirose Ayaka|Hirose Ayaka') BirthdayInsert('1998-08-05', '鈴木香音', 'w:c:helloproject:Suzuki Kanon|Suzuki Kanon') BirthdayInsert('1967-08-06', '湯浅公一', 'w:c:helloproject:Yuasa Koichi|Yuasa Koichi') BirthdayInsert('1990-08-06', '麻生夏子', 'Aso Natsuko') BirthdayInsert('1981-08-08', '飯田圭織', 'Iida Kaori') BirthdayInsert('2000-08-08', '岡田彩夢', 'Okada Ayame') BirthdayInsert('1981-08-10', '安倍なつみ', 'Abe Natsumi') BirthdayInsert('1993-08-12', '天野なつ', 'Amano Natsu') BirthdayInsert('2001-08-12', 'なつ', 'Asakura Natsu') BirthdayInsert('1979-08-14', '三佳千夏', 'w:c:helloproject:Miyoshi Chinatsu|Miyoshi Chinatsu') BirthdayInsert('1993-08-15', 'あやみ旬果', 'Ayami Shunka') BirthdayInsert('2000-08-16', '小林萌花', 'w:c:helloproject:Kobayashi Honoka|Kobayashi Honoka') BirthdayInsert('1955-08-20', 'アグネス・チャン', 'Agnes Chan') BirthdayInsert('2000-08-20', '島倉りか', 'w:c:helloproject:Shimakura Rika|Shimakura Rika') BirthdayInsert('1994-08-21', '新城ひめり', 'Araki Himeri') BirthdayInsert('1980-08-21', '相沢舞', 'Aizawa Mai') BirthdayInsert('1992-08-23', '安堂栞那', 'Ando Kanna') BirthdayInsert('1992-08-25', '夏焼雅', 'w:c:helloproject:Natsuyaki Miyabi|Natsuyaki Miyabi') BirthdayInsert('1995-08-25', 'Airi', 'Airi (elfloat)') BirthdayInsert('1986-08-26', '川島幸', 'w:c:helloproject:Kawashima Miyuki|Kawashima Miyuki') BirthdayInsert('2001-08-26', '斎藤夏奈', 'w:c:helloproject:Saito Kana|Saito Kana') BirthdayInsert('1979-08-28', '前田有紀', 'w:c:helloproject:Maeda Yuki|Maeda Yuki') BirthdayInsert('1992-08-28', '趙國蓉', 'w:c:helloproject:Zhao Guo Rong|Zhao Guo Rong') BirthdayInsert('1993-08-28', '雨宮天', 'Amamiya Sora') BirthdayInsert('1993-08-28', '甘夏ゆず', 'Amanatsu Yuzu') BirthdayInsert('1998-08-28', '三瓶海南', 'w:c:helloproject:Mikame Kana|Mikame Kana') BirthdayInsert('1999-08-29', '真城佳奈', 'w:c:helloproject:Mashiro Kana|Mashiro Kana') BirthdayInsert('2001-08-29', '野口胡桃', 'w:c:helloproject:Noguchi Kurumi|Noguchi Kurumi') BirthdayInsert('2000-08-31', '井上ひかる', 'w:c:helloproject:Inoue Hikaru|Inoue Hikaru') BirthdayInsert('1961-08-31', '杏里', 'ANRI') BirthdayInsert('2003-08-31', '後藤咲香', 'w:c:helloproject:Goto Sayaka|Goto Sayaka') BirthdayInsert('1996-09-01', '青田 浩子', 'Aota Hiroko') BirthdayInsert('2004-09-01', '土居麗菜', 'w:c:helloproject:Doi Rena|Doi Rena') BirthdayInsert('2000-09-03', '浅倉樹々', 'w:c:helloproject:Asakura Kiki|Asakura Kiki') BirthdayInsert('1990-09-05', '阿部麻美', 'w:c:helloproject:Abe Asami (SI☆NA)|Abe Asami') BirthdayInsert('1990-09-05', '相坂優歌', 'Aisaka Yuuka') BirthdayInsert('1993-09-05', '秋波愛', 'Akinami Ai') BirthdayInsert('2001-09-05', '仲野りおん', 'w:c:helloproject:Nakano Rion|Nakano Rion') BirthdayInsert('1983-09-06', 'ダニエル・デラウニー', 'w:c:helloproject:Danielle Delaunay|Danielle Delaunay') BirthdayInsert('1996-09-06', '木沢留那', 'w:c:helloproject:Kizawa Runa|Kizawa Runa') BirthdayInsert('1996-09-09', '秋元瑠海', 'Akimoto Ruuna') BirthdayInsert('2000-09-10', '大浦央菜', 'w:c:helloproject:Oura Hirona|Oura Hirona') BirthdayInsert('1989-09-12', '有沢みはる', 'Arisawa Miharu') BirthdayInsert('1999-09-12', '吉田真悠', 'Yoshida Mayu') BirthdayInsert('1986-09-14', '高橋愛', 'w:c:helloproject:Takahashi Ai|Takahashi Ai') BirthdayInsert('1999-09-14', '足立佳奈', 'Adachi Kana') BirthdayInsert('1995-09-19', '장다연', 'w:c:helloproject:Jang Da Yeon|Jang Da Yeon') BirthdayInsert('1997-09-20', '安室奈美恵', 'Amuro Namie') BirthdayInsert('1996-09-22', '安藤直', 'Ando Nao') BirthdayInsert('1999-09-22', '吉橋くるみ', 'w:c:helloproject:Yoshihashi Kurumi|Yoshihashi Kurumi') BirthdayInsert('2000-09-22', '里吉うたの', 'w:c:helloproject:Satoyoshi Utano|Satoyoshi Utano') BirthdayInsert('1985-09-23', '後藤真希', 'Goto Maki') BirthdayInsert('1994-09-25', '荒井レイラ', 'Arai Reira') BirthdayInsert('1997-09-26', '安藤ゆず', 'Ando Yuzu') BirthdayInsert('1982-09-26', 'チェルシー・チン', 'w:c:helloproject:Chelsea Ching|Chelsea Ching') BirthdayInsert('1994-09-28', 'アキラ', 'Akira (BILLIE IDLE®)') BirthdayInsert('2004-09-28', '工藤由愛', 'w:c:helloproject:Kudo Yume|Kudo Yume') BirthdayInsert('2000-09-29', '小野瑞歩', 'w:c:helloproject:Ono Mizuho|Ono Mizuho') BirthdayInsert('1992-10-03', '橋本愛奈', 'w:c:helloproject:Hashimoto Aina|Hashimoto Aina') BirthdayInsert('2005-10-06', '橋迫鈴', 'w:c:helloproject:Hashisako Rin|Hashisako Rin') BirthdayInsert('1999-10-07', '野中美希', 'w:c:helloproject:Nonaka Miki|Nonaka Miki') BirthdayInsert('1999-10-07', '亜咲花', 'Asaka') BirthdayInsert('2002-10-07', '小野琴己', 'w:c:helloproject:Ono Kotomi|Ono Kotomi') BirthdayInsert('2002-10-09', '金津美月', 'w:c:helloproject:Kanatsu Mizuki|Kanatsu Mizuki') BirthdayInsert('1963-10-12', 'ダンス☆マン', 'w:c:helloproject:DANCE☆MAN|DANCE☆MAN') BirthdayInsert('1992-10-12', '大柳まほ', 'w:c:helloproject:Ooyanagi Maho|Ooyanagi Maho') BirthdayInsert('1993-10-12', '森咲樹', 'w:c:helloproject:Mori Saki|Mori Saki') BirthdayInsert('2001-10-12', '唐沢風花', 'Karasawa Fuka') BirthdayInsert('1997-10-14', '山木梨沙', 'w:c:helloproject:Yamaki Risa|Yamaki Risa') BirthdayInsert('1988-10-15', 'アヤミ・チェルシー・スノウ', 'Ayami Cherchy Snow') BirthdayInsert('1993-10-16', '荒川優那', 'Arakawa Yuuna') BirthdayInsert('1995-10-16', '天木じゅん', 'Amaki Jun') BirthdayInsert('1995-10-16', '彩井まも', 'Ayai Mamo') BirthdayInsert('1989-10-17', '涼川ましろ', 'Suzukawa Mashiro') BirthdayInsert('1979-10-19', '柳原尋美', 'w:c:helloproject:Yanagihara Hiromi|Yanagihara Hiromi') BirthdayInsert('1992-10-19', '秋山ゆりか', 'w:c:helloproject:Akiyama Yurika|Akiyama Yurika') BirthdayInsert('1993-10-19', '湯徳歩美', 'w:c:helloproject:Yutoku Ayumi|Yutoku Ayumi') BirthdayInsert('1988-10-20', '新垣里沙', 'Niigaki Risa') BirthdayInsert('1999-10-20', '新沼希空', 'w:c:helloproject:Niinuma Kisora|Niinuma Kisora') BirthdayInsert('2004-10-20', '岡村美波', 'w:c:helloproject:Okamura Minami|Okamura Minami') BirthdayInsert('2003-10-21', '太田遥香', 'w:c:helloproject:Ota Haruka|Ota Haruka') BirthdayInsert('2003-10-22', '笠原桃奈', 'w:c:helloproject:Kasahara Momona|Kasahara Momona') BirthdayInsert('1980-10-23', '末永真己', 'w:c:helloproject:Suenaga Mami|Suenaga Mami') BirthdayInsert('1999-10-24', '上國料萌衣', 'w:c:helloproject:Kamikokuryo Moe|Kamikokuryo Moe') BirthdayInsert('1991-10-25', '愛川こずえ', 'Aikawa Kozue') BirthdayInsert('1999-10-27', '工藤遥', 'w:c:helloproject:Kudo Haruka|Kudo Haruka') BirthdayInsert('2002-10-28', '斉藤円香', 'w:c:helloproject:Saito Madoka|Saito Madoka') BirthdayInsert('1968-10-29', 'つんく', 'w:c:helloproject:Tsunku|Tsunku') BirthdayInsert('1987-10-29', '小川麻琴', 'w:c:helloproject:Ogawa Makoto|Ogawa Makoto') BirthdayInsert('1981-10-30', '木村絢香', 'w:c:helloproject:Kimura Ayaka|Kimura Ayaka') BirthdayInsert('1996-10-30', '譜久村聖', 'w:c:helloproject:Fukumura Mizuki|Fukumura Mizuki') BirthdayInsert('1998-10-30', '田村芽実', 'w:c:helloproject:Tamura Meimi|Tamura Meimi') BirthdayInsert('1998-10-30', '池田菜々', 'Ikeda Nana') BirthdayInsert('1981-10-31', '斉藤瞳', 'w:c:helloproject:Saito Hitomi|Saito Hitomi') BirthdayInsert('1989-11-01', '諸塚香奈実', 'w:c:helloproject:Morozuka Kanami|Morozuka Kanami') BirthdayInsert('1985-11-04', '是永美記', 'w:c:helloproject:Korenaga Miki|Korenaga Miki') BirthdayInsert('2003-11-04', '麻生真彩', 'Aso Maaya') BirthdayInsert('1998-11-05', '小片リサ', 'w:c:helloproject:Ogata Risa|Ogata Risa') BirthdayInsert('2002-11-05', '山﨑夢羽', 'w:c:helloproject:Yamazaki Yuhane|Yamazaki Yuhane') BirthdayInsert('2001-11-06', 'AIRI', 'AIRI (Devil ANTHEM)') BirthdayInsert('1994-11-07', '飯窪春菜', 'w:c:helloproject:Iikubo Haruna|Iikubo Haruna') BirthdayInsert('1984-11-08', '三好絵梨香', 'w:c:helloproject:Miyoshi Erika|Miyoshi Erika') BirthdayInsert('1996-11-08', '長澤和奏', 'w:c:helloproject:Nagasawa Wakana|Nagasawa Wakana') BirthdayInsert('1999-11-10', '田辺奈菜美', 'w:c:helloproject:Tanabe Nanami|Tanabe Nanami') BirthdayInsert('2004-11-10', '楠萌生', 'w:c:helloproject:Kusunoki Mei|Kusunoki Mei') BirthdayInsert('1983-11-11', '蒼井そら', 'Aoi Sola') BirthdayInsert('1989-11-11', '田中れいな', 'w:c:helloproject:Tanaka Reina|Tanaka Reina') BirthdayInsert('1978-11-14', '宅見将典', 'w:c:helloproject:Takumi Masanori|Takumi Masanori') BirthdayInsert('1996-11-14', '新木さくら', 'Araki Sakura') BirthdayInsert('1997-11-15', '秋本帆華', 'Akimoto Honoka') BirthdayInsert('1995-11-16', '浅川美咲', 'Asakawa Misaki') BirthdayInsert('1999-11-16', '谷本安美', 'w:c:helloproject:Tanimoto Ami|Tanimoto Ami') BirthdayInsert('1996-11-18', '小川紗季', 'w:c:helloproject:Ogawa Saki|Ogawa Saki') BirthdayInsert('1997-11-19', '新井愛瞳', 'w:c:helloproject:Arai Manami|Arai Manami') BirthdayInsert('1997-11-19', '小数賀芙由香', 'w:c:helloproject:Kosuga Fuyuka|Kosuga Fuyuka') BirthdayInsert('1992-11-20', '石村舞波', 'w:c:helloproject:Ishimura Maiha|Ishimura Maiha') BirthdayInsert('1975-11-22', '柳井愛子', 'aiko') BirthdayInsert('1991-11-22', '清水佐紀', 'w:c:helloproject:Shimizu Saki|Shimizu Saki') BirthdayInsert('1997-11-23', '竹内朱莉', 'w:c:helloproject:Takeuchi Akari|Takeuchi Akari') BirthdayInsert('1994-11-24', '逢月ひな', 'Aizuki Hina') BirthdayInsert('1998-11-24', '山岸理子', 'w:c:helloproject:Yamagishi Riko|Yamagishi Riko') BirthdayInsert('1991-11-25', '澤田由梨', 'w:c:helloproject:Sawada Yuri|Sawada Yuri') BirthdayInsert('1993-11-29', '北原沙弥香', 'w:c:helloproject:Kitahara Sayaka|Kitahara Sayaka') BirthdayInsert('1988-11-30', '藍井エイル', 'Aoi Eir') BirthdayInsert('1999-11-30', '加賀楓', 'w:c:helloproject:Kaga Kaede|Kaga Kaede') BirthdayInsert('1998-12-01', '宮本佳林', 'Miyamoto Karin') BirthdayInsert('1996-12-03', '天川宇宙', 'Amagawa Uchu') BirthdayInsert('1996-12-05', '鶴見萌', 'Tsurumi Moe') BirthdayInsert('2000-12-05', '福本まなか', 'Fukumoto Manaka') BirthdayInsert('1980-12-06', '保田圭', 'w:c:helloproject:Yasuda Kei|Yasuda Kei') BirthdayInsert('1999-12-11', '平井美葉', 'w:c:helloproject:Hirai Miyo|Hirai Miyo') BirthdayInsert('1994-12-13', '綾瀬麗奈', 'Ayase Reina') BirthdayInsert('2003-12-14', '瞳', 'Akira (PREDIANNA)') BirthdayInsert('1996-12-14', '古筠', 'w:c:helloproject:Gu Yun|Gu Yun') BirthdayInsert('1997-12-15', '小西彩乃', 'Konishi Ayano') BirthdayInsert('1984-12-17', '福田明日香', 'w:c:helloproject:Fukuda Asuka|Fukuda Asuka') BirthdayInsert('1989-12-17', '岩嶋雅奈未', 'w:c:helloproject:Iwashima Manami|Iwashima Manami') BirthdayInsert('2001-12-17', '小野田紗栞', 'w:c:helloproject:Onoda Saori|Onoda Saori') BirthdayInsert('2002-12-17', '日比麻里那', 'w:c:helloproject:Hibi Marina|Hibi Marina') BirthdayInsert('1987-12-18', '絢香', 'Ayaka') BirthdayInsert('1997-12-18', '金子理江', 'Kaneko Rie') BirthdayInsert('2002-12-21', '藍愛子', 'w:c:helloproject:Lan Ai Zi|Lan Ai Zi') BirthdayInsert('2004-12-22', '清野桃々姫', 'w:c:helloproject:Kiyono Momohime|Kiyono Momohime') BirthdayInsert('1990-12-23', '芦田万莉恵', 'Ashida Marie') BirthdayInsert('1988-12-23', '亀井絵里', 'w:c:helloproject:Kamei Eri|Kamei Eri') BirthdayInsert('1997-12-24', '田中可恋', 'w:c:helloproject:Tanaka Karen|Tanaka Karen') BirthdayInsert('1999-12-24', '相原まり', 'Aihara Mari') BirthdayInsert('2000-12-25', '浅野杏奈', 'Asano Anna') BirthdayInsert('1991-12-25', '愛美', 'Aimi') BirthdayInsert('1988-12-26', '能登有沙', 'w:c:helloproject:Noto Arisa|Noto Arisa') BirthdayInsert('1997-12-27', '稲場愛香', 'w:c:helloproject:Inaba Manaka|Inaba Manaka') BirthdayInsert('2000-12-27', '吳兆絃', 'w:c:helloproject:Wu Zhao Xian|Wu Zhao Xian') BirthdayInsert('1994-12-27', 'アイナ・ジ・エンド', 'Aina The End') BirthdayInsert('1987-12-28', '岡田唯', 'w:c:helloproject:Okada Yui|Okada Yui') BirthdayInsert('1994-12-28', '前田憂佳', 'w:c:helloproject:Maeda Yuuka|Maeda Yuuka') BirthdayInsert('1998-12-30', '植村あかり', 'w:c:helloproject:Uemura Akari|Uemura Akari') BirthdayInsert('2000-12-30', '的場華鈴', 'Matoba Karin') BirthdayInsert('1983-12-31', '市井紗耶香', 'w:c:helloproject:Ichii Sayaka|Ichii Sayaka') BirthdayInsert('1989-12-31', 'AKINO', 'AKINO') function Ordinal(anumber) if anumber % 10 == 1 then return anumber .. "st" elseif anumber % 10 == 2 then if anumber%100==12 then return anumber .. "th" else return anumber .. "nd" end elseif anumber % 10 == 3 then if anumber%100==13 then return anumber .. "th" else return anumber .. "rd" end else return anumber .. "th" end end function WhichBirthday(yyyymmdd) --Just rounds to which age is nearest. For standard uses of looking forward a week, it does the trick. _, _, y, m, d = string.find(yyyymmdd, "(%d%d%d%d)-(%d%d)-(%d%d)") difference = os.time - os.time{year=y, month=m, day=d} difference = difference / 31555008 difference = math.floor(difference+0.5) --Rounding return Ordinal(difference) end function WhereDayXStarts(mmdd) i = 0 repeat i=i+1 until string.sub( D[i], 6, 10 ) >= mmdd or i == table.getn(D) if string.sub(D[i], 6, 10) < mmdd then i = 1 end --If we've gone all the way and found squat, stick to the beginning. return i --.. " " .. string.sub( D[i], 6, 10 ) .. " >= " .. mmdd .. " or i == " .. table.getn(D) end function WhereDayXEnds(mmdd) _, _, m, d = string.find(mmdd, "(%d%d)-(%d%d)") if d+1 < 10 then nextday = m .. "-0" .. d+1 --Needs zero padded else nextday = m .. "-" .. d+1 --Even if this date isnt' real, it should work as a point of comparison end if nextday=="12-32" then return table.getn(D) -- As long as things are properly ordered, the table ends with the end of the year. else thisdaybegins = WhereDayXStarts(mmdd) itbegins = WhereDayXStarts(nextday) if(thisdaybegins==itbegins) then --Next day starts no later than today, so no need to subtract 1. ThenWhereDayXEnds = itbegins else ThenWhereDayXEnds = itbegins - 1 --Just before where the next day starts, see. if ThenWhereDayXEnds == 0 then ThenWhereDayXEnds = table.getn(D) end --Again if the very beginning is "after", the end is... the end. end return ThenWhereDayXEnds end end function p.upcoming(frame) num_days = tonumber(frame.args.days or 7) num_min = tonumber(frame.args.min or 2) starting = frame.args.starting or os.date("%m-%d",os.time+32400) ending = os.date("%m-%d", os.time{year=2001, month=string.sub(starting,1,2), day=string.sub(starting,4,5)}+86400*(num_days-1)) STARTBEGINS = WhereDayXStarts(starting) ENDENDS = WhereDayXEnds(ending) LISTEND = table.getn(D) --output = "starting: " .. starting .. " ending: " .. ending .. " STARTBEGINS: " .. STARTBEGINS .. " ENDENDS: " .. ENDENDS .. " LISTEND: " .. LISTEND startread2 = 0 endread2 = -1 if ENDENDS>=STARTBEGINS then if (ENDENDS-STARTBEGINS+1) >= num_min then --Is Y greater than X and Y-X>=Min? Fantastic! Read from spots X through Y.           --output = output .. " CASE 1 " startread1 = STARTBEGINS endread1 = ENDENDS startread2 = 0 elseif (LISTEND-STARTBEGINS+1) >= num_min then --Is Y greater than X, Y-X=Min? OK, find what date X+Min is, find where that date ends, call it Y. Read from spots X through Y.           --output = output .. " CASE 2 " ending = string.sub(D[STARTBEGINS+num_min-1], 6, 10 ) --mm-dd for minimum spot ENDENDS = WhereDayXEnds(ending) startread1 = STARTBEGINS endread1 = ENDENDS else --Need more to hit minimum, rest of list isn't enough. Need to check beginning of list for end of minimum and read those too. --output = output .. " CASE 3 " ending = string.sub(D[num_min-(LISTEND-STARTBEGINS+1)], 6, 10 ) --mm-dd for minimum spot ENDENDS = WhereDayXEnds(ending) startread1 = STARTBEGINS endread1 = LISTEND startread2 = 1 endread2 = ENDENDS end else if (LISTEND-STARTBEGINS+ENDENDS) >= num_min then --Is Y less than X and (End-X+Y)>=Min? Read from spots X through End, then 1 through Y.           --output = output .. " CASE 4 " startread1 = STARTBEGINS endread1 = LISTEND startread2 = 1 endread2 = ENDENDS else --Is Y less than X, (End-X+Y)<Min? OK, find what date (Min-End-X) is, find where that date ends, call it Y. Read from spots X through End, then 1 through Y.           --Very similar to an earlier case, except this time Y has already looped. Calculations should remain the same, though. --output = output .. " CASE 5 " ending = string.sub(D[num_min-(LISTEND-STARTBEGINS+1)], 6, 10 ) --mm-dd for minimum spot ENDENDS = WhereDayXEnds(ending) startread1 = STARTBEGINS endread1 = LISTEND startread2 = 1 endread2 = ENDENDS end end --output = output .. " ending: " .. ending .. " ENDENDS: " .. ENDENDS --output = output.. " startread1: " .. startread1 .. " " .. T[startread1] .. " endread1: " .. endread1 .. " " .. T[endread1] .. " startread2: " .. startread2 .. " endread2: " .. endread2 .. "\n" lastday = 0 output = "" --First read group i = startread1 while i<= endread1 do       thisday = string.sub( D[i], 6, 10 ) if thisday ~= lastday then --It's a new day, something should be written. output = output .. ";" .. os.date("%B %e", os.time{year=2001, month=string.sub(D[i],6,7), day=string.sub(D[i],9,10)}) .. ", "           if thisday==starting then output = output .. "Happy Birthday!" else output = output .. "Coming Soon" end output = output .. "\n" end output = output .. ":" .. T[i] .. " (" .. WhichBirthday(D[i]) .. ")\n" lastday = thisday i=i+1 end --Second read group i = startread2 while i<= endread2 do       thisday = string.sub( D[i], 6, 10 ) if thisday ~= lastday then --It's a new day, something should be written. output = output .. ";" .. os.date("%B %e", os.time{year=2001, month=string.sub(D[i],6,7), day=string.sub(D[i],9,10)}) .. ", "           if thisday==starting then output = output .. "Happy Birthday!" else output = output .. "Coming Soon" end output = output .. "\n" end output = output .. ":" .. T[i] .. " (" .. WhichBirthday(D[i]) .. ")\n" lastday = thisday i=i+1 end return output -- .. " " .. os.clock end function p.year(frame) year = frame.args[1] or 1982 lastday = 0 output = "" for i=1, table.getn(D), 1 do       if string.sub(D[i],1,4) == year then thisday = string.sub( D[i], 6, 10 ) if thisday ~= lastday then output = output .. ";" .. os.date("%B %e", os.time{year=2001, month=string.sub(D[i],6,7), day=string.sub(D[i],9,10)}) .. "\n" end output = output .. ":" .. T[i] .. "\n" lastday = thisday end end return output end function p.month(frame) month = frame.args[1] or 1 if month == '1' or month == '01' then starting='01-01' ending='02-01' elseif month == '2' or month == '02' then starting='02-01' ending='03-01' elseif month == '3' or month == '03' then starting='03-01' ending='04-01' elseif month == '4' or month == '04' then starting='04-01' ending='05-01' elseif month == '5' or month == '05' then starting='05-01' ending='06-01' elseif month == '6' or month == '06' then starting='06-01' ending='07-01' elseif month == '7' or month == '07' then starting='07-01' ending='08-01' elseif month == '8' or month == '08' then starting='08-01' ending='09-01' elseif month == '9' or month == '09' then starting='09-01' ending='10-01' elseif month == '10' then starting='10-01' ending='11-01' elseif month == '11' then starting='11-01' ending='12-01' elseif month == '12' then starting='12-01' ending='12-31' end STARTBEGINS = WhereDayXStarts(starting) --ENDENDS = WhereDayXEnds(ending) if month=='12' then NEXTBEGINS = table.getn(D) + 1 -- Past the end else NEXTBEGINS = WhereDayXStarts(ending) end lastday = 0 output = "" i = STARTBEGINS while i < NEXTBEGINS do       thisday = string.sub( D[i], 6, 10 ) if thisday ~= lastday then --It's a new day, something should be written. output = output .. ";" .. os.date("%B %e", os.time{year=2001, month=string.sub(D[i],6,7), day=string.sub(D[i],9,10)}) .. "\n" end output = output .. ":" .. T[i] .. " (" .. string.sub(D[i], 1, 4) .. ")\n" lastday = thisday i=i+1 end return output end function p.age(frame) age = frame.args[1] or 20 output = "" starting = os.date("%Y-%m-%d",os.time+32400) --Y-m-d for today in Japan _, _, y, m, d = string.find(starting, "(%d%d%d%d)-(%d%d)-(%d%d)") LOWBORDER = y-age .. "-" .. m .. "-" .. d   if d+1<10 then --needs a leading 0 HIGHBORDER = y-age-1 .. "-" .. m .. "-0" .. d+1 else HIGHBORDER = y-age-1 .. "-" .. m .. "-" .. d+1 --Might be an improper date, but for comparison purposes should work end --output = "LOWBORDER: " .. LOWBORDER .. " HIGHBORDER: " .. HIGHBORDER --return output STARTBEGINS = WhereDayXStarts(string.sub(HIGHBORDER,6,10)) --First half i = STARTBEGINS while i<= table.getn(D) do       if D[i] >= HIGHBORDER and D[i] <= LOWBORDER then output = output .. ":" .. T[i] .. " (" .. D[i] .. ")\n" end i=i+1 end --Second half i = 1 while i<= STARTBEGINS-1 do       if D[i] >= HIGHBORDER and D[i] <= LOWBORDER then output = output .. ":" .. T[i] .. " (" .. D[i] .. ")\n" end i=i+1 end return output end function p.between(frame) startdate=frame.args[1] enddate=frame.args[2] if startdate > enddate then --You trying to screw things up? Well, we'll just flip 'em. temp = startdate startdate = enddate enddate = temp end output = "" year = string.sub(startdate,1,4) while year<=string.sub(enddate,1,4) do       if year==string.sub(startdate,1,4) then lowcomparison = string.sub(startdate,6,10) --If it's the first year, only start at the given date else lowcomparison = '01-01' end if year==string.sub(enddate,1,4) then highcomparison = string.sub(enddate,6,10) --If it's the last year, stop by the given date else highcomparison = '12-31' end i = 1 while i<= table.getn(D) do           if string.sub(D[i],1,4) == year and string.sub(D[i],6,10) >= lowcomparison and string.sub(D[i],6,10) <= highcomparison then output = output .. ":" .. T[i] .. " (" .. D[i] .. ")\n" end i=i+1 end year=tostring(year+1) end return output end function p.random math.randomseed( os.time ) return "" .. T[math.random(" end return p -- --ja:モジュール:誕生日 --cs:Modul:Narozeniny