Как изучить студию с помощью Scratch API

Материал из Поле цифровой дидактики
Описание Мы хотим изучить деятельность участников, которые разместили свои проекты внутри конкретной студии Scratch
Область знаний Информатика, Статистика, Моделирование
Область использования (ISTE)
Возрастная категория 14


Поясняющее видео
Близкие рецепту понятия Социограмма, Сетевой анализ
Среды и средства для приготовления рецепта: R, Scratch API, VOSviewer, NetLogo

История

В среде Scratch есть студии, которые объединяют проекты разных скретчеров. Мы хотим изучить отношения авторов этой студии, используя возможности Scrtatch API


Последовательность исследования

Логика сбора данных

Логика исследования

В результате мы получаем два слоя данных — внутренний срез конкурсной студии (кто и с какими проектами участвует) и внешний слой окружения этих авторов (в какие ещё студии они выкладывают свои проекты). Это позволяет видеть не только «жизнь внутри конкурса», но и более широкие траектории участия скретчеров в сообществе.

R скрипт сбора данных

###############################################
# Анализ авторов и студий Scratch на R
# (пример на студии 4789981 — Collab Challenge)
###############################################

# Пакеты ----
library(httr)
library(jsonlite)
library(dplyr)
library(purrr)
library(tidyr)
library(igraph)

###############################################
# 1. Функция для получения проектов студии
###############################################
# Использует API:
#   https://api.scratch.mit.edu/studios/<studio_id>/projects?limit=&offset=
# Возвращает data.frame:
#   project_id, title, creator_id, username

get_studio_projects <- function(studio_id, limit = 40, verbose = TRUE) {
  offset <- 0
  all_projects <- list()
  page <- 1
  
  repeat {
    url <- paste0(
      "https://api.scratch.mit.edu/studios/",
      studio_id,
      "/projects?limit=", limit,
      "&offset=", offset
    )
    
    if (verbose) message("Studio ", studio_id,
                         ": page ", page,
                         " (offset = ", offset, ")")
    
    resp <- GET(url)
    if (status_code(resp) != 200) {
      warning("Non-200 status code: ", status_code(resp),
              " at offset ", offset)
      break
    }
    
    txt <- content(resp, as = "text", encoding = "UTF-8")
    dat <- fromJSON(txt, flatten = TRUE)
    
    if (length(dat) == 0) break
    
    all_projects[[length(all_projects) + 1]] <- dat
    
    if (nrow(dat) < limit) break
    
    offset <- offset + limit
    page   <- page + 1
  }
  
  if (length(all_projects) == 0) return(NULL)
  
  bind_rows(all_projects) |>
    transmute(
      project_id = id,
      title      = title,
      creator_id = creator_id,
      username   = username
    ) |>
    distinct()
}

###############################################
# 2. Проекты пользователя
###############################################
# API:
#   https://api.scratch.mit.edu/users/<username>/projects?limit=&offset=
# Возвращает data.frame:
#   project_id, title, username

get_user_projects <- function(username, limit = 40, max_pages = 10, verbose = TRUE) {
  offset <- 0
  all <- list()
  page <- 1
  
  repeat {
    if (page > max_pages) break
    
    url <- paste0(
      "https://api.scratch.mit.edu/users/",
      username,
      "/projects?limit=", limit,
      "&offset=", offset
    )
    
    if (verbose) message("User ", username,
                         ": page ", page,
                         " (offset = ", offset, ")")
    
    resp <- GET(url)
    if (status_code(resp) != 200) break
    
    txt <- content(resp, as = "text", encoding = "UTF-8")
    dat <- fromJSON(txt, flatten = TRUE)
    
    if (length(dat) == 0) break
    
    all[[length(all) + 1]] <- dat
    
    if (nrow(dat) < limit) break
    offset <- offset + limit
    page   <- page + 1
  }
  
  if (length(all) == 0) return(NULL)
  
  res <- bind_rows(all)
  
  res |>
    transmute(
      project_id = id,
      title      = title,
      username   = username   # аргумент функции
    ) |>
    distinct()
}

###############################################
# 3. Студии одного проекта пользователя
###############################################
# ВАЖНО: используем путь:
#   https://api.scratch.mit.edu/users/<username>/projects/<project_id>/studios
# а не /projects/<id>/studios, потому что второй вариант
# часто не работает.
#
# Возвращает data.frame:
#   studio_id, studio_name
###############################################

get_project_studios <- function(username, project_id,
                                limit = 40, max_pages = 10,
                                verbose = TRUE) {
  user_name <- as.character(username)[1]
  offset <- 0
  all <- list()
  page <- 1
  
  repeat {
    if (page > max_pages) break
    
    url <- paste0(
      "https://api.scratch.mit.edu/users/",
      user_name,
      "/projects/",
      project_id,
      "/studios?limit=", limit,
      "&offset=", offset
    )
    
    if (verbose) {
      message("User ", user_name,
              ", project ", project_id,
              ": page ", page,
              " (offset = ", offset, ")")
    }
    
    resp <- GET(url)
    if (status_code(resp) != 200) {
      return(NULL)
    }
    
    txt <- content(resp, as = "text", encoding = "UTF-8")
    dat <- fromJSON(txt, flatten = TRUE)
    
    if (length(dat) == 0) break
    
    all[[length(all) + 1]] <- dat
    
    if (nrow(dat) < limit) break
    offset <- offset + limit
    page   <- page + 1
  }
  
  if (length(all) == 0) return(NULL)
  
  res <- bind_rows(all)
  if (!("id" %in% names(res)) || !("title" %in% names(res))) return(NULL)
  
  res |>
    transmute(
      studio_id   = id,
      studio_name = title
    ) |>
    distinct()
}

###############################################
# 4. Автор → его проекты → студии этих проектов
###############################################
# Возвращает data.frame:
#   username, project_id, project_title, studio_id, studio_name

get_user_project_studios <- function(username, verbose = TRUE) {
  user_projects <- get_user_projects(username, verbose = verbose)
  if (is.null(user_projects) || nrow(user_projects) == 0) return(NULL)
  
  proj_studios <- user_projects |>
    mutate(
      studios = map(
        project_id,
        ~ get_project_studios(username, .x, verbose = verbose)
      )
    )
  
  proj_studios_nonempty <- proj_studios |>
    filter(!map_lgl(studios, is.null))
  
  if (nrow(proj_studios_nonempty) == 0) return(NULL)
  
  proj_studios_nonempty |>
    tidyr::unnest(cols = studios) |>
    transmute(
      username,
      project_id,
      project_title = title,
      studio_id,
      studio_name
    ) |>
    distinct()
}

###############################################
# 5. От студии → к авторам → к студиям авторов
###############################################
# Возвращает список:
#   $studio_projects — проекты внутри исходной студии
#   $author_studios  — студии, где встречаются проекты её авторов

get_studio_author_studios <- function(studio_id, verbose = TRUE) {
  # Проекты студии
  studio_projects <- get_studio_projects(studio_id, verbose = verbose)
  if (is.null(studio_projects) || nrow(studio_projects) == 0) return(NULL)
  
  # Авторы этих проектов
  authors <- unique(studio_projects$username)
  
  # Для каждого автора — его проекты и студии этих проектов
  author_studios <- purrr::map_df(
    authors,
    ~ {
      if (verbose) message("Author: ", .x)
      get_user_project_studios(.x, verbose = verbose)
    }
  )
  
  list(
    studio_projects = studio_projects,
    author_studios  = author_studios
  )
}

###############################################
# 6. Пример: анализ студии 4789981
###############################################

# 6.1. Собираем данные
res_4789981 <- get_studio_author_studios(4789981, verbose = TRUE)

studio_projects <- res_4789981$studio_projects
author_studios  <- res_4789981$author_studios

# 6.2. Активность авторов внутри студии:
authors_in_4789981 <- studio_projects |>
  count(username, name = "projects_in_studio") |>
  arrange(desc(projects_in_studio))

head(authors_in_4789981)

# 6.3. Пересечения студий по авторам и проектам:
studio_author_counts <- author_studios |>
  group_by(studio_id, studio_name) |>
  summarise(
    authors_from_4789981  = n_distinct(username),
    projects_from_4789981 = n_distinct(project_id),
    .groups = "drop"
  ) |>
  arrange(desc(authors_from_4789981))

head(studio_author_counts, 20)

###############################################
# 7. Построение двудольного графа автор–студия
###############################################
# Узлы: авторы и студии.
# Рёбра: автор ↔ студия (если хотя бы один проект автора в студии).

author_studios_simple <- author_studios |>
  distinct(username, studio_id, studio_name)

# Узлы-авторы
author_nodes <- author_studios_simple |>
  distinct(name = username) |>
  mutate(
    type  = "author",
    label = name
  )

# Узлы-студии
studio_nodes <- author_studios_simple |>
  distinct(
    studio_id,
    studio_name
  ) |>
  transmute(
    name  = as.character(studio_id),
    type  = "studio",
    label = studio_name
  )

nodes <- bind_rows(author_nodes, studio_nodes)

# Рёбра: автор → студия
edges <- author_studios_simple |>
  transmute(
    from = username,
    to   = as.character(studio_id)
  )

# Граф
g_bip <- graph_from_data_frame(
  d = edges,
  vertices = nodes,
  directed = FALSE
)

# Простейший просмотр структуры:
g_bip
vcount(g_bip)
ecount(g_bip)
table(V(g_bip)$type)

###############################################
# 8. Экспорт nodes и edges в CSV
#    (для VOSviewer, NetLogo, Gephi и др.)
###############################################

nodes_export <- tibble(
  id    = V(g_bip)$name,
  type  = V(g_bip)$type,
  label = V(g_bip)$label
)

edges_export <- as_data_frame(g_bip, what = "edges") |>
  as_tibble() |>
  rename(
    from = from,
    to   = to
  )

write.csv(nodes_export,
          "scratch_studios_nodes.csv",
          row.names = FALSE,
          fileEncoding = "UTF-8")

write.csv(edges_export,
          "scratch_studios_edges.csv",
          row.names = FALSE,
          fileEncoding = "UTF-8")

###############################################
# 9. Простая визуализация в R 
###############################################

# Быстрый "черновой" рисунок:
plot(g_bip,
     vertex.size  = ifelse(V(g_bip)$type == "studio", 6, 3),
     vertex.color = ifelse(V(g_bip)$type == "studio", "tomato", "skyblue"),
     vertex.label = NA,
     edge.color   = "grey80")


Данные студии

Ребра



От кого К кому
timur1985 4789981
timur1985 33969674
timur1985 36279833
AlexVladTr 4940699
AlexVladTr 4789981
AlexVladTr 4999520
clanit 4789981
clanit 4924246
clanit 4924506
clanit 4789730
helga112112 4789981
helga112112 4938671
loktevalr 4789981
ScratchSofi 4789981
ScratchSofi 5041781
ScratchSofi 4426915
zhuza 4789981
chetvertnayavarvara 4789981
kod-u 4789981
DenFlash 4789981
school_12_ui 4789981
Grishka 26971376
Grishka 28046702
Grishka 4789981
v_parf 4789981
v_parf 5038623
Karina0905 4789981
OlgaPatrikeeva 31180173
OlgaPatrikeeva 5038133
OlgaPatrikeeva 4789981
galiya_galia 4789981
Coraline2K 4789981
Coraline2K 5032852
taskaev_rostislav 4789981
fedotov_sergey 4789981
scratch_master444 4789981
scratch_master444 5038680
shurupov_andrey 4789981
kolinichenko_andrey 4789981
Vladislav08 4789981
kirilov_arseniy 4789981
Eva_S_Eva 4789981
Eva_S_Eva 5038679
Eva_S_Eva 5038702
ISArus 5038537
ISArus 4789981
Mr_Optiy 4789981
Mr_Optiy 5038616
SonyaP 4789981
SonyaP 5035894
XeniaKov 4789981
XeniaKov 5035894
Gibiskus 4789981
yana2004 4789981
yana2004 5038355
yana2004 1727645
yana2004 514924
Joanalittlefox 4789981
Joanalittlefox 5035729
Olenegorsk 4789981
Olenegorsk 5000097
Olenegorsk 35597821
AkaiDoragon 5038028
AkaiDoragon 6057635
AkaiDoragon 4789981
AkaiDoragon 5038041
AkaiDoragon 4983724
Wyntiano 4789981
IvanSayansk 4789981
IvanSayansk 5038055
sch4_210 4789981
sch4_210 5035265
sch4_210 5037347
sch4_210 5035269
Zeway_YT 4789981
Zeway_YT 4911414
lopper2005 4789981
lopper2005 5036102
User001007 4789981
Myhluk 4789981
Myhluk 5035851
V2501 4789981
DaniilG2018 4789981
DaniilG2018 5035757
kokokola2 4570926
kokokola2 4789981
Triolon 4789981
TacticalPotatos-1 4789981
TacticalPotatos-1 5035342
Lisik-Mark 4789981
AnyaArgokova1 4789981
AnyaArgokova1 5035347
razcmser 4789981
Falkomen 4789981
Falkomen 4918455
Falkomen 4947381
Falkomen 33506010
Falkomen 33534212
Falkomen 5342951
Strekosa 4789981
ksucha2002 5032026
ksucha2002 5037950
ksucha2002 4789981
Foxter-26 4789981
Foxter-26 4951492
Foxter-26 4908556
Street_12 4789981
Street_12 5007197
Proventus 4789981
Proventus 5035602
Proventus 1103074
Proventus 627218
Proventus 841440
Proventus 905102
Proventus 915980
Proventus 1024886
Proventus 1166608
Proventus 1218256
Proventus 1236086
Proventus 1238430
Proventus 1264134
Proventus 1303794
Proventus 1356162
Proventus 1359576
Proventus 1378610
Proventus 1378624
Proventus 1401096
Proventus 1542722
Proventus 1582380
Proventus 1756688
Proventus 1403402
Proventus 1232186
Proventus 708062
Proventus 1218436
Proventus 4384390
Proventus 1206808
Danil_6 4789981
Sultanov 4789981
lopana 4789981
ckjtyjr 4789981
ckjtyjr 5039795
Stepan108 4789981
GSM-MAGISTR 5015884
GSM-MAGISTR 4789981
supermark64 4908198
supermark64 4789981
TITANIKstudios 5038068
TITANIKstudios 5038078
TITANIKstudios 4789981
TITANIKstudios 5038064
riiiple 4789981
riiiple 5015829
GUAN2888 4789981
GUAN2888 475547
GUAN2888 475517
Tirlikurindui 4789981
Tirlikurindui 5037753
RStyle_ 9684952
RStyle_ 4789981
RStyle_ 4918455
RStyle_ 4947381
RStyle_ 4968804
RStyle_ 31533515
__Viktoria__ 4789981
Street_11 4789981
Street_11 5007197
roge1337 4789981
roge1337 4973542
SonyaDonut 5010761
SonyaDonut 4789981
ilyakcom 4789981
ilyakcom 5035946
cubefine 3707989
cubefine 4940699
cubefine 4789981
cubefine 4951464
lusi2017 4789981
lyapinandreyknd 4789981
lyapinandreyknd 5006465
sAnya220 6015330
sAnya220 4985168
sAnya220 4789981
_Nikivas_ 4789981
_Nikivas_ 4999523
bizarerose1918 4789981
PoLiSaraf 4789981
PoLiSaraf 4999554
376886874 4789981
palevooooo 4789981
ZSan4eZ 4789981
ZSan4eZ 4999507
kibertex 4789981
kibertex 5006989
Fm07v 4789981
MarkeRq 4789981
Dmitry188 4940699
Dmitry188 4789981
Dmitry188 4968210
fcz113 4789981
stud62 4991233
stud62 4789981
stud62 4973149
Men_X 4789981
Men_X 4987782
Men_X 4966330
last_hranitel 4966330
last_hranitel 4789981
NataKaz 4985168
NataKaz 4987735
NataKaz 4789981
NataKaz 5025083
matveysh 4789981
matveysh 4987764
matveysh 4966330
Darrinius 4789981
Kolyat 4789981
Kolyat 4971356
Paravil 4789981
Paravil 4984485
Dex2_0 4789981
Dex2_0 4984505
olpl2411 4789981
fongol 4789981
fongol 4998981
TheCreator13347 4789981
GoOSeY_PiPe_ 4789981
GoOSeY_PiPe_ 4983484
GoOSeY_PiPe_ 27675749
kamazZZZ 4789981
kamazZZZ 4959462
dima150909 29489658
dima150909 4789981
dima150909 4947381
dima150909 4951219
Veron_Elma 4789981
Veron_Elma 4973043
spidypool 4789981
spidypool 4973043
amaliyasupermilk 4789981
amaliyasupermilk 4973043
Pendolina 4789981
Pendolina 4973043
ya_artem 5021554
ya_artem 4789981
ya_artem 4971356
ya_artem 5035819
ya_artem 35597821
dima_pragrammist 4789981
dima_pragrammist 4951321
dima_pragrammist 36279833
Sokolinyj_glaz 4789981
Sokolinyj_glaz 4947381
Sokolinyj_glaz 4970883
ffcvgc1 4789981
ffcvgc1 4970889
Endro2018 4789981
Endro2018 4947381
Endro2018 4971044
RUNLION 4789981
vovan283 4223465
vovan283 4789981
vovan283 5038816
vovan283 5038819
vovan283 5038827
vovan283 153652
vovan283 5285623
vovan283 27926932
vovan283 28315759
vovan283 30603248
vovan283 32723027
79tgl 4959546
79tgl 4789981
delik_csh 4789981
delik_csh 4944242
delik_csh 5261935
delik_csh 4944231
alin-malin 4789981
Badros 4789981
Duolex 1155878
Duolex 4789981
Duolex 26976871
oksana-chigir 31488157
oksana-chigir 28597037
oksana-chigir 28639769
oksana-chigir 4789981
oksana-chigir 4126184
swimmer158 4789981
ToriNN06 4789981
ERTAsoN 6923588
ERTAsoN 4419041
ERTAsoN 5587418
ERTAsoN 5587645
ERTAsoN 28616593
ERTAsoN 1989363
ERTAsoN 4789981
ERTAsoN 36279833
Almirynia 4789981
Almirynia 4956224
Almirynia 5003204
Almirynia 5003208
Velanr 4789981
krylgala 29049472
krylgala 29049438
krylgala 25909111
krylgala 25909110
krylgala 6034113
krylgala 30293950
krylgala 1924057
krylgala 4885488
krylgala 4885477
krylgala 3853257
krylgala 1924076
krylgala 19412345
krylgala 1027000
krylgala 4789981
krylgala 3620103
krylgala 374716
krylgala 374702
krylgala 212862
krylgala 4286300
krylgala 33696154
krylgala 34038806
krylgala 36092327
krylgala 37080388
krylgala 193945
krylgala 331715
krylgala 193944
krylgala 488294
krylgala 25203959
krylgala 33624580
krylgala 33640550
krylgala 33838114
krylgala 33969674
krylgala 33071448
krylgala 156318
krylgala 156317
krylgala 115492
krylgala 3778830
krylgala 76086
Maag2091 4789981
Maag2091 5036819
Onego-San 4789981
Onego-San 5323832
Renat123 4789981
andreym2006 16346
andreym2006 24379
andreym2006 28276
andreym2006 31796
andreym2006 55641
andreym2006 105751
andreym2006 135894
andreym2006 139364
andreym2006 174525
andreym2006 188015
andreym2006 190841
andreym2006 206056
andreym2006 207794
andreym2006 218419
andreym2006 218753
andreym2006 237148
andreym2006 276656
andreym2006 279942
andreym2006 723930
andreym2006 812936
andreym2006 1829565
andreym2006 1941066
andreym2006 1989363
andreym2006 2016750
andreym2006 2080098
andreym2006 2087244
andreym2006 3962343
andreym2006 4968835
andreym2006 4981031
andreym2006 5138936
andreym2006 5197472
andreym2006 5265301
andreym2006 5639477
andreym2006 5652011
andreym2006 209938
andreym2006 9555649
andreym2006 12114043
andreym2006 14334780
andreym2006 14552423
andreym2006 25084976
andreym2006 25225554
andreym2006 25272866
andreym2006 25317073
andreym2006 25390272
andreym2006 25413344
andreym2006 25413840
andreym2006 25449050
andreym2006 25496614
andreym2006 25524255
andreym2006 25530203
andreym2006 25532062
andreym2006 25541896
andreym2006 25598666
andreym2006 25671371
andreym2006 25672405
andreym2006 25676304
andreym2006 25676767
andreym2006 25682567
andreym2006 25870437
andreym2006 25984572
andreym2006 16409
andreym2006 54257
andreym2006 226862
andreym2006 236356
andreym2006 245147
andreym2006 272822
andreym2006 1261988
andreym2006 1682135
andreym2006 1743560
andreym2006 1801732
andreym2006 56
andreym2006 342467
andreym2006 837830
andreym2006 2978264
andreym2006 4789981
andreym2006 5689987
andreym2006 5695326
andreym2006 5698505
andreym2006 7301352
UserDen 4789981
UserDen 4852111
Tim_0508 3951893
Tim_0508 4306254
Tim_0508 4362949
Tim_0508 4431618
Tim_0508 4601678
Tim_0508 4852170
Tim_0508 4969020
Tim_0508 4495204
Tim_0508 1801732
Tim_0508 25273127
Tim_0508 25993016
Tim_0508 10235543
Tim_0508 4647910
Tim_0508 26513358
Tim_0508 26547853
Tim_0508 5801323
Tim_0508 5804065
Tim_0508 4439315
Tim_0508 4592690
Tim_0508 5261935
Tim_0508 5600047
Tim_0508 5029548
Tim_0508 5256490
Tim_0508 5277982
Tim_0508 5970593
Tim_0508 5209415
Tim_0508 5261204
Tim_0508 5255964
Tim_0508 3707989
Tim_0508 5209414
Tim_0508 5257941
Tim_0508 5210238
Tim_0508 4522321
Tim_0508 4533384
Tim_0508 31992168
Tim_0508 4592161
Tim_0508 5073915
Tim_0508 5047558
Tim_0508 4595529
Tim_0508 4789981
Tim_0508 4981407
Tim_0508 5039903
Tim_0508 4991184
Tim_0508 26286594
Tim_0508 4993296
Tim_0508 1817758
Tim_0508 3467282
Tim_0508 3849860
Tim_0508 4609736
Tim_0508 6222077
Tim_0508 6259983
Tim_0508 50899513
Tim_0508 4868070
Tim_0508 263835
Tim_0508 1690329
Tim_0508 2106443
Tim_0508 4274766
Tim_0508 30603248
Tim_0508 4228481
Tim_0508 4432377
Tim_0508 4492914
Tim_0508 33195832
Tim_0508 25874558
Tim_0508 3643149
Tim_0508 3917230
Tim_0508 4313704
Tim_0508 4520271
Tim_0508 33257754
Tim_0508 33588564
Tim_0508 33588568
Tim_0508 36008976
Tim_0508 4404350
Tim_0508 4510259
Tim_0508 4569452
Tim_0508 4431697
Tim_0508 4595321
Tim_0508 4596842
Tim_0508 4506396
Tim_0508 4554208
Tim_0508 4108162
Tim_0508 4508618
Tim_0508 488294
Tim_0508 3527412
Tim_0508 4412934
Tim_0508 4412953
Tim_0508 4505532
Tim_0508 28136195
Tim_0508 30607092
Tim_0508 3997354
Tim_0508 4431720
Tim_0508 3472117
Tim_0508 4216801
Tim_0508 4333395
Tim_0508 4372785
Alex_Alex 4789981
Alex_Alex 1935185
Alex_Alex 73443
tata18y12 4789981
tata18y12 4947381
tata18y12 4991073
GalaxyanAs 4789981
VisualClony 3686793
VisualClony 3849860
VisualClony 499222
VisualClony 3473658
VisualClony 4628161
VisualClony 4789981
VisualClony 4526656
VisualClony 3931608
VisualClony 3984688
VisualClony 4228481
VisualClony 3755311
VisualClony 218419
VisualClony 2976891
VisualClony 3678832
VisualClony 2216480
VisualClony 3671197
VisualClony 28276
VisualClony 279942
VisualClony 3010481
VisualClony 4658637
VisualClony 2056528
VisualClony 2926472
VisualClony 2999297
VisualClony 3459744
VisualClony 2945059
VisualClony 259979
VisualClony 1738309
VisualClony 1841787
hanterr_mav 50599386
hanterr_mav 5077316
hanterr_mav 4789981
hanterr_mav 5035772
Pylenok_Sasha 4789981
Pylenok_Sasha 4983490
dondukov_slava 4789981
maksesquire 4789981
apasov_egor 4789981
udin_danil 4789981
Tigrenok275 5098054
Tigrenok275 4150358
Tigrenok275 4468017
Tigrenok275 4789981
Tigrenok275 4968583
Sema0304 4663659
Sema0304 4789981
Sema0304 4932517
Sema0304 4791599
Sema0304 4806080
Sema0304 4930951
marina4213567 1703752
marina4213567 6049070
marina4213567 4789981
marina4213567 1703728
nastya200619 4789981
Midorima666 4789981
Midorima666 36279833
Alina7766 4789981
policat333 4789981
tanya20078 4789981
KillFoxed 4789981
LoL_KeK_Chebyrek_1 4789981
Gromozek 4789981
Gromozek 5010030
-Elik- 4789981
Vas555 4789981
Vas555 31100474
Optimoos2008 4789981
Optimoos2008 5038186
LeoSLeo 4789981
LeoSLeo 5038702
sovaN4_ar 4789981
Alexandr2142470 4789981
Alexandr2142470 5029281
argayash 4789981
tyolson 3940863
tyolson 4466842
tyolson 456776
tyolson 488294
tyolson 517311
tyolson 1213514
tyolson 1985815
tyolson 2030555
tyolson 2104708
tyolson 3638415
tyolson 3670786
tyolson 3678004
tyolson 3688030
tyolson 3773272
tyolson 3894522
tyolson 4017271
tyolson 413372
tyolson 527140
tyolson 2248265
tyolson 2539000
tyolson 3661877
tyolson 3707989
tyolson 25161354
tyolson 348393
tyolson 487504
tyolson 492952
tyolson 1464150
tyolson 1785747
tyolson 4053531
tyolson 4789981
Danacat1 4956263
Danacat1 4973149
Danacat1 4789981
Oganisyan_TE 4789981
NIK253 4789981
2005il 4789981
2005il 5037347
Someoneee 4789981
McCubIk 4789981
ProgRussia 4789981
ProgRussia 5037001
38_man 4789981
Vova220 5929084
Vova220 4789981
Vova220 488267
Vova220 487504
Vova220 475543
Vova220 475547
Vova220 475517
Vova220 475527
ermolov_i 4789981
ermolov_i 5033120
Summoleany 4789981
Summoleany 5036808
JV_D 30682450
JV_D 1879099
JV_D 3951893
JV_D 25305772
JV_D 27096692
JV_D 28413697
JV_D 488294
JV_D 3459829
JV_D 4223465
JV_D 34252581
JV_D 27624951
JV_D 26184571
JV_D 28574448
JV_D 6075853
JV_D 27053477
JV_D 27594606
JV_D 174525
JV_D 1682135
JV_D 1989363
JV_D 2031180
JV_D 4859165
JV_D 5294573
JV_D 5621706
JV_D 5749372
JV_D 6259983
JV_D 19385719
JV_D 25031957
JV_D 25091111
JV_D 25246708
JV_D 25684322
JV_D 25990125
JV_D 26180415
JV_D 26474597
JV_D 26808162
JV_D 26517912
JV_D 26602478
JV_D 26679832
JV_D 31687619
JV_D 25482444
JV_D 26170697
JV_D 26304923
JV_D 26311227
JV_D 26562900
JV_D 26746541
JV_D 2019180
JV_D 29563712
JV_D 32071650
JV_D 26756891
JV_D 279942
JV_D 4843675
JV_D 5267935
JV_D 5816204
JV_D 27628196
JV_D 32693730
JV_D 256756
JV_D 25281896
JV_D 25906958
JV_D 26132382
JV_D 26208514
JV_D 26258069
JV_D 26258281
JV_D 26259363
JV_D 26259576
JV_D 26262821
JV_D 26275287
JV_D 26277129
JV_D 26277782
JV_D 26279570
JV_D 26282462
JV_D 26313490
JV_D 26393298
JV_D 26419861
JV_D 26534087
JV_D 26540318
JV_D 26642884
JV_D 26663187
JV_D 26715967
JV_D 26906276
JV_D 26978622
JV_D 27716228
JV_D 31796
JV_D 337342
JV_D 1687299
JV_D 3687039
JV_D 3817180
JV_D 3917230
JV_D 4077407
JV_D 4262017
JV_D 5686342
JV_D 7106171
JV_D 7671754
JV_D 8133270
JV_D 25074391
JV_D 25249502
JV_D 25280567
JV_D 25873241
JV_D 34215536
JV_D 25283877
JV_D 25926798
JV_D 25950173
JV_D 25969314
JV_D 25986473
JV_D 26189996
JV_D 24379
JV_D 186261
JV_D 31502869
JV_D 25871580
JV_D 27144359
JV_D 33015343
JV_D 206056
JV_D 7983130
JV_D 26384357
JV_D 26520671
JV_D 27628493
JV_D 27695016
JV_D 30801232
JV_D 33925310
JV_D 36171862
JV_D 36717522
JV_D 4053531
JV_D 6236657
JV_D 11920146
JV_D 25417046
JV_D 27494292
JV_D 4590962
JV_D 5673172
JV_D 5804237
JV_D 25091241
JV_D 25208021
JV_D 25336592
JV_D 25351731
JV_D 25363967
JV_D 25354416
JV_D 25380628
JV_D 25837203
JV_D 30633409
JV_D 33700122
JV_D 4362949
JV_D 5342557
JV_D 25353283
JV_D 30128093
JV_D 30133447
JV_D 26279942
JV_D 26620044
JV_D 26713403
JV_D 27127907
JV_D 26471342
JV_D 28906186
JV_D 30611186
JV_D 30953719
JV_D 31018928
JV_D 31110745
JV_D 31152470
JV_D 31401754
JV_D 31902003
JV_D 33010398
JV_D 4439315
JV_D 5261935
JV_D 4789981
JV_D 29215337
JV_D 31266392
JV_D 5292289
JV_D 5304412
JV_D 36279833
JV_D 27801919
JV_D 27802700
JV_D 27852771
JONIK15001 4789981
kartashovaann 4789981
LeonardoDaKing 4789981
LeonardoDaKing 5036493
LeonardoDaKing 6049070
mikcvr12 4789981
XyGGiRaH 4789981
MaksNogliki 4789981
MaksNogliki 5002836
School_3 4789981
School_3 4924246
School_3 5036094
VaDiKs 4789981
VaDiKs 5022108
Kalipsonic 4789981
Kalipsonic 5033647
Pasha2004 4789981
CoolTurtle648 4789981
CoolTurtle648 4987728
Homadoma 4789981
pavlin_ 4789981
pavlin_ 5007015
beliaeffmark 4789981
beliaeffmark 5026859
SoVa150607 5097100
SoVa150607 5035819
SoVa150607 4789981
SoVa150607 4996100
__Kiss_ka__ 4789981
__Kiss_ka__ 4999652
__Kiss_ka__ 4980766
sofibelom 4789981
sofibelom 5010028
sofibelom 4526958
sofibelom 4885488
VlaMal 4789981
VlaMal 5035755
Artem_15 4789981
Artem_15 5035676
zadiri 4789981
zadiri 4962570
zadiri 4973149
zadiri 4959549
December01312 4789981
LeraPolezhaeva 4789981
Miron_154 4789981
Miron_154 5030938
biatv 4789981
biatv 5033916
school_korotch6 4789981
stepan_a 4789981
stepan_a 5033120
rjn333 4789981
rjn333 5018416
rjn333 5518069
rjn333 4868074
rjn333 438992
rjn333 4572776
rjn333 36279833
nature_cat 4789981
nature_cat 5032891
VariaKotek 4789981
VariaKotek 5022411
firedank 4789981
firedank 5016811
MariChik 4789981
MariChik 5018475
dariasi 4789981
dariasi 5032410
Lisichko 5057797
Lisichko 4789981
Lisichko 5007022
s_tchikin 4789981
s_tchikin 5032831
Sonia376 4789981
Rapirus 4789981
Rapirus 4987817
Dakinson05 4789981
Dakinson05 4923008
Dakinson05 3666092
Dakinson05 3545750
Dakinson05 3584130
Dakinson05 3584009
Dakinson05 3534231
zsedx 4789981
zsedx 5035819
zsedx 488267
zsedx 475517
zsedx 475527
ALEX005KRYT 4789981
ALEX005KRYT 5010353
semsmir228 4789981
semsmir228 4965659
Anna0304Anna 4985033
Anna0304Anna 4789981
Anna0304Anna 5055472
lopdop91 4985033
lopdop91 5051441
lopdop91 4789981
AndreyPlyashchenko 4906016
AndreyPlyashchenko 4789981
antoni2009 4789981
georgu_klass3 4789981
georgu_klass3 4984491
Russiu1ru 4959845
Russiu1ru 4789981
Robot70 3459744
Robot70 3467282
Robot70 3728101
Robot70 4301320
Robot70 4590330
Robot70 4789981
Robot70 4984491
Robot70 5027027
Robot70 5083355
Colibri-1 25604096
Colibri-1 25716524
Colibri-1 4789981
Ivann7950 4789981
Ivann7950 5014520
anna2111 3530020
anna2111 4789981
KamillaMatviiv 4789981
Lankle 4789981
Lankle 5015857
tuleninov 3707989
tuleninov 4392569
tuleninov 4499991
tuleninov 4586101
tuleninov 4844756
tuleninov 4948409
tuleninov 5046198
tuleninov 5501479
tuleninov 5770573
tuleninov 5792587
tuleninov 5801047
tuleninov 4537975
tuleninov 4783718
tuleninov 4970960
tuleninov 5043134
tuleninov 5059315
tuleninov 5515302
tuleninov 5520998
tuleninov 5642961
tuleninov 5642968
tuleninov 5806686
tuleninov 4945381
tuleninov 4789981
tuleninov 4223465
tuleninov 4969020
tuleninov 4699014
tuleninov 27707565
tuleninov 28852619
ClassicNastya 4789981
ClassicNastya 5022349
Peterfireleft228 4789981
Peterfireleft228 5022364
StepanidaK 5067760
StepanidaK 25146855
StepanidaK 5019751
StepanidaK 4931838
StepanidaK 4789981
StepanidaK 4918826
StepanidaK 4985033
Danikdanik10 4789981
Danikdanik10 5261935
Pavel7 4789981
Pavel7 3822758
Ivan-007 4789981
Alex_Coder 4789981
SoNyA15101221 4789981
Vally1234 4789981
Vally1234 4996100
KAKASHK 4789981
Orel2575 4789981
FiXPlay 4789981
FiXPlay 4906120
FiXPlay 33275810
lic40 4789981
rathood2000 4931791
rathood2000 4970861
rathood2000 4789981
rathood2000 4931711
rathood2000 4947381
Nastya0007 7829198
Nastya0007 5106250
Nastya0007 4789981
Nastya0007 4947381
Nastya0007 4951216
Nastya0007 4951218
trololoshka19012009 4931711
trololoshka19012009 4789981
trololoshka19012009 4947381
trololoshka19012009 4931707
trololoshka19012009 4968525
Timurkin 5721603
Timurkin 4951242
Timurkin 5106249
Timurkin 4789981
Timurkin 4947381
Ksy18V 4789981
Ksy18V 4947381
Ksy18V 4970889
Ksy18V 4991073
Veliky_Bars_8 4789981
Veliky_Bars_8 5015622
Larion17 4789981
Larion17 5000064
Larion17 4526958
Larion17 4885488
Larion17 1924076
Larion17 1778005
tedi1233 4789981
tedi1233 4929645
tedi1233 4947381
tedi1233 4968806
HappyPirate007 4789981
HappyPirate007 4825860
Dena228 35857187
Dena228 3530020
Dena228 4789981
Dena228 3959044
Dena228 36279833
xypmunka 3530020
xypmunka 4789981
van4ik 3530020
van4ik 4789981
van4ik 1887946
van4ik 3778683
van4ik 25193896
van4ik 25684322
van4ik 25933652
van4ik 26177411
Arkangoo1 4987819
Arkangoo1 4987817
Arkangoo1 4789981
Oxik24 4789981
Nikitka32 4789981
Nikitka32 4947495
Shaihatarov 1320302
Shaihatarov 4789981
Shaihatarov 5035819
Shaihatarov 1475738
gamehunt1 4789981
gamehunt1 4944543
Dima-57 9940083
Dima-57 7829198
Dima-57 4789981
Dima-57 4947381
Dima-57 4951321
Xrenmorjovii1337 4956226
Xrenmorjovii1337 4789981
Baron_is_Bro 4789981
Baron_is_Bro 4956209
Baron_is_Bro 27549754
lod07 4789981
lod07 4977057
kotowilliam 4789981
kotowilliam 4947381
kotowilliam 4951215
zyabr 4789981
nikman89 4789981
KEFIR12 4789981
bezzubik 4789981
bezzubik 488267
bezzubik 487504
bezzubik 475543
bezzubik 475517
bezzubik 4373707
bezzubik 475527
bezzubik 475523
Noskov01 4789981
Noskov01 4999569
LeraShooll 4789981
lizsamor 26322475
lizsamor 25334084
lizsamor 5872272
lizsamor 5944332
lizsamor 5920382
lizsamor 5616633
lizsamor 6013112
lizsamor 5540176
lizsamor 25703510
lizsamor 35445332
lizsamor 35461688
lizsamor 25745681
lizsamor 5077316
lizsamor 5322379
lizsamor 25283877
lizsamor 5073390
lizsamor 5067517
lizsamor 5035772
lizsamor 4941320
lizsamor 4789981
lizsamor 4947897
Max0789 4789981
SEApps 5830017
SEApps 4789981
SEApps 4968587
AzazazinKreed 4789981
AzazazinKreed 4985033
YanYaroslavskiy2 4789981
YanYaroslavskiy2 4554763
Nadia_Golovina 4789981
Nadia_Golovina 4951643
NINDZIA2008 4789981
hjccbz 4789981
hjccbz 33015669
KriIva 4789981
MAXIMUSLU 4789981
MAXIMUSLU 4999699
Daniil2701 4789981
Russian_boys 4962624
Russian_boys 4789981
Mishamaster 4789981
Mishamaster 4947381
Mishamaster 4947495
uragan123 4779964
uragan123 4789981
uragan123 4295949
uragan123 4666235
Orel706 4968665
Orel706 4789981
Orel706 4947381
Orel706 5037521
Orel706 5922797
Vanya-Pro 4789981
Vanya-Pro 4947381
Vanya-Pro 4970865
Vanya-Pro 4949490
Frouzen1337 4789981
Frouzen1337 4985168
Frouzen1337 4987711
pelmesh 4789981
pelmesh 4957117
_roeb_ 4789981
_roeb_ 4906361
isoftcmg 4562751
isoftcmg 4789981
sergei-chi 28639769
sergei-chi 4789981
sergei-chi 4944242
Marina_Ut 4789981
ybivashka 4789981
ybivashka 4926292
ybivashka 5035819

Узлы


Визуализация

VOSviewer

Graphviz