Free 12-page preview. An information and training work: it promises no financial result.
The rest is in the full edition — 331 pages
(function(){var s=atob(« LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEd1aWRlIHN0cmF0w6lnaXF1ZSB2ZXJzIGxlIG1pbGxpb24g4oCUIGxlY3RldXIgwqsgRmV1aWxsZXRlciDCuwogICBEw6lwZW5kYW5jZSA6IHBhZ2UtZmxpcCAyLjAuNyAoU3RQYWdlRmxpcCwgTUlUKSDigJQgbGliL3BhZ2UtZmxpcC5icm93c2VyLmpzCiAgIExlIGxlY3RldXIgbmUgY2hhcmdlIFFVRSBsZXMgcGFnZXMgYXV0b3Jpc8OpZXMgKGltYWdlcyBXZWJQIGRlIGFwZXJjdS9wYWdlcy8pLgogICBMZSBQREYgY29tcGxldCBuJ2VzdCBqYW1haXMgZW52b3nDqSBhdSBuYXZpZ2F0ZXVyLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKGZ1bmN0aW9uICgpIHsKICAidXNlIHN0cmljdCI7CgogIC8qIHBhZ2VzIDogcDAxIChjb3V2ZXJ0dXJlKSDigKYgcDEzIChwYWdlIGZpbmFsZSkgOyBkb3NzaWVyIDogcHLDqWZpeGUgZGVzIFdlYlAgKHJlbGF0aWYgb3UgVVJMIGFic29sdWUpIDsKICAgICBsYXJnZXVyL2hhdXRldXIgOiBwcm9wb3J0aW9ucyBkJ3VuZSBwYWdlICgyIDogMykgOyBhY2hhdFVybCA6IFVSTCBXb29Db21tZXJjZSAoP2FkZC10by1jYXJ0PUlEKSA7CiAgICAgY29udGVudVVybCA6IMKrIGNlIHF1ZSBjb250aWVudCBsJ8OpZGl0aW9uIGNvbXBsw6h0ZSDCuyA7IHBhZ2VzVG90YWwgOiBwYWdlcyBkdSB2b2x1bWUgMSAodmVycm91KSAqLwogIHZhciBDT05GID0gewogICAgcGFnZXM6IDEzLAogICAgZG9zc2llcjogImFwZXJjdS9wYWdlcy8iLAogICAgbGFyZ2V1cjogNjAwLCBoYXV0ZXVyOiA5MDAsCiAgICBhY2hhdFVybDogImh0dHBzOi8vcXVhZHJvc3lzdGVtZS5mci8/YWRkLXRvLWNhcnQ9Mjc3OSIsCiAgICBjb250ZW51VXJsOiAiI2NvbnRlbnUiLAogICAgcGFnZXNUb3RhbDogMzMxCiAgfTsKCiAgdmFyIHJhY2luZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIltkYXRhLWdzbS1mZXVpbGxldGVyXSIpOwogIGlmICghcmFjaW5lKSByZXR1cm47CiAgLyogV09SRFBSRVNTIEVOVkVMT1BQRS4gU29uIGZpbHRyZSB3cGF1dG9wIHBvc2UgZGVzIDxwPjwvcD4gdmlkZXMgZW50cmUgbGVzIGJsb2NzIGV0IGVudmVsb3BwZSB1bgogICAgIGJvdXRvbiBpc29sZSBkYW5zIDxwPi4uLjwvcD4gKGxlIGJvdXRvbiDCqyBwYWdlIHN1aXZhbnRlIMK7IGwnZXRhaXQsIGV0IGxhIGdyaWxsZSBkdSBsZWN0ZXVyIHNlCiAgICAgZGVjYWxhaXQpLiBPbiBkZWZhaXQgY2VzIDxwPiBzYW5zIGNsYXNzZSBhdmFudCBkZSBtZXN1cmVyIHF1b2kgcXVlIGNlIHNvaXQgOyBsZXMgdnJhaXMKICAgICBwYXJhZ3JhcGhlcyBkdSBjb21wb3NhbnQgcG9ydGVudCB0b3VzIHVuZSBjbGFzc2UuICovCiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmdzbSBwIikuZm9yRWFjaChmdW5jdGlvbiAocCkgewogICAgaWYgKHAuY2xhc3NOYW1lKSByZXR1cm47CiAgICBpZiAocC5jaGlsZHJlbi5sZW5ndGggfHwgIXAudGV4dENvbnRlbnQucmVwbGFjZSgvXHN8wqAvZywgIiIpKSB7CiAgICAgIHdoaWxlIChwLmZpcnN0Q2hpbGQpIHAucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocC5maXJzdENoaWxkLCBwKTsKICAgICAgcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHApOwogICAgfQogIH0pOwogIE9iamVjdC5rZXlzKENPTkYpLmZvckVhY2goZnVuY3Rpb24gKGspIHsKICAgIHZhciB2ID0gcmFjaW5lLmdldEF0dHJpYnV0ZSgiZGF0YS0iICsgay5yZXBsYWNlKC9bQS1aXS9nLCBmdW5jdGlvbiAobSkgeyByZXR1cm4gIi0iICsgbS50b0xvd2VyQ2FzZSgpOyB9KSk7CiAgICBpZiAodiAhPT0gbnVsbCkgQ09ORltrXSA9IGlzTmFOKHYpID8gdiA6IE51bWJlcih2KTsKICB9KTsKCiAgdmFyIGxlY3RldXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3NtLWxlY3RldXIiKTsKICB2YXIgYm91dG9uT3V2cmlyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZ3NtLW91dnJpcl0iKTsKICB2YXIgYm91dG9uRmVybWVyID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yKCIuZ3NtLWZlcm1lciIpOwogIHZhciBjb250ZW5ldXIgPSBsZWN0ZXVyLnF1ZXJ5U2VsZWN0b3IoIi5nc20tbGl2cmUtb3V2ZXJ0Iik7CiAgdmFyIGNvbXB0ZXVyID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yKCIuY29tcHRldXIiKTsKICB2YXIgZmxlY2hlcyA9IGxlY3RldXIucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZ3NtLXByZXZdLCBbZGF0YS1nc20tbmV4dF0iKTsKICB2YXIgcmVkdWl0ID0gd2luZG93Lm1hdGNoTWVkaWEgJiYgd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlczsKICB2YXIgbGl2cmUgPSBudWxsLCBkZXJuaWVyRm9jdXMgPSBudWxsOwoKICAvLyAtLS0tIGNvbnN0cnVjdGlvbiBkZXMgcGFnZXMgKERPTSkgLS0tLQogIGZ1bmN0aW9uIGNvbnN0cnVpcmVQYWdlcygpIHsKICAgIHZhciBmcmFnID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwogICAgZm9yICh2YXIgaSA9IDE7IGkgPD0gQ09ORi5wYWdlczsgaSsrKSB7CiAgICAgIHZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgIHAuY2xhc3NOYW1lID0gImdzbS1wYWdlIjsKICAgICAgaWYgKGkgPT09IDEpIHsgcC5jbGFzc05hbWUgKz0gIiBnc20tY291diI7IHAuc2V0QXR0cmlidXRlKCJkYXRhLWRlbnNpdHkiLCAiaGFyZCIpOyB9CiAgICAgIGlmIChpID09PSBDT05GLnBhZ2VzKSB7IHAuY2xhc3NOYW1lICs9ICIgZ3NtLWN0YSI7IHAuc2V0QXR0cmlidXRlKCJkYXRhLWRlbnNpdHkiLCAiaGFyZCIpOyB9CiAgICAgIGlmIChpID09PSBDT05GLnBhZ2VzKSB7CiAgICAgICAgcC5pbm5lckhUTUwgPQogICAgICAgICAgJzxkaXYgY2xhc3M9ImN0YS13cmFwIj48ZGl2IGNsYXNzPSJjdGEiPicgKwogICAgICAgICAgJzxkaXYgY2xhc3M9ImZpbiI+RklOIERFIEzigJlBUEVSw4dVPC9kaXY+JyArCiAgICAgICAgICAnPHA+Vm91cyB2ZW5leiBkZSBkw6ljb3V2cmlyIHVuIGFwZXLDp3UgZHU8L3A+JyArCiAgICAgICAgICAnPGgyPkdVSURFIFNUUkFUw4lHSVFVRSA8c3Bhbj5WRVJTIExFIE1JTExJT048L3NwYW4+PC9oMj4nICsKICAgICAgICAgICc8cD5MYSBzdWl0ZSBkdSBwYXJjb3VycyBlc3QgZGlzcG9uaWJsZSBkYW5zIGxlIGxpdnJlIGNvbXBsZXQuPC9wPicgKwogICAgICAgICAgJzxkaXYgY2xhc3M9Imxpc3RlIj4zOCBDSEFQSVRSRVM8YnI+OCBST1VURVM8YnI+OCBQUk9GSUxTPGJyPlBMQU5TIDMwIEpPVVJTIOKAoiAxIEFOIOKAoiA1IEFOUyDigKIgMTAgQU5TPGJyPkNBTENVTEFURVVSUyDigKIgw4lUVURFUyBERSBDQVMg4oCiIENIRUNLTElTVFMg4oCiIFJFU1NPVVJDRVM8L2Rpdj4nICsKICAgICAgICAgICc8cD48c3Ryb25nPkFjaGV0ZXogbGUgbGl2cmUgcG91ciBjb250aW51ZXIgdm90cmUgbGVjdHVyZS48L3N0cm9uZz48L3A+JyArCiAgICAgICAgICAnPHNwYW4gY2xhc3M9ImFjaGF0Ij48YSBjbGFzcz0iZ3NtLWJ0biBnc20tYnRuLW9yIiBkYXRhLWdzbS1hY2hldGVyIGhyZWY9IicgKyBDT05GLmFjaGF0VXJsICsgJyI+QWNoZXRlciBsZSBsaXZyZTwvYT48L3NwYW4+JyArCiAgICAgICAgICAnPGEgY2xhc3M9ImxpZW4iIGRhdGEtZ3NtLWNvbnRlbnUgaHJlZj0iJyArIENPTkYuY29udGVudVVybCArICciPlZvaXIgY2UgcXVlIGNvbnRpZW50IGzigJnDqWRpdGlvbiBjb21wbMOodGU8L2E+JyArCiAgICAgICAgICAnPHNtYWxsPkNlIGxpdnJlIGVzdCB1biBvdXZyYWdlIGTigJlpbmZvcm1hdGlvbiBldCBkZSBmb3JtYXRpb24uIElsIG5lIHByb21ldCBhdWN1biByw6lzdWx0YXQgZmluYW5jaWVyLjwvc21hbGw+JyArCiAgICAgICAgICAnPC9kaXY+PC9kaXY+JzsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CiAgICAgICAgaW1nLnNyYyA9IENPTkYuZG9zc2llciArICJwIiArIChpIDwgMTAgPyAiMCIgKyBpIDogaSkgKyAiLndlYnAiOwogICAgICAgIGltZy5hbHQgPSBpID09PSAxID8gIkNvdXZlcnR1cmUgOiBHdWlkZSBzdHJhdMOpZ2lxdWUgdmVycyBsZSBtaWxsaW9uLCBTb3VsZXltYW5lIElzbWHDq2wsIFF1YWRyb1N5c3TDqG1lIiA6ICJQYWdlICIgKyBpICsgIiBkZSBs4oCZYXBlcsOndSI7CiAgICAgICAgaW1nLmxvYWRpbmcgPSBpIDw9IDMgPyAiZWFnZXIiIDogImxhenkiOwogICAgICAgIGltZy5kZWNvZGluZyA9ICJhc3luYyI7CiAgICAgICAgaW1nLmRyYWdnYWJsZSA9IGZhbHNlOwogICAgICAgIHAuYXBwZW5kQ2hpbGQoaW1nKTsKICAgICAgfQogICAgICBmcmFnLmFwcGVuZENoaWxkKHApOwogICAgfQogICAgY29udGVuZXVyLmlubmVySFRNTCA9ICIiOwogICAgY29udGVuZXVyLmFwcGVuZENoaWxkKGZyYWcpOwogIH0KCiAgZnVuY3Rpb24gbWFqQ29tcHRldXIoaW5kZXgpIHsKICAgIHZhciBwb3J0cmFpdCA9IGxpdnJlICYmIGxpdnJlLmdldE9yaWVudGF0aW9uICYmIGxpdnJlLmdldE9yaWVudGF0aW9uKCkgPT09ICJwb3J0cmFpdCI7CiAgICB2YXIgbiA9IENPTkYucGFnZXMsIHRleHRlOwogICAgaWYgKGluZGV4ID09PSAwKSB0ZXh0ZSA9ICJDb3V2ZXJ0dXJlIjsKICAgIGVsc2UgaWYgKGluZGV4ID49IG4gLSAxKSB0ZXh0ZSA9ICJQYWdlICIgKyBuICsgIiAvICIgKyBuICsgIiDigJQgZmluIGRlIGzigJlhcGVyw6d1IjsKICAgIGVsc2UgaWYgKHBvcnRyYWl0KSB0ZXh0ZSA9ICJQYWdlICIgKyAoaW5kZXggKyAxKSArICIgLyAiICsgbjsKICAgIGVsc2UgdGV4dGUgPSAiUGFnZXMgIiArIChpbmRleCArIDEpICsgIuKAkyIgKyBNYXRoLm1pbihpbmRleCArIDIsIG4pICsgIiAvICIgKyBuOwogICAgY29tcHRldXIudGV4dENvbnRlbnQgPSB0ZXh0ZTsKICAgIGxlY3RldXIuY2xhc3NMaXN0LnRvZ2dsZSgiZ3NtLWZpbiIsIGluZGV4ID49IG4gLSAyKTsKICAgIHZhciBwcmV2ID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1nc20tcHJldl0iKSwgbmV4dCA9IGxlY3RldXIucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZ3NtLW5leHRdIik7CiAgICBwcmV2LmZvckVhY2goZnVuY3Rpb24gKGIpIHsgYi5kaXNhYmxlZCA9IGluZGV4ID09PSAwOyB9KTsKICAgIG5leHQuZm9yRWFjaChmdW5jdGlvbiAoYikgeyBiLmRpc2FibGVkID0gaW5kZXggPj0gbiAtIDE7IH0pOwogIH0KCiAgZnVuY3Rpb24gY3JlZXJMaXZyZSgpIHsKICAgIGNvbnN0cnVpcmVQYWdlcygpOwogICAgdmFyIG9wdHMgPSB7CiAgICAgIHdpZHRoOiBDT05GLmxhcmdldXIsIGhlaWdodDogQ09ORi5oYXV0ZXVyLCBzaXplOiAic3RyZXRjaCIsCiAgICAgIG1pbldpZHRoOiAyNjAsIG1heFdpZHRoOiA4MjAsIG1pbkhlaWdodDogMzkwLCBtYXhIZWlnaHQ6IDEyMzAsCiAgICAgIHNob3dDb3ZlcjogdHJ1ZSwgdXNlUG9ydHJhaXQ6IHRydWUsIGF1dG9TaXplOiB0cnVlLAogICAgICBtb2JpbGVTY3JvbGxTdXBwb3J0OiBmYWxzZSwgdXNlTW91c2VFdmVudHM6IHRydWUsIHN3aXBlRGlzdGFuY2U6IDI0LAogICAgICBmbGlwcGluZ1RpbWU6IHJlZHVpdCA/IDEgOiA2NTAsIG1heFNoYWRvd09wYWNpdHk6IHJlZHVpdCA/IDAgOiAwLjQ1LCBkcmF3U2hhZG93OiAhcmVkdWl0LAogICAgICBzdGFydFBhZ2U6IDAsIGRpc2FibGVGbGlwQnlDbGljazogZmFsc2UsIHNob3dQYWdlQ29ybmVyczogIXJlZHVpdAogICAgfTsKICAgIGxpdnJlID0gbmV3IFN0LlBhZ2VGbGlwKGNvbnRlbmV1ciwgb3B0cyk7CiAgICBsaXZyZS5sb2FkRnJvbUhUTUwoY29udGVuZXVyLnF1ZXJ5U2VsZWN0b3JBbGwoIi5nc20tcGFnZSIpKTsKICAgIGxpdnJlLm9uKCJmbGlwIiwgZnVuY3Rpb24gKGUpIHsgbWFqQ29tcHRldXIoZS5kYXRhKTsgfSk7CiAgICBsaXZyZS5vbigiY2hhbmdlT3JpZW50YXRpb24iLCBmdW5jdGlvbiAoKSB7IG1hakNvbXB0ZXVyKGxpdnJlLmdldEN1cnJlbnRQYWdlSW5kZXgoKSk7IH0pOwogICAgbWFqQ29tcHRldXIoMCk7CiAgICAvLyByZWRlc3NpbmVyIHF1YW5kIGxlcyBwcmVtacOocmVzIGltYWdlcyBhcnJpdmVudCAoc2lub24gbGEgY291dmVydHVyZSBwZXV0IHJlc3RlciBibGFuY2hlIMOgIGwnb3V2ZXJ0dXJlIGltbcOpZGlhdGUpCiAgICBjb250ZW5ldXIucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaChmdW5jdGlvbiAoaW1nLCBpKSB7CiAgICAgIGlmIChpIDwgNCAmJiAhaW1nLmNvbXBsZXRlKSBpbWcuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsgaWYgKGxpdnJlKSBsaXZyZS51cGRhdGUoKTsgfSwgeyBvbmNlOiB0cnVlIH0pOwogICAgfSk7CiAgICAvLyBwcmVtaWVyIHJlbmR1IGZvcmPDqSB1bmUgZm9pcyBsYSBtaXNlIGVuIHBhZ2UgZGlzcG9uaWJsZSAob3V2ZXJ0dXJlIGltbcOpZGlhdGUgYXUgY2hhcmdlbWVudCkKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyBpZiAobGl2cmUpIGxpdnJlLnVwZGF0ZSgpOyB9LCA4MCk7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsgaWYgKGxpdnJlKSBsaXZyZS51cGRhdGUoKTsgfSk7CiAgfQoKICBmdW5jdGlvbiBvdXZyaXIoZXYpIHsKICAgIGlmIChldikgZXYucHJldmVudERlZmF1bHQoKTsKICAgIGRlcm5pZXJGb2N1cyA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CiAgICBsZWN0ZXVyLnNldEF0dHJpYnV0ZSgib3BlbiIsICIiKTsKICAgIGxlY3RldXIuY2xhc3NMaXN0LmFkZCgiZ3NtLW91dnJlIik7CiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gImhpZGRlbiI7CiAgICBpZiAoIWxpdnJlKSBjcmVlckxpdnJlKCk7IGVsc2UgeyBsaXZyZS51cGRhdGUoKTsgfQogICAgYm91dG9uRmVybWVyLmZvY3VzKCk7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgY2xhdmllcik7CiAgfQogIGZ1bmN0aW9uIGZlcm1lcigpIHsKICAgIGxlY3RldXIucmVtb3ZlQXR0cmlidXRlKCJvcGVuIik7CiAgICBsZWN0ZXVyLmNsYXNzTGlzdC5yZW1vdmUoImdzbS1vdXZyZSIpOwogICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICIiOwogICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGNsYXZpZXIpOwogICAgaWYgKGRlcm5pZXJGb2N1cyAmJiBkZXJuaWVyRm9jdXMuZm9jdXMpIGRlcm5pZXJGb2N1cy5mb2N1cygpOwogIH0KICBmdW5jdGlvbiBjbGF2aWVyKGUpIHsKICAgIGlmIChlLmtleSA9PT0gIkVzY2FwZSIpIHsgZmVybWVyKCk7IH0KICAgIGVsc2UgaWYgKGUua2V5ID09PSAiQXJyb3dSaWdodCIgfHwgZS5rZXkgPT09ICJQYWdlRG93biIpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBsaXZyZS5mbGlwTmV4dCgpOyB9CiAgICBlbHNlIGlmIChlLmtleSA9PT0gIkFycm93TGVmdCIgfHwgZS5rZXkgPT09ICJQYWdlVXAiKSB7IGUucHJldmVudERlZmF1bHQoKTsgbGl2cmUuZmxpcFByZXYoKTsgfQogICAgZWxzZSBpZiAoZS5rZXkgPT09ICJIb21lIikgeyBlLnByZXZlbnREZWZhdWx0KCk7IGxpdnJlLnR1cm5Ub1BhZ2UoMCk7IGxpdnJlLnVwZGF0ZSgpOyBtYWpDb21wdGV1cigwKTsgfQogICAgZWxzZSBpZiAoZS5rZXkgPT09ICJFbmQiKSB7IGUucHJldmVudERlZmF1bHQoKTsgbGl2cmUudHVyblRvUGFnZShDT05GLnBhZ2VzIC0gMSk7IGxpdnJlLnVwZGF0ZSgpOyBtYWpDb21wdGV1cihDT05GLnBhZ2VzIC0gMSk7IH0KICAgIGVsc2UgaWYgKGUua2V5ID09PSAiVGFiIikgeyAvKiBnYXJkZXIgbGUgZm9jdXMgZGFucyBsZSBsZWN0ZXVyICovCiAgICAgIHZhciBmID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yQWxsKCJidXR0b246bm90KFtkaXNhYmxlZF0pLCBhW2hyZWZdIik7CiAgICAgIGlmICghZi5sZW5ndGgpIHJldHVybjsKICAgICAgdmFyIHByZW1pZXIgPSBmWzBdLCBkZXJuaWVyID0gZltmLmxlbmd0aCAtIDFdOwogICAgICBpZiAoZS5zaGlmdEtleSAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBwcmVtaWVyKSB7IGUucHJldmVudERlZmF1bHQoKTsgZGVybmllci5mb2N1cygpOyB9CiAgICAgIGVsc2UgaWYgKCFlLnNoaWZ0S2V5ICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGRlcm5pZXIpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBwcmVtaWVyLmZvY3VzKCk7IH0KICAgIH0KICB9CgogIGJvdXRvbk91dnJpci5mb3JFYWNoKGZ1bmN0aW9uIChiKSB7IGIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvdXZyaXIpOyB9KTsKICAvKiBwbGVpbiDDqWNyYW4gKEFQSSBGdWxsc2NyZWVuIDsgU2FmYXJpIGlPUyBuZSBsJ29mZnJlIHBhcyA6IGxlIGJvdXRvbiByZXN0ZSBzYW5zIGVmZmV0LCBsZSBsZWN0ZXVyIGNvdXZyZSBkw6lqw6AgbCfDqWNyYW4pICovCiAgdmFyIGJvdXRvblBsZWluID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yKCJbZGF0YS1nc20tcGxlaW5dIik7CiAgaWYgKGJvdXRvblBsZWluKSBib3V0b25QbGVpbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgpIHsKICAgIHZhciBlbCA9IGxlY3RldXI7CiAgICBpZiAoZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHsgaWYgKGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKSBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpOyB9CiAgICBlbHNlIGlmIChlbC5yZXF1ZXN0RnVsbHNjcmVlbikgeyBlbC5yZXF1ZXN0RnVsbHNjcmVlbigpLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsgfQogICAgZWxzZSBpZiAoZWwud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4pIHsgZWwud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTsgfQogICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IGlmIChsaXZyZSkgbGl2cmUudXBkYXRlKCk7IH0sIDMwMCk7CiAgfSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsIGZ1bmN0aW9uICgpIHsgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IGlmIChsaXZyZSkgbGl2cmUudXBkYXRlKCk7IH0sIDIwMCk7IH0pOwogIC8qIHpvb20gOiBiYXNjdWxlIMOXMSwzNSBzdXIgbGUgY2FkcmUsIGxlIGxlY3RldXIgZMOpZmlsZSAqLwogIHZhciBib3V0b25ab29tID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yKCJbZGF0YS1nc20tem9vbV0iKTsKICBpZiAoYm91dG9uWm9vbSkgYm91dG9uWm9vbS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgpIHsKICAgIHZhciBhY3RpZiA9IGxlY3RldXIuY2xhc3NMaXN0LnRvZ2dsZSgiZ3NtLXpvb20iKTsKICAgIGJvdXRvblpvb20udGV4dENvbnRlbnQgPSBhY3RpZiA/ICLvvI0iIDogIu+8iyI7CiAgICBib3V0b25ab29tLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIGFjdGlmID8gIlRhaWxsZSBub3JtYWxlIiA6ICJBZ3JhbmRpciBsZXMgcGFnZXMiKTsKICB9KTsKICBib3V0b25GZXJtZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmZXJtZXIpOwogIC8qIGdsaXNzZW1lbnQgaG9yaXpvbnRhbCBmcmFuYyAoZG9pZ3QsIHN0eWxldCwgc291cmlzKSA6IHBhZ2Ugc3VpdmFudGUgLyBwcmVjZWRlbnRlLCBzYW5zIGRvdWJsZXIgU3RQYWdlRmxpcCAqLwogIChmdW5jdGlvbiAoKSB7IHZhciB4MCA9IDAsIHkwID0gMCwgaTAgPSAtMSwgYWN0aWYgPSBmYWxzZTsKICAgIGNvbnRlbmV1ci5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsIGZ1bmN0aW9uIChlKSB7IGlmIChlLmJ1dHRvbiAmJiBlLmJ1dHRvbiAhPT0gMCkgcmV0dXJuOyBhY3RpZiA9IHRydWU7IHgwID0gZS5jbGllbnRYOyB5MCA9IGUuY2xpZW50WTsgaTAgPSBsaXZyZSA/IGxpdnJlLmdldEN1cnJlbnRQYWdlSW5kZXgoKSA6IC0xOyB9LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICBjb250ZW5ldXIuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIiwgZnVuY3Rpb24gKGUpIHsgaWYgKCFhY3RpZikgcmV0dXJuOyBhY3RpZiA9IGZhbHNlOyB2YXIgZHggPSBlLmNsaWVudFggLSB4MCwgZHkgPSBlLmNsaWVudFkgLSB5MDsgaWYgKE1hdGguYWJzKGR4KSA8IDYwIHx8IE1hdGguYWJzKGR5KSA+IDgwIHx8ICFsaXZyZSkgcmV0dXJuOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgaWYgKGxpdnJlLmdldEN1cnJlbnRQYWdlSW5kZXgoKSAhPT0gaTApIHJldHVybjsgaWYgKGR4IDwgMCkgbGl2cmUuZmxpcE5leHQoKTsgZWxzZSBsaXZyZS5mbGlwUHJldigpOyB9LCA2MCk7IH0sIHsgcGFzc2l2ZTogdHJ1ZSB9KTsKICAgIGNvbnRlbmV1ci5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIiwgZnVuY3Rpb24gKCkgeyBhY3RpZiA9IGZhbHNlOyB9LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgfSkoKTsKICBmbGVjaGVzLmZvckVhY2goZnVuY3Rpb24gKGIpIHsKICAgIGIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CiAgICAgIGlmIChiLmhhc0F0dHJpYnV0ZSgiZGF0YS1nc20tcHJldiIpKSBsaXZyZS5mbGlwUHJldigpOyBlbHNlIGxpdnJlLmZsaXBOZXh0KCk7CiAgICB9KTsKICB9KTsKICAvLyBsaWVucyBkJ2FjaGF0IChmaWNoZSArIHBhZ2UgZmluYWxlICsgcGllZCBkdSBsZWN0ZXVyKSA6IHVuZSBzZXVsZSBhZHJlc3NlIMOgIHLDqWdsZXIKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1nc20tYWNoZXRlcl0iKS5mb3JFYWNoKGZ1bmN0aW9uIChhKSB7IGlmIChDT05GLmFjaGF0VXJsKSBhLnNldEF0dHJpYnV0ZSgiaHJlZiIsIENPTkYuYWNoYXRVcmwpOyB9KTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1nc20tY29udGVudV0iKS5mb3JFYWNoKGZ1bmN0aW9uIChhKSB7IGlmIChDT05GLmNvbnRlbnVVcmwpIGEuc2V0QXR0cmlidXRlKCJocmVmIiwgQ09ORi5jb250ZW51VXJsKTsgfSk7CiAgdmFyIHZlcnJvdSA9IGxlY3RldXIucXVlcnlTZWxlY3RvcigiLmdzbS12ZXJyb3UtdGV4dGUgc3Ryb25nIik7CiAgaWYgKHZlcnJvdSkgdmVycm91LnRleHRDb250ZW50ID0gQ09ORi5wYWdlc1RvdGFsICsgIiBwYWdlcyI7CiAgLy8gb3V2ZXJ0dXJlIGRpcmVjdGUgKGxpZW4gcGFydGFnw6kgb3UgdGVzdCkgOiDigKYvZmljaGUtcHJvZHVpdC8/YXBlcmN1PW91dmVydAogIGlmICgvWz8mXWFwZXJjdT1vdXZlcnRcYi8udGVzdCh3aW5kb3cubG9jYXRpb24uc2VhcmNoKSkgb3V2cmlyKCk7Cn0pKCk7Cg== »);s=decodeURIComponent(Array.prototype.map.call(s,function(c){return « % »+(« 00″+c.charCodeAt(0).toString(16)).slice(-2);}).join(« »));var f=document.createElement(« script »);f.text=s;document.body.appendChild(f);})();
.gsm-video-bloc{margin:1.6rem auto 2rem;max-width:1100px;padding:0 1rem;font-family:Georgia,’Times New Roman’,serif;color:#0B1F3A} .gsm-video-bloc h2{font-family:Montserrat,’Segoe UI’,Arial,sans-serif;font-weight:800;font-size:1.3rem;margin:0 0 .3rem;color:#0B1F3A} .gsm-video-bloc .gsm-video-sous{font-style:italic;color:#4E5866;margin:0 0 1rem} .gsm-video-cadre{margin:0 auto;width:min(100%,380px);aspect-ratio:9/16;background:#0B1F3A;border-radius:14px;overflow:hidden;box-shadow:0 22px 44px -22px rgba(11,31,58,.7)} .gsm-video-cadre video{display:block;width:100%;height:100%;object-fit:cover;background:#0B1F3A} .gsm-video-bloc .gsm-video-note{font-size:.8rem;color:#4E5866;text-align:center;margin:.7rem 0 0} @media (max-width:720px){.gsm-video-cadre{width:min(100%,420px)}}
The presentation video
40 seconds to see the book, its two volumes and what it contains.
Subtitles included. The video only loads when you press play.
A path, not a promise
The Guide stratégique vers le million (French edition) is an information and training work: it gives a complete method, in order, with verifiable criteria at every step — from the first sheet of paper (your net worth, tonight) to protecting wealth that exists. It does not promise that you will become a millionaire: it explains what increases the odds and what destroys them, with official sources, labels on every figure, and dates.
What you receive after purchase
- Volume 1 — Strategic Guide to One Million (PDF, 331 pages): foreword, START HERE, 38 chapters in three phases, epilogue.
- Volume 2 — Appendices, tools and resources (PDF, 118 pages): glossary, ten calculators with formulas, thirteen templates to fill in, country appendices (European Union, France, Germany, United Kingdom, United States, Africa/OHADA, other regions), directory of training courses, free software and GitHub tools with verified licences, bibliography and verification log.
What the path contains
- 38 chapters — PHASE I Understand (1-12), PHASE II Build (13-25), PHASE III Accelerate and protect (26-35), Closing (36-38).
- 8 routes to point B and 8 profiles simulated (€1,500, €2,500, €4,000 a month, entrepreneur, person in debt, starting at 20, 40 and 55).
- Action plans for 30 days, 1 year, 5 years and 10 years, each with its own criteria.
- Case studies in every chapter, calculators (compound interest, debt, loans, rental yield, break-even point, financial independence…), checklists and exit criteria.
- The skills that are worth money : twelve actionable profile sheets (where to learn for free, how long it takes, what proof to produce, what first goal to set).
- Employment, freelancing, business, selling, price and margin, cash flow, investing (ETFs, shares, bonds, real estate, other assets), tax and legal structures, protection, scams to recognise.
Browse before you buy
A free 12-page preview (PDF) shows you the title page, the disclaimer, the table of contents, START HERE, the beginning of chapter 1 and the boxes in chapter 4.
Disclaimer
This book is educational content. It is neither investment advice nor personalised tax or legal advice. No financial result is guaranteed; past returns are no indication of future returns; all investment carries a risk of loss. Tax and regulatory rules vary by country and over time: check those of your country before making any decision.
Author: Souleymane Ismaël — QuadroSystème. Version 1.1, 2026 edition. PDF format, readable on any device. No physical delivery.
Guide gratuit : Indépendance financière : définition, calcul et méthode — ou tous nos guides par thème.




















Reviews
There are no reviews yet.