Re: Are there real use cases with the Java access modes?
Gregg Wonderly via Concurrency-interest <[email protected]> Fri, 23 Jul 2021 10:24:05 -0500
| Newsgroups | gmane.comp.java.jsr.166-concurrency |
|---|---|
| Message-ID | <[email protected]> |
Cgo+IE9uIEp1bCAyMywgMjAyMSwgYXQgNDoxNCBBTSwgQW5kcmV3IERpbm4gdmlhIENvbmN1cnJl bmN5LWludGVyZXN0IDxjb25jdXJyZW5jeS1pbnRlcmVzdEBjcy5vc3dlZ28uZWR1PiB3cm90ZToK PiAKPiBPbiAyMy8wNy8yMDIxIDA0OjM2LCBHcmVnZyBXb25kZXJseSB2aWEgQ29uY3VycmVuY3kt aW50ZXJlc3QKPiAKPj4gVHJ1bHksIGl0IHRha2VzIHByZXR0eSBleHRyZW1lIGV4cGVydGlzZSBh bmQgZXhwZXJpZW5jZSB0byB0cnVseQo+PiB1bmRlcnN0YW5kIGhvdyB0byBbdXNlIEphdmEgdG9d IGRvIGNvbmN1cnJlbnQgcHJvZ3JhbW1pbmcuCj4gCj4gTGV0J3MganVzdCBub3RlIHRoYXQgaWYg eW91IHRha2Ugb3V0IHRoZSBicmFja2V0ZWQgcGhyYXNlIHRoYXQgc3RhdGVtZW50IHN0aWxsIHJl bWFpbnMgdHJ1ZS4KCkkgYWRkZWQgdGhhdCBwaHJhc2UgYmVjYXVzZSBteSBleHBlcmllbmNlIHdp dGggY29uY3VycmVuY3kgaW5zaWRlIG9mIEphdmEgcHJvZ3JhbXMgaXMgdGhlIGxhcmdlc3QgZXhw b3N1cmUgSSBoYXZlLiAgQnV0IHRoYXQgaXMgZGF0ZWQgY29tcGFyZWQgdG8gbXkgdXNlIG9mIG11 bHRpLXRocmVhZGVkIGFwcGxpY2F0aW9uIGluIEMvQysrIHRoYXQgSeKAmXZlIHJlY2VudGx5IGJl ZW4gaW52b2x2ZWQgaW4uICBJbiB0aG9zZSBjYXNlcywgdGhlcmUgaXMgbm8gd29ycnkgYWJvdXQg bm9uLXZvbGF0aWxlIGhvaXN0aW5nIGRvZXNu4oCZdCBvY2N1ciBhdCBhbGwuICBEYXRhIHJhY2Vz IGFyZSBzcGVjaWZpY2FsbHkgYmVjYXVzZSBvZiBsYWNrIG9mIGludGVyLXRocmVhZCBtZWRpYXRp b24gb2YgYWNjZXNzLiAgVGhlIGxhbmd1YWdlIGp1c3QgZG9lc27igJl0IHNwZWNpZnkgdGhhdCB0 aGlzIGlzIHBvc3NpYmxlLiAgSW5zdHJ1Y3Rpb24gc2NoZWR1bGluZyBjb21waWxlcnMgZG8gZXhp c3QsIGFuZCBoYXZlIGZvciBzb21lIHRpbWUgZm9yIHRob3NlIGxhbmd1YWdlcy4gIEkgdXNlZCBv bmUgb24gbXkgQW1pZ2Egd2l0aCBhIE1vdG9yb2xsYSA2ODA0MCBpbiB0aGUgZWFybHkgMTk5MOKA mXMuICBUaGF04oCZcyBhIGFnZWQgYW5kIGV2ZXItcHJlc2VudCB0ZWNobm9sb2d5IHRvZGF5LCBi dXQgYmVjYXVzZSBvZiBzbWFsbCBibG9jayBjb25zdHJ1Y3Rpb24gb2YgbXVjaCBzb2Z0d2FyZSwg aXQgcmFyZWx5IGhhcyBhbiBvcHBvcnR1bml0eSB0byBmdWxseSB1dGlsaXplIGFuIGV4dHJhIEFM VSwgYnV0IHN0aWxsIHdlIGhhdmUgaHlwZXIgdGhyZWFkZWQgcHJvY2Vzc29ycyB0cnlpbmcgdG8g cHJvdmlkZSB0aGF0IGNhcGFiaWxpdHkuCgo+IEkgdGhpbmsgdGhlIHJlYWwgcG9pbnQgeW91IGFy ZSB0cnlpbmcgdG8gbWFrZSBoZXJlIGlzIHRoYXQgaW5zZXJ0aW9uIG9mIHRoYXQgcXVhbGlmeWlu ZyBwaHJhc2UgcmVmZXJlbmNpbmcgSmF2YSBtYWtlcyBhIC9zaWduaWZpY2FudC8gZGlmZmVyZW5j ZSwgd2hldGhlciB0aGF0J3MganVzdCBtb2R1bG8gdGhlIGdlbmVyYWwgcHJvYmxlbSBvciBtb2R1 bG8gc29tZSBzcGVjaWZpYyBhbHRlcm5hdGl2ZSBsYW5ndWFnZSAob3IgSmF2YSB2YXJpYW50KSB0 aGF0IHlvdSB3YW50IHRvIG9mZmVyIGFzIGFuIGlucHJvdmVtZW50LiBPdmVyIHRoZSB5ZWFycyBJ IGhhdmUgd3JpdHRlbiBhIGxvdCBvZiBjb25jdXJyZW50IGFuZCBwYXJhbGxlbCBjb2RlIGluIGEg bG90IG9mIGRpZmZlcmVudCBsYW5ndWFnZXMgYW5kIEkgaGF2ZSB0byBkaXNhZ3JlZSB3aXRoIHlv dXIgY29udGVudGlvbiBvbiB0d28gZ3JvdW5kcy4KCk5vbi12b2xhdGlsZSBieSBkZWZhdWx0IHdp dGggaG9pc3RpbmcgYmVpbmcgcGVyZm9ybWVkIG1ha2VzIGEgc2lnbmlmaWNhbnQgZGlmZmVyZW5j ZSBpbiBob3cgeW91ciBjb2RlIGlzIGNvbXBpbGVkIGFuZCB0aHVzIGhvdyBpdCBpcyBleGVjdXRl ZCBhbmQgdGhlIGxvY2FsaXR5IG9mIGxvZ2ljIGNoYW5nZXMgdGhhdCB5b3UgbWF5IG5vdCBiZSBk aXJlY3RseSBhd2FyZSBvZiBkdWUgdG8gdGhlIGxvZ2ljIG9mIHRoZSBzb2Z0d2FyZSBhcyB2aXNp Ymx5IGNvZGVkLgoKPiAKPiAxKSBJIGhhdmUgaW52YXJpYWJseSBmb3VuZCB0aGF0IGFsbW9zdCBh bGwgb2YgdGhlIGRpZmZpY3VsdHkgaW4gY29uY3VycmVudC9wYXJhbGxlbCBwcm9ncmFtbWluZyBp cyB0byBkbyB3aXRoIHRoZSBjb25jdXJyZW5jeSBub3QgdGhlIGxhbmd1YWdlIGluIHdoaWNoIHRo ZSBwcm9ncmFtIGlzIGVuY29kZWQuIEZpeGF0aW5nIG9uIHRoZSBkZXRhaWxzIG9mIGEgbGFuZ3Vh Z2UgZW5jb2RpbmcgaXMgc29tZXRoaW5nIGJlZ2lubmVycyBkbyBiZWNhdXNlIHRoZXkgZG9uJ3Qg a25vdyBob3cgdG8gdGhpbmsgYWJvdXQgY29uY3VycmVuY3kgcHJvYmxlbXMgaW4gdGhlIGFic3Ry YWN0LCBpbmRlcGVuZGVudCBvZiB0aGUgbGFuZ3VhZ2UgdGhleSBhcmUgdXNpbmcuIEhvd2V2ZXIs IHRoZXkgYXJlIHNlcmlvdXNseSBtaXNzaW5nIHRoZSBwb2ludCBpbiBiZWluZyBzbyBmaXhhdGVk IGJlY2F1c2UgdGhlIGxlc3NvbiB0byBiZSBsZWFybnQgZnJvbSB3cml0aW5nIGEgcGFyYWxsZWwv Y29uY3VycmVudCBwcm9ncmFtIGlzIG5vdCBob3cgdG8gZW5jb2RlIGl0IGluIGxhbmd1YWdlIFgg YnV0IGhvdyBhbnkgZW5jb2Rpbmcgb25lIGNvbWVzIHVwIHdpdGggZW1ib2RpZXMgYSBzb2x1dGlv biB0aGF0IChhcyBpcyBhbG1vc3QgaW52YXJpYWJseSB0aGUgY2FzZSkgdHJhbnNjZW5kcyB0aGUg c3BlY2lmaWNzIG9mIGxhbmd1YWdlIFguCgpZZXMsIGJ1dCBhcyB3ZSBhbGwgbWF5IGhhdmUgbGVh cm5lZCBpbiBjb2xsZWdlIGNsYXNzZXMsIHRoZXJlIGFyZSB3ZWxsIGtub3duIGFsZ29yaXRobXMg KGNvZGlmaWVkIGluIGphdmEudXRpbC5jb25jdXJyZW50KSBmb3IgbWFuYWdpbmcgZGF0YSBzaGFy aW5nIGFjcm9zcyB0aHJlYWRzLiAgVGhhdOKAmXMgZmluZSBhbmQgZGFuZHkgc3R1ZmYuICBIb3dl dmVyIHRoZSBtZXJlIHByZXNlbmNlIG9mIOKAnHZvbGF0aWxl4oCdIHZzIOKAnG5vbi12b2xhdGls ZeKAnSByZWZlcmVuY2VzIGhhcyBsaXR0bGUgdG8gZG8gd2l0aCBjb25jdXJyZW5jeSwgYnV0IHJh dGhlciBhc3luY2hyb25vdXMgYmVoYXZpb3JzLCBubyBtYXR0ZXIgaG93IHRoZXkgYXJlIGNvbnRy b2xsZWQvaW5pdGlhdGVkLiBXaGF0IEkgbWVhbiwgaXMgdGhhdCBpZiB5b3UgaGFkIGEgYm9vbGVh biBpbiBhIGNsYXNzLCBhbmQgcHJvdmlkZWQgYSBKTkkgbWV0aG9kIHRvIHBhc3MgdGhlIGNsYXNz IHJlZmVyZW5jZSBpbnRvIHNvbWUgQy1sYW5ndWFnZSBzb2Z0d2FyZSB0aGF0IHNldHVwIGEgaGFy ZHdhcmUgaW50ZXJydXB0IHRoYXQgd291bGQgZGlzcGF0Y2ggaW50byB0aGF0IEMgY29kZSwgYW5k IHRoZSBDIGNvZGUgdGhlbiBjYWxsZWQgYmFjayB0aHJvdWdoIEpOSSB0byBzZXQgdGhlIGJvb2xl YW4sIGFuZCB5b3UgYXJlIG9uIGEgc2luZ2xlIGNvcmUgcHJvY2Vzc29yLCB0aGF04oCZcyBhIOKA nHRocmVhZCBvZiBleGVjdXRpb27igJ0gYW5kIGNvbmN1cnJlbnQgYmVoYXZpb3IsIGJ1dCBpdOKA mXMgdGhlIHN0dWZmIHRoYXQgaGFzIGJlZW4gZG9uZSBmb3IgYWdlcywgYW5kIGluIEMgYW5kIEMr KyB0aGVyZSBoYXMgbmV2ZXIgYmVlbiBob2lzdGluZyBhbmQgdGhlIGNoYW5nZXMgdGhhdCBKYXZh 4oCZcyBub24tdm9sYXRpbGUgZGVmYXVsdCBwcmVzZW50cywgaXMgYSBjb21wbGV0ZWx5IGRpZmZl cmVudCBiZWhhdmlvci4gIFRoaXMgaXMgdGhlIHN1cnByaXNlLiAgSXTigJlzIG5vdCBzb21ldGhp bmcgZXhwbGljaXRseSByZXF1ZXN0ZWQsIGJ1dCByYXRoZXIgc29tZXRoaW5nIGltcGxpY2l0bHkg cGFydCBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGl04oCZcyBjb21wbGV0ZWx5IGRpZmZlcmVudCB0byB3 aGF0IG1vc3QgcGVvcGxlIGhhdmUgZXhwZXJpZW5jZWQgaW4gb3RoZXIgbGFuZ3VhZ2VzLgoKQ29u Y3VycmVuY3kgdGhyb3VnaCB0aGUgdXNlIG9mIHdlbGwga25vd24gcGF0dGVybnMgYWxsb3dzIGFs bCBraW5kcyBvZiBzaGFyaW5nIGFuZCBub3Qtc2hhcmluZyByZWZlcmVuY2VzIHRvIGJlIG1hbmFn ZWQuICBUaGUgZmFjdCB0aGF0IEphdmEsIGFzIGEgY29uY3VycmVudCBsYW5ndWFnZSwgY2hvc2Ug dG8gbm90IHNoYXJlIGRhdGEgYnkgZGVmYXVsdCBpcyB0aGUgZGV0YWlsLiAgVGhlIFNQQVJDIGhh cmR3YXJlIG1lbW9yeSBtb2RlbCB3YXMgdGhlIHdlYWtlc3QuICBJdCBoYWQgYmV0dGVyIHRocm91 Z2hwdXQgYmVjYXVzZSBTdW4gb3B0aW1pemVkIHRoZSBKVk0gdG8gYWxsb3cgdGhhdCB0byBoYXBw ZW4uICBUaGUgSk1NICBsYXJnZWx5IHJlZmxlY3RzIHRoZSBuZWVkIHRvIGhhdmUgYSB3ZWFrIG1l bW9yeSBtb2RlbCBpbiB0aGUgcHJvY2Vzc29yLiAgVGhlIEpNTSBwcmVzc2VzIHBhcnRzIG9mIGhh cmR3YXJlIGRlc2lnbiB1cCBpbnRvIHRoZSBzb2Z0d2FyZSBzeXN0ZW1zIGRlc2lnbiB3aGVyZSB0 aGUgY29uY3VycmVuY3kgbGlicmFyaWVzIGhhdmUgdG8gbWFuaXB1bGF0ZSBoYXJkd2FyZSBmZWF0 dXJlcyAoaGFwcGVucyBiZWZvcmUgcmVxdWlyZW1lbnRzKSB0byBtYWtlIG1lbW9yeSByZWZlcmVu Y2VzIHdvcmsgY29ycmVjdGx5LgoKPiAyKSBIb3JzZXMgZm9yIGNvdXJzZXMgaXMgYWxzbyBhbiBl ZGdlIGVmZmVjdC4gV2hpbGUgc29tZSBsYW5ndWFnZXMgZG8gaW5kZWVkIG1ha2UgbWFuYWdlbWVu dCBvZiB0aGUgY29uY3VycmVuY3kvcGFyYWxsZWxpc20gZWFzaWVyIHRoZXkgb2Z0ZW4gZG8gc28g YXQgdGhlIGNvc3Qgb2YgbWFraW5nIG90aGVyIGdvYWxzIG11Y2ggaGFyZGVyLiBJbiB0aGUgd29y c3QgY2FzZSBhIGNsZWFyIGNvbmN1cnJlbmN5IG1vZGVsIGNhbiBjb3N0IGFsIG9mIHRoZSBwZXJm b3JtYW5jZSBnYWlucyB0aGUgY29uY3VycmVuY3kgcHJpbWl0aXZlcyBhcmUgdGhlcmUgdG8gcHJv dmlkZS4KClRoaXMgaXMgdGhlIHJlYXNvbiB3aHkgdGhlIEpNTSB3YXMgYW4gaW1wb3J0YW50IHRo aW5nIHRvIGhhdmUuICBJdCBwcm92aWRlcyBhIGJlaGF2aW9yIHNwZWNpZmljYXRpb24gdGhhdCBp cyBpbmRlcGVuZGVudCBvZiB0aGUgaGFyZHdhcmUgaW1wbGVtZW50YXRpb24gbW9zdGx5LCBidXQg ZG9lcyByZXF1aXJlIHNvbWUgbWVtb3J5IGNvbnNpc3RlbmN5IGNvbnN0cmFpbnRzIG5lY2Vzc2Fy eSBmb3IgaGFwcGVucy1iZWZvcmUgdG8gd29yay4KCj4gRm9yIGV4YW1wbGUsIEkgd29ya2VkIG9u IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhIHBhcmFsbGVsIGxvZ2ljIGxhbmd1YWdlIDMwIHllYXJz IGFnbyB0aGF0IHdhcyB3b25kZXJmdWxseSB0cmFuc3BhcmVudCBhcyBmYXIgYXMgbW9kZWxsaW5n IGNvbmN1cnJlbmN5IHdhcyBjb25jZXJuZWQsIG1vc3QgZXNwZWNpYWxseSBmb3IgcHJvYmxlbXMg d2l0aCBpcnJlZ3VsYXIgcGFyYWxsZWwgZGVjb21wb3NpdG9ucy4gVW5mb3J0dW5hdGVseSwgYWNo aWV2aW5nIGhpZ2ggc3BlZWQtdXAgb24gbXVsdGktY29yZSBtYWNoaW5lcyB3YXMgZXh0cmVtZWx5 IGRpZmZpY3VsdCBiZWNhdXNlIHRoZSBsYW5ndWFnZSB3YXMgL3Rvby8gcGFyYWxsZWwuIEVmZmlj aWVudCBsb2NhbCBzY2hlZHVsaW5nIG9mIG9wZXJhdGlvbnMgd2l0aCBnb29kIGRhdGEgbG9jYWxp dHkgd2FzIGV4dHJlbWVseSBoYXJkIHRvIGFjaGlldmUuIEJ5IGNvbnRyYXN0LCBwYXJhbGxlbCBG b3J0cmFuIGVuYWJsZXMgdmVyeSBnb29kIGxvY2FsaXphdGlvbiBvZiBjb21wdXRhdGlvbiBhbmQg ZGF0YSBhY2Nlc3NlcyBidXQgb25seSBmb3IgdGFza3MgdGhhdCBkZWNvbXBvc2UgKGFuZCByZWNv bXBvc2UpIHJlZ3VsYXJseS4KCk9uZSBvZiB0aGUgaW50ZXJlc3RpbmcgdGhpbmdzIGFib3V0IEZv cnRyYW4gaXMgdGhlIHR5cGUgb2YgYXBwbGljYXRpb24gdGhhdCBpdCB1c3VhbGx5IGlzIHVzZWQg Zm9yLiAgTG90cyBvZiBtYXRoIG9wZXJhdGlvbnMgZG8gYWxsb3cgaW5zdHJ1Y3Rpb24gc2NoZWR1 bGluZyB0byBiZSB0YWtlbiBjYXJlIG9mIG1vcmUgcmVhZGlseS4gIFdoZW4gSSB3b3JrZWQgYXQg QmVsbCBMYWJzIG9uIHRoZSA1RVNTIHNvZnR3YXJlIHByb2plY3QsIGluIHRoZSBlYXJseSAxOTkw cywgdGhlaXIgY29tcGlsZXIgdGVhbSB3YXMgdGhpbmtpbmcgYWJvdXQgYWRkaW5nIGluc3RydWN0 aW9uIHNjaGVkdWxpbmcgd2hlbiB0aGV5IHdlcmUgc3dpdGNoaW5nIHRvIHVzZSB0aGUgNjgwNDAu ICBJIGhhZCB0YWxrZWQgdG8gdGhlbSBhYm91dCBoYXZpbmcgYW4gQW1pZ2Egd2l0aCBhIDY4MDQw IGFuZCBhIHNjaGVkdWxpbmcgY29tcGlsZXIuICBUaGV5IGFza2VkIG1lIHRvIGNvbXBpbGUgc29t ZSBvZiB0aGUgNUVTUyBjb2RlIHRvIHNlZSB3aGF0IHRoZSBjb21waWxlciBjb3VsZCBkbyB3aXRo IGl0LiAgVGhleSB3ZXJlIGNvbmNlcm5lZCB0aGF0IHRoZSBudW1iZXIgb2Yg4oCcaWbigJ0gc3Rh dGVtZW50cyBhbmQgb3RoZXIgY29uZGl0aW9uYWwgbG9naWMgYXJvdW5kIHRoZSDigJxhdWRpdOKA nSBzdWJzeXN0ZW0gaW1wbGVtZW50YXRpb24gd291bGQgbm90IHJlYWxseSBhbGxvdyBzY2hlZHVs aW5nIHRvIGJlIHZlcnkgZWZmZWN0aXZlLiAgSXQgd2FzIGNsZWFyIGFmdGVyIHNob3dpbmcgdGhl bSBkaWZmcywgdGhhdCBpdCB3YXMgaGFyZCB0byBzY2hlZHVsZSB0aGluZ3MuICBCdXQsIEkgZGlk IGZpbmQgYW4gYXNzZW1ibHkgc3RhdGVtZW50IGluIHRoZSBtZW1vcnkgY2hlY2tzdW1taW5nIGNv ZGUgd2hlcmUgdGhleSBoYWQgdXNlZCBMRCBSMSwwIGluc3RlYWQgb2YgQ0xSIFIxLiAgTWFraW5n IHRoYXQgY2hhbmdlIHdhcyBhIGh1Z2UgcmVkdWN0aW9uIGluIENQVSDigJxidXN54oCdIHdvcmsg YWxvbmUuCgpJIGNvbXBsZXRlbHkgdW5kZXJzdGFuZCBhbGwgdGhlIGRlc2lyZXMgYXJvdW5kIHBl cmZvcm1hbmNlIG5vdCBiZWluZyBpbXBhY3RlZC4gIFNvIHJlYWxpc3RpY2FsbHksIHJlbW92aW5n IG5vbi12b2xhdGlsZSBhcyBhIGRlZmF1bHQgaXMgbm90IGFuIGlkZWFsIHRoaW5nLiAgSeKAmXZl IGJlZW4gc3VnZ2VzdGluZyBhdCBsZWFzdCBjb250ZXh0IHNlbnNpdGl2ZSB3YXJuaW5ncyBhYm91 dCB0aGUgaG9pc3RpbmcgYWN0dWFsbHkgaW52YWxpZGF0aW5nIHRoZSBzb2Z0d2FyZSBhcyBjb2Rl ZC4gIFRoaXMgaXMgbm90IGEgc2ltcGxlIGRlYWwsIHRoYW5rcyBmb3IgeW91ciBpbnNpZ2h0cyBp bnRvIHRoaXMgYW5kIHByb3ZpZGluZyBzb21lIHByb2RkaW5nIHRvIHRoaW5rIGFib3V0IHRoZSBi aWdnZXIgcGljdHVyZS4gIAoKSSBhbSBzdGlsbCBpbnRlcmVzdGVkIGluIGZpZ3VyaW5nIG91dCB3 aGV0aGVyIHRoZXJlIGlzIHNvbWUgdXNlZnVsIHN0cmF0ZWd5IG9mIGluc3BlY3Rpb24gdGhhdCBj YW4gYWxsb3cgZGV2ZWxvcGVycyB0byBiZSB3YXJuZWQgcmVhZGlseSBvZiB0aGUgbWlzdXNlIG9m IG5vbi12b2xhdGlsZSB2YWx1ZXMgd2hlbiB0aGVpciBpbnRlbnRpb24gaXMgdm9sYXRpbGUvc2hh cmluZyBvZiByZWZlcmVuY2VzLgoKR3JlZ2cgV29uZGVybHkKCj4gCj4gWW91ciBtaWxlYWdlIG1h eSB2YXJ5LCBuYXR1cmFsbHkuCj4gCj4gcmVnYXJkcywKPiAKPiAKPiBBbmRyZXcgRGlubgo+IC0t LS0tLS0tLS0tCj4gUmVkIEhhdCBEaXN0aW5ndWlzaGVkIEVuZ2luZWVyCj4gUmVkIEhhdCBVSyBM dGQKPiBSZWdpc3RlcmVkIGluIEVuZ2xhbmQgYW5kIFdhbGVzIHVuZGVyIENvbXBhbnkgUmVnaXN0 cmF0aW9uIE5vLiAwMzc5ODkwMwo+IERpcmVjdG9yczogTWljaGFlbCBDdW5uaW5naGFtLCBNaWNo YWVsICgiTWlrZSIpIE8nTmVpbGwKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+IENvbmN1cnJlbmN5LWludGVyZXN0IG1haWxpbmcgbGlzdAo+IENv bmN1cnJlbmN5LWludGVyZXN0QGNzLm9zd2Vnby5lZHUKPiBodHRwOi8vY3Mub3N3ZWdvLmVkdS9t YWlsbWFuL2xpc3RpbmZvL2NvbmN1cnJlbmN5LWludGVyZXN0CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpDb25jdXJyZW5jeS1pbnRlcmVzdCBtYWlsaW5n IGxpc3QKQ29uY3VycmVuY3ktaW50ZXJlc3RAY3Mub3N3ZWdvLmVkdQpodHRwOi8vY3Mub3N3ZWdv LmVkdS9tYWlsbWFuL2xpc3RpbmZvL2NvbmN1cnJlbmN5LWludGVyZXN0Cg==