{"id":29143,"date":"2018-05-05T20:22:41","date_gmt":"2018-05-05T17:22:41","guid":{"rendered":"http:\/\/kamil-abzalov.com\/tutorials\/create-php-mvc-app-create-custom-directive-in-angularjs\/"},"modified":"2020-04-11T11:41:52","modified_gmt":"2020-04-11T08:41:52","slug":"create-php-mvc-app-create-custom-directive-in-angularjs","status":"publish","type":"post","link":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/","title":{"rendered":"Create php MVC app. Create custom directive in angularjs"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;3.22&#8243;][et_pb_fullwidth_header title=&#8221;Create php MVC app. Create custom directive in angularjs&#8221; _builder_version=&#8221;3.16&#8243; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;][\/et_pb_fullwidth_header][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;3.22&#8243;][et_pb_row admin_label=&#8221;row&#8221; _builder_version=&#8221;3.25&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; custom_padding=&#8221;0px|||&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_dcsbcm_divi_breadcrumbs_module homebreadcrumbtext=&#8221;Home&#8221; hide_currentbreadcrumb=&#8221;off&#8221; _builder_version=&#8221;3.2.1&#8243; custom_padding=&#8221;0px|||&#8221; fontsbreadcrumbs_font_size_tablet=&#8221;51&#8243; fontsbreadcrumbs_line_height_tablet=&#8221;2&#8243; fontsseperator_font_size_tablet=&#8221;51&#8243; fontsseperator_line_height_tablet=&#8221;2&#8243; fontsbreadcrumblinks_font_size_tablet=&#8221;51&#8243; fontsbreadcrumblinks_line_height_tablet=&#8221;2&#8243;][\/et_pb_dcsbcm_divi_breadcrumbs_module][et_pb_text _builder_version=&#8221;3.27.4&#8243; border_color_all=&#8221;#ffffff&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221;]Today I will tell you how to create custom directive in angularjs. In our app custom directive will be html from for edit user personal info.<br \/>\n[\/et_pb_text][et_pb_video src=&#8221;https:\/\/www.youtube.com\/watch?v=9r5qxEuhC_g&#8221; _builder_version=&#8221;3.2.1&#8243;][\/et_pb_video][et_pb_text _builder_version=&#8221;3.27.4&#8243; border_color_all=&#8221;#ffffff&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221;]Angular &#8220;learns&#8221; browsers new tags or attributes with directives. It has a large set of build-in directives, which we have already work. For example, ng-click.<br \/>\nCustom (users) directives can be one of several types: E &#8211; elements (tags), A &#8211; attributes.<br \/>\nDirective settings are made with .directive() angular method, which return object with directive settings. You can read about custom directives in details in these articles:<br \/>\n<a href=\"https:\/\/metanit.com\/web\/angular\/2.12.php\" rel=\"noopener noreferrer\" target=\"_blank\">https:\/\/metanit.com\/web\/angular\/2.12.php<\/a><br \/>\n<a href=\"https:\/\/code.tutsplus.com\/ru\/tutorials\/mastering-angularjs-directives--cms-22511\" rel=\"noopener noreferrer\" target=\"_blank\">https:\/\/code.tutsplus.com\/ru\/tutorials\/mastering-angularjs-directives&#8211;cms-22511<\/a><br \/>\n[\/et_pb_text][et_pb_dmb_code_snippet title=&#8221;Code lesson (users.tpl.php)&#8221; code=&#8221;PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InJ1IiBkYXRhLW5nLWFwcD0idXNlcnMiPgo8aGVhZD4KCiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICA8YmFzZSBocmVmPSIvY2FiaW5ldC91c2Vycy8iPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CiAgICA8dGl0bGU+PD9waHAgZWNobyAkcGFnZURhdGFbJ3RpdGxlJ107ID8+PC90aXRsZT4KCiAgICA8IS0tIEJvb3RzdHJhcCBDb3JlIENTUyAtLT4KICAgIDxsaW5rIGhyZWY9Ii9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBNZXRpc01lbnUgQ1NTIC0tPgogICAgPGxpbmsgaHJlZj0iL2Nzcy9hZG1pbi9tZXRpc01lbnUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8IS0tIEN1c3RvbSBDU1MgLS0+CiAgICA8bGluayBocmVmPSIvY3NzL2FkbWluL3NiLWFkbWluLTIuY3NzIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0gTW9ycmlzIENoYXJ0cyBDU1MgLS0+CiAgICA8bGluayBocmVmPSIvY3NzL2FkbWluL21vcnJpcy5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBDdXN0b20gRm9udHMgLS0+CiAgICA8bGluayBocmVmPSIvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KCiAgICA8IS0tIEhUTUw1IFNoaW0gYW5kIFJlc3BvbmQuanMgSUU4IHN1cHBvcnQgb2YgSFRNTDUgZWxlbWVudHMgYW5kIG1lZGlhIHF1ZXJpZXMgLS0+CiAgICA8IS0tIFdBUk5JTkc6IFJlc3BvbmQuanMgZG9lc24ndCB3b3JrIGlmIHlvdSB2aWV3IHRoZSBwYWdlIHZpYSBmaWxlOi8vIC0tPgogICAgPCEtLVtpZiBsdCBJRSA5XT4KICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9vc3MubWF4Y2RuLmNvbS9saWJzL2h0bWw1c2hpdi8zLjcuMC9odG1sNXNoaXYuanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL29zcy5tYXhjZG4uY29tL2xpYnMvcmVzcG9uZC5qcy8xLjQuMi9yZXNwb25kLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IVtlbmRpZl0tLT4KCiAgICA8c3R5bGU+CiAgICAgICAgdGFibGUgdHI6aG92ZXIgewogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQogICAgPC9zdHlsZT4KCjwvaGVhZD4KCjxib2R5PgoKICAgIDxkaXYgaWQ9IndyYXBwZXIiPgoKICAgICAgICA8IS0tIE5hdmlnYXRpb24gLS0+CiAgICAgICAgPG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1kZWZhdWx0IG5hdmJhci1zdGF0aWMtdG9wIiByb2xlPSJuYXZpZ2F0aW9uIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2YmFyLWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSI+VG9nZ2xlIG5hdmlnYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXZiYXItYnJhbmQiIGhyZWY9ImluZGV4Lmh0bWwiPtCa0LDQsdC40L3QtdGCPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSAvLm5hdmJhci1oZWFkZXIgLS0+CgogICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXZiYXItdG9wLWxpbmtzIG5hdmJhci1yaWdodCI+CiAgICAgICAgICAgICAgICA8IS0tIC8uZHJvcGRvd24gLS0+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGhyZWY9IiMiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdXNlciBmYS1mdyI+PC9pPiA8aSBjbGFzcz0iZmEgZmEtY2FyZXQtZG93biI+PC9pPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tdXNlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtdXNlciBmYS1mdyI+PC9pPiDQn9GA0L7RhNC40LvRjDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2NhYmluZXQvbG9nb3V0Ij48aSBjbGFzcz0iZmEgZmEtc2lnbi1vdXQgZmEtZnciPjwvaT4g0JLRi9C50YLQuDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwhLS0gLy5kcm9wZG93bi11c2VyIC0tPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwhLS0gLy5kcm9wZG93biAtLT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPCEtLSAvLm5hdmJhci10b3AtbGlua3MgLS0+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItZGVmYXVsdCBzaWRlYmFyIiByb2xlPSJuYXZpZ2F0aW9uIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItbmF2IG5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYiIGlkPSJzaWRlLW1lbnUiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2NhYmluZXQiPjxpIGNsYXNzPSJmYSBmYS1hcmVhLWNoYXJ0Ij48L2k+INCh0YLQsNGC0LjRgdGC0LjQutCwPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvY2FiaW5ldC9wcm9kdWN0cyI+PGkgY2xhc3M9ImZhIGZhLWNhcnQtcGx1cyI+PC9pPiDQotC+0LLQsNGA0Ys8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9jYWJpbmV0L3VzZXJzIj48aSBjbGFzcz0iZmEgZmEtdXNlci1vIj48L2k+INCf0L7Qu9GM0LfQvtCy0LDRgtC10LvQuDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIC8uc2lkZWJhci1jb2xsYXBzZSAtLT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gLy5uYXZiYXItc3RhdGljLXNpZGUgLS0+CiAgICAgICAgPC9uYXY+CgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9InBhZ2Utd3JhcHBlciIgZGF0YS1uZy1jb250cm9sbGVyPSJ1c2Vyc0NvbnRyb2xsZXIiPgogICAgICAgIDw\/cGhwIGlmKCRwYWdlRGF0YVsncGVybWlzc2lvbiddID09IDEpIHsgPz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJwYWdlLWhlYWRlciI+PD9waHAgZWNobyAkcGFnZURhdGFbJ3RpdGxlJ107ID8+PC9oMT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucGFuZWwgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWJhci1jaGFydC1vIGZhLWZ3Ij48L2k+0J\/QvtC70YzQt9C+0LLQsNGC0LXQu9C4CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbC1oZWFkaW5nIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWJvcmRlcmVkIHRhYmxlLWhvdmVyIHRhYmxlLXN0cmlwZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPtCY0LzRjzwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+0JvQvtCz0LjQvTwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+RW1haWw8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPtCg0L7Qu9GMPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwYWdlRGF0YVsndXNlcnNMaXN0J10gYXMgJGtleSA9PiAkdmFsdWUpIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgZGF0YS1uZy1jbGljaz0ic2hvd0VkaXRGb3JtKCk7IGdldFVzZXJEYXRhKDw\/cGhwIGVjaG8gJHZhbHVlWydpZCddOyA\/Pik7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjw\/cGhwIGVjaG8gJHZhbHVlWydmdWxsTmFtZSddOyA\/PjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsnbG9naW4nXTsgPz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PD9waHAgZWNobyAkdmFsdWVbJ2VtYWlsJ107ID8+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjw\/cGhwIGVjaG8gJHZhbHVlWydyb2xlJ107ID8+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAgfSA\/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLnRhYmxlLXJlc3BvbnNpdmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLmNvbC1sZy00IChuZXN0ZWQpIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLy5jb2wtbGctOCAobmVzdGVkKSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLnJvdyAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlZGl0LXVzZXI+PC9lZGl0LXVzZXI+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbC1ib2R5IC0tPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbCAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucGFuZWwgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gLy5jb2wtbGctOCAtLT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InBhZ2UtaGVhZGVyIj7QlNC+0LHQsNCy0LjRgtGMINC90L7QstC+0LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y88L2gxPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIiBtZXRob2Q9InBvc3QiIGRhdGEtbmctc3VibWl0PSJhZGROZXdVc2VyKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0ibmV3VXNlciI+0KTQmNCePC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibmV3VXNlciIgbmFtZT0ibmV3VXNlciIgZGF0YS1uZy1tb2RlbD0ibmV3VXNlciIgY2xhc3M9ImZvcm0tY29udHJvbCBpbnB1dC1tZCIgcmVxdWlyZWQ9InRydWUiIHR5cGU9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0ibmV3TG9naW4iPtCb0L7Qs9C40L08L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJuZXdMb2dpbiIgbmFtZT0ibmV3TG9naW4iIGRhdGEtbmctbW9kZWw9Im5ld0xvZ2luIiBjbGFzcz0iZm9ybS1jb250cm9sICIgcmVxdWlyZWQ9InRydWUiIHR5cGU9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0ibmV3RW1haWwiPkVtYWlsPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibmV3RW1haWwiIG5hbWU9Im5ld0VtYWlsIiBkYXRhLW5nLW1vZGVsPSJuZXdFbWFpbCIgY2xhc3M9ImZvcm0tY29udHJvbCBpbnB1dC1tZCIgcmVxdWlyZWQ9InRydWUiIHR5cGU9ImVtYWlsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld1Bhc3N3b3JkIj7Qn9Cw0YDQvtC70Yw8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJuZXdQYXNzd29yZCIgbmFtZT0ibmV3UGFzc3dvcmQiIGRhdGEtbmctbW9kZWw9Im5ld1Bhc3N3b3JkIiBjbGFzcz0iZm9ybS1jb250cm9sIGlucHV0LW1kIiByZXF1aXJlZD0idHJ1ZSIgdHlwZT0icGFzc3dvcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0ibmV3Um9sZSI+0KDQvtC70Yw8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJuZXdSb2xlIiBkYXRhLW5nLW1vZGVsPSJuZXdSb2xlIiBjbGFzcz0iZm9ybS1jb250cm9sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+0JLRi9Cx0LXRgNC40YLQtSDRgNC+0LvRjDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMSI+0JDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjIiPtCc0LXQvdC10LTQttC10YA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC1tZC1vZmZzZXQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc3VjY2VzcyI+0KHQvtGF0YDQsNC90LjRgtGMPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9maWVsZHNldD4KICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDw\/cGhwIH0gZWxzZSB7ID8+CiAgICAgICAgICAgIDxoMSBzdHlsZT0ibWFyZ2luLXRvcDowOyBwYWRkaW5nLXRvcDoxMHB4OyI+0KMg0LLQsNGBINC90LXQtNC+0YHRgtCw0YLQvtGH0L3QviDQv9GA0LDQsiDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC\/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj9C80Lg8L2gxPgogICAgICAgIDw\/cGhwIH0gPz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8IS0tIC8jcGFnZS13cmFwcGVyIC0tPgogICAgCiAgICA8L2Rpdj4KICAgIDwhLS0gLyN3cmFwcGVyIC0tPgoKICAgIDwhLS0galF1ZXJ5IC0tPgogICAgPHNjcmlwdCBzcmM9Ii9qcy9qcXVlcnkuanMiPjwvc2NyaXB0PgoKICAgIDwhLS0gQW5ndWxhciAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvYW5ndWxhci5taW4uanMiPjwvc2NyaXB0PgoKICAgIDwhLS0gQW5ndWxhciBSb3V0ZSAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvYW5ndWxhci1yb3V0ZS5qcyI+PC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Ii9qcy9hZG1pbi91c2Vycy5qcyI+PC9zY3JpcHQ+CgogICAgPCEtLSBCb290c3RyYXAgQ29yZSBKYXZhU2NyaXB0IC0tPgogICAgPHNjcmlwdCBzcmM9Ii9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KCiAgICA8IS0tIE1ldGlzIE1lbnUgUGx1Z2luIEphdmFTY3JpcHQgLS0+CiAgICA8c2NyaXB0IHNyYz0iL2pzL2FkbWluL21ldGlzTWVudS5qcyI+PC9zY3JpcHQ+CgogICAgPCEtLSBDdXN0b20gVGhlbWUgSmF2YVNjcmlwdCAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvYWRtaW4vc2ItYWRtaW4tMi5qcyI+PC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Ii9qcy9hZG1pbi9wcm9kdWN0cy5qcyI+PC9zY3JpcHQ+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==&#8221; admin_label=&#8221;\u041a\u043e\u0434 \u0443\u0440\u043e\u043a\u0430&#8221; style=&#8221;docco&#8221; linenums=&#8221;on&#8221; usetabwidth=&#8221;on&#8221; tabwidth=&#8221;4&#8243; _builder_version=&#8221;3.2.1&#8243;]PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InJ1IiBkYXRhLW5nLWFwcD0idXNlcnMiPgo8aGVhZD4KCiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICA8YmFzZSBocmVmPSIvY2FiaW5ldC91c2Vycy8iPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CiAgICA8dGl0bGU+PD9waHAgZWNobyAkcGFnZURhdGFbJ3RpdGxlJ107ID8+PC90aXRsZT4KCiAgICA8IS0tIEJvb3RzdHJhcCBDb3JlIENTUyAtLT4KICAgIDxsaW5rIGhyZWY9Ii9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBNZXRpc01lbnUgQ1NTIC0tPgogICAgPGxpbmsgaHJlZj0iL2Nzcy9hZG1pbi9tZXRpc01lbnUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8IS0tIEN1c3RvbSBDU1MgLS0+CiAgICA8bGluayBocmVmPSIvY3NzL2FkbWluL3NiLWFkbWluLTIuY3NzIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0gTW9ycmlzIENoYXJ0cyBDU1MgLS0+CiAgICA8bGluayBocmVmPSIvY3NzL2FkbWluL21vcnJpcy5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBDdXN0b20gRm9udHMgLS0+CiAgICA8bGluayBocmVmPSIvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KCiAgICA8IS0tIEhUTUw1IFNoaW0gYW5kIFJlc3BvbmQuanMgSUU4IHN1cHBvcnQgb2YgSFRNTDUgZWxlbWVudHMgYW5kIG1lZGlhIHF1ZXJpZXMgLS0+CiAgICA8IS0tIFdBUk5JTkc6IFJlc3BvbmQuanMgZG9lc24ndCB3b3JrIGlmIHlvdSB2aWV3IHRoZSBwYWdlIHZpYSBmaWxlOi8vIC0tPgogICAgPCEtLVtpZiBsdCBJRSA5XT4KICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9vc3MubWF4Y2RuLmNvbS9saWJzL2h0bWw1c2hpdi8zLjcuMC9odG1sNXNoaXYuanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL29zcy5tYXhjZG4uY29tL2xpYnMvcmVzcG9uZC5qcy8xLjQuMi9yZXNwb25kLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IVtlbmRpZl0tLT4KCiAgICA8c3R5bGU+CiAgICAgICAgdGFibGUgdHI6aG92ZXIgewogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQogICAgPC9zdHlsZT4KCjwvaGVhZD4KCjxib2R5PgoKICAgIDxkaXYgaWQ9IndyYXBwZXIiPgoKICAgICAgICA8IS0tIE5hdmlnYXRpb24gLS0+CiAgICAgICAgPG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1kZWZhdWx0IG5hdmJhci1zdGF0aWMtdG9wIiByb2xlPSJuYXZpZ2F0aW9uIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2YmFyLWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSI+VG9nZ2xlIG5hdmlnYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXZiYXItYnJhbmQiIGhyZWY9ImluZGV4Lmh0bWwiPtCa0LDQsdC40L3QtdGCPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSAvLm5hdmJhci1oZWFkZXIgLS0+CgogICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXZiYXItdG9wLWxpbmtzIG5hdmJhci1yaWdodCI+CiAgICAgICAgICAgICAgICA8IS0tIC8uZHJvcGRvd24gLS0+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGhyZWY9IiMiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdXNlciBmYS1mdyI+PC9pPiA8aSBjbGFzcz0iZmEgZmEtY2FyZXQtZG93biI+PC9pPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tdXNlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtdXNlciBmYS1mdyI+PC9pPiDQn9GA0L7RhNC40LvRjDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2NhYmluZXQvbG9nb3V0Ij48aSBjbGFzcz0iZmEgZmEtc2lnbi1vdXQgZmEtZnciPjwvaT4g0JLRi9C50YLQuDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwhLS0gLy5kcm9wZG93bi11c2VyIC0tPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDwhLS0gLy5kcm9wZG93biAtLT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPCEtLSAvLm5hdmJhci10b3AtbGlua3MgLS0+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItZGVmYXVsdCBzaWRlYmFyIiByb2xlPSJuYXZpZ2F0aW9uIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItbmF2IG5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYiIGlkPSJzaWRlLW1lbnUiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2NhYmluZXQiPjxpIGNsYXNzPSJmYSBmYS1hcmVhLWNoYXJ0Ij48L2k+INCh0YLQsNGC0LjRgdGC0LjQutCwPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvY2FiaW5ldC9wcm9kdWN0cyI+PGkgY2xhc3M9ImZhIGZhLWNhcnQtcGx1cyI+PC9pPiDQotC+0LLQsNGA0Ys8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9jYWJpbmV0L3VzZXJzIj48aSBjbGFzcz0iZmEgZmEtdXNlci1vIj48L2k+INCf0L7Qu9GM0LfQvtCy0LDRgtC10LvQuDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIC8uc2lkZWJhci1jb2xsYXBzZSAtLT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gLy5uYXZiYXItc3RhdGljLXNpZGUgLS0+CiAgICAgICAgPC9uYXY+CgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9InBhZ2Utd3JhcHBlciIgZGF0YS1uZy1jb250cm9sbGVyPSJ1c2Vyc0NvbnRyb2xsZXIiPgogICAgICAgIDw\/cGhwIGlmKCRwYWdlRGF0YVsncGVybWlzc2lvbiddID09IDEpIHsgPz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJwYWdlLWhlYWRlciI+PD9waHAgZWNobyAkcGFnZURhdGFbJ3RpdGxlJ107ID8+PC9oMT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucGFuZWwgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWhlYWRpbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWJhci1jaGFydC1vIGZhLWZ3Ij48L2k+0J\/QvtC70YzQt9C+0LLQsNGC0LXQu9C4CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbC1oZWFkaW5nIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWJvcmRlcmVkIHRhYmxlLWhvdmVyIHRhYmxlLXN0cmlwZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPtCY0LzRjzwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+0JvQvtCz0LjQvTwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+RW1haWw8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPtCg0L7Qu9GMPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRwYWdlRGF0YVsndXNlcnNMaXN0J10gYXMgJGtleSA9PiAkdmFsdWUpIHsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgZGF0YS1uZy1jbGljaz0ic2hvd0VkaXRGb3JtKCk7IGdldFVzZXJEYXRhKDw\/cGhwIGVjaG8gJHZhbHVlWydpZCddOyA\/Pik7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjw\/cGhwIGVjaG8gJHZhbHVlWydmdWxsTmFtZSddOyA\/PjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48P3BocCBlY2hvICR2YWx1ZVsnbG9naW4nXTsgPz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PD9waHAgZWNobyAkdmFsdWVbJ2VtYWlsJ107ID8+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjw\/cGhwIGVjaG8gJHZhbHVlWydyb2xlJ107ID8+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAgfSA\/PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLnRhYmxlLXJlc3BvbnNpdmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLmNvbC1sZy00IChuZXN0ZWQpIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLy5jb2wtbGctOCAobmVzdGVkKSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAvLnJvdyAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlZGl0LXVzZXI+PC9lZGl0LXVzZXI+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbC1ib2R5IC0tPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gLy5wYW5lbCAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIC8ucGFuZWwgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gLy5jb2wtbGctOCAtLT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InBhZ2UtaGVhZGVyIj7QlNC+0LHQsNCy0LjRgtGMINC90L7QstC+0LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y88L2gxPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIiBtZXRob2Q9InBvc3QiIGRhdGEtbmctc3VibWl0PSJhZGROZXdVc2VyKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0ibmV3VXNlciI+0KTQmNCePC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibmV3VXNlciIgbmFtZT0ibmV3VXNlciIgZGF0YS1uZy1tb2RlbD0ibmV3VXNlciIgY2xhc3M9ImZvcm0tY29udHJvbCBpbnB1dC1tZCIgcmVxdWlyZWQ9InRydWUiIHR5cGU9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0ibmV3TG9naW4iPtCb0L7Qs9C40L08L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJuZXdMb2dpbiIgbmFtZT0ibmV3TG9naW4iIGRhdGEtbmctbW9kZWw9Im5ld0xvZ2luIiBjbGFzcz0iZm9ybS1jb250cm9sICIgcmVxdWlyZWQ9InRydWUiIHR5cGU9InRleHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0ibmV3RW1haWwiPkVtYWlsPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibmV3RW1haWwiIG5hbWU9Im5ld0VtYWlsIiBkYXRhLW5nLW1vZGVsPSJuZXdFbWFpbCIgY2xhc3M9ImZvcm0tY29udHJvbCBpbnB1dC1tZCIgcmVxdWlyZWQ9InRydWUiIHR5cGU9ImVtYWlsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9Im5ld1Bhc3N3b3JkIj7Qn9Cw0YDQvtC70Yw8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJuZXdQYXNzd29yZCIgbmFtZT0ibmV3UGFzc3dvcmQiIGRhdGEtbmctbW9kZWw9Im5ld1Bhc3N3b3JkIiBjbGFzcz0iZm9ybS1jb250cm9sIGlucHV0LW1kIiByZXF1aXJlZD0idHJ1ZSIgdHlwZT0icGFzc3dvcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0ibmV3Um9sZSI+0KDQvtC70Yw8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJuZXdSb2xlIiBkYXRhLW5nLW1vZGVsPSJuZXdSb2xlIiBjbGFzcz0iZm9ybS1jb250cm9sIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+0JLRi9Cx0LXRgNC40YLQtSDRgNC+0LvRjDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMSI+0JDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjIiPtCc0LXQvdC10LTQttC10YA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC1tZC1vZmZzZXQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc3VjY2VzcyI+0KHQvtGF0YDQsNC90LjRgtGMPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9maWVsZHNldD4KICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDw\/cGhwIH0gZWxzZSB7ID8+CiAgICAgICAgICAgIDxoMSBzdHlsZT0ibWFyZ2luLXRvcDowOyBwYWRkaW5nLXRvcDoxMHB4OyI+0KMg0LLQsNGBINC90LXQtNC+0YHRgtCw0YLQvtGH0L3QviDQv9GA0LDQsiDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC\/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj9C80Lg8L2gxPgogICAgICAgIDw\/cGhwIH0gPz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8IS0tIC8jcGFnZS13cmFwcGVyIC0tPgogICAgCiAgICA8L2Rpdj4KICAgIDwhLS0gLyN3cmFwcGVyIC0tPgoKICAgIDwhLS0galF1ZXJ5IC0tPgogICAgPHNjcmlwdCBzcmM9Ii9qcy9qcXVlcnkuanMiPjwvc2NyaXB0PgoKICAgIDwhLS0gQW5ndWxhciAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvYW5ndWxhci5taW4uanMiPjwvc2NyaXB0PgoKICAgIDwhLS0gQW5ndWxhciBSb3V0ZSAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvYW5ndWxhci1yb3V0ZS5qcyI+PC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Ii9qcy9hZG1pbi91c2Vycy5qcyI+PC9zY3JpcHQ+CgogICAgPCEtLSBCb290c3RyYXAgQ29yZSBKYXZhU2NyaXB0IC0tPgogICAgPHNjcmlwdCBzcmM9Ii9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KCiAgICA8IS0tIE1ldGlzIE1lbnUgUGx1Z2luIEphdmFTY3JpcHQgLS0+CiAgICA8c2NyaXB0IHNyYz0iL2pzL2FkbWluL21ldGlzTWVudS5qcyI+PC9zY3JpcHQ+CgogICAgPCEtLSBDdXN0b20gVGhlbWUgSmF2YVNjcmlwdCAtLT4KICAgIDxzY3JpcHQgc3JjPSIvanMvYWRtaW4vc2ItYWRtaW4tMi5qcyI+PC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Ii9qcy9hZG1pbi9wcm9kdWN0cy5qcyI+PC9zY3JpcHQ+Cgo8L2JvZHk+Cgo8L2h0bWw+Cg==[\/et_pb_dmb_code_snippet][et_pb_dmb_code_snippet title=&#8221;Code lesson (edit-user.tpl.php)&#8221; code=&#8221;PGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgbWV0aG9kPSJwb3N0IiBkYXRhLW5nLXNob3c9ImlzU2hvd0VkaXRGb3JtIiBkYXRhLW5nLXN1Ym1pdD0idXBkYXRlVXNlckRhdGEoKSI+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBkYXRhLW5nLW1vZGVsPSJ1c2VySWQiPgogICAgPGZpZWxkc2V0PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0iZnVsbE5hbWUiPtCk0JjQnjwvbGFiZWw+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iZnVsbE5hbWUiIG5hbWU9ImZ1bGxOYW1lIiBkYXRhLW5nLW1vZGVsPSJ1c2VyRnVsbE5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wgaW5wdXQtbWQiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLW1kLTQgY29udHJvbC1sYWJlbCIgZm9yPSJsb2dpbiI+0JvQvtCz0LjQvTwvbGFiZWw+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibG9naW4iIG5hbWU9ImxvZ2luIiBkYXRhLW5nLW1vZGVsPSJ1c2VyTG9naW4iIGNsYXNzPSJmb3JtLWNvbnRyb2wgaW5wdXQtbWQiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLW1kLTQgY29udHJvbC1sYWJlbCIgZm9yPSJlbWFpbCI+RW1haWw8L2xhYmVsPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9ImVtYWlsIiBuYW1lPSJlbWFpbCIgZGF0YS1uZy1tb2RlbD0idXNlckVtYWlsIiBjbGFzcz0iZm9ybS1jb250cm9sIGlucHV0LW1kIiByZXF1aXJlZD0idHJ1ZSIgdHlwZT0iZW1haWwiPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9InJvbGUiPtCg0L7Qu9GMPC9sYWJlbD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJyb2xlIj4KICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbWQtb2Zmc2V0LTQiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIj7QodC+0YXRgNCw0L3QuNGC0Yw8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGFuZ2VyIiB0eXBlPSJidXR0b24iID7Qo9C00LDQu9C40YLRjDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZmllbGRzZXQ+CjwvZm9ybT4=&#8221; admin_label=&#8221;\u041a\u043e\u0434 \u0443\u0440\u043e\u043a\u0430&#8221; style=&#8221;docco&#8221; linenums=&#8221;on&#8221; usetabwidth=&#8221;on&#8221; tabwidth=&#8221;4&#8243; _builder_version=&#8221;3.2.1&#8243;]PGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgbWV0aG9kPSJwb3N0IiBkYXRhLW5nLXNob3c9ImlzU2hvd0VkaXRGb3JtIiBkYXRhLW5nLXN1Ym1pdD0idXBkYXRlVXNlckRhdGEoKSI+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBkYXRhLW5nLW1vZGVsPSJ1c2VySWQiPgogICAgPGZpZWxkc2V0PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1tZC00IGNvbnRyb2wtbGFiZWwiIGZvcj0iZnVsbE5hbWUiPtCk0JjQnjwvbGFiZWw+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iZnVsbE5hbWUiIG5hbWU9ImZ1bGxOYW1lIiBkYXRhLW5nLW1vZGVsPSJ1c2VyRnVsbE5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wgaW5wdXQtbWQiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLW1kLTQgY29udHJvbC1sYWJlbCIgZm9yPSJsb2dpbiI+0JvQvtCz0LjQvTwvbGFiZWw+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibG9naW4iIG5hbWU9ImxvZ2luIiBkYXRhLW5nLW1vZGVsPSJ1c2VyTG9naW4iIGNsYXNzPSJmb3JtLWNvbnRyb2wgaW5wdXQtbWQiIHJlcXVpcmVkPSJ0cnVlIiB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLW1kLTQgY29udHJvbC1sYWJlbCIgZm9yPSJlbWFpbCI+RW1haWw8L2xhYmVsPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9ImVtYWlsIiBuYW1lPSJlbWFpbCIgZGF0YS1uZy1tb2RlbD0idXNlckVtYWlsIiBjbGFzcz0iZm9ybS1jb250cm9sIGlucHV0LW1kIiByZXF1aXJlZD0idHJ1ZSIgdHlwZT0iZW1haWwiPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtbWQtNCBjb250cm9sLWxhYmVsIiBmb3I9InJvbGUiPtCg0L7Qu9GMPC9sYWJlbD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJyb2xlIj4KICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBjb2wtbWQtb2Zmc2V0LTQiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIj7QodC+0YXRgNCw0L3QuNGC0Yw8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGFuZ2VyIiB0eXBlPSJidXR0b24iID7Qo9C00LDQu9C40YLRjDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZmllbGRzZXQ+CjwvZm9ybT4=[\/et_pb_dmb_code_snippet][et_pb_dmb_code_snippet title=&#8221;Code lesson (users.js)&#8221; code=&#8221;dmFyIHVzZXJzID0gYW5ndWxhci5tb2R1bGUoJ3VzZXJzJywgW10pOwoKdXNlcnMuY29udHJvbGxlcigidXNlcnNDb250cm9sbGVyIiwgZnVuY3Rpb24oJHNjb3BlLCAkaHR0cCl7CiAgICAKICAgICRzY29wZS5nZXRVc2VyRGF0YSA9IGZ1bmN0aW9uKHVzZXJJZCkgewogICAgICAgICRodHRwKHsKICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsCiAgICAgICAgICAgIHVybDogImh0dHA6Ly9jYWJpbmV0LmNvZGV0b2dldGhlci5ydS9jYWJpbmV0L3VzZXJzL2dldFVzZXJCeUlkIiwKICAgICAgICAgICAgZGF0YTogJC5wYXJhbSh7aWQ6IHVzZXJJZH0pLAogICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfQogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKICAgICAgICAgICAkc2NvcGUudXNlcklkID0gcmVzdWx0LmRhdGEuaWQ7CiAgICAgICAgICAgJHNjb3BlLnVzZXJMb2dpbiA9IHJlc3VsdC5kYXRhLmxvZ2luOwogICAgICAgICAgICRzY29wZS51c2VyRW1haWwgPSByZXN1bHQuZGF0YS5lbWFpbDsKICAgICAgICAgICAkc2NvcGUudXNlckZ1bGxOYW1lID0gcmVzdWx0LmRhdGEuZnVsbE5hbWU7CiAgICAgICAgICAgJHNjb3BlLnVzZXJSb2xlID0gcmVzdWx0LmRhdGEucm9sZTsKICAgICAgICAgICAkc2NvcGUuZ2V0Um9sZXMoKTsKICAgICAgICB9KQogICAgfQoKICAgICRzY29wZS5nZXRSb2xlcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICRodHRwKHsKICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsCiAgICAgICAgICAgIHVybDogImh0dHA6Ly9jYWJpbmV0LmNvZGV0b2dldGhlci5ydS9jYWJpbmV0L3VzZXJzL2dldFVzZXJzUm9sZXMiLAogICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfQogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKICAgICAgICAgICAgJHNjb3BlLnJvbGVzID0gW107CiAgICAgICAgICAgIGZvcih2YXIgaT0wOyBpPHJlc3VsdC5kYXRhLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAkc2NvcGUucm9sZXMucHVzaChyZXN1bHQuZGF0YVtpXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgfQogICAgCiAgICAkc2NvcGUudXBkYXRlVXNlckRhdGEgPSBmdW5jdGlvbigpIHsKICAgICAgICAkaHR0cCh7CiAgICAgICAgICAgIG1ldGhvZDogIlBPU1QiLAogICAgICAgICAgICB1cmw6ICJodHRwOi8vY2FiaW5ldC5jb2RldG9nZXRoZXIucnUvY2FiaW5ldC91c2Vycy91cGRhdGVVc2VyRGF0YSIsCiAgICAgICAgICAgIGhlYWRlcnM6IHsnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCd9LAogICAgICAgICAgICBkYXRhOiAkLnBhcmFtKHtpZDogJHNjb3BlLnVzZXJJZCwgZnVsbE5hbWU6ICRzY29wZS51c2VyRnVsbE5hbWUsIGxvZ2luOiAkc2NvcGUudXNlckxvZ2luLCBlbWFpbDogJHNjb3BlLnVzZXJFbWFpbCwgcm9sZTogJHNjb3BlLm5ld1JvbGV9KQogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKICAgICAgICAgICAgLy9UT0RPOiDQstGL0LLQtdGB0YLQuCDRgNC10LfRg9C70YzRgtCw0YIKICAgICAgICAgICAgY29uc29sZS5sb2cocmVzdWx0KTsKICAgICAgICB9KTsKICAgIH0KCiAgICAkc2NvcGUuZGVsZXRlVXNlciA9IGZ1bmN0aW9uKHVzZXJJZCkgewogICAgICAgICRodHRwKHsKICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsCiAgICAgICAgICAgIHVybDogImh0dHA6Ly9jYWJpbmV0LmNvZGV0b2dldGhlci5ydS9jYWJpbmV0L3VzZXJzL2RlbGV0ZVVzZXIiLAogICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICAgICAgICAgICAgZGF0YTogJC5wYXJhbSh7aWQ6IHVzZXJJZH0pCiAgICAgICAgfSkudGhlbihmdW5jdGlvbihyZXN1bHQpewogICAgICAgICAgICAvL1RPRE86INCy0YvQstC10YHRgtC4INGA0LXQt9GD0LvRjNGC0LDRggogICAgICAgICAgICBjb25zb2xlLmxvZyhyZXN1bHQpOwogICAgICAgIH0pOwogICAgfQoKICAgICRzY29wZS5hZGROZXdVc2VyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgJGh0dHAoewogICAgICAgICAgICBtZXRob2Q6ICJQT1NUIiwKICAgICAgICAgICAgdXJsOiAiaHR0cDovL2NhYmluZXQuY29kZXRvZ2V0aGVyLnJ1L2NhYmluZXQvdXNlcnMvYWRkTmV3VXNlciIsCiAgICAgICAgICAgIGhlYWRlcnM6IHsnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCd9LAogICAgICAgICAgICBkYXRhOiAkLnBhcmFtKHtmdWxsTmFtZTogJHNjb3BlLm5ld1VzZXIsIGxvZ2luOiAkc2NvcGUubmV3TG9naW4sIGVtYWlsOiAkc2NvcGUubmV3RW1haWwsIHBhc3N3b3JkOiAkc2NvcGUubmV3UGFzc3dvcmQsIHJvbGU6ICRzY29wZS5uZXdSb2xlfSkKICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCl7CiAgICAgICAgICAgIC8vVE9ETzog0LLRi9Cy0LXRgdGC0Lgg0YDQtdC30YPQu9GM0YLQsNGCCiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7CiAgICAgICAgfSk7CiAgICB9Cgp9KQoKdXNlcnMuZGlyZWN0aXZlKCdlZGl0VXNlcicsIGZ1bmN0aW9uKCl7CiAgICByZXR1cm4gewogICAgICAgIHRlbXBsYXRlVXJsOiAiL3ZpZXdzL2VkaXQtdXNlci10cGwucGhwIiwKICAgICAgICByZXN0cmljdDogIkUiLAogICAgICAgIHJlcGxhY2U6IHRydWUsCiAgICAgICAgdHJhbnNjbHVkZTogdHJ1ZSwKICAgICAgICBjb250cm9sbGVyOiAidXNlcnNDb250cm9sbGVyIiwKICAgICAgICBsaW5rOiBmdW5jdGlvbihzY29wZSwgZWxlbWVudCwgYXR0cnMpIHsKICAgICAgICAgICAgc2NvcGUuc2hvd0VkaXRGb3JtID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBzY29wZS5pc1Nob3dFZGl0Rm9ybSA9IHRydWU7CiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgfQp9KQ==&#8221; admin_label=&#8221;\u041a\u043e\u0434 \u0443\u0440\u043e\u043a\u0430&#8221; style=&#8221;docco&#8221; linenums=&#8221;on&#8221; usetabwidth=&#8221;on&#8221; tabwidth=&#8221;4&#8243; _builder_version=&#8221;3.2.1&#8243;]dmFyIHVzZXJzID0gYW5ndWxhci5tb2R1bGUoJ3VzZXJzJywgW10pOwoKdXNlcnMuY29udHJvbGxlcigidXNlcnNDb250cm9sbGVyIiwgZnVuY3Rpb24oJHNjb3BlLCAkaHR0cCl7CiAgICAKICAgICRzY29wZS5nZXRVc2VyRGF0YSA9IGZ1bmN0aW9uKHVzZXJJZCkgewogICAgICAgICRodHRwKHsKICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsCiAgICAgICAgICAgIHVybDogImh0dHA6Ly9jYWJpbmV0LmNvZGV0b2dldGhlci5ydS9jYWJpbmV0L3VzZXJzL2dldFVzZXJCeUlkIiwKICAgICAgICAgICAgZGF0YTogJC5wYXJhbSh7aWQ6IHVzZXJJZH0pLAogICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfQogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKICAgICAgICAgICAkc2NvcGUudXNlcklkID0gcmVzdWx0LmRhdGEuaWQ7CiAgICAgICAgICAgJHNjb3BlLnVzZXJMb2dpbiA9IHJlc3VsdC5kYXRhLmxvZ2luOwogICAgICAgICAgICRzY29wZS51c2VyRW1haWwgPSByZXN1bHQuZGF0YS5lbWFpbDsKICAgICAgICAgICAkc2NvcGUudXNlckZ1bGxOYW1lID0gcmVzdWx0LmRhdGEuZnVsbE5hbWU7CiAgICAgICAgICAgJHNjb3BlLnVzZXJSb2xlID0gcmVzdWx0LmRhdGEucm9sZTsKICAgICAgICAgICAkc2NvcGUuZ2V0Um9sZXMoKTsKICAgICAgICB9KQogICAgfQoKICAgICRzY29wZS5nZXRSb2xlcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICRodHRwKHsKICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsCiAgICAgICAgICAgIHVybDogImh0dHA6Ly9jYWJpbmV0LmNvZGV0b2dldGhlci5ydS9jYWJpbmV0L3VzZXJzL2dldFVzZXJzUm9sZXMiLAogICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfQogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKICAgICAgICAgICAgJHNjb3BlLnJvbGVzID0gW107CiAgICAgICAgICAgIGZvcih2YXIgaT0wOyBpPHJlc3VsdC5kYXRhLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAkc2NvcGUucm9sZXMucHVzaChyZXN1bHQuZGF0YVtpXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgfQogICAgCiAgICAkc2NvcGUudXBkYXRlVXNlckRhdGEgPSBmdW5jdGlvbigpIHsKICAgICAgICAkaHR0cCh7CiAgICAgICAgICAgIG1ldGhvZDogIlBPU1QiLAogICAgICAgICAgICB1cmw6ICJodHRwOi8vY2FiaW5ldC5jb2RldG9nZXRoZXIucnUvY2FiaW5ldC91c2Vycy91cGRhdGVVc2VyRGF0YSIsCiAgICAgICAgICAgIGhlYWRlcnM6IHsnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCd9LAogICAgICAgICAgICBkYXRhOiAkLnBhcmFtKHtpZDogJHNjb3BlLnVzZXJJZCwgZnVsbE5hbWU6ICRzY29wZS51c2VyRnVsbE5hbWUsIGxvZ2luOiAkc2NvcGUudXNlckxvZ2luLCBlbWFpbDogJHNjb3BlLnVzZXJFbWFpbCwgcm9sZTogJHNjb3BlLm5ld1JvbGV9KQogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXsKICAgICAgICAgICAgLy9UT0RPOiDQstGL0LLQtdGB0YLQuCDRgNC10LfRg9C70YzRgtCw0YIKICAgICAgICAgICAgY29uc29sZS5sb2cocmVzdWx0KTsKICAgICAgICB9KTsKICAgIH0KCiAgICAkc2NvcGUuZGVsZXRlVXNlciA9IGZ1bmN0aW9uKHVzZXJJZCkgewogICAgICAgICRodHRwKHsKICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsCiAgICAgICAgICAgIHVybDogImh0dHA6Ly9jYWJpbmV0LmNvZGV0b2dldGhlci5ydS9jYWJpbmV0L3VzZXJzL2RlbGV0ZVVzZXIiLAogICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICAgICAgICAgICAgZGF0YTogJC5wYXJhbSh7aWQ6IHVzZXJJZH0pCiAgICAgICAgfSkudGhlbihmdW5jdGlvbihyZXN1bHQpewogICAgICAgICAgICAvL1RPRE86INCy0YvQstC10YHRgtC4INGA0LXQt9GD0LvRjNGC0LDRggogICAgICAgICAgICBjb25zb2xlLmxvZyhyZXN1bHQpOwogICAgICAgIH0pOwogICAgfQoKICAgICRzY29wZS5hZGROZXdVc2VyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgJGh0dHAoewogICAgICAgICAgICBtZXRob2Q6ICJQT1NUIiwKICAgICAgICAgICAgdXJsOiAiaHR0cDovL2NhYmluZXQuY29kZXRvZ2V0aGVyLnJ1L2NhYmluZXQvdXNlcnMvYWRkTmV3VXNlciIsCiAgICAgICAgICAgIGhlYWRlcnM6IHsnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCd9LAogICAgICAgICAgICBkYXRhOiAkLnBhcmFtKHtmdWxsTmFtZTogJHNjb3BlLm5ld1VzZXIsIGxvZ2luOiAkc2NvcGUubmV3TG9naW4sIGVtYWlsOiAkc2NvcGUubmV3RW1haWwsIHBhc3N3b3JkOiAkc2NvcGUubmV3UGFzc3dvcmQsIHJvbGU6ICRzY29wZS5uZXdSb2xlfSkKICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCl7CiAgICAgICAgICAgIC8vVE9ETzog0LLRi9Cy0LXRgdGC0Lgg0YDQtdC30YPQu9GM0YLQsNGCCiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7CiAgICAgICAgfSk7CiAgICB9Cgp9KQoKdXNlcnMuZGlyZWN0aXZlKCdlZGl0VXNlcicsIGZ1bmN0aW9uKCl7CiAgICByZXR1cm4gewogICAgICAgIHRlbXBsYXRlVXJsOiAiL3ZpZXdzL2VkaXQtdXNlci10cGwucGhwIiwKICAgICAgICByZXN0cmljdDogIkUiLAogICAgICAgIHJlcGxhY2U6IHRydWUsCiAgICAgICAgdHJhbnNjbHVkZTogdHJ1ZSwKICAgICAgICBjb250cm9sbGVyOiAidXNlcnNDb250cm9sbGVyIiwKICAgICAgICBsaW5rOiBmdW5jdGlvbihzY29wZSwgZWxlbWVudCwgYXR0cnMpIHsKICAgICAgICAgICAgc2NvcGUuc2hvd0VkaXRGb3JtID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBzY29wZS5pc1Nob3dFZGl0Rm9ybSA9IHRydWU7CiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgfQp9KQ==[\/et_pb_dmb_code_snippet][et_pb_comments _builder_version=&#8221;4.4.3&#8243; custom_margin=&#8221;30px||||false|false&#8221; hover_enabled=&#8221;0&#8243;][\/et_pb_comments][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I will tell you how to create custom directive in angularjs. In our app custom directive will be html from for edit user personal info. Angular &#8220;learns&#8221; browsers new tags or attributes with directives. It has a large set of build-in directives, which we have already work. For example, ng-click. Custom (users) directives can [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[274,219],"tags":[],"class_list":["post-29143","post","type-post","status-publish","format-standard","hentry","category-phpmysql","category-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Create php MVC app. Create custom directive in angularjs - Kamil Abzalov&#039;s site<\/title>\n<meta name=\"description\" content=\"Today we will consider creation of custom directive in angularjs\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create php MVC app. Create custom directive in angularjs - Kamil Abzalov&#039;s site\" \/>\n<meta property=\"og:description\" content=\"Today we will consider creation of custom directive in angularjs\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/kamabzalov\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-05T17:22:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-11T08:41:52+00:00\" \/>\n<meta name=\"author\" content=\"Kamil&#039; Abzalov\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Create php MVC app. Create custom directive in angularjs\" \/>\n<meta name=\"twitter:description\" content=\"Today we will consider creation of custom directive in angularjs\" \/>\n<meta name=\"twitter:creator\" content=\"@kamabzalov\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kamil&#039; Abzalov\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"22 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/tutorials\\\/phpmysql\\\/create-php-mvc-app-create-custom-directive-in-angularjs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/tutorials\\\/phpmysql\\\/create-php-mvc-app-create-custom-directive-in-angularjs\\\/\"},\"author\":{\"name\":\"Kamil' Abzalov\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#\\\/schema\\\/person\\\/9c53360f21b83306ba40c2231573c600\"},\"headline\":\"Create php MVC app. Create custom directive in angularjs\",\"datePublished\":\"2018-05-05T17:22:41+00:00\",\"dateModified\":\"2020-04-11T08:41:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/tutorials\\\/phpmysql\\\/create-php-mvc-app-create-custom-directive-in-angularjs\\\/\"},\"wordCount\":4321,\"commentCount\":0,\"articleSection\":[\"PHP+MySQL\",\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/tutorials\\\/phpmysql\\\/create-php-mvc-app-create-custom-directive-in-angularjs\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/tutorials\\\/phpmysql\\\/create-php-mvc-app-create-custom-directive-in-angularjs\\\/\",\"url\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/tutorials\\\/phpmysql\\\/create-php-mvc-app-create-custom-directive-in-angularjs\\\/\",\"name\":\"Create php MVC app. Create custom directive in angularjs - Kamil Abzalov's site\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#website\"},\"datePublished\":\"2018-05-05T17:22:41+00:00\",\"dateModified\":\"2020-04-11T08:41:52+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#\\\/schema\\\/person\\\/9c53360f21b83306ba40c2231573c600\"},\"description\":\"Today we will consider creation of custom directive in angularjs\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/tutorials\\\/phpmysql\\\/create-php-mvc-app-create-custom-directive-in-angularjs\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/tutorials\\\/phpmysql\\\/create-php-mvc-app-create-custom-directive-in-angularjs\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/tutorials\\\/phpmysql\\\/create-php-mvc-app-create-custom-directive-in-angularjs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create php MVC app. Create custom directive in angularjs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#website\",\"url\":\"https:\\\/\\\/kamil-abzalov.com\\\/\",\"name\":\"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/kamil-abzalov.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#\\\/schema\\\/person\\\/9c53360f21b83306ba40c2231573c600\",\"name\":\"Kamil' Abzalov\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g\",\"caption\":\"Kamil' Abzalov\"},\"sameAs\":[\"https:\\\/\\\/kamil-abzalov.com\\\/\",\"https:\\\/\\\/www.facebook.com\\\/kamabzalov\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/kamabzalov\",\"https:\\\/\\\/x.com\\\/kamabzalov\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/kamabzalov\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create php MVC app. Create custom directive in angularjs - Kamil Abzalov's site","description":"Today we will consider creation of custom directive in angularjs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/","og_locale":"en_US","og_type":"article","og_title":"Create php MVC app. Create custom directive in angularjs - Kamil Abzalov's site","og_description":"Today we will consider creation of custom directive in angularjs","og_url":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/","og_site_name":"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430","article_author":"https:\/\/www.facebook.com\/kamabzalov","article_published_time":"2018-05-05T17:22:41+00:00","article_modified_time":"2020-04-11T08:41:52+00:00","author":"Kamil' Abzalov","twitter_card":"summary_large_image","twitter_title":"Create php MVC app. Create custom directive in angularjs","twitter_description":"Today we will consider creation of custom directive in angularjs","twitter_creator":"@kamabzalov","twitter_misc":{"Written by":"Kamil' Abzalov","Est. reading time":"22 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/#article","isPartOf":{"@id":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/"},"author":{"name":"Kamil' Abzalov","@id":"https:\/\/kamil-abzalov.com\/#\/schema\/person\/9c53360f21b83306ba40c2231573c600"},"headline":"Create php MVC app. Create custom directive in angularjs","datePublished":"2018-05-05T17:22:41+00:00","dateModified":"2020-04-11T08:41:52+00:00","mainEntityOfPage":{"@id":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/"},"wordCount":4321,"commentCount":0,"articleSection":["PHP+MySQL","Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/","url":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/","name":"Create php MVC app. Create custom directive in angularjs - Kamil Abzalov's site","isPartOf":{"@id":"https:\/\/kamil-abzalov.com\/#website"},"datePublished":"2018-05-05T17:22:41+00:00","dateModified":"2020-04-11T08:41:52+00:00","author":{"@id":"https:\/\/kamil-abzalov.com\/#\/schema\/person\/9c53360f21b83306ba40c2231573c600"},"description":"Today we will consider creation of custom directive in angularjs","breadcrumb":{"@id":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kamil-abzalov.com\/en\/tutorials\/phpmysql\/create-php-mvc-app-create-custom-directive-in-angularjs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/kamil-abzalov.com\/en\/"},{"@type":"ListItem","position":2,"name":"Create php MVC app. Create custom directive in angularjs"}]},{"@type":"WebSite","@id":"https:\/\/kamil-abzalov.com\/#website","url":"https:\/\/kamil-abzalov.com\/","name":"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kamil-abzalov.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/kamil-abzalov.com\/#\/schema\/person\/9c53360f21b83306ba40c2231573c600","name":"Kamil' Abzalov","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g","caption":"Kamil' Abzalov"},"sameAs":["https:\/\/kamil-abzalov.com\/","https:\/\/www.facebook.com\/kamabzalov","https:\/\/www.linkedin.com\/in\/kamabzalov","https:\/\/x.com\/kamabzalov","https:\/\/www.youtube.com\/user\/kamabzalov"]}]}},"_links":{"self":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts\/29143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/comments?post=29143"}],"version-history":[{"count":9,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts\/29143\/revisions"}],"predecessor-version":[{"id":31995,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts\/29143\/revisions\/31995"}],"wp:attachment":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/media?parent=29143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/categories?post=29143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/tags?post=29143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}