> For the complete documentation index, see [llms.txt](https://steeber.gitbook.io/chaos-birds/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://steeber.gitbook.io/chaos-birds/breedy-birds/provenance.md).

# Provenance

#### Breedy Bird Images

Breedy Birds art was provided by the original founder without the component images. However, they were serialized, so Chaos Eggs were mapped to the serialization of the provided art.

#### DNA base pair generation for Breedy Birds #01 - #07, and #10 - #45 (Genesis/ Batch 1)

{% file src="/files/pmJdjCCGdCBsOljnv3Cx" %}
A list of the classes of various birds in the genesis batch.
{% endfile %}

```
#R version 4.1.3 (2022-03-10) -- "One Push-Up"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Birds 1-7, and 10-45.

library(digest)
class <- read.csv(file="class.csv", header=FALSE)

set.seed(42931192)

rare <-   c(rep("A", 20), rep("B",30), rep("C", 50))
le <-     c(rep("A", 34), rep("B",33), rep("C", 33))
se <-     c(rep("A", 50), rep("B",30), rep("C", 20))
dna <-    NULL
hashes <- NULL

a <- 1
while(a != nrow(class) + 1) {
  b <- sample(1:100, 8)
  if(class[a,1] == "Rare") {
    dna <- c(dna, paste(rare[b[1]], rare[b[2]], "-",
                        rare[b[3]], rare[b[4]], "-",
                        rare[b[5]], rare[b[6]], "-",
                        rare[b[7]], rare[b[8]], sep=""))
  }
  if(class[a,1] == "Limited Edition") {
    dna <- c(dna, paste(le[b[1]], le[b[2]], "-",
                        le[b[3]], le[b[4]], "-",
                        le[b[5]], le[b[6]], "-",
                        le[b[7]], le[b[8]], sep=""))
  }
  if(class[a,1] == "Standard Edition") {
    dna <- c(dna, paste0(se[b[1]], se[b[2]], "-",
                        se[b[3]], se[b[4]], "-",
                        se[b[5]], se[b[6]], "-",
                        se[b[7]], se[b[8]]))
  }
  a <- a + 1
}

a <- 1
while(a != length(dna) + 1) {
  hashes <- c(hashes, digest(dna[a], "sha1", serialize = FALSE))
  a <- a + 1
}

write.csv(data.frame("DNA" = dna), file = "dna.csv", row.names = FALSE)
write.csv(data.frame("Hashes" = hashes), file = "hashes.csv", row.names = FALSE)

q()

```

{% file src="/files/rhzvLfOMbpzCgeo77Dce" %}
Resulting DNA base pairs.
{% endfile %}

{% file src="/files/YzaAdnrmPynrALcHkDoa" %}
Resulting DNA hashes.
{% endfile %}

#### DNA base pair generation for Breedy Birds #46 - #51 (Batch 2)

```
#R version 4.1.3 (2022-03-10) -- "One Push-Up"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Birds 46-51
#Unlike the genesis Breedy Birds, class distinction is not necessary since
#all birds in this batch are standard edition.

library(digest)
set.seed(89029820)

se <-   c(rep("A", 50), rep("B",30), rep("C", 20))
dna <-  NULL
hashes <- NULL

a <- 1
while(a != 6 + 1) {
  b <- sample(1:100, 8)
  dna <- c(dna, paste(se[b[1]], se[b[2]], "-",
                      se[b[3]], se[b[4]], "-",
                      se[b[5]], se[b[6]], "-",
                      se[b[7]], se[b[8]], sep=""))
  a <- a + 1
}

a <- 1
while(a != length(dna) + 1) {
  hashes <- c(hashes, digest(dna[a], "sha1", serialize = FALSE))
  a <- a + 1
}

write.csv(data.frame("DNA" = dna), file = "dna_2.csv", row.names=FALSE)
write.csv(data.frame("Hashes" = hashes), file = "hashes_2.csv", row.names = FALSE)

q()
```

{% file src="/files/LsY4OxO0uzdMNZ2S90zE" %}
Resulting DNA base pairs
{% endfile %}

{% file src="/files/hovNAtiewO80f6aJiRgN" %}
Resulting DNA hashes.
{% endfile %}

#### DNA base pair generation for Breedy Birds #8, #52, and #53 (Batch 3)

```
#R version 4.1.3 (2022-03-10) -- "One Push-Up"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Birds 8, 52, and 53

library(digest)
set.seed(262741)

se <-   c(rep("A", 50), rep("B",30), rep("C", 20))
le <-   c(rep("A", 34), rep("B",33), rep("C", 33))
dna <-  NULL
hashes <- NULL

a <- 1
while(a != 3 + 1) {
  b <- sample(1:100, 8)
  dna <- c(dna, paste(se[b[1]], se[b[2]], "-",
                      se[b[3]], se[b[4]], "-",
                      se[b[5]], se[b[6]], "-",
                      se[b[7]], se[b[8]], sep=""))
  a <- a + 1
}

a <- 1
while(a != length(dna) + 1) {
  hashes <- c(hashes, digest(dna[a], "sha1", serialize = FALSE))
  a <- a + 1
}

write.csv(data.frame("DNA" = dna), file = "dna_3.csv", row.names=FALSE)
write.csv(data.frame("Hashes" = hashes), file = "hashes_3.csv", row.names = FALSE)

q()
```

{% file src="/files/NSaVQT9MT3tYWrdtdcez" %}

{% file src="/files/chlTiHLvGtdMjfagn56d" %}

#### DNA base pair generation for Breedy Birds #9, #54, and #55 (Batch 4)

```
#R version 4.1.3 (2022-03-10) -- "One Push-Up"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Birds 9, 54, and 55

library(digest)
set.seed(100103886)

se <-   c(rep("A", 50), rep("B",30), rep("C", 20))
le <-   c(rep("A", 34), rep("B",33), rep("C", 33))
dna <-  NULL
hashes <- NULL

a <- 1
while(a != 3 + 1) {
  b <- sample(1:100, 8)
  if(a == 1) {
    dna <- c(dna, paste0(le[b[1]], le[b[2]], "-",
                         le[b[3]], le[b[4]], "-",
                         le[b[5]], le[b[6]], "-",
                         le[b[7]], le[b[8]]))
  } else {
    dna <- c(dna, paste0(se[b[1]], se[b[2]], "-",
                         se[b[3]], se[b[4]], "-",
                         se[b[5]], se[b[6]], "-",
                         se[b[7]], se[b[8]]))
  }
  a <- a + 1
}

a <- 1
while(a != length(dna) + 1) {
  hashes <- c(hashes, digest(dna[a], "sha1", serialize = FALSE))
  a <- a + 1
}

write.csv(data.frame("DNA" = dna), file = "dna_4.csv", row.names=FALSE)
write.csv(data.frame("Hashes" = hashes), file = "hashes_4.csv", row.names = FALSE)

q()
```

{% file src="/files/gwoCgUTDDN8KymSMGo6U" %}

{% file src="/files/6gpxLBkvZD1P3vlcN9pf" %}

#### DNA base pair generation for Breedy Birds #56 (Batch 5)

```
#R version 4.2.1 (2022-06-23) -- "Funny-Looking Kid"
#Copyright (C) 2022 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

#DNA base pair generation for Breedy Bird 56

library(digest)
set.seed(10000405)

se <-   c(rep("A", 50), rep("B",30), rep("C", 20))

b <- sample(1:100, 8)
dna <- paste0(se[b[1]], se[b[2]], "-",
              se[b[3]], se[b[4]], "-",
              se[b[5]], se[b[6]], "-",
              se[b[7]], se[b[8]])

hash <- digest(dna, "sha1", serialize = FALSE)

write.csv(data.frame("DNA" = dna), file = "dna_5.csv", row.names=FALSE)
write.csv(data.frame("Hash" = hash), file = "hash_5.csv", row.names = FALSE)
q()
```

{% file src="/files/tOmvuP2MnTP49FU3JQXe" %}

{% file src="/files/V52HxbCNFDxFKePf7ffu" %}
