??????????????????????????????????????????????????? ????????????????? ????????? ?????????????? ?????????????? ???????????????????????????????? generate ???????? ????????????????????????? ??????????????????????????? ???????????????????????? ????????????????????????????????? ???????????????????????? ?????????????????? ??????????????????????? ????????