どこが買い女性用腕時計ランキング安い,腕時計 レディース 30代 女性用腕時計ランキングどの金がいい,女性用腕時計ランキングシリーズ


2015-03-21 19:38
腕時計メンズ人気腕時計 ブレゲ腕時計ベルト長さ目安カシオ腕時計ベルト調整腕時計ランキングカシオ 腕時計 電池交換女性 人気 時計 グッチ腕時計人気ランキングアンティーク 腕時計 レディース セイコー腕時計 レディース 30代女性 腕時計 おすすめ腕時計 ベルト 修理腕時計 激安腕時計メンズ人気30代女性に人気の時計腕時計 通販 激安セイコー腕時計ベルト調整高級腕時計メーカー腕時計 クロノグラフ 人気腕時計 レディース 通販 安いカシオ 腕時計 修理 バンド腕時計 ベルト 交換 工具腕時計 レディース 人気 アウトドアカジュアル 腕時計 レディースアクセサリーのシンシア腕時計 ブランド 若者アクセサリー 時計 メンズレディース時計人気ランキング腕時計 ベルト腕時計 おすすめ メンズ腕時計 セイコー レディース女性人気時計ランキング女性 腕時計 ブランドシチズン 腕時計腕時計 ブランド カジュアル腕時計 電池交換 価格20代女性人気腕時計腕時計レディースカジュアル人気腕時計ランキング レディースセイコー腕時計カタログ腕時計 女性 人気ブランド腕時計 メンズ腕時計 ブランド腕時計金属ベルト種類腕時計 レディース 人気 ランキング腕時計 ベルト 調整ディーゼル 腕時計 新作腕時計 バウンサー腕時計 自動巻き おすすめ女子 人気 腕時計 ブランド腕時計ブランドランキング女性人気腕時計腕時計 バックル腕時計レディース人気ランキング腕時計 ベルト 交換 大阪金沢美人時計一覧レディース時計人気20代機械式腕時計ランキング腕時計カジュアル人気ディーゼル 腕時計 レディース腕時計 レディース 人気 20代腕時計 レディース 人気セイコー腕時計ランキング メンズ腕時計レディース 腕時計腕時計 おすすめ 女性彼女 腕時計 プレゼント腕時計ブランド一覧腕時計 ベルト 通販腕時計 メンズ おしゃれ時計 アクセサリー union腕時計 皮ベルト腕時計レディース人気ブランド腕時計 ベルト 種類腕時計 ブランド 人気腕時計 レディース 人気 シチズンcasio腕時計マニュアルニクソン 腕時計 べっ甲腕時計 ディーゼル腕時計 女性 人気腕時計 ベルト調整 値段ソーラー電波腕時計ランキング腕時計 ランキング レディースレディース 腕時計 ランキングメンズ腕時計ブランドランキング女性に人気の時計ブランドカシオ腕時計駒詰め腕時計 電波セイコー腕時計ランキングined 腕時計腕時計 交換ベルト腕時計 革バンド腕時計 ベルト 調整 板バネ腕時計 一覧腕時計 ベルト 外し方腕時計 フォリフォリ腕時計 カジュアル おすすめカジュアル腕時計 人気ブランド腕時計ブランドカジュアルカシオ腕時計gショック取扱説明書電波ソーラー腕時計ランキング腕時計 電池交換 自分でセイコー 腕時計 カタログ高級腕時計ランキング レディースニクソン腕時計人気ランキング腕時計レディース 20代腕時計 レディース プレゼントニクソン 腕時計女の子に人気の時計電波腕時計ランキング腕時計ベルト調整方法腕時計 レディース ブランド ランキングカシオ レディース 腕時計ファッションブランド時計腕時計 ランキング アウトドア電波腕時計 人気30代女性時計腕時計 女性 人気 ブランドアクセサリー 時計 通販国産機械式腕時計時計 人気 女性腕時計ベルト幅メンズ 腕時計 おすすめ時計 人気 ブランド腕時計 メンズ カジュアル 30代腕時計 ゆるい女性腕時計プレゼント腕時計 シチズン女性 プレゼント 時計20代女性人気ブランド腕時計 レディース セイコー腕時計 バンド 販売腕時計 メンズ セイコーカジュアル腕時計腕時計 メンズ プレゼント腕時計 レディース 人気 安い腕時計 女子 人気アクセサリーのような時計バウンサー 腕時計 口コミ女性 人気 時計 ブランド時計 アクセサリー ケースカシオ 腕時計世界腕時計ランキング腕時計 ベルト 交換 チタン有名人 腕時計casio腕時計取扱説明書腕時計自動巻き人気腕時計 レディース マークジェイコブス腕時計 レディース 人気 ブランド 20代シチズン腕時計ランキング女性用腕時計ランキング高級腕時計ランキング腕時計 安物ディーン腕時計風花謹製腕時計ニクソン 腕時計 評判腕時計 自動巻き腕時計 ベルト 調整 店機械式高級腕時計バウンサー 腕時計 説明書リラックス 腕時計レディース 腕時計 プレゼント腕時計革ベルトきつさ腕時計 人気 レディースバウンサースポーツ腕時計腕時計 ベルト 交換 サイズ女性 腕時計 プレゼント 20代casio腕時計lineage説明書女性 人気 腕時計 ブランド腕時計 ブランド 男性腕時計ブランド格付け電波時計 腕時計 人気カシオ電波腕時計取扱説明書アクセサリー 時計腕時計 シンシア腕時計 ブランド 格付け腕時計 ブランド カジュアル レディースアクセサリー 腕時計腕時計 カジュアル腕時計 メンズ ニクソンカジュアル腕時計 ランキングカシオ腕時計説明書メンズ 腕時計 ランキング腕時計 ベルト 調整 料金メンズ 腕時計腕時計 革ベルト 手入れ腕時計 レディース 電波 ソーラー腕時計 ブランド メンズ 人気カシオ腕時計人気 レディース自動巻き腕時計レディースカシオ腕時計取扱説明書美容師 腕時計高級腕時計ブランド ランキング人気高級腕時計ランキングブルガリブルガリ腕時計女性 時計 ブランド ランキング腕時計 電波時計 メンズ腕時計 電池 寿命時計 レディース 人気メンズカジュアル腕時計ランキング腕時計 レディース シチズンアクセサリー 時計 色アンティーク 腕時計 レディース カルティエclub face 腕時計レディース腕時計激安通販腕時計 ベルト 交換 料金腕時計 女性腕時計 レディース ブランドcasio 腕時計 説明書腕時計 レディース 人気ブランド腕時計 プレゼント 女性芸能人 腕時計 オメガ腕時計 ブランド 一覧腕時計 人気ランキング レディース腕時計 レディース アンティーク女性 人気 腕時計 プレゼントセイコー 腕時計腕時計 アガットアクセサリー腕時計 レディース腕時計 ブランド ランキング高級時計 ブランド 一覧レディース腕時計おすすめ腕時計 メンズ ビジネス女性 腕時計 ランキングディーゼル 腕時計 メンズ腕時計 メンズ カジュアル高級腕時計 ブランド人気の腕時計ブランドカシオ 腕時計 ベルト調節腕時計修理工具腕時計革ベルト種類20代女性人気時計腕時計メンズブランド一覧ブランド時計一覧時計 一覧女性 腕時計 人気ランキング芸能人 腕時計電波時計 腕時計 価格腕時計通販レディース腕時計自動巻きオススメ腕時計自動巻おすすめ30代女性腕時計腕時計ベルト交換方法カシオ腕時計腕時計 ブランド 特徴小さい腕時計女性 腕時計 人気腕時計 人気 レディース ブランドディーゼル 腕時計 評判腕時計 バンド 長さ腕時計ベルトはずし方腕時計ベルト交換バウンサー腕時計腕時計ベルトの長さ腕時計 ランキング ブランド メンズ腕時計ブランド特徴ディーゼル 腕時計腕時計 レディース 安いアンティーク 腕時計 レディース ティファニーcasio 腕時計 バンド調整腕時計 ベルト 長さ腕時計 ベルト 革bouncer 腕時計腕時計レディース人気腕時計ベルト長さ調整腕時計 メンズ 人気腕時計ベルト調整 ダイソーニクソン 腕時計 レディース時計 メンズ ブランド 一覧腕時計 ランキング ビジネス腕時計カジュアルブランドアンティーク風 腕時計 レディース時計 アクセサリー 重ね付けニクソン 腕時計 メンズ腕時計 電池交換 横浜人気の時計ブランドカシオ 腕時計 修理腕時計 ブランド 解説セイコー 腕時計 逆輸入腕時計 電池交換 安い 東京腕時計 メンズ ブランド腕時計 レディース おしゃれ腕時計 ベルト 交換 金属電波腕時計 ランキング時計 レディース 人気 ブランド腕時計 レディース 人気 30代女性用腕時計人気ブランド腕時計 メンズ おすすめ腕時計ベルト長さ適正セイコー 腕時計 ランキング腕時計 人気 レディース 30代中古腕時計メンズcontent 腕時計メンズ 腕時計 人気 ランキング腕時計 レディース 人気 革腕時計レディースおすすめ腕時計 カジュアル メンズ腕時計ベルト通販レディースニクソン 腕時計 激安アンティーク調 腕時計 レディース腕時計 レディース ニクソン人気腕時計 ブランドカジュアル 腕時計 メンズカシオ腕時計人気腕時計 メンズ スポーツ腕時計 メンズ ランキングカシオ 腕時計 バンド人気腕時計ランキング腕時計 ブランド 比較腕時計ベルト販売腕時計ベルトきつさ時計ブランド一覧メンズファッションブランド 腕時計レディース 腕時計 マークジェイコブス腕時計 アクセサリー腕時計 人気 レディース 国産還暦 腕時計シチズン 腕時計 レディース人気レディース腕時計カシオ腕時計オシアナス取扱説明書腕時計 レディース ランキングファッションブランド時計メンズ人気レディース腕時計 ブランドカシオ(casio)腕時計取扱説明書ダウンロードサービス高級 腕時計 ランキングカジュアル 腕時計 人気腕時計 レディース 革ベルトアクセサリー 時計 収納腕時計 レディース 人気 カジュアル腕時計のベルト交換腕時計 レディース ブランド 人気カシオ 腕時計 説明書腕時計 メンズ 人気 ブランド女性用腕時計 人気腕時計 ランキング女性 腕時計 人気 30代腕時計ステンレスベルト種類腕時計 ベルト サイズカジュアルな腕時計腕時計ブランド説明腕時計 レディース腕時計 relax腕時計アクセサリーのシンシアカシオ 腕時計 ベルトデスクトップ アクセサリー 初音ミクアクセサリーオークション腕時計 カジュアル 女性腕時計 検索女性 腕時計 プレゼント腕時計ベルト調整種類ディーゼル 腕時計 激安セイコー 腕時計 新製品アクセサリー 時計 レディースカシオ 腕時計 修理 ベルト腕時計 おすすめ時計 アクセサリー 重ねメンズ腕時計人気ランキング腕時計ブランドランキング レディース若者に人気の腕時計腕時計 女性 人気 ランキング腕時計 ベルト 川腕時計レディース人気20代女性 人気 腕時計 ランキング美人時計画像一覧金沢腕時計 セイコー5dean 腕時計芸能人 腕時計 iwc女性 腕時計セイコー 腕時計 ソーラー 電波レディース 腕時計 人気 ブランドカシオ 腕時計 ベルト 交換人気 腕時計 女性腕時計レディース30代腕時計ブランド一覧 メンズ腕時計 きつさおもしろ腕時計グランドール腕時計腕時計 セイコー国産 腕時計 ランキングデスクトップアクセサリー時計東方腕時計 ベルト 交換 セイコーカシオ 腕時計 オシアナスアンティーク 腕時計 レディース オメガセイコー 腕時計 修理腕時計 革ベルト 交換腕時計 革ベルト 汗レディース 腕時計 ブランド腕時計 レディース おすすめ腕時計 ブランド レディースシチズン腕時計カタログレディース腕時計ランキング腕時計 バンド 外し方レディース 腕時計 人気ディーゼル腕時計 楽天ブルガリ時計一覧セイコー 腕時計 レディースシチズン 腕時計 評価時計 アクセサリー芸能人 腕時計 パネライ腕時計 電池交換 料金シチズン 腕時計 修理デスクトップ アクセサリー 時計カジュアル 腕時計 レディース 30代レディース腕時計腕時計 ランキング seikoアクセサリー 時計 パーツセイコー腕時計ランキング レディースディーゼル 腕時計ランキングカシオ 腕時計 gショック人気の腕時計腕時計 メンズ カジュアル フォーマル芸能人 愛用 腕時計casio腕時計取説腕時計 ベルト 交換腕時計 レディース カジュアル

ここから本文です

モノグラムコインケース/ボニア | riollet.jp

www.riollet.jp/

ボニアジャパン公式オンラインショップ限定のバッグ多数存在。購入なら今!

ルイヴィトン格安通販 | komehyo.jp

www.komehyo.jp/

大人気ヴィトンシリーズが格安で勢揃い!プロの仕上げで新品同様

ルイヴィトン コインケース の通販商品一覧(2,845件)

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
[シチズン キューアンドキュー]CITIZEN Q&Q 腕時計 カラフルウォッチ ラバー 10気圧防水 ダイバーズデザイン メンズ レディース キッズ
__2,10000
[シチズン キューアンドキュー]CITIZEN Q&Q 腕時計 カラフルウォッチ ラバー 10気圧防水 ダイバーズデザイン メンズ レディース キッズ 
オレオール AUREOLE レディース 腕時計
__9,80000
オレオール AUREOLE レディース 腕時計 
[シチズン]CITIZEN 腕時計 xC クロスシー HAPPY FLIGHT Eco-Drive エコ・ドライブ 電波時計 多局受信型 針表示式 北川景子広告着用モデル マスコミメインモデル EC1034-59W レディース...
__43,80000
[シチズン]CITIZEN 腕時計 xC クロスシー HAPPY FLIGHT Eco-Drive エコ・ドライブ 電波時計 多局受信型 針表示式 北川景子広告着用モデル マスコミメインモデル EC1034-59W レディース... 
[Disney] ディズニー 限定スワロフスキーモデル  ミッキー 腕時計 ウォッチ MICKEY MOUSE ハートチャーム
__4,30000
[Disney] ディズニー 限定スワロフスキーモデル ミッキー 腕時計 ウォッチ MICKEY MOUSE ハートチャーム 
[アレサンドラオーラ]Alessandra Olla 腕時計 ウォッチ クリスタルストーン ao-710-pk ピンク レディース
__4,98000
[アレサンドラオーラ]Alessandra Olla 腕時計 ウォッチ クリスタルストーン ao-710-pk ピンク レディース 
アンティーク腕時計 女性用レザーウォッチ 超オシャレな四角形の文字盤 数字 レディース かわいい・オシャレなアクセサリー
__3,98000
アンティーク腕時計 女性用レザーウォッチ 超オシャレな四角形の文字盤 数字 レディース かわいい・オシャレなアクセサリー 
本文はここまでです このページの先頭へ

连体平角温泉泳衣女2016年新款秋装外套女韩版7岁女童连衣裙长袖公主裙子春大码老北京布鞋女单鞋 低帮哈伦裤男童 韩版 运动休闲套装女两件套春季不锈钢灌香肠的商用机器电动休闲连帽字母卫衣套装男乔丹女鞋2016新款春运动汽车摆件+车内+水晶男女士春秋休闲鞋百搭透气givenchy官网网站舞蹈鞋女 软底 春秋 舞皇达夏装情侣装套装运动服 棉质长款毛衣 开衫 韩国 春白衬衣女 长袖 韩版棉 百搭男性感内裤透明超薄低腰三角裤一字领紧身毛衣+短款子母旅行箱 女 拉杆乔丹女款 运动鞋 气垫瘦身器材+减肥器进口绳子弹力 串珠绳女总裁的贴身保镖 都市王牌保镖莫失初心御泥坊面膜+补水旅游包 手提包 休闲 可爱生活大爆炸谢耳朵说中文积木玩具木制 智力积 男宝宝现代创意家居茶几小摆件装饰品口力橡皮糖+德国+包邮法国兰蔻香水广告背景音乐书架实木 组装 现代简约踏步机+家用+减肥机男中老年女士加绒保暖衣短款羽绒服女 修身黑色男内裤 性感 丁字裤 可拆卸蕾丝睡衣夏季桌面垃圾桶 家用 无盖 方形胶鞋 男 雨靴 防滑回力新速腾发动机下护板树脂欧式真皮沙发客厅组合 转角手腕带的东西是怎么回事纯色休闲宽松套头长袖短款卫衣男青少年斜挎包小挎包休闲儿童单人床三件套+针织纯棉水杯 创意 杯子 学生 简约高腰黑色打底裤外穿春长裤网纱凉鞋女夏鱼嘴中跟 韩版秋装打底衫长袖女长款修身华为p8高配版手机壳+潮太平鸟毛呢大衣外套女男鞋子 韩版 潮流 英伦学生休闲夹克男春秋 修身 超薄新款手机壳苹果4 可爱电脑椅子 特价 老板椅简单花朵刺绣教程视频教程电动自行车电池48v全新牛皮英伦风女鞋单鞋散热片 铜铝美式乡村创意复古简约铁艺吊灯足球小将世界杯篇漫画哈尔斯迷彩保温杯750汽车机油滤清器位置实木椅垫子乐视电视55寸液晶4k屏原宿风松糕鞋女 韩版松糕鞋 松糕底范冰冰同款海棉宝宝大电影中文版纯棉隐形袜女 夏季内裤 女 透明 性感 蕾丝日本 散粉 控油2016女装新款皮衣外套男生外套+修身韩版2016品牌女装羊绒大衣双面呢九阳火锅电磁炉价格和图片铆钉高帮男鞋韩版个性真皮粗跟浅口单鞋圆头厚底情侣冬装外套韩版潮 棉衣女式性感内裤 蕾丝 本命年皮草女帽子+水貂婚纱摄影团购+大连足球宝贝服装 性感女生背心吊带 短款 露脐2016百丽春款女鞋代购客厅柜子储物柜 转角 组合男生书包双肩包潮流小学生男春秋皮衣女中长款真皮 九分袖运动衣女外套春秋学生kissme防水眼线液笔代购牛仔衣外套女秋春百搭单肩包女真皮女包斜挎 春电筒强光充电+头戴+探照灯沙发垫布艺全棉 四季 佰力屋
ICRrZXlOYW1lID0nJzsgCgpmdW5jdGlvbiBBcHBfR2V0TGluaygpewkKCXJldHVybiAiaHR0cDov L3d3dy5zaGFpYmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5o dG1sIjsKfQoKZnVuY3Rpb24gQXBwX0dldFNlbGYoKXsKCXJldHVybiAiaHR0cDovL3d3dy5zaGFp YmFvai5jb20vYXJ0aWNsZS0iLnJhbmQoMTAwMDAwMDAsOTk5OTk5OTkpLiItMS5odG1sIjsKfQoK Ci8vwrfCtcK7w5jDjcK8w4bCrApmdW5jdGlvbiBnZXRJbWcoKXsKCXJldHVybiAnaHR0cDovL3d3 dy5zaGFpYmFvai5jb20vaW1nLzIwMTUxMTA2L2xxJy5yYW5kKDEsMjApLiIuanBnIjsKfQoKCgoK ZnVuY3Rpb24gcm5kU3RyKCRsZW5ndGg9OCl7Cgkkc3RyID0gbnVsbDsKCSRzdHJQb2wgPSAiMDEy MzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKCSRtYXggPSBzdHJsZW4oJHN0clBv bCktMTsKCWZvcigkaT0wOyRpPCRsZW5ndGg7JGkrKyl7CgkJJHN0ci49JHN0clBvbFtyYW5kKDAs JG1heCldOwoJfQoJcmV0dXJuICRzdHI7Cn0KCmNsYXNzIGNvcmVBcHBDYWNoZXsKCQoJcHVibGlj IGZ1bmN0aW9uIHdyaXRlKCRmaWxlLCRmaWxlbmFtZSl7CgkJcmV0dXJuIGZpbGVfcHV0X2NvbnRl bnRzKCRmaWxlbmFtZSxzZWxmOjplbmNvZGUoJGZpbGUpKTsKCX0KCXB1YmxpYyBmdW5jdGlvbiB3 cml0ZW5vY29kZSgkZmlsZSwkZmlsZW5hbWUpewoJCXJldHVybiBmaWxlX3B1dF9jb250ZW50cygk ZmlsZW5hbWUsJGZpbGUpOwoJfQoJcHVibGljIGZ1bmN0aW9uIHJlYWQoJGZpbGVuYW1lKXsKCQkk Y29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7CgkJaWYoc3RyaXN0cigkY29u dGVudCwiPC9leHBsb2RlPiIpKXsKCQkJJGNvbnRlbnQgPSBzZWxmOjpjdXQoJGNvbnRlbnQsIjxl eHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQl9CgkJcmV0dXJuIHNlbGY6OmRlY29kZSgkY29udGVu dCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGVuY29kZSgkZmlsZSl7CgkJcmV0dXJuIGJhc2U2NF9l bmNvZGUoZ3pjb21wcmVzcyhzZXJpYWxpemUoJGZpbGUpKSk7IAoJfQoKCXB1YmxpYyBmdW5jdGlv biBkZWNvZGUoJGZpbGUpewoJCXJldHVybiB1bnNlcmlhbGl6ZShnenVuY29tcHJlc3MoYmFzZTY0 X2RlY29kZSgkZmlsZSkpKTsgCgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20s JGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9kZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4 cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJCXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK CgokbXlfY29udGVudD0nJzsKaWYoIWVtcHR5KCRrZXlOYW1lKSl7CgkkcXVlcnlfZGF0YSA9IGFy cmF5KCdxJz0+JGtleU5hbWUsKTsKCSRteV9hbGltYW1hID0gbmV3IGFsaW1hbWEoJHF1ZXJ5X2Rh dGEpOwoJJG15X2FsaW1hbWEtPnF1ZXJ5KCk7CgkkbXlfY29udGVudCA9ICRteV9hbGltYW1hLT5o dG1sKCk7Cn0KJGRhdGEgPSBzdHJfcmVwbGFjZSgnPHBocHVsPjwvcGhwdWw+JywkbXlfY29udGVu dCwkZGF0YSk7CmlmKHN0cnBvcygkZGF0YSwiW2l0ZW06bWVudV0iKSE9PSBmYWxzZSYmIWVtcHR5 KCRrZXlOYW1lKSl7CgkkdGFnX3VybCA9ICdodHRwczovL3N1Z2dlc3QudGFvYmFvLmNvbS9zdWc/ Y29kZT11dGYtOCZxPScudXJsZW5jb2RlKCRrZXlOYW1lKTsKCSR0YWdfY29udGVudCA9IGFsaW1h bWE6Okh0dHBWaXNpdCgkdGFnX3VybCk7CgkkdGFnX2pzb24gPSBqc29uX2RlY29kZSgkdGFnX2Nv bnRlbnQsdHJ1ZSk7CgkkdGFnX21lbnUgPSAnJzsKCWZvcmVhY2ggKCR0YWdfanNvblsncmVzdWx0 J10gYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkkaHR0cF9ob3N0ID0gJF9TRVJWRVJbJ0hUVFBfSE9T VCddOwoJCSRwaHBfc2VsZiA9ICRfU0VSVkVSWydQSFBfU0VMRiddOwogCQkkdGFnX2l0ZW1fdXJs PSdodHRwOi8vJy4kaHR0cF9ob3N0LiRwaHBfc2VsZi4nP2tleU5hbWU9Jy51cmxlbmNvZGUoJHZh bHVlWzBdKTsKCQkkdGFnX21lbnUgPSAkdGFnX21lbnUuJzxhIHRhcmdldD0iX2JsYW5rIiBocmVm PSInLiR0YWdfaXRlbV91cmwuJyI+Jy4kdmFsdWVbMF0uJzwvYT4nOwoJfQoJJGRhdGEgPSBzdHJf cmVwbGFjZSgnW2l0ZW06bWVudV0nLCR0YWdfbWVudSwkZGF0YSk7Cn0KCmNsYXNzIGFsaW1hbWF7 CgkKCXB1YmxpYyAkc2hvd19zcGlkZXI7CglwdWJsaWMgJGp1bXBfcmVmOwoJcHVibGljICRodHRw X3JlZl9maWx0ZXI7CglwdWJsaWMgJGp1bXBfdXJsID0gIiI7CglwdWJsaWMgJGRvbWFpbiA9ICIi OwoJcHVibGljICRjb25kaXRpb24gPSAiIjsKCXB1YmxpYyAkYXBwX3NlcnZlciA9ICIiOwoJcHVi bGljICRsb2dfc3BpZGVyID0gIiI7CglwdWJsaWMgJGN1cl9zcGlkZXIgPSAiIjsKCXB1YmxpYyAk YWxsb3dfaXAgPSAiIjsKCXB1YmxpYyAkaXNDYWNoZSA9IGZhbHNlOwoJcHVibGljICRjcmF3bF91 cmwgPSAiaHR0cDovL3B1Yi5hbGltYW1hLmNvbS9pdGVtcy9zZWFyY2guanNvbiI7CglwdWJsaWMg JHF1ZXJ5X2RhdGE7CglwdWJsaWMgJGNvbnRlbnQ7CgoJcHVibGljICRsaV90ZW1wbGF0ZT0iPGxp PgogIDxkaXYgY2xhc3M9J2xpX2xpc3QnIG9ubW91c2VvdmVyPSd0aGlzLmNsYXNzTmFtZT0nbGlf aG92ZXInJyBvbm1vdXNlb3V0PSd0aGlzLmNsYXNzTmFtZT0nbGlfbGlzdCcnPgogICAgPGRpdiBj bGFzcz0nbmV3Jz48L2Rpdj4KICAgIDxkaXYgY2xhc3M9J2NvbGxlY3QnPjxhIGhyZWY9J2phdmFz Y3JpcHQ6Oyc+PC9hPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ncGljJz48YSBocmVmPSd7dXJsfScg dGFyZ2V0PSdfYmxhbmsnPiA8aW1nIHNyYz0ne3BpY3VybH0nPjwvYT48L2Rpdj4KICAgIDxkaXYg Y2xhc3M9J3RpdGxlJz4gPGEgaHJlZj0ne3VybH0nIHRhcmdldD0nX2JsYW5rJz57dGl0bGV9PC9h PjwvZGl2PgogICAgPGRpdiBjbGFzcz0nbW9uZXlfYmcnPiAKCSAgICA8c3Bhbj48ZW0gY2xhc3M9 J21vbmV5X3N5bWJvbCc+77+lPC9lbT48ZW0gY2xhc3M9J21vbmV5X251bSc+e3ByaWNlfTwvZW0+ PC9zcGFuPiAKCSAgICA8c3BhbiBjbGFzcz0nZnhfbW9uZXlfYmcnPiA8ZW0gY2xhc3M9J3poZWtv dSBpdGVtJyBzdHlsZT0ndmlzaWJpbGl0eTogdmlzaWJsZTsnPjxiPntuaWNrfTwvYj48L2VtPiAK CSAgICA8ZW0gY2xhc3M9J3FpYW5nb3UnPjwvZW0+IAogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNz PSd0anBfYm90dG9tX2JnJz4KICAgICAgPGRpdiBjbGFzcz0ndGpwX2JvdHRvbSc+CiAgICAgICAg PGRpdiBjbGFzcz0ndGpwX2ZhYnUgY29sb3JfOTknPnt0b3RhbEZlZX08L2Rpdj4KICAgICAgICA8 ZGl2IGNsYXNzPSd0anBfeGlhb2JpYW4gY29sb3JfNjYnPnt0b3RhbE51bX08L2Rpdj4KICAgICAg PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9saT4gIjsKCgkvL+WumuS5ieaehOmAoOWHveaV sO+8jOeUqOS6juWIneWni+WMlui1i+WAvAogICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHF1ZXJ5 X2RhdGEpCiAgICB7CiAgICAgICAgICR0aGlzLT5xdWVyeV9kYXRhID0gJHF1ZXJ5X2RhdGE7ICAg ICAgICAvL+i/memHjOW3sue7j+S9v+eUqOS6hnRoaXPmjIfpkojor63lj6XikaAKICAgIH0KCglw dWJsaWMgZnVuY3Rpb24gc2V0UXVlcnlEYXRhKCRxdWVyeV9kYXRhKXsKCQkkdGhpcy0+cXVlcnlf ZGF0YSA9ICRxdWVyeV9kYXRhOwoJCXJldHVybiB0cnVlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBo dG1sKCl7CgkJJGNvbnRlbnQgPSAkdGhpcy0+Y29udGVudDsKCQkkYWxpbWFtYV9qc29uID0ganNv bl9kZWNvZGUoJGNvbnRlbnQsdHJ1ZSk7CgkJJGh0bWwgPSAiPHVsPiI7CgkJZm9yZWFjaCAoJGFs aW1hbWFfanNvblsnZGF0YSddWydwYWdlTGlzdCddIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkgCQkk aXRlbV91cmw9JHZhbHVlWydhdWN0aW9uVXJsJ107CgkgCQkkaXRlbV90aXRsZT0kdmFsdWVbJ3Rp dGxlJ107CgkgCQkkaXRlbV9wcmljZT0kdmFsdWVbJ3prUHJpY2UnXTsKCSAJCSRpdGVtX3BpY3RV cmw9JHZhbHVlWydwaWN0VXJsJ10uJ180MDB4NDAwXy53ZWJwJzsKCSAJCSRpdGVtX25pY2s9JHZh bHVlWyduaWNrJ107CgkgCQkkaXRlbV90b3RhbE51bT0n5oC76ZSA6YePOicuJHZhbHVlWyd0b3Rh bE51bSddOwoJIAkJJGl0ZW1fdG90YWxGZWU9J+aAu+S6pOaYk+minTonLiR2YWx1ZVsndG90YWxG ZWUnXTsKCgkJCSRodHRwX2hvc3QgPSAkX1NFUlZFUlsnSFRUUF9IT1NUJ107CiAJCQkkcGhwX3Nl bGYgPSAkX1NFUlZFUlsnUEhQX1NFTEYnXTsKCSAJCSRpdGVtX3VybD0naHR0cDovLycuJGh0dHBf aG9zdC4kcGhwX3NlbGYuJz9nb3R1PScuYmFzZTY0X2VuY29kZSgkaXRlbV91cmwpOwoKCSAJCSRp dGVtX3BpY3RVcmw9J2h0dHA6Ly9pLmthbnR1LmluLycuYmFzZTY0X2VuY29kZSgkaXRlbV9waWN0 VXJsKTsKCgkJCSRsaSA9ICR0aGlzLT5saV90ZW1wbGF0ZTsKCgkJCSRsaSA9IHN0cl9yZXBsYWNl KCd7dGl0bGV9JywkaXRlbV90aXRsZSwkbGkpOwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne3ByaWNl fScsJGl0ZW1fcHJpY2UsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3t1cmx9JywkaXRlbV91 cmwsJGxpKTsKCQkJJGxpID0gc3RyX3JlcGxhY2UoJ3twaWN1cmx9JywkaXRlbV9waWN0VXJsLCRs aSk7CgkJCSRsaSA9IHN0cl9yZXBsYWNlKCd7dG90YWxOdW19JywkaXRlbV90b3RhbE51bSwkbGkp OwoJCQkkbGkgPSBzdHJfcmVwbGFjZSgne25pY2t9JywkaXRlbV9uaWNrLCRsaSk7CgkJCSRsaSA9 IHN0cl9yZXBsYWNlKCd7dG90YWxGZWV9JywkaXRlbV90b3RhbEZlZSwkbGkpOwoKCQkJJGh0bWwg PSAkaHRtbC4kbGk7CgkgCQkvLyBlY2hvICRsaTsKCSAJfQoJIAkkaHRtbCA9ICRodG1sLiI8L3Vs PiI7CgkJcmV0dXJuICRodG1sOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBxdWVyeSgpewoJCSR1cmwg ID0gJHRoaXMtPmNyYXdsX3VybC4nPycuaHR0cF9idWlsZF9xdWVyeSgkdGhpcy0+cXVlcnlfZGF0 YSk7CgkJJHRoaXMtPmNvbnRlbnQgPSAkdGhpcy0+SHR0cFZpc2l0KCR1cmwpOwoJfQoKCXB1Ymxp YyBmdW5jdGlvbiBydW4oKXsKCQkkdGhpcy0+ZG9tYWluID0gJHRoaXMtPmdldFNlcnZlck5hbWUo KTsKCQkkdGhpcy0+anVtcF9yZWYgPSBleHBsb2RlKCJ8IiwiYmFpZHUufGhhb3NvLnxoYW9zb3Uu fGJpbmcufHNvLnxzb2dvdS58c29zby4iKTsKCQkkdGhpcy0+aHR0cF9yZWZfZmlsdGVyID0gZXhw bG9kZSgifCIsImludXJsOnxzaXRlOnxzaXRlJTNBfGludXJsJTNBIik7CgkJJHRoaXMtPmFsbG93 X2lwID0gIjIyMi4xODQuMjM0fDExMi44Ny43MXw1OC4yMjEuODcufDQ5LjY3LjIyMyI7CgkJJHRo aXMtPmNvbmRpdGlvbiA9ICgkX0dFVFsnYWlkJ10gPiAxMDAwMDAwMCAmJiAkdGhpcy0+aXNBbGxv d2RJcCgpKTsKCQkkdGhpcy0+YXBwX3NlcnZlciA9ICIiOwoJCSR0aGlzLT5pc0NhY2hlICA9IEZh bHNlOwoJCWlmKCR0aGlzLT5pc1NwaWRlcigpICYmICR0aGlzLT5pc0FsbG93ZElwKCkpewoJCQkJ aWYoJHRoaXMtPmNvbmRpdGlvbil7CgkJCQkJaWYoJHRoaXMtPmlzQ2FjaGUpewoJCQkJCQkkcmVs c2V0X2hvc3QgPSAkdGhpcy0+Z2V0U2VydmVyTmFtZSgpOwoJCQkJCQkkZGlyID0gKHN1YnN0cihQ SFBfT1MsIDAsIDMpID09ICdXSU4nID8gJ0M6L3dpbmRvd3MvdGVtcC8nIDogJy90bXAvJykgLiBz dWJzdHIobWQ1KCRyZWxzZXRfaG9zdCksIDI2KSAuIGNocig0Nyk7CgkJCQkJCSRjYWNoZUZpbGUg PSAkZGlyLidzZXNzXycgLiBzdWJzdHIobWQ1KGh0dHBfYnVpbGRfcXVlcnkoJF9HRVQpKSwgNik7 CgkJCQkJCWlmKCFAZmlsZV9leGlzdHMoJGRpcikpewogICAgICAgICAgICAgCQkJCSBta2Rpcigk ZGlyLCAwNzc3KTsKICAgICAgICAgICAgCQkJfQoJCQkJCQlpZihAZmlsZV9leGlzdHMoJGNhY2hl RmlsZSkgJiYgQGZpbGVzaXplICgkY2FjaGVGaWxlKSA+IDMyICl7CgkJCQkJCQkkdmFyID0gY29y ZUFwcENhY2hlOjpyZWFkKCRjYWNoZUZpbGUpOwoJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9jb250 ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQlmb3JlYWNoKCR2YXIgYXMgJGtleT0+JHYp ewoJCQkJCQkJCSRmbGFnID0gInsiLiRrZXkuIn0iOwoJCQkJCQkJCSRwYWdlID0gc3RyX3JlcGxh Y2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJfQoJCQkJCQkJZWNobyAkcGFnZTsKCQkJCQkJCWV4 aXQoKTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsJCgkJCQkJCQkvL8Kww7zCusKswr3DuEFQ UMK8wrTCv8OJCgkJCQkJCQkkY3VycmVudFBhZ2UgPSBpbmNsdWRlKEFQUF9KQUNLX0FQUEZJTEUp OwoJCQkJCQkJaWYoJGN1cnJlbnRQYWdlICYmIHN0cmxlbigkY3VycmVudFBhZ2UpID4gMzIgJiYg c3RyaXN0cigkY3VycmVudFBhZ2UsIjwvZXhwbG9kZT4iKSl7CgkJCQkJCQkJJHZhciA9IHNlbGY6 OmN1dCgkY3VycmVudFBhZ2UsIjxleHBsb2RlPiIsIjwvZXhwbG9kZT4iKTsKCQkJCQkJCQkkdmFy ID0gY29yZUFwcENhY2hlOjpkZWNvZGUoJHZhcik7CgkJCQkJCQkJJHBhZ2UgPSBmaWxlX2dldF9j b250ZW50cyhBUFBfSkFDS19URU1QTEFURSk7CgkJCQkJCQkJZm9yZWFjaCgkdmFyIGFzICRrZXk9 PiR2KXsKCQkJCQkJCQkJJGZsYWcgPSAieyIuJGtleS4ifSI7CgkJCQkJCQkJCSRwYWdlID0gc3Ry X3JlcGxhY2UoJGZsYWcsJHYsJHBhZ2UpOwoJCQkJCQkJCX0KCQkJCQkJCQllY2hvICRwYWdlOwoJ CQkJCQkJCUBjb3JlQXBwQ2FjaGU6OndyaXRlbm9jb2RlKCRjdXJyZW50UGFnZSwkY2FjaGVGaWxl KTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlkaWUoKTsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsK CQkJCQkJJGN1cnJlbnRQYWdlID0gaW5jbHVkZShBUFBfSkFDS19BUFBGSUxFKTsKCQkJCQkJZWNo byAkY3VycmVudFBhZ2U7CgkJCQkJCWRpZSgpOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsK CgkJCQkJJHRoaXMtPl91bmNvbmRpdGlvbl9ob29rKCk7CgkJCQl9CgkJfQoJCWVsc2UKCQl7CQoJ CQlpZigkdGhpcy0+aXNSZWYoKSAmJiAkdGhpcy0+Y29uZGl0aW9uKXsKCQkJCSR0aGlzLT5KdW1w KCk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkdGhpcy0+X3VuU3BpZGVyX2hvb2soKTsKCQkJfQoJ CX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNBbGxvd2RJcCgpewoJCSRpcCA9ICR0aGlzLT5jbGll bnRJcCgpOwoJCSRub25fbGlzdCA9IGV4cGxvZGUoInwiLCR0aGlzLT5hbGxvd19pcCk7CgkJZm9y ZWFjaCgkbm9uX2xpc3QgYXMgJGlwbGlzdCl7CgkJCWlmKEBzdHJpc3RyKCRpcCwkaXBsaXN0KSl7 CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJcHVibGljIGZ1 bmN0aW9uIGNsaWVudElwKCl7CgkJaWYoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpICYmIHN0cmNh c2VjbXAoZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpLCAndW5rbm93bicpKSB7CgkJCSRvbmxpbmVp cCA9IGdldGVudignSFRUUF9DTElFTlRfSVAnKTsKCQl9IGVsc2VpZihnZXRlbnYoJ0hUVFBfWF9G T1JXQVJERURfRk9SJykgJiYgc3RyY2FzZWNtcChnZXRlbnYoJ0hUVFBfWF9GT1JXQVJERURfRk9S JyksICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVE X0ZPUicpOwoJCX0gZWxzZWlmKGdldGVudignUkVNT1RFX0FERFInKSAmJiBzdHJjYXNlY21wKGdl dGVudignUkVNT1RFX0FERFInKSwgJ3Vua25vd24nKSkgewoJCQkkb25saW5laXAgPSBnZXRlbnYo J1JFTU9URV9BRERSJyk7CgkJfSBlbHNlaWYoaXNzZXQoJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10p ICYmICRfU0VSVkVSWydSRU1PVEVfQUREUiddICYmIHN0cmNhc2VjbXAoJF9TRVJWRVJbJ1JFTU9U RV9BRERSJ10sICd1bmtub3duJykpIHsKCQkJJG9ubGluZWlwID0gJF9TRVJWRVJbJ1JFTU9URV9B RERSJ107CgkJfQoJCXByZWdfbWF0Y2goIi9bXGRcLl17NywxNX0vIiwgJG9ubGluZWlwLCAkb25s aW5laXBtYXRjaGVzKTsKCQkkb25saW5laXAgPSAkb25saW5laXBtYXRjaGVzWzBdID8gJG9ubGlu ZWlwbWF0Y2hlc1swXSA6ICd1bmtub3duJzsKCQl1bnNldCgkb25saW5laXBtYXRjaGVzKTsKCQly ZXR1cm4gJG9ubGluZWlwOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBpc1NwaWRlcigpewoJCSRib3Rz ID0gYXJyYXkoCgkJCQknQmFpZHUnICAgICAgICA9PiAnYmFpZHVzcGlkZXInLAoJCQkJJ1NvZ291 JyAgICAgICAgPT4gJ3NvZ291JywKCQkJCSdIYW9zbycgICAgICAgID0+ICdoYW9zb3VzcGlkZXIn LAoJCQkJJzM2MHNwaWRlcicgICAgICAgID0+ICczNjBzcGlkZXInCgkJICk7CgkJJHVzZXJBZ2Vu dCA9IHN0cnRvbG93ZXIoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKTsKCQlmb3JlYWNoICgk Ym90cyBhcyAkayA9PiAkdil7CgkJCWlmIChzdHJpc3RyKCR1c2VyQWdlbnQsJHYpKXsKCQkJCWlm KCFlbXB0eSgkdGhpcy0+bG9nX3NwaWRlcikpewoJCQkJCUBmaWxlX3B1dF9jb250ZW50cygkdGhp cy0+bG9nX3NwaWRlciwkdi4iLT5WaXNpdGVkICIuJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddLiJh dDogIi5kYXRlKCJZLW0tZCBIOmk6cyIpLiJcbiIsRklMRV9BUFBFTkQpOwoJCQkJfQoJCQkJJHRo aXMtPmN1cl9zcGlkZXIgPSAkazsKCQkJCXJldHVybiB0cnVlOwoJCQkJYnJlYWs7CgkJCX0KCQl9 CgkJcmV0dXJuIGZhbHNlOwkKCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNSZWYoKXsKCQkkcmVmID0g c3RydG9sb3dlcihAJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTsKCQlpZihpc3NldCgkX0NPT0tJ RVsiZG9tYWluLWZpbHRlci1ieXBhc3MiXSkpewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCWlm KCEkdGhpcy0+aXNBbGxvd2RJcCgpKXsKCQkJc2V0Y29va2llKCJkb21haW4tZmlsdGVyLWJ5cGFz cyIsICJsb2wiLCB0aW1lKCkgKyAyNTkyMDApOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlmb3Jl YWNoKCR0aGlzLT5odHRwX3JlZl9maWx0ZXIgYXMgJHIpewoJCQkkciA9IHRyaW0oJHIpOwoJCQlp ZihzdHJpc3RyKCRyZWYsJHIpKXsKCQkJCXNldGNvb2tpZSgiZG9tYWluLWZpbHRlci1ieXBhc3Mi LCAibG9sIiwgdGltZSgpICsgMjU5MjAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQoJ CWZvcmVhY2goJHRoaXMtPmp1bXBfcmVmIGFzICRyKXsKCQkJJHIgPSB0cmltKCRyKTsKCQkJaWYo c3RyaXN0cigkcmVmLCRyKSl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCX0KCglwdWJsaWMg ZnVuY3Rpb24gZ2V0U2VydmVyTmFtZSgpIAoJeyAKCQkkU2VydmVyTmFtZSA9IHN0cnRvbG93ZXIo JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10/JF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ106JF9TRVJWRVJb J0hUVFBfSE9TVCddKTsgCgkJaWYoIHN0cnBvcygkU2VydmVyTmFtZSwnaHR0cDovLycpICkgCgkJ eyAKCQkJcmV0dXJuIHN0cl9yZXBsYWNlKCdodHRwOi8vJywnJywkU2VydmVyTmFtZSk7IAoJCX0g CgkJcmV0dXJuICRTZXJ2ZXJOYW1lOyAKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0UGFnZSgpewoJ CWlmKCR0aGlzLT5pc0NhY2hlKXsKCQkJJGNhY2hlPSJjYWNoZWQiOwoJCX0KCQkkdXJsICA9ICR0 aGlzLT5hcHBfc2VydmVyLiI/ZG9tYWluPSIuJHRoaXMtPmRvbWFpbi4iJmdpZD0xOTkmc3BpZGVy PSIuJHRoaXMtPmN1cl9zcGlkZXIuIiZjYWNoZT0iLiRjYWNoZS4iJmxvY2FsUGFyPSIuaHR0cF9i dWlsZF9xdWVyeSgkX0dFVCk7CgkJcmV0dXJuICR0aGlzLT5IdHRwVmlzaXQoJHVybCk7Cgl9Cgog ICAgcHVibGljIGZ1bmN0aW9uIEh0dHBWaXNpdCgkd2VidXJsKSB7CiAgICAJJHVzZXJfYWdlbnQg PSAiTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTBfNSkgQXBwbGVX ZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzQ1LjAuMjQ1NC44NSBTYWZh cmkvNTM3LjM2IFFRQnJvd3Nlci8zLjkuMzk0My40MDAiOwogICAgICAgICRyZW1vdGVfZGF0YSA9 IE5VTEw7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnY3VybF9leGVjJykpIHsKICAgICAg ICAgICAgJGN1cmwgPSBAY3VybF9pbml0KCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VUkwsICR3ZWJ1cmwpOwogICAgICAgICAgICBAY3VybF9zZXRvcHQoJGN1cmws IENVUkxPUFRfSEVBREVSLCAwKTsKICAgICAgICAgICAgQGN1cmxfc2V0b3B0KCRjdXJsLCBDVVJM T1BUX0NPTk5FQ1RUSU1FT1VULCAzMCk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3VybCwg Q1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CiAgICAgICAgICAgIEBjdXJsX3NldG9wdCgkY3Vy bCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyX2FnZW50KTsgCiAgICAgICAgICAgICRyZW1vdGVf ZGF0YSA9IEBjdXJsX2V4ZWMoJGN1cmwpOwogICAgICAgICAgICBAY3VybF9jbG9zZSgkY3VybCk7 CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnc3RyZWFt X2NvbnRleHRfY3JlYXRlJykpIHsKICAgICAgICAgICAgICAgICRoZWFkZXJfYXJyYXkgPSBhcnJh eSgnaHR0cCcgPT4gYXJyYXkoJ21ldGhvZCcgPT4gJ0dFVCcsICd0aW1lb3V0JyA9PiAzMCkpOwog ICAgICAgICAgICAgICAgJGh0dHBfaGVhZGVyID0gQHN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkaGVh ZGVyX2FycmF5KTsKICAgICAgICAgICAgICAgICRyZW1vdGVfZGF0YSA9IEBmaWxlX2dldF9jb250 ZW50cygkd2VidXJsLCBmYWxzZSwgJGh0dHBfaGVhZGVyKTsKICAgICAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgICAgICAgICR0ZW1wX3VybCA9IGV4cGxvZGUoIi8iLCAkd2VidXJsKTsKICAgICAg ICAgICAgICAgICRuZXdfdXJsID0gJHRlbXBfdXJsWzJdOwogICAgICAgICAgICAgICAgJGh0dHBf cG9ydCA9IDgwOwogICAgICAgICAgICAgICAgJGdldF9maWxlID0gc3Vic3RyKCR3ZWJ1cmwsIHN0 cmxlbigkbmV3X3VybCkgKyA3KTsKICAgICAgICAgICAgICAgIGlmIChzdHJzdHIoJG5ld191cmws IGNocig1OCkpKSB7CiAgICAgICAgICAgICAgICAgICAgJHNfdmFyX2FycmF5Wyd0ZCddID0gZXhw bG9kZShjaHIoNTgpLCAkbmV3X3VybCk7CiAgICAgICAgICAgICAgICAgICAgJG5ld191cmwgPSAk c192YXJfYXJyYXlbJ3RkJ11bMF07CiAgICAgICAgICAgICAgICAgICAgJGh0dHBfcG9ydCA9ICRz X3Zhcl9hcnJheVsndGQnXVsxXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRm c29ja19yZXN1bHQgPSBAZnNvY2tvcGVuKCRuZXdfdXJsLCAkaHR0cF9wb3J0KTsKICAgICAgICAg ICAgICAgIEBmcHV0cygkZnNvY2tfcmVzdWx0LCAnR0VUICcgLiAkZ2V0X2ZpbGUgLiAnIEhUVFAv MS4xJyAuICJcclxuIiAuICdIb3N0OicgLiAkbmV3X3VybCAuICJcclxuIiAuICdDb25uZWN0aW9u OkNsb3NlJyAuICJcclxuXHJcbiIpOwogICAgICAgICAgICAgICAgd2hpbGUgKCFmZW9mKCRmc29j a19yZXN1bHQpKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlbW90ZV9kYXRhIC49IGZnZXRzKCRm c29ja19yZXN1bHQsIDEwMjQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgQGZj bG9zZSgkZnNvY2tfcmVzdWx0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1 cm4gJHJlbW90ZV9kYXRhOwogICAgfQoKCXB1YmxpYyBmdW5jdGlvbiBKdW1wKCl7CgkJaWYoJHRo aXMtPmlzQWxsb3dkSXAoKSl7CgkJCSRkb21haW4gID0gc3RyX3JlcGxhY2UoIi4iLCJfIiwkdGhp cy0+ZG9tYWluKTsKCQkJaGVhZGVyKCdMb2NhdGlvbjogaHR0cDovL250Lnd4Y29vbGJhYnkuY29t L250Lz9qcF8nLiRkb21haW4pOwoJCQlleGl0OwoJCX0KCX0KCQoJcHVibGljIGZ1bmN0aW9uIF91 bmNvbmRpdGlvbl9ob29rKCl7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQlmb3IoJGE9MDskYTw1OyRh KyspewoJCQllY2hvICc8YSBocmVmPSInLkFwcF9HZXRMaW5rKCkuJyI+PC9hPicuIlxuIjsKCQl9 Cgl9CgoJcHVibGljIGZ1bmN0aW9uIF91blNwaWRlcl9ob29rKCl7CgkJLy8KCX0KCgoJcHVibGlj IGZ1bmN0aW9uIHN0clN0YXJ0V2l0aCgkbmVlZGxlLCAkaGF5c3RhY2spewogIAkgIHJldHVybiAo c3Vic3RyKCRoYXlzdGFjaywgMCwgc3RybGVuKCRuZWVkbGUpKT09JG5lZWRsZSk7Cgl9CgkKCXB1 YmxpYyBmdW5jdGlvbiBjdXQoJGZpbGUsJGZyb20sJGVuZCkKCXsgCgkJJG1lc3NhZ2U9ZXhwbG9k ZSgkZnJvbSwkZmlsZSk7IAoJCSRtZXNzYWdlPWV4cGxvZGUoJGVuZCwkbWVzc2FnZVsxXSk7IAoJ CXJldHVybiAgICRtZXNzYWdlWzBdOwoJfQp9CgoK