94689|ref.memcache|50|1258534933|dweller at devonweller dot com|SW4gdGhlIG1lbWNhY2hlIFBFQ0wgZXh0ZW5zaW9uIHZlcnNpb24gMi4yLjUsIHRoZSBkZWxldGUgZnVuY3Rpb24gZG9lcyBub3Qgd29yayB3aXRoIG1lbWNhY2hlZCAxLjQuMy4gIFRvIHdvcmsgYXJvdW5kIHRoaXMsIGhlcmUgaXMgYSB2ZXJzaW9uIG9mIHRoZSBtZW1jYWNoZSBQRUNMIGV4dGVuc2lvbiB3aXRoIGEgcGF0Y2ggcHJvdmlkZWQgYnkgaGFydiBhdCBwcmluZ28gZG90IGNvbSBhcHBsaWVkOg0KDQpodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGhwbWVtY2FjaGVwYXRjaC9kb3dubG9hZHMvbGlzdA0KDQpUbyBpbnN0YWxsOiBkb3dubG9hZCANCg0KaHR0cDovL3BocG1lbWNhY2hlcGF0Y2guZ29vZ2xlY29kZS5jb20vZmlsZXMvbWVtY2FjaGUtMi4yLjViLnRneiANCg0KYW5kIGRvOg0KDQpwZWNsIGluc3RhbGwgbWVtY2FjaGUtMi4yLjViLnRneg==|1|1 81240|ref.memcache|50|1203429010|restlessmind at I dot gmail dot HATE dot com dot SPAM|SWYgeW91IGFyZSB0cnlpbmcgaW5zdGFsbCB0aGlzIG1vZHVsZSBmb3IgUEhQIDUuMiB1bmRlciBXaW5kb3dzIGJ1dCBpdCB3b24ndCBsb2FkIG9uIHN0YXJ0dXAsIG1ha2Ugc3VyZSB5b3UgaGF2ZSBhbGwgeW91ciBkZXBlbmRlbmNpZXMgaW5jbHVkaW5nIHRoZSBjb3JyZWN0IHRocmVhZC1zYWZldHkgYnVpbGQgb2YgUEhQLgoKRm9yIGhvdXJzIEkgdHJpZWQgdG8gdHJhY2sgZG93biB3aHkgSSBjb3VsZG4ndCBsb2FkIHBocF9tZW1jYWNoZS5kbGwsIGFuZCBmaW5hbGx5IHVzZWQgRGVwZW5kZW5jeSBXYWxrZXIgKGZyb20gaHR0cDovL3d3dy5kZXBlbmRlbmN5d2Fsa2VyLmNvbSkgb24gdGhlIC5kbGwgZmlsZS4gIFRoaXMgbWFkZSBtZSByZWFsaXplIHRoYXQgd2hpbGUgSSB3YXMgdXNpbmcgdGhlIHZlcnNpb24gb2YgUEhQIDUuMi41IHRoYXQgd2FzIG5vbi10aHJlYWQgc2FmZSwgdGhlIC5kbGwgb2ZmZXJlZCBieSBwZWNsNHdpbiB3YXMgZXhwZWN0aW5nIHRoZSB0aHJlYWQgc2FmZSB2ZXJzaW9uIG9mIFBIUC4gIE9uY2UgSSByZWN0aWZpZWQgdGhpcywgZXZlcnl0aGluZyB3b3JrZWQgZmluZS4=|2|2 80747|ref.memcache|33|1201674507|contact at codeassembly dot com|Tm90ZSB0aGF0IHRoZXJlIGlzIG5vIHdheSB0byBoYXZlIHlvdXIgb3duIGhhc2hpbmcgbWVjaGFuaXNtLCB0aGUgYmVzdCB3YXkgdG8gZ3JvdXAgYSBzZXQgb2Ygb2JqZWN0cyB0byBhIHNlcnZlciBpcyB0byBtYW51YWxseSBzZWxlY3QgdGhlIHNlcnZlciB0byB1c2UuCgpJIHdhbnQgdG8ga2VlcCBhbGwgb2JqZWN0cyBmb3IgYSBjZXJ0YWluIHVzZXIgb24gdGhlIHNhbWUgc2VydmVyLgoKdXNlcl81NF9kZXNjcmlwdGlvbgp1c2VyXzU0X2luZm8KdXNlcl81NF9jb21tZW50cwp1c2VyXzU0X2V0YwouCi4KCklmIEkgaGF2ZSBhbGwgdGhlc2Ugb2JqZWN0cyBvbiB0aGUgc2FtZSBzZXJ2ZXIgSSBjYW4gZ2V0IGFsbCBkYXRhIHdpdGggb25seSBvbmUgY2FsbCB0byBtZW1jYWNoZSAtPiBnZXQgKGdldF9tdWx0aSksIHNvIHRoaXMgaW1wcm92ZXMgcGVyZm9ybWFuY2UgYSBsb3QuCgpUaGUgd2F5IEkgZG8gdGhpcyBpcyBieSBoYXNoaW5nIHRoZSBVc2VyL09iamVjdCBpZCB0byB0byB0aGUgbnVtYmVyIG9mIHNlcnZlcnMuCgo8P3BocAokbWVtY2FjaGVfaG9zdHMgPSBhcnJheQooCicxOTIuMTY4LjEuMScsCicxOTIuMTY4LjEuMicsCicxOTIuMTY4LjEuMycsCicxOTIuMTY4LjEuNCcsCicxOTIuMTY4LjEuNScsCik7Cgokc2VydmVyID0gJGlkICUgY291bnQoJG1lbWNhY2hlX2hvc3RzKTsKCiRtZW1jYWNoZSA9IG5ldyBNZW1jYWNoZTsKJG1lbWNhY2hlLT5jb25uZWN0KCRtZW1jYWNoZV9ob3N0c1skc2VydmVyXSwgMTEyMTEpOwoKLy9nZXQgb3Igc2V0IHlvdXIgb2JqZWN0cyBoZXJlCj8+CgpZb3UgY2FuIGxlYXZlIG90aGVyIG9iamVjdHMgdGhhdCB5b3UgZG9uJ3Qgd2FudCB0byBncm91cCB0byBtZW1jYWNoZSBleHRlbnNpb24gdG8gaGFzaCBhbmQgc2VsZWN0IHRoZSBhcHByb3BpYXRlIHNlcnZlci4=|1|2 78156|ref.memcache|60|1191186208|mogmios at gmail dot com|V2hlbiBpbnN0YWxsaW5nIHRoZSBtZW1jYWNoZSBtb2R1bGUgZm9yIEFwYWNoZS9QSFAgd2l0aCBhIG5vbi1zdGFuZGFyZCBsb2NhdGlvbiBpdCBzZWVtcyBsaWtlIHRoZXJlIGlzIG5vIHdheSB0byBkZWZpbmUgdGhlIGxvY2F0aW9uIHdoZW4gY29uZmlndXJpbmcgZm9yIGJ1aWxkLiBZb3UnbGwgZ2V0IGFuIGVycm9yIGNvbXBsYWluaW5nIGFib3V0IGJlaW5nIHVuYWJsZSB0byBmaW5kIHBocF9zZXNzaW9uLmguIEkgbW9kaWZpZWQgY29uZmlndXJlIHRvIHRyeSB0aGUgUFJFRklYIGxvY2F0aW9uIHRvbyBhbmQgdGhhdCBzZWVtcyB0byBoYXZlIHdvcmtlZCBmaW5lLgoKICAgIGlmIHRlc3QgLWYgIiR7cHJlZml4fS9pbmNsdWRlL3BocC9leHQvc2Vzc2lvbi9waHBfc2Vzc2lvbi5oIjsgdGhlbgogICAgICBzZXNzaW9uX2luY19wYXRoPSIke3ByZWZpeH0vaW5jbHVkZS9waHAiCiAgICBlbGlmIHRlc3QgLWYgIiRhYnNfc3JjZGlyL2luY2x1ZGUvcGhwL2V4dC9zZXNzaW9uL3BocF9zZXNzaW9uLmgiOyB0aGVuCiAgICAgIHNlc3Npb25faW5jX3BhdGg9IiRhYnNfc3JjZGlyL2luY2x1ZGUvcGhwIgogICAgZWxpZiB0ZXN0IC1mICIkYWJzX3NyY2Rpci9leHQvc2Vzc2lvbi9waHBfc2Vzc2lvbi5oIjsgdGhlbgogICAgICBzZXNzaW9uX2luY19wYXRoPSIkYWJzX3NyY2RpciIKICAgIGVsaWYgdGVzdCAtZiAiJHBocGluY2x1ZGVkaXIvZXh0L3Nlc3Npb24vcGhwX3Nlc3Npb24uaCI7IHRoZW4KICAgICAgc2Vzc2lvbl9pbmNfcGF0aD0iJHBocGluY2x1ZGVkaXIiCiAgICBmaQ==|3|2 77296|ref.memcache|50|1187837878|Colin Guthrie|SSBoYXZlIG5vdGljZWQgYSBidWcvZG9jdW1lbnRhdGlvbiBlcnJvcjoKClRoZSBhYm92ZSBkb2NzIHNheSB0aGUgZm9sbG93aW5nIGFib3V0IHRoZSBzZXNzaW9uLnNhdmVfcGF0aCBhcmd1ZW1lbnQ6CiJFYWNoIHVybCBtYXkgY29udGFpbiBwYXJhbWV0ZXJzIHdoaWNoIGFyZSBhcHBsaWVkIHRvIHRoYXQgc2VydmVyLCB0aGV5IGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIE1lbWNhY2hlOjphZGRTZXJ2ZXIoKSBtZXRob2QuICIKCmFkZFNlcnZlciBtZXRob2QncyBkb2NzIHNheToKInBvcnQKCiAgICBQb2ludCB0byB0aGUgcG9ydCB3aGVyZSBtZW1jYWNoZWQgaXMgbGlzdGVuaW5nIGZvciBjb25uZWN0aW9ucy4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwgYW5kIGl0cyBkZWZhdWx0IHZhbHVlIGlzIDExMjExLiBTZXQgdGhpcyBwYXJhbWV0ZXIgdG8gMCB3aGVuIHVzaW5nIFVOSVggZG9tYWluIHNvY2tldHMuICIKCkhvd2V2ZXIgd2hlbiBzcGVjaWZ5aW5nIHRoZSBzYXZlX3BhdGgsIEkgaGF2ZSBmb3VuZCB0aGF0IHdpdGggUEhQIDUuMi4zIGFuZCBtZW1jYWNoZSAyLjEuMiB0aGF0IHRoZSBwb3J0IGlzIGEgKnJlcXVpcmVkKiBwYXJ0IG9mIHRoZSBzdHJpbmcuCgpIb3BlIHRoYXQgaGVscHMgc29tZSBwZW9wbGUgc2NyYXRjaGluZyB0aGVpciBoZWFkcy4=|1|1 75997|ref.memcache|0|1182820209|markfrawley at gmail dot com|SGVyZSBpcyBhIFBIUDQgYmFja3BvcnQgb2YgdGhlIGFib3ZlIE1lbWNhY2hlQWdncmVnYXRvciBjbGFzczoKCjw/cGhwCmNsYXNzIE1lbWNhY2hlZEFnZ3JlZ2F0b3IgewogICAgdmFyICRjb25uZWN0aW9uczsKICAgIHZhciAkX3NlcnZlcnM7CgogICAgZnVuY3Rpb24gTWVtY2FjaGVkQWdncmVnYXRvcigkc2VydmVycykgewogICAgICAgICR0aGlzLT5fc2VydmVycyA9ICRzZXJ2ZXJzOwogICAgICAgIC8vIEF0dGVtcHQgdG8gZXN0YWJsaXNoL3JldHJpZXZlIHBlcnNpc3RlbnQgY29ubmVjdGlvbnMgdG8gYWxsIHNlcnZlcnMuCiAgICAgICAgLy8gSWYgYW55IG9mIHRoZW0gZmFpbCwgdGhleSBqdXN0IGRvbid0IGdldCBwdXQgaW50byBvdXIgbGlzdCBvZiBhY3RpdmUKICAgICAgICAvLyBjb25uZWN0aW9ucy4KICAgICAgICAkdGhpcy0+Y29ubmVjdGlvbnMgPSBhcnJheSgpOwogICAgICAgIGZvciAoJGkgPSAwLCAkbiA9IGNvdW50KCRzZXJ2ZXJzKTsgJGkgPCAkbjsgJGkrKykgewogICAgICAgICAgICAkc2VydmVyID0gJHNlcnZlcnNbJGldOwogICAgICAgICAgICAkY29uID0gbWVtY2FjaGVfY29ubmVjdCgkc2VydmVyWydob3N0J10pOwogICAgICAgICAgICAvL21lbWNhY2hlX2RlYnVnKDEpOyAKICAgICAgICAgICAgLy8kbWVtY2FjaGUgPSAmbmV3IE1lbWNhY2hlOwogICAgICAgICAgICAvLyRjb24gPSAkbWVtY2FjaGUtPmNvbm5lY3QoJHNlcnZlclsnaG9zdCddKTsKICAgICAgICAgICAgaWYgKCEoJGNvbiA9PSBmYWxzZSkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5jb25uZWN0aW9uc1tdID0gJiRjb247CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIF9nZXRDb25Gb3JLZXkoJGtleSkgewogICAgICAgICRoYXNoQ29kZSA9IDA7CiAgICAgICAgZm9yICgkaSA9IDAsICRsZW4gPSBzdHJsZW4oJGtleSk7ICRpIDwgJGxlbjsgJGkrKykgewogICAgICAgICAgICAkaGFzaENvZGUgPSAoaW50KSgoJGhhc2hDb2RlKjMzKStvcmQoJGtleVskaV0pKSAmIDB4N2ZmZmZmZmY7CiAgICAgICAgfQogICAgICAgIGlmICgoJG5zID0gY291bnQoJHRoaXMtPmNvbm5lY3Rpb25zKSkgPiAwKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Y29ubmVjdGlvbnNbJGhhc2hDb2RlJSRuc107CiAgICAgICAgICAgIC8vcmV0dXJuICR0aGlzLT5jb25uZWN0aW9uc1swXTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIGZ1bmN0aW9uIGRlYnVnKCRvbl9vZmYpIHsKICAgICAgICAkcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPmNvbm5lY3Rpb25zKTsgJGkrKykgewogICAgICAgICAgICBpZiAoJHRoaXMtPmNvbm5lY3Rpb25zWyRpXS0+ZGVidWcoJG9uX29mZikpICRyZXN1bHQgPSB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJHJlc3VsdDsKICAgIH0KCiAgICBmdW5jdGlvbiBmbHVzaCgpIHsKICAgICAgICAkcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPmNvbm5lY3Rpb25zKTsgJGkrKykgewogICAgICAgICAgICBpZiAoJHRoaXMtPmNvbm5lY3Rpb25zWyRpXS0+Zmx1c2goKSkgJHJlc3VsdCA9IHRydWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIC8vLyBUaGUgZm9sbG93aW5nIGFyZSBub3QgaW1wbGVtZW50ZWQ6CiAgICAvLy9nZXRTdGF0cygpCiAgICAvLy9nZXRWZXJzaW9uKCkKCiAgICBmdW5jdGlvbiBnZXQoJGtleSkgewogICAgICAgIGlmIChpc19hcnJheSgka2V5KSkgewogICAgICAgICAgICAkZGVzdCA9IGFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRrZXkgYXMgJHN1YmtleSkgewogICAgICAgICAgICAkdmFsID0gZ2V0KCRzdWJrZXkpOwogICAgICAgICAgICBpZiAoISgkdmFsID09PSBmYWxzZSkpICRkZXN0WyRzdWJrZXldID0gJHZhbDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJGRlc3Q7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGNvbm4gPSAmJHRoaXMtPl9nZXRDb25Gb3JLZXkoJGtleSk7CiAgICAgICAgICAgIHJldHVybiAkY29ubi0+Z2V0KCRrZXkpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBzZXQoJGtleSwgJHZhciwgJGNvbXByZXNzPTAsICRleHBpcmU9MCkgewogICAgICAgICRjb25uID0gJiR0aGlzLT5fZ2V0Q29uRm9yS2V5KCRrZXkpOwogICAgICAgIHJldHVybiAkY29ubi0+c2V0KCRrZXksICR2YXIsICRjb21wcmVzcywgJGV4cGlyZSk7CiAgICB9CgogICAgZnVuY3Rpb24gYWRkKCRrZXksICR2YXIsICRjb21wcmVzcz0wLCAkZXhwaXJlPTApIHsKICAgICAgICAkY29ubiA9ICYkdGhpcy0+X2dldENvbkZvcktleSgka2V5KTsKICAgICAgICByZXR1cm4gJGNvbm4tPmFkZCgka2V5LCAkdmFyLCAkY29tcHJlc3MsICRleHBpcmUpOwogICAgfQoKICAgIGZ1bmN0aW9uIHJlcGxhY2UoJGtleSwgJHZhciwgJGNvbXByZXNzPTAsICRleHBpcmU9MCkgewogICAgICAgICRjb25uID0gJiR0aGlzLT5fZ2V0Q29uRm9yS2V5KCRrZXkpOwogICAgICAgIHJldHVybiAkY29ubi0+cmVwbGFjZSgka2V5LCAkdmFyLCAkY29tcHJlc3MsICRleHBpcmUpOwogICAgfQoKICAgIGZ1bmN0aW9uIGRlbGV0ZSgka2V5LCAkdGltZW91dD0wKSB7CiAgICAgICAgJGNvbm4gPSAmJHRoaXMtPl9nZXRDb25Gb3JLZXkoJGtleSk7CiAgICAgICAgcmV0dXJuICRjb25uLT5kZWxldGUoJGtleSwgJHRpbWVvdXQpOwogICAgfQoKICAgIGZ1bmN0aW9uIGluY3JlbWVudCgka2V5LCAkdmFsdWU9MSkgewogICAgICAgICRjb25uID0gJiR0aGlzLT5fZ2V0Q29uRm9yS2V5KCRrZXkpOwogICAgICAgIHJldHVybiAkY29ubi0+aW5jcmVtZW50KCRrZXksICR2YWx1ZSk7CiAgICB9CgogICAgZnVuY3Rpb24gZGVjcmVtZW50KCRrZXksICR2YWx1ZT0xKSB7CiAgICAgICAgJGNvbm4gPSAmJHRoaXMtPl9nZXRDb25Gb3JLZXkoJGtleSk7CiAgICAgICAgcmV0dXJuICRjb25uLT5kZWNyZW1lbnQoJGtleSwgJHZhbHVlKTsKICAgIH0KCiAgICBmdW5jdGlvbiBzaG93U3RhdHMoJHNlcnZlcj1udWxsKSB7CiAgICAgICAgJHN0YXRzX291dCA9ICcnOwogICAgICAgIGlmKCRzZXJ2ZXIgPT0gbnVsbCkgewogICAgICAgICAgICAkaT0wOwogICAgICAgICAgICBmb3JlYWNoKCR0aGlzLT5jb25uZWN0aW9ucyBhcyAkY29ubikgeyAgCiAgICAgICAgICAgICAgICAkc2VydmVyID0gJHRoaXMtPl9zZXJ2ZXJzWyRpXTsKICAgICAgICAgICAgICAgICRzdGF0c19hcnJheSA9IG1lbWNhY2hlX2dldF9zdGF0cygkY29ubik7CiAgICAgICAgICAgICAgICAkc3RhdHNfb3V0IC49ICI8L2JyPjxiPlNlcnZlcjogIi4kc2VydmVyWydob3N0J10uIjogPC9iPjxici8+IjsKICAgICAgICAgICAgICAgIGZvcmVhY2goJHN0YXRzX2FycmF5IGFzICRrZXkgPT4gJHZhbCkgewogICAgICAgICAgICAgICAgICAgICRzdGF0c19vdXQgLj0gIiRrZXkgPT4gJHZhbCA8YnIvPiI7CiAgICAgICAgICAgICAgICB9ICAgCiAgICAgICAgICAgICAgICAkaSsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkc3RhdHNfb3V0OwogICAgfSAgICAKfQo/Pg==|0|2 75232|ref.memcache|50|1179501932|moazzamk at gmail dot com|WW91IGNhbid0IGNhbGwgcGFyZW50OjpfX2NvbnN0cnVjdCgpIGluIHRoZSBjb25zdHJ1Y3RvciBvZiB5b3VyIGNsYXNzIGlmIHlvdSBhcmUgZXh0ZW5kaW5nIHRoZSBtZW1jYWNoZSBjbGFzcy4gSG93ZXZlciwgbm90IHJ1bm5pbmcgdGhlIGNvbnN0cnVjdG9yIHN0aWxsIGluaXRpYXRlcyBpdCBhbmQgd29ya3MgZmluZS4gCgo8P3BocAoKLy8gd3JvbmcKCmNsYXNzIGEgZXh0ZW5kcyBNZW1jYWNoZSB7CiAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGhvc3QsICRwb3J0KQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKICAgICR0aGlzLT5jb25uZWN0KCRob3N0LCAkcG9ydCk7CiAgfQoKLy9jb3JyZWN0CmNsYXNzIGEgZXh0ZW5kcyBNZW1jYWNoZSB7CiAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGhvc3QsICRwb3J0KQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKICAgICR0aGlzLT5jb25uZWN0KCRob3N0LCAkcG9ydCk7CiAgfQoKPz4KCkkgYW0gZ3Vlc3NpbmcgdGhpcyBhcHBsaWVzIHRvIGFsbCBuYXRpdmUvUEVDTCBjbGFzc2VzLg==|2|2 74418|ref.memcache|0|1176216348|gil at squidoo dot com|VGhlcmUgaXMgYSB0aW55IGJ1ZyBpbiB0aGUgQWdncmVnYXRvciBjbGFzcyB3aGVuIHVzaW5nIHRoZSBmbHVzaCgpIGZ1bmN0aW9uLiBUaGUgcmVmZXJlbmNlIHRvICRjb25uZWN0aW9ucyBzaG91bGQgYmUgJHRoaXMtPmNvbm5lY3Rpb25zLgoKQ2hhbmdlOgoKcHVibGljIGZ1bmN0aW9uIGZsdXNoKCkgewogICRyZXN1bHQgPSBmYWxzZTsKICBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkY29ubmVjdGlvbnMpOyAkaSsrKSB7CiAgICBpZiAoJHRoaXMtPmNvbm5lY3Rpb25zWyRpXS0+Zmx1c2goKSkgewogICAgICAkcmVzdWx0ID0gdHJ1ZTsKICAgIH0KICB9CiAgcmV0dXJuICRyZXN1bHQ7Cn0KClRvOgoKcHVibGljIGZ1bmN0aW9uIGZsdXNoKCkgewogICRyZXN1bHQgPSBmYWxzZTsKICBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkdGhpcy0+Y29ubmVjdGlvbnMpOyAkaSsrKSB7CiAgICBpZiAoJHRoaXMtPmNvbm5lY3Rpb25zWyRpXS0+Zmx1c2goKSkgewogICAgICAkcmVzdWx0ID0gdHJ1ZTsKICAgIH0KICB9CiAgcmV0dXJuICRyZXN1bHQ7Cn0=|0|1 72239|ref.memcache|50|1168277329|jcastromail at yahoo dot es|SGkgdGhlcmU6DQoNCkZvciBydW4gbWVtY2FjaGVkIGluIGEgd2luZG93cyBib3g6ICh0ZXN0ZWQgd2l0aCBsYXRlc3QgcGhwLGFwYWNoZSBhbmQgbWVtY2FjaGUgaW4geHAgc3AyKQ0KDQphKSBkb3dubG9hZCB0aGUgcGhwX21lbWNhY2hlLmRsbCBpdCBjYW4gYmUgZm91bmQgaW4gdGhlIHBlY2wgZmlsZS4NCg0KYikgcHV0IHRoZSBkbGwgaW4gdGhlIGV4dGVuc2lvbiBmb2xkZXIgKGM6L3BocC9leHRlbnNpb24gZm9yIGV4YW1wbGUpLiBZb3UgY2Fubm90IG1pc3MgdGhpcyBmb2xkZXIgYmVjYXVzZSB0aGV5IGFyZSBmaWxsZWQgd2l0aCBwaHAqLmRsbCBmaWxlcy4gIEluIHNvbWUgY2FzZXMgdGhlIGV4dGVuc2lvbiBmb2xkZXIgdXNlZCBpcyB0aGUgc3lzdGVtMzIsIGEgbm9uLXN0YW5kYXJkIHdheSB0byBwdXQgZGxsIGJ1dCBzdGlsbCB3b3Jrcy4NCg0KYyljb25maWd1cmUgdGhlIHBocC5pbmkNCjsgaSBwdXQgdGhpcyBsaWtlIHRoZSBsYXRlc3QgZXh0ZW5zaW9uDQpleHRlbnNpb249cGhwX21lbWNhY2hlLmRsbA0KDQo7IGknbSBub3Qgc3VyZSBhYm91dCB0aGlzIGJ1dCBkb24ndCBodXJ0cy4uDQpbTWVtY2FjaGVdDQptZW1jYWNoZS5hbGxvd19mYWlsb3ZlciA9IDEgDQptZW1jYWNoZS5tYXhfZmFpbG92ZXJfYXR0ZW1wdHM9MjAgDQptZW1jYWNoZS5jaHVua19zaXplID04MTkyDQptZW1jYWNoZS5kZWZhdWx0X3BvcnQgPSAxMTIxMQ0KDQpkKVRoaXMgaXMgaW1wb3J0YW50LCBtZW1jYWNoZWQgd29ya3Mgd2l0aCBhIEVYVEVSTkFMIHNlcnZpY2UuIFRoaXMgc2VydmljZSBtdXN0IGJlIGRvd25sb2FkZWQgYW5kIGluc3RhbGxlZCBwcmlvciB0byB1c2UgdGhlIG1lbWNhY2hlLiAgSSB1c2U6ICBodHRwOi8vamVoaWFoLmN6L3Byb2plY3RzL21lbWNhY2hlZC13aW4zMi8NCg0KZSlSZW1lbWJlciB0byBpbnN0YWxsIHRoZSBzZXJ2aWNlIGFuZCB0byBzdGFydCB0aGUgc2VydmljZSBtZW1jYWNoZWQuZXhlIC1kIGluc3RhbGwgZm9yIGluc3RhbGwgYW5kIHJ1biBzZXJ2aWNlcy5tc2MgZm9yIHN0YXJ0IHRoZSBtZW1jYWNoZWQgc2VydmljZSAob3IgcmVzdGFydCB0aGUgc3lzdGVtKS4NCg0KZikgY2hlY2sgdGhlIGZpcmV3YWxsIHBvcnRzLg0KDQpGaW5hbGx5IHJlc3RhcnQgdGhlIGFwYWNoZS9paXMgYW5kIHJ1bnMgc29tZSB0ZXN0LiBBdCBsZWFzdCBpbiBwaHBpbmZvIG11c3Qgc2hvdyBzb21lIGluZm8gYWJvdXQgdGhlIG1lbWNhY2hlLg0KDQpGaW5hbCBub3RlcyA6VGhlICJhd2UiIGFib3V0IG1lbWNhY2hlIGlzIG5vdCBvbmx5IGNhbiBoZWxwIGZvciBzcGVlZCBzb21lIHByb2Nlc3MgKG9yIHJlZHVjZSB0aGUgY3B1IHVzZSksIGFsc28gY2FuIGJlIHVzZWQgbGlrZSBhIGdsb2JhbCBzZXNzaW9uIGZvciBzdG9yZSBhIHdob2xlIG9iamVjdCBhbHNvIHRoaXMgImdsb2JhbCBzZXNzaW9uIiBpcyBzaGFyZWQgYW1vbmcgYWxsIHRoZSB1c2VycywgbGlrZSBBUFBMSUNBVElPTiB1c2VkIGluIEFTUC4gIFNvIChmb3IgZXhhbXBsZSkgaXQncyBwb3NzaWJsZSB0byBkbyBhIHVzZXIgY291bnRlciB3aXRob3V0IG5lZWRpbmcgb2YgZGF0YWJhc2Ugb3Igd3JpdGluZyBhIGZpbGUu|1|1 70760|ref.memcache|50|1161874040|ed at me3inc dot com|UmUuIEluc3RhbGxpbmcgdGhlIG1lbWNhY2hlIGV4dGVuc2lvbjoKCkkgaGFkIGFsbCBraW5kcyBvZiB0cm91YmxlcyBnZXR0aW5nIGl0IGhvb2tlZCB1cCwgYmVjYXVzZSBpbiBhbGwgb2YgdGhlIGluc3RydWN0aW9ucyBJIHJlYWQgSSBuZXZlciBnb3QgdGhlIGxhc3QsIG1vc3QgaW1wb3J0YW50IHN0ZXAgLSB5b3UgbXVzdCBoYXZlIGEgcGhwLmluaSBhbmQgaGF2ZSBpbiBpdCAiZXh0ZW5zaW9uPW1lbWNhY2hlLnNvLiIgCgpTbywgdGhlIHN0ZXBzOgpGaXJzdCAtIC4vY29uZmlndXJlIHdpdGggLS1lbmFibGUtbWVtY2FjaGUuIFRoaXMgc2hvdWxkIHNob3cgaW4geW91ciBwaHBpbmZvKCkgYXQgdGhlIHRvcCAoZXZlbiB0aG91Z2ggbm90aGluZyBvZiB0aGUgbWVtY2FjaGUgZXh0ZW5zaW9uIHdvcmtzIHlldCkuCgpTZWNvbmQ6CmVpdGhlciBwZWNsIGluc3RhbGwgbWVtY2FjaGUKT1IKZG93bmxvYWQgdGhlIHNvdXJjZQp0YXIgLXh6dmYgW3RoZXNvdXJjZXRhcmJhbGxdCnBocGl6ZQouL2NvbmZpZ3VyZQptYWtlCm1ha2UgaW5zdGFsbAoKRmluYWxseTogQWRkIGV4dGVuc2lvbj1tZW1jYWNoZS5zbyB0byB5b3VyIHBocC5pbmkuIChJZiB5b3UgZG9uJ3QgaGF2ZSBvbmUsIGl0IHNob3VsZCBnbyBpbiB0aGUgcm9vdCBvZiB3aGVyZSBwaHAgaXMgY2FsbGVkIGllLiwgL3Vzci9sb2NhbC9saWIpCgpDYWxsIHBocGluZm8oKSBhbmQgeW91IHNob3VsZCBzZWUgYSBtZW1jYWNoZSBzZWN0aW9uLg==|1|1 60901|ref.memcache|100|1137674150|iliya at pisem dot net|b25lIG1vcmUgImludGVsbGlnZW50IiBjYWNoZSBhZ2dyZWdhdG9yOgpodHRwczovL3N2bi5zaGFkYW5ha2FyLm9yZy9vblBIUC8gdHJ1bmsvY29yZS9DYWNoZS9BZ2dyZWdhdGVDYWNoZS5jbGFzcy5waHAKY2FuIGJlIHVzZWQgd2l0aCBzZXZlcmFsIGNhY2hlIGNvbm5lY3RvcnMgLSBtZW1jYWNoZWQsIGZpbGVzeXN0ZW0sIGV0Yy4KKHJlbW92ZSB3aGl0ZXNwYWNlIG1hbnVhbGx5KQ==|1|0 56771|ref.memcache|0|1126703989|Ron|QW4gaW1wcm92ZW1lbnQgdG8gdGhlIGFib3ZlOgoKVGhlIGFib3ZlIGNsYXNzIHdpbGwgY2F1c2UgYW4gZXJyb3IgaWYgYWxsIGNhY2hlIHNlcnZlcnMgYXJlIGRvd24uICBUaGUgcHJlZmVycmVkIGJlaGF2aW9yIGlzIHRvIGp1c3QgaGF2ZSBhIGNhY2hlIG1pc3MgKG9yIHRha2Ugbm8gYWN0aW9uIGluIHRoZSBjYXNlIG9mIHdyaXRlIG9wZXJhdGlvbnMpIGFuZCByZXR1cm4gZmFsc2UsIHNvIHRoZSBhcHAgY2FuIHJ1biBpbiBub24tY2FjaGVkIG1vZGUgaWYgYWxsIGNhY2hlIHNlcnZlcnMgYXJlIGRvd24uCgpUbyBtYWtlIHRoaXMgaGFwcGVuLCBzaW1wbHkgY2hhbmdlIHRoZSBjb25uZWN0aW9uIHVzYWdlIHRvIGxvb2sgc29tZXRoaW5nIGxpa2UgdGhpcyBpbiBlYWNoIGFmZmVjdGVkIGZ1bmN0aW9uLiAgVGhpcyBjb2RlIGlzIGZvciB0aGUgZ2V0KCkgZnVuY3Rpb246CgoJICAgICRjb24gPSAkdGhpcy0+X2dldENvbkZvcktleSgka2V5KTsKCSAgICBpZiAoJGNvbiA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTsKCSAgICByZXR1cm4gJGNvbi0+Z2V0KCRrZXkpOwoKU2ltaWxhcmx5LCB0aGUgYWZmZWN0ZWQgY29kZSBpbiB0aGUgc2V0KCkgZnVuY3Rpb24gd291bGQgbG9vayBsaWtlIHRoaXM6CgkkY29uID0gJHRoaXMtPl9nZXRDb25Gb3JLZXkoJGtleSk7CglpZiAoJGNvbiA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTsKCXJldHVybiAkY29uLT5zZXQoJGtleSwgJHZhciwgJGNvbXByZXNzLCAkZXhwaXJlKTsKCk1vZGlmeSBlYWNoIGZ1bmN0aW9uIGFjY29yZGluZ2x5LCBhbmQgaWYgYWxsIG9mIHlvdXIgY2FjaGUgc2VydmVycyBhcmUgZG93biwgeW91IGNhbiBzdGlsbCBmdW5jdGlvbiAoYWx0aG91Z2ggbW9yZSBzbG93bHkgZHVlIHRvIHRoZSAxMDAlIGNhY2hlIG1pc3MgcmF0ZSku|0|2 56765|ref.memcache|100|1126693235|Ron|SGVyZSBpcyBhIHNpbXBsZSBtZW1jYWNoZWQgYWdncmVnYXRvciBjbGFzcyB3aGljaCBkaXN0cmlidXRlcyB0aGUgY2FjaGUgYW1vbmcgbXVsdGlwbGUgY2FjaGUgc2VydmVycy4gIElmIGEgc2VydmVyIGZhaWxzLCB0aGUgbG9hZCBpcyByZWRpc3RyaWJ1dGVkIGF1dG9tYXRpY2FsbHkuICBJdCB1c2VzIHBlcnNpc3RlbnQgY29ubmVjdGlvbnMuCgpUaGUgY29uc3RydWN0b3IgdGFrZXMgYW4gYXJyYXkgb2YgYXJyYXlzLCB3aXRoIGVhY2ggaW5uZXIgYXJyYXkgcmVwcmVzZW50aW5nIGEgc2VydmVyLCB3aXRoIGEgJ3NlcnZlcicgKHN0cmluZykgYXR0cmlidXRlIHRoYXQgaXMgdGhlIElQIGFkZHJlcyBvciBob3N0IG5hbWUgb2YgdGhlIG1lbWNhY2hlZCBzZXJ2ZXIsIGFuZCBhICdwb3J0JyAoaW50KSBhdHRyaWJ1dGUgdGhhdCBpcyB0aGUgcG9ydCBudW1iZXIgb24gd2hpY2ggbWVtY2FjaGVkIGlzIHJ1bm5pbmcgb24gdGhlIHNlcnZlci4KCkFsbCBvZiB0aGUgZXhpc3RpbmcgbWVtY2FjaGVkIEFQSSBmdW5jdGlvbnMgYXJlIGltcGxlbWVudGVkIGV4Y2VwdCBnZXRTdGF0cygpIGFuZCBnZXRWZXJzaW9uKCksIHdoaWNoIGFyZSBzZXJ2ZXItc3BlY2lmaWMuCgo8P3BocApjbGFzcyBNZW1jYWNoZWRBZ2dyZWdhdG9yIHsKICAgIHZhciAkY29ubmVjdGlvbnM7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRzZXJ2ZXJzKSB7CgkvLyBBdHRlbXB0IHRvIGVzdGFibGlzaC9yZXRyaWV2ZSBwZXJzaXN0ZW50IGNvbm5lY3Rpb25zIHRvIGFsbCBzZXJ2ZXJzLgoJLy8gSWYgYW55IG9mIHRoZW0gZmFpbCwgdGhleSBqdXN0IGRvbid0IGdldCBwdXQgaW50byBvdXIgbGlzdCBvZiBhY3RpdmUKCS8vIGNvbm5lY3Rpb25zLgoJJHRoaXMtPmNvbm5lY3Rpb25zID0gYXJyYXkoKTsKCWZvciAoJGkgPSAwLCAkbiA9IGNvdW50KCRzZXJ2ZXJzKTsgJGkgPCAkbjsgJGkrKykgewoJICAgICRzZXJ2ZXIgPSAkc2VydmVyc1skaV07CgkgICAgJGNvbiA9IG1lbWNhY2hlX3Bjb25uZWN0KCRzZXJ2ZXJbJ2hvc3QnXSwgJHNlcnZlclsncG9ydCddKTsKCSAgICBpZiAoISgkY29uID09IGZhbHNlKSkgewoJCSR0aGlzLT5jb25uZWN0aW9uc1tdID0gJGNvbjsKCSAgICB9Cgl9CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0Q29uRm9yS2V5KCRrZXkpIHsKCSRoYXNoQ29kZSA9IDA7Cglmb3IgKCRpID0gMCwgJGxlbiA9IHN0cmxlbigka2V5KTsgJGkgPCAkbGVuOyAkaSsrKSB7CgkgICAgJGhhc2hDb2RlID0gKGludCkoKCRoYXNoQ29kZSozMykrb3JkKCRrZXlbJGldKSkgJiAweDdmZmZmZmZmOwoJfQoJaWYgKCgkbnMgPSBjb3VudCgkdGhpcy0+Y29ubmVjdGlvbnMpKSA+IDApIHsKCSAgICByZXR1cm4gJHRoaXMtPmNvbm5lY3Rpb25zWyRoYXNoQ29kZSUkbnNdOwoJfQoJcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWJ1Zygkb25fb2ZmKSB7CgkkcmVzdWx0ID0gZmFsc2U7Cglmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkY29ubmVjdGlvbnMpOyAkaSsrKSB7CgkgICAgaWYgKCR0aGlzLT5jb25uZWN0aW9uc1skaV0tPmRlYnVnKCRvbl9vZmYpKSAkcmVzdWx0ID0gdHJ1ZTsKCX0KCXJldHVybiAkcmVzdWx0OwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBmbHVzaCgpIHsKCSRyZXN1bHQgPSBmYWxzZTsKCWZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRjb25uZWN0aW9ucyk7ICRpKyspIHsKCSAgICBpZiAoJHRoaXMtPmNvbm5lY3Rpb25zWyRpXS0+Zmx1c2goKSkgJHJlc3VsdCA9IHRydWU7Cgl9CglyZXR1cm4gJHJlc3VsdDsKICAgIH0KCi8vLyBUaGUgZm9sbG93aW5nIGFyZSBub3QgaW1wbGVtZW50ZWQ6Ci8vL2dldFN0YXRzKCkKLy8vZ2V0VmVyc2lvbigpCgogICAgcHVibGljIGZ1bmN0aW9uIGdldCgka2V5KSB7CglpZiAoaXNfYXJyYXkoJGtleSkpIHsKCSAgICAkZGVzdCA9IGFycmF5KCk7CgkgICAgZm9yZWFjaCAoJGtleSBhcyAkc3Via2V5KSB7CgkJJHZhbCA9IGdldCgkc3Via2V5KTsKCQlpZiAoISgkdmFsID09PSBmYWxzZSkpICRkZXN0WyRzdWJrZXldID0gJHZhbDsKCSAgICB9CgkgICAgcmV0dXJuICRkZXN0OwoJfSBlbHNlIHsKCSAgICByZXR1cm4gJHRoaXMtPl9nZXRDb25Gb3JLZXkoJGtleSktPmdldCgka2V5KTsKCX0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0KCRrZXksICR2YXIsICRjb21wcmVzcz0wLCAkZXhwaXJlPTApIHsKCXJldHVybiAkdGhpcy0+X2dldENvbkZvcktleSgka2V5KS0+c2V0KCRrZXksICR2YXIsICRjb21wcmVzcywgJGV4cGlyZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFkZCgka2V5LCAkdmFyLCAkY29tcHJlc3M9MCwgJGV4cGlyZT0wKSB7CglyZXR1cm4gJHRoaXMtPl9nZXRDb25Gb3JLZXkoJGtleSktPmFkZCgka2V5LCAkdmFyLCAkY29tcHJlc3MsICRleHBpcmUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXBsYWNlKCRrZXksICR2YXIsICRjb21wcmVzcz0wLCAkZXhwaXJlPTApIHsKCXJldHVybiAkdGhpcy0+X2dldENvbkZvcktleSgka2V5KS0+cmVwbGFjZQoJICAgICgka2V5LCAkdmFyLCAkY29tcHJlc3MsICRleHBpcmUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoJGtleSwgJHRpbWVvdXQ9MCkgewoJcmV0dXJuICR0aGlzLT5fZ2V0Q29uRm9yS2V5KCRrZXkpLT5kZWxldGUoJGtleSwgJHRpbWVvdXQpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBpbmNyZW1lbnQoJGtleSwgJHZhbHVlPTEpIHsKCXJldHVybiAkdGhpcy0+X2dldENvbkZvcktleSgka2V5KS0+aW5jcmVtZW50KCRrZXksICR2YWx1ZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGRlY3JlbWVudCgka2V5LCAkdmFsdWU9MSkgewoJcmV0dXJuICR0aGlzLT5fZ2V0Q29uRm9yS2V5KCRrZXkpLT5kZWNyZW1lbnQoJGtleSwgJHZhbHVlKTsKICAgIH0KCn0KPz4=|1|0