--- http_interactions: - request: method: get uri: http://j.mp/xZVND1 body: encoding: US-ASCII string: '' headers: accept-encoding: - none accept: - ! '*/*' user-agent: - Ruby connection: - close response: status: code: 301 message: Moved headers: server: - nginx date: - Wed, 07 Mar 2012 17:19:50 GMT content-type: - text/html; charset=utf-8 connection: - close set-cookie: - _bit=4f5798b6-001ae-040ae-321cf10a;domain=.j.mp;expires=Mon Sep 3 17:19:50 2012;path=/; HttpOnly cache-control: - private; max-age=90 location: - http://t.co/8AEDlX2P mime-version: - '1.0' content-length: - '112' body: encoding: US-ASCII string: ! ' bit.ly moved here ' http_version: '1.1' recorded_at: Wed, 07 Mar 2012 17:19:50 GMT - request: method: get uri: http://t.co/8AEDlX2P body: encoding: US-ASCII string: '' headers: accept-encoding: - none accept: - ! '*/*' user-agent: - Ruby connection: - close response: status: code: 301 message: Moved Permanently headers: date: - Wed, 07 Mar 2012 17:19:50 GMT server: - hi location: - http://ow.ly/i/s1O0 cache-control: - private,max-age=300 expires: - Wed, 07 Mar 2012 17:24:50 GMT content-length: - '0' connection: - close content-type: - text/html; charset=UTF-8 body: encoding: US-ASCII string: '' http_version: '1.1' recorded_at: Wed, 07 Mar 2012 17:19:50 GMT - request: method: get uri: http://ow.ly/i/s1O0 body: encoding: US-ASCII string: '' headers: accept-encoding: - none accept: - ! '*/*' user-agent: - Ruby connection: - close response: status: code: 200 message: OK headers: date: - Wed, 07 Mar 2012 17:19:50 GMT server: - Apache x-powered-by: - PHP/5.2.4-2ubuntu5.6 set-cookie: - OWLYSID=9ce9290d5205d8635ba7e12c8f97ea1700905247; path=/ expires: - Thu, 19 Nov 1981 08:52:00 GMT cache-control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 pragma: - no-cache x-gridnum: - '18' vary: - Accept-Encoding connection: - close transfer-encoding: - chunked content-type: - text/html body: encoding: ASCII-8BIT string: !binary |- PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAg VHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1s MS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9 Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIg bGFuZz0iZW4iPg0KPGhlYWQ+DQoJPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu dC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+ DQoJPHRpdGxlPk93Lmx5IC0gaW1hZ2UgdXBsb2FkZWQgYnkgQEpaSmV3ZWxy eSA8L3RpdGxlPg0KCTxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJP dy5seSwgU2hvcnRlbiB1cmxzLCBzaGFyZSBmaWxlcywgdHJhY2sgdmlzaXRz LCB0d2l0dGVyIGZpbGUgc2hhcmluZywgdHdpdHRlciBpbWFnZSBzaGFyaW5n LCB0d2VldCBjb21tZW50cyIgLz4NCgkJCTxtZXRhIG5hbWU9ImRlc2NyaXB0 aW9uIiBjb250ZW50PSJWaWV3IGFuZCBzaGFyZSB0aGlzIGltYWdlIGZyb20g QEpaSmV3ZWxyeSAgYW5kIGhvc3RlZCBieSBPdy5seSIgLz4NCgkJCQkJCQk8 bGluayBocmVmPSJodHRwOi8vc3RhdGljLm93Lmx5LzQtOS0xOS9jc3Mvb3ds eS5jc3MiIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQoJ CQkJPCEtLVtpZiBsdCBJRSA3XT4NCgk8bGluayByZWw9InN0eWxlc2hlZXQi IHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vc3RhdGljLm93Lmx5LzQt OS0xOS9jc3MvaWU2LmNzcyIgLz4NCgk8IVtlbmRpZl0tLT4NCg0KCTxzY3Jp cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCXZhciBvd2x5ID0gbmV3IE9i amVjdCgpOwoJb3dseS5jID0gbmV3IE9iamVjdCgpOwoJb3dseS5jLnJvb3RV cmwgPSAiaHR0cDovL293Lmx5IjsKCW93bHkuYy5waG90b1Jvb3RVcmwgPSAi aHR0cDovL3N0YXRpYy5vdy5seS9waG90b3MiOwoJb3dseS5jLnN3ZlVybCA9 ICJodHRwOi8vc3RhdGljLm93Lmx5LzQtOS0xOS9zd2YiOwo8L3NjcmlwdD4K CgkJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6 Ly9zdGF0aWMub3cubHkvNC05LTE5L2pzL293bHkuanMiPjwvc2NyaXB0PgoJ DQoJPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwOi8vc3Rh dGljLm93Lmx5LzQtOS0xOS9pbWFnZXMvZmF2aWNvbi5pY28iIC8+DQoJPGxp bmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJodHRwOi8vc3RhdGlj Lm93Lmx5LzQtOS0xOS9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz4N CjwvaGVhZD4NCg0KDQo8Ym9keT4NCjxkaXYgaWQ9InN0YXR1c0NvbnRhaW5l ciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCgk8ZGl2IGNsYXNzPSJ5LW4i Pg0KICAgIAk8c3BhbiBjbGFzcz0iY24tMyI+DQogICAgICAgICAgICA8c3Bh biBjbGFzcz0idGwiPjwhLS0gIC0tPjwvc3Bhbj4NCiAgICAgICAgICAgIDxz cGFuIGNsYXNzPSJ0YyI+PCEtLSAgLS0+PC9zcGFuPg0KICAgICAgICAgICAg PHNwYW4gY2xhc3M9InRyIj48IS0tICAtLT48L3NwYW4+DQogICAgICAgICAg ICA8c3BhbiBjbGFzcz0ibWwiPjwhLS0gIC0tPjwvc3Bhbj4NCiAgICAgICAg ICAgIDxzcGFuIGNsYXNzPSJtciI+PCEtLSAgLS0+PC9zcGFuPg0KICAgICAg ICAgICAgPHNwYW4gY2xhc3M9ImJsIj48IS0tICAtLT48L3NwYW4+DQogICAg ICAgICAgICA8c3BhbiBjbGFzcz0iYmMiPjwhLS0gIC0tPjwvc3Bhbj4NCiAg ICAgICAgICAgIDxzcGFuIGNsYXNzPSJiciI+PCEtLSAgLS0+PC9zcGFuPg0K ICAgICAgICA8L3NwYW4+DQogICAgICAgIDxzcGFuIGNsYXNzPSJfc3RhdHVz TXNnQ29udGVudCI+PC9zcGFuPg0KICAgIDwvZGl2Pg0KPC9kaXY+DQogICAg ICAgIA0KPGRpdiBpZD0id3JhcHBlciI+DQoJPGRpdiBpZD0iaGVhZGVyIj4N CgkJPGgxIGNsYXNzPSJsb2dvIj48YSBocmVmPSJodHRwOi8vb3cubHkiPk93 bHk8L2E+PC9oMT4NCgkJPGRpdiBpZD0iZ2xvYmFsTmF2Ij4NCiAgICAgICAg CQkJCQkJCQk8YSBocmVmPSIjIiBpZD0iYnRuTG9naW4iPjxzcGFuIGNsYXNz PSJoaWRkZW4iPlNpZ24gaW4gd2l0aCBUd2l0dGVyPC9zcGFuPjwvYT4NCgkJ CQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ibG9nZ2VkSW4iIHZhbHVlPSIw IiAvPg0KCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsb2dnZWRJblR3 aXR0ZXJBY2NvdW50SWQiIHZhbHVlPSItMSIgLz4NCgkJCQkJPC9kaXY+DQoJ PC9kaXY+DQoNCgk8ZGl2IGlkPSJwYWdlIj4NCgkJPGRpdiBpZD0icHJpbWFy eSI+DQoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImJveCBtZWRpYUJveCBsYXN0 Ij4NCgkJCTxkaXYgaWQ9ImJhciI+DQoJPGRpdiBpZD0idG9vbHMiPg0KCTwh LS08aW1nIHNyYz0iaHR0cDovL3N0YXRpYy5vdy5seS80LTktMTkvaW1hZ2Vz L2xvYWQuZ2lmIiBpZD0idGhyb2JiZXIiIC8+LS0+DQoJCTxzcGFuIGNsYXNz PSJfYWN0aW9uYmFyQ29tbWVudCI+DQoJCQk8YSBocmVmPSIjY29tbWVudHMi IGNsYXNzPSJfbG9jYWxTY3JvbGwgaWNvbi1wbHVzIGNvbW1lbnRzIj4NCgkJ CTxzcGFuIGNsYXNzPSJpY29uLTE5Ij48L3NwYW4+PHN0cm9uZz5Db21tZW50 czwvc3Ryb25nPjwvYT4gKDxzcGFuIGNsYXNzPSJfYWN0aW9uYmFyQ29tbWVu dENvdW50Ij4uLi48L3NwYW4+KQ0KCQk8L3NwYW4+DQoJCTxzcGFuIGNsYXNz PSJzcGMiPjwvc3Bhbj4NCgkJPGEgY2xhc3M9Imljb24tcGx1cyB0d2VldCIg aHJlZj0iIyIgb25jbGljaz0iZXhwYW5kQmFyKCdwaG90bycsICdwYW5lbC1y ZXR3ZWV0JywyOTEpOyByZXR1cm4gZmFsc2U7Ij4NCgkJCTxzcGFuIGNsYXNz PSJpY29uLTE5Ij48L3NwYW4+PHN0cm9uZz5Ud2VldDwvc3Ryb25nPg0KCQk8 L2E+DQoJCTxzcGFuIGNsYXNzPSJzcGMiPjwvc3Bhbj4NCgkJPGEgY2xhc3M9 Imljb24tcGx1cyBzaGFyZSIgaHJlZj0iIyIgdGl0bGU9IkJvb2ttYXJrIGFu ZCBTaGFyZSIgb25jbGljaz0iZXhwYW5kQmFyKCdwaG90bycsICdwYW5lbC1z aGFyZScsMjkxKTsgcmV0dXJuIGZhbHNlOyI+DQoJCQk8c3BhbiBjbGFzcz0i aWNvbi0xOSI+PC9zcGFuPjxzdHJvbmc+U2hhcmU8L3N0cm9uZz4NCgkJPC9h Pg0KCQk8c3BhbiBjbGFzcz0ic3BjIj48L3NwYW4+DQoJCTxzcGFuIGNsYXNz PSJyYXRlIj48YSBjbGFzcz0iaWNvbiByYXRlVXAiIGhyZWY9IiMiIG9uY2xp Y2s9ImZpbGVTY29yZUNsaWNrKCdwaG90bycsICc2NjgwMTI4JywgJ3VwJyk7 cmV0dXJuIGZhbHNlOyI+PHNwYW4gY2xhc3M9Imljb24tMTkiPjwvc3Bhbj48 L2E+PGEgY2xhc3M9Imljb24gcmF0ZURvd24iIGhyZWY9IiMiIG9uY2xpY2s9 ImZpbGVTY29yZUNsaWNrKCdwaG90bycsICc2NjgwMTI4JywgJ2Rvd24nKTty ZXR1cm4gZmFsc2U7Ij48c3BhbiBjbGFzcz0iaWNvbi0xOSI+PC9zcGFuPjwv YT4NCgkJCTxzdHJvbmc+UmF0ZSA8L3N0cm9uZz48c3BhbiBjbGFzcz0ic2Nv cmUiIGlkPSJmaWxlU2NvcmVSYXRpbmdOdW1iZXIiPig8ZW0+KzE8L2VtPik8 L3NwYW4+DQoJCTwvc3Bhbj4NCgkJCQkJCQk8c3BhbiBjbGFzcz0ic3BjIj48 L3NwYW4+DQoJCQkJPCEtLSBWaWV3IE9yaWdpbmFsIGlzIFBob3RvIG9ubHkg LS0+DQoJCQkJPGEgY2xhc3M9Imljb24tcGx1cyBtYWduaWZ5IiBocmVmPSJo dHRwOi8vb3cubHkvaS9zMU8wL29yaWdpbmFsIiB0aXRsZT0iVmlldyBPcmln aW5hbCBTaXplIj48c3BhbiBjbGFzcz0iaWNvbi0xOSI+PC9zcGFuPjxzdHJv bmc+T3JpZ2luYWwgU2l6ZTwvc3Ryb25nPjwvYT4NCgkJCQk8L2Rpdj4NCjwv ZGl2Pg0KDQo8aW5wdXQgaWQ9InNob3J0VXJsIiB0eXBlPSJoaWRkZW4iIHZh bHVlPSJodHRwOi8vb3cubHkvaS9zMU8wIiAvPg0KPGlucHV0IGlkPSJoYXNo IiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJzMU8wIiAvPg0KPGlucHV0IGlkPSJk ZWZhdWx0Q29udGVudCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iUlQgQEpaSmV3 ZWxyeTogU2NyZWVuIHNob3QgMjAxMi0wMi0wOSBhdCA0LjU0LjQzIEFNLnBu ZyBodHRwOi8vb3cubHkvaS9zMU8wIiAvPg0KPGlucHV0IGlkPSJ1c2VybmFt ZSIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iSlpKZXdlbHJ5IiAvPg0KDQo8ZGl2 IGlkPSJwYW5lbHMiPjwvZGl2Pg0KDQo8c2NyaXB0IHNyYz0iaHR0cDovL2Nk bi5naWd5YS5jb20vd2lsZGZpcmUvanMvd2ZhcGl2Mi5qcyI+PC9zY3JpcHQ+ ICAgICAgICA8ZGl2IGNsYXNzPSJpbWFnZVdyYXBwZXIiPg0KICAgICAgICAJ PGEgaHJlZj0iaHR0cDovL293Lmx5L2kvczFPMC9vcmlnaW5hbCIgdGl0bGU9 IlZpZXcgb3JpZ2luYWwgc2l6ZSI+DQogICAgICAgICAgICA8aW1nIHNyYz0i aHR0cDovL3N0YXRpYy5vdy5seS9waG90b3Mvbm9ybWFsL3MxTzAuanBnIiBh bHQ9IlNjcmVlbiBzaG90IDIwMTItMDItMDkgYXQgNC41NC40MyBBTS5wbmci IC8+DQogICAgICAgICAgICA8L2E+DQogICAgICAgIDwvZGl2Pg0KICAgICAg ICA8ZGl2IGNsYXNzPSJjYXB0aW9uIF90d2VldENvbnRlbnQiPg0KCQkJCQkJ ICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjxkaXYgY2xhc3M9Im1lZGlh Q3JlZGl0Ij4NCiAgICA8c3BhbiBjbGFzcz0iaWNvbiBhcnJvdy1kb3duIj48 c3BhbiBjbGFzcz0iaWNvbi0xOSI+PC9zcGFuPjwvc3Bhbj4NCgk8YSBjbGFz cz0iaWNvbi1wbHVzIGZsYWcgX2ZsYWdQaG90byIgaHJlZj0iI2ZsYWdQaG90 byI+Jm5ic3A7PHNwYW4gY2xhc3M9Imljb24tMTIiPjwvc3Bhbj5SZXBvcnQg QWJ1c2U8L2E+DQogICAgPGRpdiBjbGFzcz0iYXZhdGFyLTQ4Ij4NCiAgICAJ PGEgY2xhc3M9ImJvcmRlciIgaHJlZj0iaHR0cDovL293Lmx5L3VzZXIvSlpK ZXdlbHJ5IiB0aXRsZT0iSlpKZXdlbHJ5Ij4NCiAgICAgICAgCTxpbWcgc3Jj PSJodHRwOi8vYTAudHdpbWcuY29tL3Byb2ZpbGVfaW1hZ2VzLzE3OTE3MzM2 NjIvanpqLWxvZ28tMDFfVFdJVFRFUl80X19fMl9fbm9ybWFsLmpwZyIgb25l cnJvcj0iZG9BdmF0YXJTZWFyY2godGhpcywgJ0paSmV3ZWxyeScpIiBhbHQ9 IkpaSmV3ZWxyeSIgLz4NCiAgICAgICAgPC9hPg0KICAgIDwvZGl2Pg0KICAg IDxoMyBjbGFzcz0idXNlcm5hbWUiPjxhIGhyZWY9Imh0dHA6Ly9vdy5seS91 c2VyL0paSmV3ZWxyeSIgdGl0bGU9IkpaSmV3ZWxyeSI+SlpKZXdlbHJ5PC9h PjwvaDM+DQogICAgPGg0IGNsYXNzPSJwb3N0ZGF0ZSI+UG9zdGVkIDI3IGRh eXMgYWdvPC9oND4NCiAgICANCiAgICA8L2Rpdj4NCg0KCQk8ZGl2IGNsYXNz PSJsaXN0V3JhcHBlciI+DQoJPGEgbmFtZT0iY29tbWVudHMiPjwvYT4NCgk8 ZGl2IGNsYXNzPSJsaXN0VGFicyI+DQoJCTxkaXYgY2xhc3M9InRhYiBhY3Rp dmUiPg0KCQkJPGEgaHJlZj0iIyI+Q29tbWVudHMgKDxzcGFuIGNsYXNzPSJf Y29tbWVudFRhYkNvdW50Ij4uLi48L3NwYW4+KTwvYT4NCgkJPC9kaXY+DQoJ CQk8L2Rpdj4NCgkNCgk8ZGl2IGNsYXNzPSJsaXN0Qm94ZXMiPg0KCQk8ZGl2 IGlkPSJfY29tbWVudHMiIGNsYXNzPSJsaXN0Qm94IGJveCI+IA0KCQkJCQkJ PGRpdiBjbGFzcz0iaXRlbSI+IA0KCQkJCQ0KCQkJCQkJCQkJCQkJCTxkaXYg Y2xhc3M9ImF2YXRhci00OCI+DQoJCQkJCQk8YSBjbGFzcz0iYm9yZGVyIj4N CgkJCQkJCQk8aW1nIHNyYz0iLi4vaW1hZ2VzL2F2YXRhcl9pY29uLmpwZyIg YWx0PSJEZWZhdWx0IEF2YXRhciIgLz4NCgkJCQkJCTwvYT4NCgkJCQkJPC9k aXY+DQoJCQkJCTxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJidG5Mb2dpbkNv bW1lbnQiIHZhbHVlPSJMb2dpbiB0byBDb21tZW50IiBzdHlsZT0iZGlzcGxh eTpub25lIiAvPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb21tZW50IG5ldy1j b21tZW50Ij4NCgkJCQkJPHNwYW4gY2xhc3M9ImFycm93LWxlZnQiPjxzcGFu IGNsYXNzPSJpY29uLTE5Ij48L3NwYW4+PC9zcGFuPg0KCQkJCQk8ZGl2IGNs YXNzPSJtZXNzYWdlIj4gDQoJCQkJCQk8Zm9ybSBpZD0iZm9ybUNvbW1lbnQi IGNsYXNzPSJyZXR3ZWV0IF9jb21tZW50Rm9ybSIgYWN0aW9uPSIiIG1ldGhv ZD0iZ2V0IiB0YXJnZXQ9Il9ibGFuayIgb25zdWJtaXQ9InJldHVybiBzdWJt aXRDb21tZW50KCk7Ij4NCgkJCQkJCQk8c3Ryb25nPlR3ZWV0IGEgY29tbWVu dDo8L3N0cm9uZz4gPHNwYW4gY2xhc3M9ImRpc2NsYWltZXIiPihOb3RlOiBU aGlzIHdpbGwgcG9zdCB0byB5b3VyIFR3aXR0ZXIgYWNjb3VudCBhcyBhIHJl cGx5IHRvIEBKWkpld2VscnkpPC9zcGFuPg0KCQkJCQkJCTxkaXYgY2xhc3M9 InR4YSBjLXUiIG9uY2xpY2s9IiQoJy5fY29tbWVudEZvcm0gI2NvbW1lbnRD b250ZW50JykuZm9jdXMoKTsgJCh0aGlzKS5hZGRDbGFzcygnZm9jdXMnKTsi Pg0KCQkJCQkJCQlASlpKZXdlbHJ5JiMwMTMzCQkJCQkJCQk8dGV4dGFyZWEg bmFtZT0iY29tbWVudFtjb250ZW50XSIgaWQ9ImNvbW1lbnRDb250ZW50IiBv bmJsdXI9IiQoJy5fY29tbWVudEZvcm0gLnR4YScpLnJlbW92ZUNsYXNzKCdm b2N1cycpOyI+PC90ZXh0YXJlYT4NCgkJCQkJCQkJJiMwMTMzaHR0cDovL293 Lmx5L2kvczFPMA0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQ0KCQkJCQkJCTxk aXYgaWQ9ImNvbW1lbnRVcGxvYWRTd2YiIGNsYXNzPSJfY29tbWVudFVwbG9h ZGVyIj4gDQoJCQkJCQkJCQkJCQkJCSANCgkJCQkJCQkJPGEgaHJlZj0iIyIg Y2xhc3M9Il9zaWduSW5Ub1VwbG9hZCI+PHN0cm9uZz5TaWduIGluPC9zdHJv bmc+PC9hPiAgdG8gYXR0YWNoIGFuIGltYWdlIG9yIGRvY3VtZW50IHRvIHlv dXIgY29tbWVudA0KCQkJCQkJCSANCgkJCQkJCQk8L2Rpdj4NCgkJCQkJCQk8 c3BhbiBpZD0icmV0d2VldC1lcnJvciI+PC9zcGFuPg0KCQkJCQkJCTxpbnB1 dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNvbW1lbnRbbW9kZWxUeXBlXSIgdmFs dWU9InBob3RvIiAvPg0KCQkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5h bWU9ImNvbW1lbnRbbW9kZWxJZF0iIHZhbHVlPSI2NjgwMTI4IiAvPg0KCQkJ CQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNvbW1lbnRbbW9kZWxU d2l0dGVyQWNjb3VudElkXSIgdmFsdWU9IjM2NTg0NDYiIC8+DQoJCQkJCQkJ PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29tbWVudFttb2RlbFVzZXJu YW1lXSIgdmFsdWU9IkpaSmV3ZWxyeSIgLz4NCgkJCQkJCQk8aW5wdXQgdHlw ZT0iaGlkZGVuIiBuYW1lPSJjb21tZW50W21vZGVsQXZhdGFyXSIgdmFsdWU9 Imh0dHA6Ly9hMC50d2ltZy5jb20vcHJvZmlsZV9pbWFnZXMvMTc5MTczMzY2 Mi9qemotbG9nby0wMV9UV0lUVEVSXzRfX18yX19ub3JtYWwuanBnIiAvPg0K CQkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNvbW1lbnRbbW9k ZWxUd2VldElkXSIgdmFsdWU9IiIgLz4NCgkJCQkJCQk8aW5wdXQgdHlwZT0i aGlkZGVuIiBuYW1lPSJjb21tZW50W3JlcGx5TW9kZWxUeXBlXSIgLz4NCgkJ CQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb21tZW50W3JlcGx5 TW9kZWxJZF0iIC8+DQoJCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFt ZT0iY29tbWVudFtyZXBseUl0ZW1JbmZvXSIgLz4NCgkJCQkJCQk8aW5wdXQg dHlwZT0iaGlkZGVuIiBuYW1lPSJjb21tZW50W21vZGVsSXRlbUluZm9dIiB2 YWx1ZT0naHR0cDovL3N0YXRpYy5vdy5seS9waG90b3MvdGh1bWIvczFPMC5q cGcnIC8+DQoJCQkJCQkJPGRpdiBjbGFzcz0ic2J0Ij4NCgkJCQkJCQkJPGlu cHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlbmQgVHdlZXQiIC8+DQoJCQkJ CQkJPC9kaXY+DQoJCQkJCQkJPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0K CQkJCQkJPC9mb3JtPg0KCQkJCQk8L2Rpdj4NCgkJCQk8L2Rpdj4NCgkJPC9k aXY+DQoJCQ0KCQk8ZGl2IGNsYXNzPSJfY29tbWVudExpc3QiPg0KCQkJTG9h ZGluZyBjb21tZW50cy4uLjxpbWcgc3JjPSIuLi9pbWFnZXMvbG9hZC5naWYi IGFsdD0ibG9hZGluZyIgLz4NCgkJPC9kaXY+DQoJCTxhIG5hbWU9ImxhdGVz dGNvbW1lbnQiPjwvYT4NCgk8L2Rpdj4NCgk8L2Rpdj4NCjwvZGl2Pg0KPHNj cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCSQoZG9jdW1lbnQpLnJl YWR5KGZ1bmN0aW9uKCkgew0KCQlpZiAoJCgiLl9zaWduSW5Ub1VwbG9hZCIp LnNpemUoKSA+IDApIHsNCgkJCSQoIi5fc2lnbkluVG9VcGxvYWQiKS5jbGlj ayhmdW5jdGlvbihlKXsNCgkJCQkkKCIjYnRuTG9naW4iKS5jbGljaygpOw0K CQkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCX0pOw0KCQl9DQoJCWdldENv bW1lbnRzKCk7DQoJfSk7DQo8L3NjcmlwdD4NDQoNCg0KPHNjcmlwdCB0eXBl PSJ0ZXh0L2phdmFzY3JpcHQiPg0KCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0 aW9uKCl7DQoJCSQoImEuX2ZsYWdQaG90byIpLmJpbmQoImNsaWNrIiwgZnVu Y3Rpb24oZXZlbnQpIHsNCgkJCWZsYWdGaWxlKCdwaG90bycsIDY2ODAxMjgs IHRoaXMpOw0KCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJfSk7DQoJ CQ0KCQkJCQkvKg0KCQkJdmFyIHNlYXJjaFRlcm0gPSAiaHR0cDovL293Lmx5 L2kvczFPMCI7DQoJCQl2YXIgaGFzaCA9IHNlYXJjaFRlcm0uc3Vic3RyaW5n KHNlYXJjaFRlcm0ubGFzdEluZGV4T2YoIi8iKSsxKTsNCgkJCWdldFR3ZWV0 Q29udGVudEJ5U2VhcmNoKCdKWkpld2VscnknLCBvd2x5LmMucm9vdFVybCAr Jy9pICcgKyBoYXNoLCB0cnVlLCAkKCIuX3R3ZWV0Q29udGVudCIpLCAnU2Ny ZWVuIHNob3QgMjAxMi0wMi0wOSBhdCA0LjU0LjQzIEFNLnBuZycpOw0KCQkJ Ki8NCgkJCXNlYXJjaE9yaWdpbmFsVHdlZXQoJ3Bob3RvJywgJzY2ODAxMjgn LCAkKCIuX3R3ZWV0Q29udGVudCIpLCAnU2NyZWVuIHNob3QgMjAxMi0wMi0w OSBhdCA0LjU0LjQzIEFNLnBuZycpOw0KCQkJDQoNCgkJJCgnLmltYWdlV3Jh cHBlcicpLmJpbmQoImNvbnRleHRtZW51IixmdW5jdGlvbihlKXsNCgkJCXJl dHVybiBmYWxzZTsNCgkJfSk7DQoNCgl9KTsNCgkNCgkNCjwvc2NyaXB0PgkJ PC9kaXY+DQoJCTwhLS0gb25seSBzaG93IHNpZGViYXIgaWYgbm90IHZpZXdp bmcgb3JpZ2luYWwgc2l6ZSAtLT4NCgkJCQkJPGRpdiBpZD0ic2Vjb25kYXJ5 Ij4NCgkJCQk8ZGl2IGNsYXNzPSJhZGJveCI+DQoJCQkJCQ0KCQkJCQkJCQkJ CQkJCQkJCQkJCQkJCQkJCQkJPGEgaHJlZj0iaHR0cDovL2hvb3RzdWl0ZS5j b20vYy9wcm8tb3c/dXRtX3NvdXJjZT1vd2x5JnV0bV9tZWRpdW09YmFubmVy JnV0bV9jb250ZW50PXNtLXRvb2wmdXRtX2NhbXBhaWduPXBybyIgdGFyZ2V0 PSJfYmxhbmsiIG9uY2xpY2s9Im93bHkudHJhY2tFdmVudCh7Y2F0ZWdvcnk6 ICdCYW5uZXJDbGljaycsIGFjdGlvbjogJ2NsaWNrX3Rvb2xfYWQnfSk7Ij48 aW1nIHNyYz0iaHR0cDovL3N0YXRpYy5vdy5seS80LTktMTkvaW1hZ2VzL2Fk cy90b29sX2FkLmpwZyIgLz48L2E+DQoNCgkJCQkJPCEtLTxzY3JpcHQ+DQoJ CQkJCQl2YXIgdmVfcHVibGlzaGVyID0gIk93bHkiOw0KCQkJCQkJdmFyIHZl X3NpdGUgPSAiT1dfTFkiOw0KCQkJCQkJdmFyIHZlX2FyZWEgPSAiT1dfTFki Ow0KCQkJCQkJdmFyIHZlX2xvY2F0aW9uID0gIk9XX0xZX1BIT1RPXzMwMFgy NTAiOw0KCQkJCQkJdmFyIHZlX3BsYWNlbWVudCA9ICJPVEhFUl9waG90byI7 DQoJCQkJCQl2YXIgdmVfd2lkdGggPSAzMDA7DQoJCQkJCQl2YXIgdmVfaGVp Z2h0ID0gMjUwOw0KCQkJCQkJdmFyIHZlX2FsdGVybmF0ZSA9ICIiOw0KCQkJ CQkJZG9jdW1lbnQud3JpdGUoIjxzY3JpcHQgc3JjPSdodHRwOi8vY29yZS52 aWRlb2VnZy5jb20vZWFwL2h0bWwvanMvaW5pdC5qcz8iK01hdGgucmFuZG9t KCkrIic+PC9zYyIrInJpcHQ+Iik7DQoJCQkJCTwvc2NyaXB0Pg0KDQoJCQkJ LS0+PC9kaXY+DQoJCQkJCQkJCQk8IS0tIGVtYmVkIGluZm8gLS0+DQoJCQkJ CTxkaXYgaWQ9ImVtYmVkIj4NCgkJCQkJCTxkaXYgY2xhc3M9ImJveCI+DQoJ CQkJCQkJPGRpdiBjbGFzcz0iaW5uZXJCb3JkZXIiPg0KCQkJCQkJCTxsYWJl bCBjbGFzcz0idGl0bGUiPjxzdHJvbmc+RGlyZWN0IExpbms6PC9zdHJvbmc+ PC9sYWJlbD4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iaXB0Ij4NCgkJCQkJCQkJ PGlucHV0IHR5cGU9InRleHQiIG9uY2xpY2s9InRoaXMuZm9jdXMoKTsgdGhp cy5zZWxlY3QoKTsiIHZhbHVlPSJodHRwOi8vb3cubHkvaS9zMU8wIiAvPg0K CQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQk8L2Rpdj4NCgkJCQkJCTwvZGl2Pg0K CQkJCQkJPGRpdiBjbGFzcz0ibGlzdFdyYXBwZXIiPg0KCQkJCQkJCQkJCQkJ CQkJPGRpdiBjbGFzcz0ibGlzdFRhYnMiPg0KCQkJCQkJCQkJPGRpdiBjbGFz cz0idGFiIGFjdGl2ZSI+DQoJCQkJCQkJCQkJPGEgaHJlZj0iIyIgcmVsPSJf c21hbGxUaHVtYiI+VGh1bWJuYWlsPC9hPg0KCQkJCQkJCQkJPC9kaXY+DQoJ CQkJCQkJCQk8ZGl2IGNsYXNzPSJ0YWIiPg0KCQkJCQkJCQkJCTxhIGhyZWY9 IiMiIHJlbD0iX2Z1bGxUaHVtYiI+RnVsbCBJbWFnZTwvYT4NCgkJCQkJCQkJ CTwvZGl2Pg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0i bGlzdEJveGVzIj4NCgkJCQkJCQkJCTxkaXYgaWQ9Il9zbWFsbFRodW1iIiBj bGFzcz0ibGlzdEJveCBib3giPg0KDQoJCQkJCQkJCQkJPGRpdiBjbGFzcz0i aW5uZXJCb3JkZXIiPg0KCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJpcHQiPg0K CQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG9uY2xpY2s9InRoaXMu Zm9jdXMoKTsgdGhpcy5zZWxlY3QoKTsiIHZhbHVlPSc8YSBocmVmPSJodHRw Oi8vb3cubHkvaS9zMU8wIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Imh0 dHA6Ly9zdGF0aWMub3cubHkvcGhvdG9zL3RodW1iL3MxTzAuanBnIiBhbHQ9 Ik93bHkgSW1hZ2VzIiAvPjwvYT4nIC8+DQoJCQkJCQkJCQkJCTwvZGl2Pg0K CQkJCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJ CTxkaXYgaWQ9Il9mdWxsVGh1bWIiIGNsYXNzPSJsaXN0Qm94IGJveCIgc3R5 bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCg0KCQkJCQkJCQkJCTxkaXYgY2xhc3M9 ImlubmVyQm9yZGVyIj4NCgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iaXB0Ij4N CgkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBvbmNsaWNrPSJ0aGlz LmZvY3VzKCk7IHRoaXMuc2VsZWN0KCk7IiB2YWx1ZT0nPGEgaHJlZj0iaHR0 cDovL293Lmx5L2kvczFPMCIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJo dHRwOi8vc3RhdGljLm93Lmx5L3Bob3Rvcy9ub3JtYWwvczFPMC5qcGciIGFs dD0iT3dseSBJbWFnZXMiIC8+PC9hPicgLz4NCgkJCQkJCQkJCQkJPC9kaXY+ DQoJCQkJCQkJCQkJPC9kaXY+DQoNCgkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJ CQk8L2Rpdj4NCgkJCQkJCQkNCgkJCQkJCQkNCgkJCQkJCTwvZGl2Pg0KCQkJ CQk8L2Rpdj4NCgkJCQkJPCEtLSBwaG90byBpbmZvIC0tPg0KCQkJCQkJCQkJ CQk8IS0tIG5vIHBob3RvIGluZm8gLS0+DQoJCQkJCQkJCQkJPCEtLSBtb3Jl LWJ5LXRoaXMtdXNlciBpbmZvIC0tPg0KCQkJCQkJCQkJCQk8ZGl2IGNsYXNz PSJ0aHVtYnMgYm94Ij4NCgkJCQkJCTxkaXYgY2xhc3M9ImlubmVyQm9yZGVy Ij4NCgkJCQkJCQk8cCBjbGFzcz0idGl0bGUiPg0KCQkJCQkJCQk8YSBjbGFz cz0ibW9yZSIgaHJlZj0iaHR0cDovL293Lmx5L3VzZXIvSlpKZXdlbHJ5Ij48 c3Ryb25nPlNlZSBBbGwgJnJhcXVvOzwvc3Ryb25nPjwvYT4NCgkJCQkJCQkJ PHN0cm9uZz5Nb3JlIHBob3RvcyBmcm9tIEpaSmV3ZWxyeTwvc3Ryb25nPg0K CQkJCQkJCTwvcD4NCgkJCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0idGh1bWIt NzciPg0KCQkJCQkJCQk8YSBjbGFzcz0iYm9yZGVyIiBocmVmPSJodHRwOi8v b3cubHkvaS91cDlXIiB0aXRsZT0iVmluZXNzYSBTaGF3IOKAkyBTaXJlbnMu cG5nIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8aW1nIHNyYz0iaHR0cDovL3N0 YXRpYy5vdy5seS9waG90b3MvdGh1bWIvdXA5Vy5qcGciIGFsdD0iVmluZXNz YSBTaGF3IOKAkyBTaXJlbnMucG5nIiAvPg0KCQkJCQkJCQkJCQkJCQkJCQk8 L2E+DQoJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9 InRodW1iLTc3Ij4NCgkJCQkJCQkJPGEgY2xhc3M9ImJvcmRlciIgaHJlZj0i aHR0cDovL293Lmx5L2kvdXA5QyIgdGl0bGU9IlBlbm55IE1hcnNoYWxsLnBu ZyI+DQoJCQkJCQkJCQkJCQkJCQkJCQkJPGltZyBzcmM9Imh0dHA6Ly9zdGF0 aWMub3cubHkvcGhvdG9zL3RodW1iL3VwOUMuanBnIiBhbHQ9IlBlbm55IE1h cnNoYWxsLnBuZyIgLz4NCgkJCQkJCQkJCQkJCQkJCQkJPC9hPg0KCQkJCQkJ CTwvZGl2Pg0KCQkJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0aHVtYi03NyI+ DQoJCQkJCQkJCTxhIGNsYXNzPSJib3JkZXIiIGhyZWY9Imh0dHA6Ly9vdy5s eS9pL3VwOW4iIHRpdGxlPSJZdmV0dGUgTmljb2xlIEJyb3duIOKAkyBDb21t dW5pdHkgKE5CQykucG5nIj4NCgkJCQkJCQkJCQkJCQkJCQkJCQk8aW1nIHNy Yz0iaHR0cDovL3N0YXRpYy5vdy5seS9waG90b3MvdGh1bWIvdXA5bi5qcGci IGFsdD0iWXZldHRlIE5pY29sZSBCcm93biDigJMgQ29tbXVuaXR5IChOQkMp LnBuZyIgLz4NCgkJCQkJCQkJCQkJCQkJCQkJPC9hPg0KCQkJCQkJCTwvZGl2 Pg0KCQkJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJPC9kaXY+DQoJCQkJCQkJ CQkJCQkJPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMHB4OyI+DQoJCQkJ CTxhIGhyZWY9Imh0dHA6Ly9ob290c3VpdGUuY29tIiB0YXJnZXQ9Il9ibGFu ayI+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMub3cubHkvNC05LTE5L2ltYWdl cy9ob290c3VpdGVfcHJvbW8uanBnIiBhbHQ9Ikhvb3RTdWl0ZSIgdGl0bGU9 Ikhvb3RTdWl0ZSIgLz48L2E+DQoJCQkJPC9kaXY+DQoJCQkJPGRpdiBjbGFz cz0iYWR2ZXJ0aXNtZW50IGxhc3QiPg0KCQkJCQk8IS0tICBWaWRlb0VnZyB0 YWcgLS0+PCEtLQ0KCQkJCQk8c2NyaXB0Pg0KCQkJCQkJdmFyIHZlX3B1Ymxp c2hlciA9ICJPd2x5IjsNCgkJCQkJCXZhciB2ZV9zaXRlID0gIk9XX0xZIjsN CgkJCQkJCXZhciB2ZV9hcmVhID0gIk9XX0xZIjsNCgkJCQkJCXZhciB2ZV9s b2NhdGlvbiA9ICJPV19MWV9QSUNUVVJFXzMwMFg2MDAiOw0KCQkJCQkJdmFy IHZlX3BsYWNlbWVudCA9ICJPVEhFUl9waWN0dXJlIjsNCgkJCQkJCXZhciB2 ZV93aWR0aCA9IDMwMDsNCgkJCQkJCXZhciB2ZV9oZWlnaHQgPSA2MDA7DQoJ CQkJCQl2YXIgdmVfYWx0ZXJuYXRlID0gImNvbGxhcHNlIjsNCgkJCQkJCWRv Y3VtZW50LndyaXRlKCI8c2NyaXB0IHNyYz0naHR0cDovL2NvcmUudmlkZW9l Z2cuY29tL2VhcC9odG1sL2pzL2luaXQuanM/IitNYXRoLnJhbmRvbSgpKyIn Pjwvc2MiKyJyaXB0PiIpOw0KCQkJCQk8L3NjcmlwdD4NCgkJCQkJLS0+PCEt LSBlbmQgVmlkZW9FZ2cgdGFnIC0tPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+ DQoJCQk8L2Rpdj4NCg0KCTxkaXYgaWQ9ImZvb3RlciI+DQoJCSZjb3B5OyAy MDA5IG93Lmx5IC0gPGEgaHJlZj0iaHR0cDovL293Lmx5L3Rlcm1zIj5UZXJt cyBvZiBTZXJ2aWNlPC9hPiB8IDxhIGNsYXNzPSJmZGJrIiB0YXJnZXQ9Il9i bGFuayIgaHJlZj0iaHR0cDovL2dldHNhdGlzZmFjdGlvbi5jb20vaG9vdHN1 aXRlL3Byb2R1Y3RzL2hvb3RzdWl0ZV9vd2x5Ij5GZWVkYmFjazwvYT4NCgk8 L2Rpdj4NCg0KCTxkaXYgaWQ9InVzZXJNZXNzYWdlIj4NCgk8L2Rpdj4NCg0K PC9kaXY+DQoNCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0K ICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KICAgICAgICAv LyBjb252ZXJ0IGFsbCByZWxhdGl2ZSBkYXRlcw0KICAgICAgICAkKCIuX3Jl bGF0aXZlRGF0ZSIpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB0 aGlzLmlubmVySFRNTCA9IGdldFJlbGF0aXZlVGltZSh0aGlzLmlubmVySFRN TCk7DQogICAgICAgICAgICAkKHRoaXMpLmNzcygidmlzaWJpbGl0eSIsICJ2 aXNpYmxlIik7DQogICAgICAgIH0pOw0KDQogICAgICAgIC8vIGJpbmQgdXJs ICJjb3B5IHRvIGNsaXBib2FyZCIgdGV4dGJveGVzDQogICAgICAgICQoImlu cHV0Ll9jb3B5VXJsIikuYmluZCgiY2xpY2siLCBmdW5jdGlvbigpIHsNCgkJ CXRoaXMuZm9jdXMoKTsNCiAgICAgICAgICAgIHRoaXMuc2VsZWN0KCk7DQog ICAgICAgIH0pOw0KDQogICAgICAgIC8vIGJpbmQgYWxsIGxvY2FsIHNjcm9s bCBsaW5rcw0KICAgICAgICAkKCIuX2xvY2FsU2Nyb2xsIikubGl2ZSgiY2xp Y2siLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICB2YXIgaHJlZiA9ICQo dGhpcykuYXR0cigiaHJlZiIpOw0KICAgICAgICAgICAgdmFyIG5hbWUgPSBo cmVmLnN1YnN0cmluZyhocmVmLmluZGV4T2YoIiMiKSsxKTsNCiAgICAgICAg CXNjcm9sbFRvQW5jaG9yKG5hbWUpOw0KICAgICAgICAJZS5wcmV2ZW50RGVm YXVsdCgpOw0KICAgICAgICB9KTsNCg0KDQogICAgICAgIAkgICAgICAgIC8v IHBvcGF1dGgNCgkgICAgICAgIHZhciBwID0gbmV3IHBvcGF1dGgoInR3aXR0 ZXIiLCAnL2FqYXgvdHdpdHRlci9nZXQtYXV0aC11cmwnLCBmdW5jdGlvbihl LCBvdCwgb3YpIHsgDQoJCSAgICAgICAgJC5nZXRKU09OKCcvYWpheC90d2l0 dGVyL2dldC1hY2Nlc3MtdG9rZW4/b3Q9JytvdCsnJm92PScrb3YsIGZ1bmN0 aW9uKGRhdGEpIHsNCgkJCQkJaWYgKGRhdGEuc3VjY2Vzcykgew0KCQkJCQkJ c2V0VGltZW91dChmdW5jdGlvbigpeyB3aW5kb3cubG9jYXRpb24gPSB3aW5k b3cubG9jYXRpb247IH0sIDAuMSk7CS8vIHJlZnJlc2gNCgkJCQkJfSBlbHNl IHsNCgkJCQkJCWRpc3BsYXlVc2VyTWVzc2FnZSgiTG9naW4gZmFpbGVkLCBw bGVhc2UgdHJ5IGFnYWluIik7DQoJCQkJCX0NCgkJICAgICAgICB9KTsgDQoJ CQl9KTsNCgkJCS8vIGJpbmQgYnV0dG9uDQoJCQkkKCIjYnRuTG9naW4iKS5i aW5kKCJjbGljayIsIGZ1bmN0aW9uKGUpIHsNCgkJCQllLnByZXZlbnREZWZh dWx0KCk7DQoJCQkJcC5zdGFydCgpOwkvLyBzdGFydCBhdXRoDQoJCQl9KTsN CgkgICAgICAgIA0KICAgICAgICANCiAgICAgICAgJCgnLmxpc3RUYWJzIC50 YWIgYScpLmNsaWNrKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGlmICgh JCh0aGlzKS5jbG9zZXN0KCcubGlzdFRhYnMnKS5oYXNDbGFzcygnX25vbkFq YXgnKSkgew0KCQkJCWlmKCQodGhpcykuYXR0cigncmVsJykgJiYgJCgnIycr JCh0aGlzKS5hdHRyKCdyZWwnKSkubGVuZ3RoKSB7DQoJCQkJJCh0aGlzKS5j bG9zZXN0KCcubGlzdFRhYnMnKS5maW5kKCcuYWN0aXZlJykucmVtb3ZlQ2xh c3MoJ2FjdGl2ZScpOw0KCQkJCSQodGhpcykucGFyZW50KCkuYWRkQ2xhc3Mo J2FjdGl2ZScpOw0KCQkJCSQodGhpcykuY2xvc2VzdCgnLmxpc3RXcmFwcGVy JykuZmluZCgnLmxpc3RCb3hlcyAubGlzdEJveCcpLmhpZGUoKTsNCgkJCQkJ dmFyIHRhcmdldCA9ICQodGhpcykuYXR0cigncmVsJyk7DQoJCQkJCSQoJyMn K3RhcmdldCkuc2hvdygpOw0KCQkJCX0NCgkJCQllLnByZXZlbnREZWZhdWx0 KCk7DQogICAgICAgICAgICB9DQoJCX0pOw0KDQoJCSQucHJlbG9hZEltYWdl cyA9IGZ1bmN0aW9uKCkgew0KCQkJZm9yICh2YXIgaSA9IDA7IGk8YXJndW1l bnRzLmxlbmd0aDsgaSsrKSB7DQoJCQkJaW1nID0gbmV3IEltYWdlKCk7DQoJ CQkJaW1nLnNyYyA9IGFyZ3VtZW50c1tpXTsNCgkJCX0NCgkJfQ0KCQkkLnBy ZWxvYWRJbWFnZXMoDQoJCQknaHR0cDovL3N0YXRpYy5vdy5seS80LTktMTkv aW1hZ2VzL25ldy9tYXBzL21hcC0xMi1ob3Zlci5wbmcnLA0KCQkJJ2h0dHA6 Ly9zdGF0aWMub3cubHkvNC05LTE5L2ltYWdlcy9uZXcvbWFwcy9tYXAtMTIt YWN0aXZlLnBuZycsDQoJCQknaHR0cDovL3N0YXRpYy5vdy5seS80LTktMTkv aW1hZ2VzL25ldy9tYXBzL21hcC0xOS1ob3Zlci5wbmcnLA0KCQkJJ2h0dHA6 Ly9zdGF0aWMub3cubHkvNC05LTE5L2ltYWdlcy9uZXcvbWFwcy9tYXAtMTkt YWN0aXZlLnBuZycsDQoJCQknaHR0cDovL3N0YXRpYy5vdy5seS80LTktMTkv aW1hZ2VzL25ldy9tYXBzL21hcC03My1ob3Zlci5wbmcnLA0KCQkJJ2h0dHA6 Ly9zdGF0aWMub3cubHkvNC05LTE5L2ltYWdlcy9uZXcvbWFwcy9tYXAtNzMt YWN0aXZlLnBuZycNCgkJKTsNCiAgICB9KTsNCjwvc2NyaXB0Pg0KDQoJPHNj cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCQl2YXIgX2dhcSA9IF9n YXEgfHwgW107DQoJCV9nYXEucHVzaChbJ19zZXRBY2NvdW50JywgJ1VBLTUx MjIzLTIyJ10pOw0KCQlfZ2FxLnB1c2goWydfdHJhY2tQYWdldmlldyddKTsN CgkNCgkJKGZ1bmN0aW9uKCkgew0KCQkJdmFyIGdhID0gZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgnc2NyaXB0Jyk7IGdhLnR5cGUgPSAndGV4dC9qYXZhc2Ny aXB0JzsgZ2EuYXN5bmMgPSB0cnVlOw0KCQkJZ2Euc3JjID0gKCdodHRwczon ID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sID8gJ2h0dHBzOi8vc3Ns JyA6ICdodHRwOi8vd3d3JykgKyAnLmdvb2dsZS1hbmFseXRpY3MuY29tL2dh LmpzJzsNCgkJCXZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h bWUoJ3NjcmlwdCcpWzBdOyBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGdh LCBzKTsNCgkJfSkoKTsNCgk8L3NjcmlwdD4NCgk8c2NyaXB0IHR5cGU9InRl eHQvamF2YXNjcmlwdCI+DQoJCXRyeSB7DQoJCQl2YXIgcGFnZVRyYWNrZXIg PSBfZ2F0Ll9nZXRUcmFja2VyKCJVQS01MTIyMy0yMiIpOw0KCQkJcGFnZVRy YWNrZXIuX3RyYWNrUGFnZXZpZXcoKTsNCgkJfSBjYXRjaChlcnIpIHt9DQoJ PC9zY3JpcHQ+DQo8L2JvZHk+DQo8L2h0bWw+DQoNCg0KDQoNCg0KDQoNCg0K DQoN http_version: '1.1' recorded_at: Wed, 07 Mar 2012 17:19:50 GMT recorded_with: VCR 2.0.0