Portal Data – Chapter 2

eyJpZCI6IjIiLCJ0aXRsZSI6IlRoZSBDZXJlYnJhbCBDb3J0ZXgg4oCUIExvYmVzLCBHeXJpLCBhbmQgRnVuY3Rpb25hbCBNYXBwaW5nIiwiY2FyZHMiOltbIldoYXQgaXMgQnJvY2EncyBhcmVhIGFuZCB3aGF0IGRlZmljaXQgcmVzdWx0cyBmcm9tIGl0cyBkYW1hZ2U/IiwiQnJvY2EncyBhcmVhIGlzIEJyb2RtYW5uIGFyZWFzIDQ0IGFuZCA0NSBpbiB0aGUgbGVmdCBpbmZlcmlvciBmcm9udGFsIGd5cnVzLiBEYW1hZ2UgY2F1c2VzIEJyb2NhJ3MgKGV4cHJlc3NpdmUvbm9uLWZsdWVudCkgYXBoYXNpYTogaGFsdGluZywgZWZmb3J0ZnVsIHNwZWVjaCB3aXRoIGludGFjdCBjb21wcmVoZW5zaW9uLiBQYXRpZW50cyBhcmUgb2Z0ZW4gZnJ1c3RyYXRlZCBieSB0aGVpciBkZWZpY2l0LiJdLFsiV2hhdCBpcyBXZXJuaWNrZSdzIGFyZWEgYW5kIHdoYXQgZGVmaWNpdCByZXN1bHRzIGZyb20gaXRzIGRhbWFnZT8iLCJXZXJuaWNrZSdzIGFyZWEgaXMgQnJvZG1hbm4gYXJlYSAyMiBpbiB0aGUgbGVmdCBzdXBlcmlvciB0ZW1wb3JhbCBneXJ1cy4gRGFtYWdlIGNhdXNlcyBXZXJuaWNrZSdzIChyZWNlcHRpdmUvZmx1ZW50KSBhcGhhc2lhOiBmbHVlbnQgYnV0IG1lYW5pbmdsZXNzIHNwZWVjaCAocGFyYXBoYXNpYXMsIG5lb2xvZ2lzbXMpIHdpdGggc2V2ZXJlbHkgaW1wYWlyZWQgY29tcHJlaGVuc2lvbi4gUGF0aWVudHMgYXJlIHVuYXdhcmUgb2YgZXJyb3JzLiJdLFsiV2hlcmUgaXMgdGhlIHByaW1hcnkgbW90b3IgY29ydGV4IGFuZCB3aGF0IGlzIGl0cyBCcm9kbWFubiBudW1iZXI/IiwiUHJpbWFyeSBtb3RvciBjb3J0ZXggaXMgQnJvZG1hbm4gYXJlYSA0LCBsb2NhdGVkIGluIHRoZSBwcmVjZW50cmFsIGd5cnVzIChhbnRlcmlvciB0byB0aGUgY2VudHJhbCBzdWxjdXMpLiBJdCBjb250YWlucyB0aGUgbW90b3IgaG9tdW5jdWx1cyB3aXRoIHNvbWF0b3RvcGljIG9yZ2FuaXNhdGlvbjogbGVnIG1lZGlhbCAocGFyYWNlbnRyYWwgbG9idWxlKSwgZmFjZSBsYXRlcmFsLiBVcHBlciBsaW1iIG9jY3VwaWVzIHRoZSBsYXJnZXN0IGFyZWEuIl0sWyJXaGF0IGlzIGNvbmR1Y3Rpb24gYXBoYXNpYSBhbmQgd2hhdCBpcyBpdHMgYW5hdG9taWNhbCBiYXNpcz8iLCJDb25kdWN0aW9uIGFwaGFzaWEgcmVzdWx0cyBmcm9tIGRhbWFnZSB0byB0aGUgYXJjdWF0ZSBmYXNjaWN1bHVzLCB3aGljaCBjb25uZWN0cyBXZXJuaWNrZSdzIGFuZCBCcm9jYSdzIGFyZWFzLiBTcGVlY2ggaXMgZmx1ZW50IHdpdGggaW50YWN0IGNvbXByZWhlbnNpb24gYnV0IHNldmVyZWx5IGltcGFpcmVkIHJlcGV0aXRpb24uIFBhdGllbnRzIGFyZSBhd2FyZSBvZiBlcnJvcnMgYW5kIGF0dGVtcHQgKG9mdGVuIHVuc3VjY2Vzc2Z1bGx5KSB0byBzZWxmLWNvcnJlY3QuIl0sWyJBIHBhdGllbnQgaWdub3JlcyB0aGUgbGVmdCBzaWRlIG9mIHRoZWlyIGJvZHkgYW5kIGxlZnQgdmlzdWFsIHNwYWNlLiBXaGljaCBsb2JlIGFuZCBoZW1pc3BoZXJlIGlzIG1vc3QgbGlrZWx5IGRhbWFnZWQ/IiwiUmlnaHQgcGFyaWV0YWwgbG9iZSBkYW1hZ2UgY2F1c2VzIGhlbWlzcGF0aWFsIG5lZ2xlY3Qgb2YgdGhlIGNvbnRyYWxhdGVyYWwgKGxlZnQpIHNpZGUuIFRoZSByaWdodCBoZW1pc3BoZXJlIGlzIGRvbWluYW50IGZvciBzcGF0aWFsIGF0dGVudGlvbi4gTGVmdCBoZW1pc3BoZXJlIGxlc2lvbnMgY2F1c2UgbGVzcyBzZXZlcmUgbmVnbGVjdCBiZWNhdXNlIHRoZSByaWdodCBoZW1pc3BoZXJlIGNvbXBlbnNhdGVzLCBidXQgcmlnaHQgaGVtaXNwaGVyZSBsZXNpb25zIGFyZSBub3QgY29tcGVuc2F0ZWQuIl0sWyJXaGF0IGFyZSBCcm9kbWFubiBhcmVhcyAzLCAxLCBhbmQgMiBhbmQgdGhlaXIgZnVuY3Rpb24/IiwiQnJvZG1hbm4gYXJlYXMgMywgMSwgYW5kIDIgZm9ybSB0aGUgcHJpbWFyeSBzb21hdG9zZW5zb3J5IGNvcnRleCBpbiB0aGUgcG9zdGNlbnRyYWwgZ3lydXMsIHBvc3RlcmlvciB0byB0aGUgY2VudHJhbCBzdWxjdXMuIFRoZXkgcmVjZWl2ZSB0aGFsYW1vY29ydGljYWwgcHJvamVjdGlvbnMgZnJvbSBWUEwgKGJvZHkpIGFuZCBWUE0gKGZhY2UpIG51Y2xlaS4gQXJlYSAzYiBpcyB0aGUgcHJpbWFyeSByZWNlaXZpbmcgYXJlYSBmb3IgY3V0YW5lb3VzIGlucHV0cy4iXSxbIldoYXQgaXMgdGhlIGZ1bmN0aW9uIG9mIHRoZSBmcm9udGFsIGV5ZSBmaWVsZHMgYW5kIHdoZXJlIGFyZSB0aGV5IGxvY2F0ZWQ/IiwiVGhlIGZyb250YWwgZXllIGZpZWxkcyAoQnJvZG1hbm4gYXJlYSA4KSBpbiB0aGUgcG9zdGVyaW9yIGZyb250YWwgbG9iZSBjb250cm9sIHZvbHVudGFyeSBjb250cmFsYXRlcmFsIGdhemUuIFN0aW11bGF0aW9uIGNhdXNlcyBpcHNpbGF0ZXJhbCBleWUgZGV2aWF0aW9uIGF3YXkgZnJvbSB0aGUgbGVzaW9uOyBhY3V0ZSBsZXNpb24gY2F1c2VzIGV5ZXMgdG8gZGV2aWF0ZSB0b3dhcmQgdGhlIGxlc2lvbiAoYXdheSBmcm9tIHRoZSBwYXJhbHlzZWQgc2lkZSkuIl0sWyJXaGF0IGlzIGdsb2JhbCBhcGhhc2lhIGFuZCB3aGVuIGRvZXMgaXQgb2NjdXI/IiwiR2xvYmFsIGFwaGFzaWEgaW52b2x2ZXMgbG9zcyBvZiBib3RoIGV4cHJlc3NpdmUgYW5kIHJlY2VwdGl2ZSBsYW5ndWFnZSwgd2l0aCBubyBtZWFuaW5nZnVsIHNwZWVjaCBhbmQgbm8gY29tcHJlaGVuc2lvbi4gSXQgb2NjdXJzIHdpdGggbGFyZ2UgbGVmdCBNQ0EgdGVycml0b3J5IGluZmFyY3RzIHRoYXQgZGVzdHJveSBib3RoIEJyb2NhJ3MgYW5kIFdlcm5pY2tlJ3MgYXJlYXMuIFByb2dub3NpcyBmb3IgbGFuZ3VhZ2UgcmVjb3ZlcnkgaXMgcG9vci4iXSxbIldoYXQgZG9lcyBCcm9kbWFubiBhcmVhIDE3IHJlcHJlc2VudCBhbmQgd2hlcmUgaXMgaXQ/IiwiQnJvZG1hbm4gYXJlYSAxNyBpcyB0aGUgcHJpbWFyeSB2aXN1YWwgY29ydGV4IChWMSksIGxvY2F0ZWQgaW4gdGhlIGNhbGNhcmluZSBzdWxjdXMgb2YgdGhlIG9jY2lwaXRhbCBsb2JlLiBJdCByZWNlaXZlcyByZXRpbm90b3BpYyBpbnB1dHMgZnJvbSB0aGUgbGF0ZXJhbCBnZW5pY3VsYXRlIG51Y2xldXMgdmlhIHRoZSBvcHRpYyByYWRpYXRpb25zLiBUaGUgdXBwZXIgdmlzdWFsIGZpZWxkIG1hcHMgdG8gdGhlIGxvd2VyIGJhbmsgb2YgdGhlIGNhbGNhcmluZSBmaXNzdXJlIGFuZCB2aWNlIHZlcnNhLiJdLFsiV2hhdCBpcyBoZW1pc3BoZXJpYyBsYXRlcmFsaXNhdGlvbiBmb3IgbGFuZ3VhZ2UgYW5kIGhhbmRlZG5lc3M/IiwiTGFuZ3VhZ2UgaXMgbGVmdC1oZW1pc3BoZXJlIGRvbWluYW50IGluIG92ZXIgOTUlIG9mIHJpZ2h0LWhhbmRlcnMgYW5kIGFwcHJveGltYXRlbHkgNzAlIG9mIGxlZnQtaGFuZGVycy4gVGhlIGxlZnQgaGVtaXNwaGVyZSBpcyBhbHNvIGRvbWluYW50IGZvciBhbmFseXRpY2FsIHJlYXNvbmluZyBhbmQgYXJpdGhtZXRpYy4gVGhlIHJpZ2h0IGhlbWlzcGhlcmUgaXMgZG9taW5hbnQgZm9yIHNwYXRpYWwgcHJvY2Vzc2luZywgcHJvc29keSwgYW5kIGZhY2UgcmVjb2duaXRpb24uIl1dLCJxdWVzdGlvbnMiOltbIkEgNTgteWVhci1vbGQgaGFzIGZsdWVudCBzcGVlY2ggZnVsbCBvZiBtYWRlLXVwIHdvcmRzIGFuZCBjYW5ub3QgZm9sbG93IHNpbXBsZSBjb21tYW5kcy4gSGUgc2VlbXMgdW5hd2FyZSBvZiBoaXMgZXJyb3JzLiBXaGVyZSBpcyB0aGUgbGVzaW9uPyIsMiwiV2Vybmlja2UncyBhcGhhc2lhIChmbHVlbnQsIHBhcmFwaGFzaWMgc3BlZWNoIHdpdGggaW1wYWlyZWQgY29tcHJlaGVuc2lvbiBhbmQgbGFjayBvZiBpbnNpZ2h0KSByZXN1bHRzIGZyb20gZGFtYWdlIHRvIFdlcm5pY2tlJ3MgYXJlYSAoQnJvZG1hbm4gYXJlYSAyMikgaW4gdGhlIHBvc3RlcmlvciBzdXBlcmlvciB0ZW1wb3JhbCBneXJ1cyBvZiB0aGUgZG9taW5hbnQgaGVtaXNwaGVyZS4iLFsiTGVmdCBpbmZlcmlvciBmcm9udGFsIGd5cnVzIiwiTGVmdCBhcmN1YXRlIGZhc2NpY3VsdXMiLCJMZWZ0IHBvc3RlcmlvciBzdXBlcmlvciB0ZW1wb3JhbCBneXJ1cyIsIlJpZ2h0IHBhcmlldGFsIGxvYmUiXV0sWyJXaGljaCBCcm9kbWFubiBhcmVhIGNvbnRhaW5zIHRoZSBwcmltYXJ5IG1vdG9yIGNvcnRleD8iLDAsIkJyb2RtYW5uIGFyZWEgNCwgbG9jYXRlZCBpbiB0aGUgcHJlY2VudHJhbCBneXJ1cywgaXMgdGhlIHByaW1hcnkgbW90b3IgY29ydGV4LiBJdCBnaXZlcyByaXNlIHRvIHRoZSBjb3J0aWNvc3BpbmFsIHRyYWN0LiBCcm9kbWFubiBhcmVhIDYgaXMgdGhlIHByZW1vdG9yIGFuZCBzdXBwbGVtZW50YXJ5IG1vdG9yIGFyZWEuIixbIkFyZWEgNCIsIkFyZWEgNiIsIkFyZWEgOCIsIkFyZWEgNDQiXV0sWyJBIHBhdGllbnQgY2FuIHVuZGVyc3RhbmQgc3BlZWNoIGFuZCBzcGVhayBmbHVlbnRseSBidXQgY2Fubm90IHJlcGVhdCBwaHJhc2VzLiBXaGljaCBzdHJ1Y3R1cmUgaXMgbW9zdCBsaWtlbHkgZGFtYWdlZD8iLDEsIkNvbmR1Y3Rpb24gYXBoYXNpYSBpcyBjaGFyYWN0ZXJpc2VkIGJ5IGludGFjdCBmbHVlbmN5IGFuZCBjb21wcmVoZW5zaW9uIGJ1dCBzZXZlcmVseSBpbXBhaXJlZCByZXBldGl0aW9uLCBjYXVzZWQgYnkgZGFtYWdlIHRvIHRoZSBhcmN1YXRlIGZhc2NpY3VsdXMgY29ubmVjdGluZyBCcm9jYSdzIGFuZCBXZXJuaWNrZSdzIGFyZWFzLiIsWyJMZWZ0IGluZmVyaW9yIGZyb250YWwgZ3lydXMiLCJBcmN1YXRlIGZhc2NpY3VsdXMiLCJMZWZ0IHN1cGVyaW9yIHRlbXBvcmFsIGd5cnVzIiwiQ29ycHVzIGNhbGxvc3VtIl1dLFsiSW4gdGhlIG1vdG9yIGhvbXVuY3VsdXMsIHdoaWNoIGJvZHkgcGFydCBoYXMgdGhlIGxhcmdlc3QgY29ydGljYWwgcmVwcmVzZW50YXRpb24/IiwzLCJUaGUgaGFuZCBhbmQgZmluZ2VycyBoYXZlIHRoZSBsYXJnZXN0IGNvcnRpY2FsIHJlcHJlc2VudGF0aW9uIGluIHRoZSBtb3RvciBob211bmN1bHVzLCByZWZsZWN0aW5nIHRoZSBmaW5lIG1vdG9yIGRleHRlcml0eSByZXF1aXJlZC4gVGhlIGZhY2UgYWxzbyBoYXMgZGlzcHJvcG9ydGlvbmF0ZWx5IGxhcmdlIHJlcHJlc2VudGF0aW9uLiBUaGlzIHNvbWF0b3RvcGljIG9yZ2FuaXNhdGlvbiBpcyBpbiBCcm9kbWFubiBhcmVhIDQuIixbIkxvd2VyIGxpbWIiLCJUcnVuayIsIkZhY2UiLCJIYW5kIGFuZCBmaW5nZXJzIl1dLFsiQSA3MC15ZWFyLW9sZCBpZ25vcmVzIGZvb2Qgb24gdGhlIGxlZnQgc2lkZSBvZiBoaXMgcGxhdGUgYW5kIGZhaWxzIHRvIGRyZXNzIGhpcyBsZWZ0IGFybS4gTVJJIHNob3dzIGEgcmlnaHQgaGVtaXNwaGVyZSBsZXNpb24uIFdoaWNoIGxvYmUgaXMgbW9zdCBsaWtlbHkgYWZmZWN0ZWQ/IiwyLCJSaWdodCBpbmZlcmlvciBwYXJpZXRhbCBsb2JlIGRhbWFnZSBjYXVzZXMgaGVtaXNwYXRpYWwgbmVnbGVjdCBvZiB0aGUgbGVmdCBoZW1pc3BhY2UuIFRoZSByaWdodCBwYXJpZXRhbCBsb2JlIGlzIGRvbWluYW50IGZvciBzcGF0aWFsIGF0dGVudGlvbiB0byBib3RoIGhlbWlmaWVsZHMsIHNvIGl0cyBkYW1hZ2UgY2F1c2VzIG1vcmUgc2V2ZXJlIGFuZCBwZXJzaXN0ZW50IG5lZ2xlY3QgdGhhbiBsZWZ0IHBhcmlldGFsIGxlc2lvbnMuIixbIlJpZ2h0IGZyb250YWwgbG9iZSIsIlJpZ2h0IHRlbXBvcmFsIGxvYmUiLCJSaWdodCBwYXJpZXRhbCBsb2JlIiwiUmlnaHQgb2NjaXBpdGFsIGxvYmUiXV0sWyJQcmltYXJ5IGF1ZGl0b3J5IGNvcnRleCBjb3JyZXNwb25kcyB0byB3aGljaCBCcm9kbWFubiBhcmVhcz8iLDAsIkJyb2RtYW5uIGFyZWFzIDQxIGFuZCA0MiBmb3JtIHRoZSBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgYXVkaXRvcnkgY29ydGV4LCBsb2NhdGVkIGluIEhlc2NobCdzIGd5cmkgb24gdGhlIHN1cGVyaW9yIHRlbXBvcmFsIHBsYW5lIChwbGFudW0gdGVtcG9yYWxlKS4gQXJlYSAyMiAoV2Vybmlja2UncykgaXMgdGhlIGF1ZGl0b3J5IGFzc29jaWF0aW9uIGNvcnRleC4iLFsiNDEgYW5kIDQyIiwiMTcgYW5kIDE4IiwiMywgMSwgYW5kIDIiLCI0NCBhbmQgNDUiXV0sWyJBZnRlciBhIHN0cm9rZSwgYSBwYXRpZW50J3MgZXllcyBkZXZpYXRlIHRvIHRoZSByaWdodC4gV2hpY2ggb2YgdGhlIGZvbGxvd2luZyBpcyBtb3N0IGNvbnNpc3RlbnQgd2l0aCB0aGlzIGZpbmRpbmc/IiwxLCJGcm9udGFsIGV5ZSBmaWVsZCBsZXNpb24gY2F1c2VzIGlwc2lsYXRlcmFsIGdhemUgZGV2aWF0aW9uIChleWVzIGxvb2sgdG93YXJkIHRoZSBsZXNpb24sIGF3YXkgZnJvbSB0aGUgcGFyYWx5c2VkIHNpZGUpIGJlY2F1c2UgdGhlIGludGFjdCBjb250cmFsYXRlcmFsIGZyb250YWwgZXllIGZpZWxkIGRyaXZlcyBleWVzIHRvIHRoYXQgc2lkZSB1bm9wcG9zZWQuIFBvbnRpbmUgbGVzaW9uIGNhdXNlcyBjb250cmFsYXRlcmFsIGdhemUgZGV2aWF0aW9uLiIsWyJMZWZ0IGZyb250YWwgZXllIGZpZWxkIHN0aW11bGF0aW9uIiwiUmlnaHQgZnJvbnRhbCBleWUgZmllbGQgZGVzdHJ1Y3Rpb24iLCJMZWZ0IHBhcmlldGFsIGxvYmUgc3RpbXVsYXRpb24iLCJSaWdodCBvY2NpcGl0YWwgbG9iZSBkZXN0cnVjdGlvbiJdXSxbIldoaWNoIGxvYmUgY29udGFpbnMgdGhlIHByaW1hcnkgdmlzdWFsIGNvcnRleD8iLDMsIlByaW1hcnkgdmlzdWFsIGNvcnRleCAoVjEsIEJyb2RtYW5uIGFyZWEgMTcpIGlzIGxvY2F0ZWQgaW4gdGhlIG9jY2lwaXRhbCBsb2JlLCBzcGVjaWZpY2FsbHkgaW4gdGhlIGNhbGNhcmluZSBzdWxjdXMuIFZpc3VhbCBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjb250cmFsYXRlcmFsIHZpc3VhbCBoZW1pZmllbGQgaXMgcHJvY2Vzc2VkIGhlcmUgYWZ0ZXIgcmVsYXkgdGhyb3VnaCB0aGUgbGF0ZXJhbCBnZW5pY3VsYXRlIG51Y2xldXMuIixbIlBhcmlldGFsIGxvYmUiLCJUZW1wb3JhbCBsb2JlIiwiRnJvbnRhbCBsb2JlIiwiT2NjaXBpdGFsIGxvYmUiXV0sWyJBIHBhdGllbnQgaGFzIG5vbi1mbHVlbnQgYXBoYXNpYSB3aXRoIGVmZm9ydGZ1bCB0ZWxlZ3JhcGhpYyBzcGVlY2ggYnV0IGludGFjdCBjb21wcmVoZW5zaW9uLiBIZSB1bmRlcnN0YW5kcyBldmVyeXRoaW5nIHNhaWQgdG8gaGltLiBXaGVyZSBpcyB0aGUgbGVzaW9uPyIsMCwiQnJvY2EncyBhcGhhc2lhIChub24tZmx1ZW50LCBhZ3JhbW1hdGljIHNwZWVjaCB3aXRoIGludGFjdCBjb21wcmVoZW5zaW9uKSByZXN1bHRzIGZyb20gZGFtYWdlIHRvIEJyb2NhJ3MgYXJlYSAoQnJvZG1hbm4gYXJlYXMgNDQgYW5kIDQ1KSBpbiB0aGUgbGVmdCBpbmZlcmlvciBmcm9udGFsIGd5cnVzLiBQYXRpZW50cyBhcmUgdHlwaWNhbGx5IGZydXN0cmF0ZWQgYW5kIGF3YXJlIG9mIHRoZWlyIGRlZmljaXQuIixbIkxlZnQgaW5mZXJpb3IgZnJvbnRhbCBneXJ1cyIsIkxlZnQgc3VwZXJpb3IgdGVtcG9yYWwgZ3lydXMiLCJMZWZ0IGFyY3VhdGUgZmFzY2ljdWx1cyIsIlJpZ2h0IGZyb250YWwgbG9iZSJdXSxbIlRoZSBpbnN1bGEgaXMgdGhlIGZpZnRoIGxvYmUgb2YgdGhlIGNlcmVicmFsIGNvcnRleC4gSXQgaXMgaW1wbGljYXRlZCBpbiB3aGljaCBmdW5jdGlvbnM/IiwyLCJUaGUgaW5zdWxhIGludGVncmF0ZXMgaW50ZXJvY2VwdGl2ZSBzaWduYWxzIChwYWluLCB0YXN0ZSwgdmlzY2VyYWwgc2Vuc2F0aW9uKSwgY29udHJpYnV0ZXMgdG8gZW1wYXRoeSwgZW1vdGlvbmFsIHByb2Nlc3NpbmcsIGFuZCBhd2FyZW5lc3Mgb2YgYm9kaWx5IHN0YXRlcy4gSXQgaXMgYWxzbyBpbnZvbHZlZCBpbiBzcGVlY2ggYXJ0aWN1bGF0aW9uIChhbnRlcmlvciBpbnN1bGEgbGVzaW9ucyBjYW4gY2F1c2UgYXByYXhpYSBvZiBzcGVlY2gpLiIsWyJQcmltYXJ5IG1vdG9yIGNvbnRyb2wgYW5kIHNvbWF0b3NlbnNhdGlvbiIsIlZpc3VhbCBwcm9jZXNzaW5nIGFuZCBvYmplY3QgcmVjb2duaXRpb24iLCJJbnRlcm9jZXB0aW9uLCB0YXN0ZSwgYW5kIGVtb3Rpb25hbCBhd2FyZW5lc3MiLCJTcGF0aWFsIG5hdmlnYXRpb24gYW5kIG1lbW9yeSJdXSxbIkEgNDUteWVhci1vbGQgcHJlc2VudHMgd2l0aCBpbnRhY3QgZmx1ZW5jeSwgaW1wYWlyZWQgY29tcHJlaGVuc2lvbiwgYW5kIGltcGFpcmVkIHJlcGV0aXRpb24uIFRoaXMgcGF0dGVybiBpcyBtb3N0IGNvbnNpc3RlbnQgd2l0aCB3aGljaCBhcGhhc2lhPyIsMywiV2Vybmlja2UncyBhcGhhc2lhIGZlYXR1cmVzIGZsdWVudCBvdXRwdXQsIGltcGFpcmVkIGNvbXByZWhlbnNpb24sIGFuZCBpbXBhaXJlZCByZXBldGl0aW9uLiBHbG9iYWwgYXBoYXNpYSBhZmZlY3RzIGFsbCBsYW5ndWFnZSBmdW5jdGlvbnMuIFRoZSBjb21iaW5hdGlvbiBvZiBmbHVlbmN5IHByZXNlcnZlZCB3aXRoIGJvdGggY29tcHJlaGVuc2lvbiBhbmQgcmVwZXRpdGlvbiBpbXBhaXJlZCBwb2ludHMgdG8gV2Vybmlja2UncyBhcmVhIGRhbWFnZS4iLFsiQnJvY2EncyBhcGhhc2lhIiwiQ29uZHVjdGlvbiBhcGhhc2lhIiwiR2xvYmFsIGFwaGFzaWEiLCJXZXJuaWNrZSdzIGFwaGFzaWEiXV0sWyJUaGUgbGVnIGFyZWEgb2YgdGhlIHByaW1hcnkgbW90b3IgY29ydGV4IGlzIGxvY2F0ZWQgaW4gd2hpY2ggcmVnaW9uPyIsMSwiVGhlIGxlZyBhcmVhIG9mIHRoZSBtb3RvciBob211bmN1bHVzIGlzIGxvY2F0ZWQgb24gdGhlIG1lZGlhbCBzdXJmYWNlIG9mIHRoZSBoZW1pc3BoZXJlIGluIHRoZSBwYXJhY2VudHJhbCBsb2J1bGUuIFRoaXMgaXMgd2h5IEFDQSB0ZXJyaXRvcnkgaW5mYXJjdHMgY2F1c2UgY29udHJhbGF0ZXJhbCBsZWcgd2Vha25lc3Mgd2l0aCByZWxhdGl2ZSBzcGFyaW5nIG9mIHRoZSBhcm0gYW5kIGZhY2UuIixbIkxhdGVyYWwgcHJlY2VudHJhbCBneXJ1cyBuZWFyIFN5bHZpYW4gZmlzc3VyZSIsIk1lZGlhbCBwcmVjZW50cmFsIGd5cnVzIChwYXJhY2VudHJhbCBsb2J1bGUpIiwiUG9zdGNlbnRyYWwgZ3lydXMgbWVkaWFsIHN1cmZhY2UiLCJTdXBlcmlvciBwYXJpZXRhbCBsb2J1bGUiXV0sWyJXaGljaCBhc3NvY2lhdGlvbiBhcmVhIG9mIHRoZSBwYXJpZXRhbCBsb2JlIGlzIHJlc3BvbnNpYmxlIGZvciBpbnRlZ3JhdGluZyBzZW5zb3J5IGluZm9ybWF0aW9uIGZvciBzcGF0aWFsIGF3YXJlbmVzcz8iLDAsIlRoZSBpbmZlcmlvciBwYXJpZXRhbCBsb2J1bGUgKHN1cHJhbWFyZ2luYWwgYW5kIGFuZ3VsYXIgZ3lyaSkgaW50ZWdyYXRlcyBtdWx0aW1vZGFsIHNlbnNvcnkgaW5mb3JtYXRpb24gZm9yIHNwYXRpYWwgYXdhcmVuZXNzLCBib2R5IHNjaGVtYSwgYW5kIHZpc3Vvc3BhdGlhbCBwcm9jZXNzaW5nLiBSaWdodCBoZW1pc3BoZXJlIGRvbWluYW5jZSBtZWFucyByaWdodCBsZXNpb25zIGNhdXNlIG1vcmUgc2V2ZXJlIGNvbnRyYWxhdGVyYWwgbmVnbGVjdC4iLFsiSW5mZXJpb3IgcGFyaWV0YWwgbG9idWxlIiwiU3VwZXJpb3IgcGFyaWV0YWwgbG9idWxlIiwiUHJlY3VuZXVzIiwiUG9zdGNlbnRyYWwgZ3lydXMiXV0sWyJXaGF0IGlzIHRoZSBhbmd1bGFyIGd5cnVzIChCcm9kbWFubiBhcmVhIDM5KSBhc3NvY2lhdGVkIHdpdGggY2xpbmljYWxseT8iLDIsIlRoZSBhbmd1bGFyIGd5cnVzIGlzIHBhcnQgb2YgV2Vybmlja2UncyBhcmVhIGNvbXBsZXggYW5kIGlzIGFzc29jaWF0ZWQgd2l0aCByZWFkaW5nIGFuZCB3cml0aW5nLiBHZXJzdG1hbm4gc3luZHJvbWUgKGFuZ3VsYXIgZ3lydXMgb2YgZG9taW5hbnQgaGVtaXNwaGVyZSk6IGFjYWxjdWxpYSwgYWdyYXBoaWEsIGZpbmdlciBhZ25vc2lhLCBhbmQgbGVmdC1yaWdodCBkaXNvcmllbnRhdGlvbi4iLFsiUHJpbWFyeSBtb3RvciBwbGFubmluZyIsIkF1ZGl0b3J5IGRpc2NyaW1pbmF0aW9uIiwiUmVhZGluZywgd3JpdGluZywgYW5kIEdlcnN0bWFubiBzeW5kcm9tZSIsIlZpc3VhbCBvYmplY3QgcmVjb2duaXRpb24iXV0sWyJBIDYwLXllYXItb2xkIHdpdGggZXhlY3V0aXZlIGR5c2Z1bmN0aW9uLCBkaXNpbmhpYml0aW9uLCBhbmQgcGVyc29uYWxpdHkgY2hhbmdlIG1vc3QgbGlrZWx5IGhhcyBkYW1hZ2UgdG8gd2hpY2ggcmVnaW9uPyIsMSwiUHJlZnJvbnRhbCBjb3J0ZXggZGFtYWdlLCBwYXJ0aWN1bGFybHkgb3JiaXRvZnJvbnRhbCBhbmQgZG9yc29sYXRlcmFsIHByZWZyb250YWwgcmVnaW9ucywgY2F1c2VzIGV4ZWN1dGl2ZSBkeXNmdW5jdGlvbiAocGxhbm5pbmcsIHdvcmtpbmcgbWVtb3J5LCBjb2duaXRpdmUgZmxleGliaWxpdHkpLCBwZXJzb25hbGl0eSBjaGFuZ2UsIGFuZCBkaXNpbmhpYml0aW9uLiBDbGFzc2ljIGV4YW1wbGU6IFBoaW5lYXMgR2FnZS4iLFsiUGFyaWV0YWwgYXNzb2NpYXRpb24gY29ydGV4IiwiUHJlZnJvbnRhbCBjb3J0ZXgiLCJQcmltYXJ5IG1vdG9yIGNvcnRleCIsIlRlbXBvcmFsIGFzc29jaWF0aW9uIGNvcnRleCJdXSxbIkdsb2JhbCBhcGhhc2lhIGlzIG1vc3QgY29tbW9ubHkgY2F1c2VkIGJ5IG9jY2x1c2lvbiBvZiB3aGljaCB2ZXNzZWw/IiwwLCJQcm94aW1hbCBsZWZ0IE1DQSBvY2NsdXNpb24gaW5mYXJjdHMgYm90aCBCcm9jYSdzIGFyZWEgKGluZmVyaW9yIGZyb250YWwpIGFuZCBXZXJuaWNrZSdzIGFyZWEgKHN1cGVyaW9yIHRlbXBvcmFsKSBhbG9uZyB3aXRoIHRoZSBhcmN1YXRlIGZhc2NpY3VsdXMsIHByb2R1Y2luZyBnbG9iYWwgYXBoYXNpYSB3aXRoIGxvc3Mgb2YgZmx1ZW5jeSwgY29tcHJlaGVuc2lvbiwgYW5kIHJlcGV0aXRpb24uIixbIkxlZnQgbWlkZGxlIGNlcmVicmFsIGFydGVyeSIsIkxlZnQgYW50ZXJpb3IgY2VyZWJyYWwgYXJ0ZXJ5IiwiTGVmdCBwb3N0ZXJpb3IgY2VyZWJyYWwgYXJ0ZXJ5IiwiQmFzaWxhciBhcnRlcnkiXV0sWyJXaGljaCBjcmFuaWFsIG5lcnZlIGNhcnJpZXMgcHJpbWFyeSBvbGZhY3Rvcnkgc2lnbmFscyBkaXJlY3RseSB0byB0aGUgY29ydGV4IHdpdGhvdXQgdGhhbGFtaWMgcmVsYXk/IiwzLCJDTiBJIChvbGZhY3RvcnkgbmVydmUpIHByb2plY3RzIGRpcmVjdGx5IHRvIHRoZSBwcmltYXJ5IG9sZmFjdG9yeSBjb3J0ZXggKHBpcmlmb3JtIGNvcnRleCkgYW5kIGFteWdkYWxhIHdpdGhvdXQgc3luYXBzaW5nIGluIHRoZSB0aGFsYW11cyBmaXJzdC4gVGhpcyBpcyB1bmlxdWUgYW1vbmcgc2Vuc29yeSBzeXN0ZW1zIGFuZCBleHBsYWlucyB0aGUgcG93ZXJmdWwgY29ubmVjdGlvbiBiZXR3ZWVuIHNtZWxsIGFuZCBtZW1vcnkvZW1vdGlvbi4iLFsiQ04gSUkiLCJDTiBWIiwiQ04gVklJIiwiQ04gSSJdXSxbIlByaW1hcnkgc29tYXRvc2Vuc29yeSBjb3J0ZXggcmVjZWl2ZXMgaXRzIG1haW4gdGhhbGFtaWMgaW5wdXQgZnJvbSB3aGljaCBudWNsZXVzPyIsMiwiVGhlIHZlbnRyYWwgcG9zdGVyaW9yIGxhdGVyYWwgKFZQTCkgbnVjbGV1cyBvZiB0aGUgdGhhbGFtdXMgcmVsYXlzIHNvbWF0aWMgc2Vuc29yeSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBib2R5IHRvIHRoZSBwcmltYXJ5IHNvbWF0b3NlbnNvcnkgY29ydGV4IChhcmVhcyAzLDEsMikuIFZQTSByZWxheXMgZmFjaWFsIHNlbnNhdGlvbi4gVkwgbnVjbGV1cyBwcm9qZWN0cyB0byBtb3RvciBjb3J0ZXguIixbIlZlbnRyYWwgbGF0ZXJhbCBudWNsZXVzIChWTCkiLCJNZWRpYWwgZ2VuaWN1bGF0ZSBudWNsZXVzIChNR04pIiwiVmVudHJhbCBwb3N0ZXJpb3IgbGF0ZXJhbCBudWNsZXVzIChWUEwpIiwiUHVsdmluYXIgbnVjbGV1cyJdXSxbIkEgcGF0aWVudCBjYW5ub3QgcmVjb2duaXNlIGZhY2VzIGRlc3BpdGUgaW50YWN0IHZpc2lvbi4gVGhpcyBjb25kaXRpb24gaXMgY2FsbGVkIHByb3NvcGFnbm9zaWEgYW5kIGludm9sdmVzIGRhbWFnZSB0byB3aGljaCByZWdpb24/IiwxLCJQcm9zb3BhZ25vc2lhIHJlc3VsdHMgZnJvbSBiaWxhdGVyYWwgKG9yIHNvbWV0aW1lcyByaWdodCB1bmlsYXRlcmFsKSBkYW1hZ2UgdG8gdGhlIGZ1c2lmb3JtIGZhY2UgYXJlYSBpbiB0aGUgZnVzaWZvcm0gZ3lydXMgb2YgdGhlIGluZmVyaW9yIHRlbXBvcmFsIGxvYmUuIFZpc3VhbCBhY3VpdHkgaXMgaW50YWN0IGJ1dCBmYWNpYWwgaWRlbnRpdHkgY2Fubm90IGJlIGRlY29kZWQuIixbIlByaW1hcnkgdmlzdWFsIGNvcnRleCIsIkZ1c2lmb3JtIGd5cnVzIG9mIGluZmVyaW9yIHRlbXBvcmFsIGxvYmUiLCJSaWdodCBwYXJpZXRhbCBsb2JlIiwiTGVmdCBpbmZlcmlvciBmcm9udGFsIGd5cnVzIl1dLFsiV2hpY2ggb2YgdGhlIGZvbGxvd2luZyBpcyBOT1QgYSBmZWF0dXJlIG9mIEJyb2NhJ3MgYXBoYXNpYT8iLDMsIkJyb2NhJ3MgYXBoYXNpYSBmZWF0dXJlcyBub24tZmx1ZW50LCBhZ3JhbW1hdGljIHNwZWVjaCB3aXRoIGludGFjdCBjb21wcmVoZW5zaW9uIGFuZCBpbXBhaXJlZCByZXBldGl0aW9uLiBGbHVlbnQgcGFyYXBoYXNpYyBvdXRwdXQgaXMgYSBmZWF0dXJlIG9mIFdlcm5pY2tlJ3MgYXBoYXNpYSwgbm90IEJyb2NhJ3MuIFBhdGllbnRzIHdpdGggQnJvY2EncyBhcGhhc2lhIHNwZWFrIGVmZm9ydGZ1bGx5IGFuZCBzcGFyaW5nbHkuIixbIk5vbi1mbHVlbnQgc3BlZWNoIG91dHB1dCIsIkludGFjdCBjb21wcmVoZW5zaW9uIiwiSW1wYWlyZWQgcmVwZXRpdGlvbiIsIkZsdWVudCBwYXJhcGhhc2ljIHNwZWVjaCJdXV19