diff options
-rwxr-xr-x | ci/03-maasdeploy.sh | 42 | ||||
-rwxr-xr-x | ci/maas/cengn_lynx/pod1/deployment.yaml | 229 | ||||
-rw-r--r-- | ci/maas/cengn_lynx/pod1/environments.yaml | 40 | ||||
-rwxr-xr-x | ci/maas/deployment.yaml | 50 | ||||
-rwxr-xr-x | ci/maas/juniper/pod1/deployment.yaml | 194 | ||||
-rw-r--r-- | ci/maas/juniper/pod1/environments.yaml | 40 | ||||
-rw-r--r-- | ci/maas/sshkeys/DominoKey.pub | 1 | ||||
-rw-r--r-- | ci/maas/sshkeys/QtipKey.pub | 1 |
8 files changed, 31 insertions, 566 deletions
diff --git a/ci/03-maasdeploy.sh b/ci/03-maasdeploy.sh index 9fb74000..0207e89a 100755 --- a/ci/03-maasdeploy.sh +++ b/ci/03-maasdeploy.sh @@ -11,6 +11,17 @@ if [ ! -e $HOME/.ssh/id_rsa ]; then ssh-keygen -N '' -f $HOME/.ssh/id_rsa fi +NODE_ARCTYPE=`arch` +NODE_ARC="amd64/generic" + +if [ "x86_64" == "$NODE_ARCTYPE" ]; then + NODE_ARC="amd64/generic" +elif [ "ppc64le" == "$NODE_ARCTYPE" ]; then + NODE_ARC='ppc64el' +else + NODE_ARC=$NODE_ARCTYPE +fi + # Install the packages needed echo_info "Installing and upgrading required packages" sudo apt-get install software-properties-common -y @@ -366,16 +377,16 @@ addnodes(){ # prepare a file containing virsh remote url to connect without adding it n command line echo "export VIRSH_DEFAULT_CONNECT_URI=$VIRSHURL" > virsh_uri.sh else + netw="" + brid=`brctl show | grep 8000 | cut -d "8" -f 1 | tr "\n" " " | tr " " " " | tr -s " "` + ADMIN_BR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="admin")'.bridge | cut -d \" -f 2 ` - netw="" for feature in $brid; do - if [ "$feature" == "" ]; then - netw=$netw - elif [ "$feature" == "virbr0" ]; then - netw=$netw - else + if [ "$feature" == "$ADMIN_BR" ]; then netw=$netw" --network bridge="$feature",model=virtio" + else + netw=$netw fi done fi @@ -393,7 +404,7 @@ addnodes(){ echo_info "Creating and adding bootstrap node" virt-install --connect $VIRSHURL --name bootstrap --ram 4098 --cpu host --vcpus 2 --video \ - cirrus --arch x86_64 --disk size=20,format=qcow2,bus=virtio,cache=directsync,io=native,pool=default \ + cirrus --disk size=20,format=qcow2,bus=virtio,cache=directsync,io=native,pool=default \ $netw --boot network,hd,menu=off --noautoconsole \ --vnc --print-xml | tee bootstrap @@ -414,7 +425,7 @@ addnodes(){ maas $PROFILE machines create autodetect_nodegroup='yes' name='bootstrap' \ tags='bootstrap' hostname='bootstrap' power_type='virsh' mac_addresses=$bootstrapmac \ power_parameters_power_address="$VIRSHURL" \ - architecture='amd64/generic' power_parameters_power_id='bootstrap' + architecture=$NODE_ARC power_parameters_power_id='bootstrap' bootstrapid=$(maas $PROFILE machines read | jq -r '.[] | select(.hostname == "bootstrap").system_id') @@ -437,7 +448,7 @@ addnodes(){ maas $PROFILE machines create autodetect_nodegroup='yes' name=$NODE_NAME \ tags='control compute' hostname=$NODE_NAME power_type='virsh' mac_addresses=$nodemac \ power_parameters_power_address="$VIRSHURL" \ - architecture='amd64/generic' power_parameters_power_id=$NODE_NAME + architecture=$NODE_ARC power_parameters_power_id=$NODE_NAME nodeid=$(maas $PROFILE machines read | jq -r '.[] | select(.hostname == '\"$NODE_NAME\"').system_id') maas $PROFILE tag update-nodes control add=$nodeid || true maas $PROFILE tag update-nodes compute add=$nodeid || true @@ -449,17 +460,26 @@ addnodes(){ units=$(($units - 1)); NODE_NAME=`cat labconfig.json | jq ".lab.racks[].nodes[$units].name" | cut -d \" -f 2 ` MAC_ADDRESS=`cat labconfig.json | jq ".lab.racks[].nodes[$units].nics[] | select(.spaces[]==\"admin\").mac"[0] | cut -d \" -f 2 ` - MAC_ADDRESS1=`cat labconfig.json | jq ".lab.racks[].nodes[$units].nics[] | select(.spaces[]==\"floating\").mac"[0] | cut -d \" -f 2 ` + #MAC_ADDRESS1=`cat labconfig.json | jq ".lab.racks[].nodes[$units].nics[] | select(.spaces[]==\"floating\").mac"[0] | cut -d \" -f 2 ` POWER_TYPE=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.type" | cut -d \" -f 2 ` POWER_IP=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.address" | cut -d \" -f 2 ` POWER_USER=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.user" | cut -d \" -f 2 ` POWER_PASS=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.pass" | cut -d \" -f 2 ` + NODE_ARCTYPE=`cat labconfig.json | jq ".lab.racks[].nodes[$units].architecture" | cut -d \" -f 2 ` + + if [ "x86_64" == "$NODE_ARCTYPE" ]; then + NODE_ARC="amd64/generic" + elif [ "ppc64le" == "$NODE_ARCTYPE" ]; then + NODE_ARC='ppc64el' + else + NODE_ARC=$NODE_ARCTYPE + fi echo_info "Creating node $NODE_NAME" maas $PROFILE machines create autodetect_nodegroup='yes' name=$NODE_NAME \ hostname=$NODE_NAME power_type=$POWER_TYPE power_parameters_power_address=$POWER_IP \ power_parameters_power_user=$POWER_USER power_parameters_power_pass=$POWER_PASS mac_addresses=$MAC_ADDRESS \ - mac_addresses=$MAC_ADDRESS1 architecture='amd64/generic' + architecture=$NODE_ARC done fi diff --git a/ci/maas/cengn_lynx/pod1/deployment.yaml b/ci/maas/cengn_lynx/pod1/deployment.yaml deleted file mode 100755 index fe71144a..00000000 --- a/ci/maas/cengn_lynx/pod1/deployment.yaml +++ /dev/null @@ -1,229 +0,0 @@ -# This file defines the deployment for the MAAS environment which is to be -# deployed and automated. -cengn-lynx-pod1: - maas: - # Defines the general setup for the MAAS environment, including the - # username and password for the host as well as the MAAS server. - user: ubuntu - password: ubuntu - - # Contains the virtual machine parameters for creating the MAAS virtual - # server. Here you can configure the name of the virsh domain, the - # parameters for how the network is attached. - name: opnfv-maas-cengn-lynx - interfaces: ['bridge=brAdm,model=virtio','bridge=brData,model=virtio','bridge=brPublic,model=virtio'] - memory: 4096 - vcpus: 4 - arch: amd64 - pool: default - disk_size: 160G - series: trusty - - # Apt http proxy setting(s) - apt_http_proxy: - - apt_sources: - - ppa:maas/stable - - ppa:juju/stable - - boot_source: - url: http://maas.ubuntu.com/images/ephemeral-v2/daily/ - keyring_filename: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg - exclusive: true - selections: - 1: - release: trusty - os: ubuntu - arches: amd64 - subarches: "*" - labels: daily - 2: - release: xenial - os: ubuntu - arches: amd64 - subarches: "*" - labels: daily - - # Virsh power settings - # Specifies the uri and keys to use for virsh power control of the - # juju virtual machine. If the uri is omitted, the value for the - # --remote is used. If no power settings are desired, then do not - # supply the virsh block. - virsh: - rsa_priv_key: /home/ubuntu/.ssh/id_rsa - rsa_pub_key: /home/ubuntu/.ssh/id_rsa.pub - uri: qemu+ssh://ubuntu@10.120.0.2/system - - # Defines the IP Address that the configuration script will use to - # to access the MAAS controller via SSH. - ip_address: 10.120.0.3 - - # This section allows the user to set a series of options on the - # MAAS server itself. The list of config options can be found in - # the upstream MAAS documentation: - # - http://maas.ubuntu.com/docs/api.html#maas-server - settings: - upstream_dns: 192.168.60.1 - maas_name: cengnlynxpod1 - # kernel_opts: "console=tty0 console=ttyS1,115200n8" - # ntp_server: ntp.ubuntu.com - - # This section is used to define the networking parameters for when - # the node first comes up. It is fed into the meta-data cloud-init - # configuration and is used to configure the networking piece of the - # service. The contents of this section are written directly to the - # /etc/network/interfaces file. - # - # Please note, this is slightly different than the - # node-group-interfaces section below. This will configure the - # machine's networking params, and the node-group-interfaces will - # configure the maas node-group interfaces which is used for - # controlling the dhcp, dns, etc. - network_config: | - auto lo - iface lo inet loopback - - auto eth0 - iface eth0 inet static - address 10.120.0.3 - netmask 255.255.255.0 - network 10.120.0.0 - broadcast 10.120.0.255 - gateway 10.120.0.254 - dns-nameservers 192.168.60.1 8.8.8.8 127.0.0.1 - - auto eth1 - iface eth1 inet static - address 172.16.121.3 - netmask 255.255.255.0 - - auto eth2 - iface eth2 inet static - address 172.16.122.3 - netmask 255.255.255.0 - - - # The node-group-interfaces section is used to configure the MAAS - # network interfaces. Basic configuration is supported, such as which - # device should be bound, the range of IP addresses, etc. - # Note: this may contain the special identifiers: - # ${maas_net} - the first 3 octets of the ipv4 address - # ${maas_ip} - the ip address of the MAAS controller - node_group_ifaces: - - device: eth0 - ip: 10.120.0.3 - subnet_mask: 255.255.255.0 - broadcast_ip: 10.120.0.255 - router_ip: 10.120.0.254 - static_range: - low: 10.120.0.50 - high: 10.120.0.80 - dynamic_range: - low: 10.120.0.81 - high: 10.120.0.249 - - device: eth1 - ip: 172.16.121.3 - subnet_mask: 255.255.255.0 - broadcast_ip: 172.16.121.255 - management: 1 - static_range: - low: 172.16.121.50 - high: 172.16.121.80 - dynamic_range: - low: 172.16.121.81 - high: 172.16.121.249 - - device: eth2 - ip: 172.16.122.3 - subnet_mask: 255.255.255.0 - broadcast_ip: 172.16.122.255 - management: 1 - static_range: - low: 172.16.122.50 - high: 172.16.122.80 - dynamic_range: - low: 172.16.122.81 - high: 172.16.122.249 - - # Defines the physical nodes which are added to the MAAS cluster - # controller upon startup of the node. - nodes: - - name: node3-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:3a:c5:b6" - power: - type: ipmi - address: 192.168.42.72 - user: root - pass: root - driver: LAN_2_0 - - - name: node2-compute - tags: compute - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:3a:b2:ae" - power: - type: ipmi - address: 192.168.42.40 - user: root - pass: root - driver: LAN_2_0 - - - name: node1-compute - tags: compute - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:1f:6f:c0" - power: - type: ipmi - address: 192.168.42.33 - user: root - pass: root - driver: LAN_2_0 - - - name: node4-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:31:9d:bc" - power: - type: ipmi - address: 192.168.42.6 - user: root - pass: root - driver: LAN_2_0 - - - name: node5-control - tags: control - architecture: amd64/generic - mac_addresses: - - "00:25:90:fd:2e:48" - power: - type: ipmi - address: 192.168.42.35 - user: root - pass: root - driver: LAN_2_0 - - -# - name: jenkins-slave -# tags: jenkins-slave -# architecture: amd64/generic -# mac_addresses: -# - "52:54:00:f0:5c:53" -# power: -# type: virsh -# address: qemu+ssh://ubuntu@10.4.1.1/system - - # Contains the virtual machine parameters for creating the Juju bootstrap - # node virtual machine - juju-bootstrap: - name: bootstrap - interfaces: ['bridge=brAdm,model=virtio','bridge=brPublic,model=virtio'] - memory: 4096 - vcpus: 4 - arch: amd64 - pool: default - disk_size: 120G diff --git a/ci/maas/cengn_lynx/pod1/environments.yaml b/ci/maas/cengn_lynx/pod1/environments.yaml deleted file mode 100644 index e1b18695..00000000 --- a/ci/maas/cengn_lynx/pod1/environments.yaml +++ /dev/null @@ -1,40 +0,0 @@ -default: cengn-lynx-pod1 - -environments: - - # https://juju.ubuntu.com/docs/config-maas.html - cengn-lynx-pod1: - type: maas - - # maas-server specifies the location of the MAAS server. It must - # specify the base path. - # - maas-server: 'http://10.120.0.3:80/MAAS' - - # maas-oauth holds the OAuth credentials from MAAS. - # - maas-oauth: '2RqvWSuUgT6EM9JDZT:QDMascKSWm67p92D6s:VZBhsHPUJs9TD4VPHqTzLrTqT3zPGya4' - - # maas-server bootstrap ssh connection options - # - - # bootstrap-timeout time to wait contacting a state server, in seconds. - bootstrap-timeout: 1800 - - # Whether or not to refresh the list of available updates for an - # OS. The default option of true is recommended for use in - # production systems, but disabling this can speed up local - # deployments for development or testing. - # - enable-os-refresh-update: false - - # Whether or not to perform OS upgrades when machines are - # provisioned. The default option of true is recommended for use - # in production systems, but disabling this can speed up local - # deployments for development or testing. - # - enable-os-upgrade: false - - - admin-secret: admin - default-series: trusty diff --git a/ci/maas/deployment.yaml b/ci/maas/deployment.yaml deleted file mode 100755 index e7df95c6..00000000 --- a/ci/maas/deployment.yaml +++ /dev/null @@ -1,50 +0,0 @@ -demo-maas: - juju-bootstrap: - arch: amd64 - disk_size: 120G - interfaces: - - bridge=brAdm,model=virtio - memory: 4096 - name: bootstrap - pool: default - vcpus: 4 - maas: - apt_http_proxy: null - apt_sources: - - ppa:maas/stable - - ppa:juju/stable - arch: amd64 - boot_source: - keyring_filename: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg - selections: - 1: - arches: amd64 - labels: release - os: ubuntu - release: xenial - subarches: '*' - url: http://maas.ubuntu.com/images/ephemeral-v2/releases/ - disk_size: 160G - interfaces: - - bridge=brAdm,model=virtio - ip_address: - memory: 4096 - name: - network_config: - node_group_ifaces: - - broadcast_ip: - nodes: - - name: - password: ubuntu - pool: default - release: trusty - settings: - maas_name: - main_archive: http://us.archive.ubuntu.com/ubuntu - upstream_dns: - user: ubuntu - vcpus: 4 - virsh: - rsa_priv_key: /home/ubuntu/.ssh/id_rsa - rsa_pub_key: /home/ubuntu/.ssh/id_rsa.pub - uri: diff --git a/ci/maas/juniper/pod1/deployment.yaml b/ci/maas/juniper/pod1/deployment.yaml deleted file mode 100755 index 04b12293..00000000 --- a/ci/maas/juniper/pod1/deployment.yaml +++ /dev/null @@ -1,194 +0,0 @@ -# This file defines the deployment for the MAAS environment which is to be -# deployed and automated. -demo-maas: - maas: - # Defines the general setup for the MAAS environment, including the - # username and password for the host as well as the MAAS server. - user: ubuntu - password: ubuntu - - # Contains the virtual machine parameters for creating the MAAS virtual - # server. Here you can configure the name of the virsh domain, the - # parameters for how the network is attached. - name: opnfv-maas-juniper - interfaces: ['bridge=brAdm,model=virtio', 'bridge=brPublic,model=virtio'] - memory: 4096 - vcpus: 1 - arch: amd64 - pool: default - disk_size: 160G - release: trusty - - # Apt http proxy setting(s) - apt_http_proxy: - - apt_sources: - - ppa:maas/stable - - ppa:juju/stable - - boot_source: - url: http://maas.ubuntu.com/images/ephemeral-v2/daily/ - keyring_filename: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg - exclusive: true - selections: - 1: - release: trusty - os: ubuntu - arches: amd64 - subarches: "*" - labels: daily - 2: - release: xenial - os: ubuntu - arches: amd64 - subarches: "*" - labels: daily - - # Virsh power settings - # Specifies the uri and keys to use for virsh power control of the - # juju virtual machine. If the uri is omitted, the value for the - # --remote is used. If no power settings are desired, then do not - # supply the virsh block. - virsh: - rsa_priv_key: /home/ubuntu/.ssh/id_rsa - rsa_pub_key: /home/ubuntu/.ssh/id_rsa.pub - uri: qemu+ssh://ubuntu@172.16.50.51/system - - # Defines the IP Address that the configuration script will use to - # to access the MAAS controller via SSH. - ip_address: 172.16.50.50 - - # This section allows the user to set a series of options on the - # MAAS server itself. The list of config options can be found in - # the upstream MAAS documentation: - # - http://maas.ubuntu.com/docs/api.html#maas-server - settings: - main_archive: http://us.archive.ubuntu.com/ubuntu - upstream_dns: 8.8.8.8 - maas_name: juniperpod1 - # kernel_opts: "console=tty0 console=ttyS1,115200n8" - # ntp_server: ntp.ubuntu.com - - # This section is used to define the networking parameters for when - # the node first comes up. It is fed into the meta-data cloud-init - # configuration and is used to configure the networking piece of the - # service. The contents of this section are written directly to the - # /etc/network/interfaces file. - # - # Please note, this is slightly different than the - # node-group-interfaces section below. This will configure the - # machine's networking params, and the node-group-interfaces will - # configure the maas node-group interfaces which is used for - # controlling the dhcp, dns, etc. - network_config: | - auto lo - iface lo inet loopback - - auto eth0 - iface eth0 inet static - address 172.16.50.50 - netmask 255.255.255.0 - network 172.16.50.0 - broadcast 172.16.50.255 - dns-nameservers 8.8.8.8 127.0.0.1 - - auto eth1 - iface eth1 inet static - address 10.10.15.50 - netmask 255.255.240.0 - network 10.10.0.0 - broadcast 10.10.15.255 - gateway 10.10.10.1 - - # The node-group-interfaces section is used to configure the MAAS - # network interfaces. Basic configuration is supported, such as which - # device should be bound, the range of IP addresses, etc. - # Note: this may contain the special identifiers: - # ${maas_net} - the first 3 octets of the ipv4 address - # ${maas_ip} - the ip address of the MAAS controller - node_group_ifaces: - - device: eth0 - ip: 172.16.50.50 - subnet_mask: 255.255.255.0 - broadcast_ip: 172.16.50.255 - router_ip: 172.16.50.50 - static_range: - low: 172.16.50.60 - high: 172.16.50.90 - dynamic_range: - low: 172.16.50.91 - high: 172.16.50.254 - - # Defines the physical nodes which are added to the MAAS cluster - # controller upon startup of the node. - nodes: - - name: 2-R4N4B2-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:16:2a:70" - power: - type: ipmi - address: 10.10.7.92 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - - name: 3-R4N3B1-compute - tags: compute - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:53:57:c2" - power: - type: ipmi - address: 10.10.7.84 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - - name: 4-R4N4B4-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:16:22:9c" - power: - type: ipmi - address: 10.10.7.95 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - - name: 5-R4N3B2-compute - tags: compute - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:53:57:16" - power: - type: ipmi - address: 10.10.7.85 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - - name: 6-R4N4B3-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:16:2a:0a" - power: - type: ipmi - address: 10.10.7.93 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - # Contains the virtual machine parameters for creating the Juju bootstrap - # node virtual machine - juju-bootstrap: - name: bootstrap - interfaces: ['bridge=brAdm,model=virtio', 'bridge=brPublic,model=virtio'] - memory: 4096 - vcpus: 2 - arch: amd64 - pool: default - disk_size: 120G diff --git a/ci/maas/juniper/pod1/environments.yaml b/ci/maas/juniper/pod1/environments.yaml deleted file mode 100644 index d138e53d..00000000 --- a/ci/maas/juniper/pod1/environments.yaml +++ /dev/null @@ -1,40 +0,0 @@ -default: demo-maas - -environments: - - # https://juju.ubuntu.com/docs/config-maas.html - demo-maas: - type: maas - - # maas-server specifies the location of the MAAS server. It must - # specify the base path. - # - maas-server: 'http://10.4.1.2/MAAS' - - # maas-oauth holds the OAuth credentials from MAAS. - # - maas-oauth: 'HyacKVwxBVE9xwmJW7:CVwUpERLN3fDUbkUra:ETW88KVJxDHQA3kqmZgghUQnzanSFwH4' - - # maas-server bootstrap ssh connection options - # - - # bootstrap-timeout time to wait contacting a state server, in seconds. - bootstrap-timeout: 1800 - - # Whether or not to refresh the list of available updates for an - # OS. The default option of true is recommended for use in - # production systems, but disabling this can speed up local - # deployments for development or testing. - # - enable-os-refresh-update: false - - # Whether or not to perform OS upgrades when machines are - # provisioned. The default option of true is recommended for use - # in production systems, but disabling this can speed up local - # deployments for development or testing. - # - enable-os-upgrade: false - - - admin-secret: admin - default-series: trusty diff --git a/ci/maas/sshkeys/DominoKey.pub b/ci/maas/sshkeys/DominoKey.pub deleted file mode 100644 index 0a282b7a..00000000 --- a/ci/maas/sshkeys/DominoKey.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPewJw9ezpriINTdlOqLnBqh68ntIl26F0DhF6KdPZDsPDVFvUZ5HxJV1t3yBqQ5JpvUN3c7KEH+wxkEchfkarTL7ekIvUF+Q/0zjmKtBQitertlcyQSpsc8zuvA2h2YYnJWrkCt+obXoWxN2AQv1efkrr+LQuFr9j79ORdpwB7S2d2yDCwOd0R8xxpEfMbiKwNGWMANDnlNr9CoCYhU1JIE4i9xUrbIoDTtfYqVJBVo4jZb6qx9EKY4Srz2hEoL1h7xOOG2XUVhQ50FI6XK540Q1Xa5VXW1+FQPg9ew7uyG1vR4SwWRBlF4CDiSWxo+qXG/ELgosFoucPsriSnRlF kozat@Kozat-MacBook-Pro.local diff --git a/ci/maas/sshkeys/QtipKey.pub b/ci/maas/sshkeys/QtipKey.pub deleted file mode 100644 index dc93faa0..00000000 --- a/ci/maas/sshkeys/QtipKey.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFWkAL5DwtPJ+0BMKBUcgq8ORdjMcj/wJl4qVVYeUdQDT/oS6pKuHNuk7BJpCLYLfHgSzO+Hv8J+5UyqXXXJKGxfAUPtpXrHRgburwhRJwcgtQVqWbQXHnY2jsikHeWWW5RX6SHxrLrxX04a8xmtD7BbDiJ6HZqVSem8XC15eZvw1C1dbqmbZqWBRWLFzhHf/9goucaSP3ekYWVCUPPlDS+D7r2Mc2Ch0Z7AivEJZ5mTamefS80B1ZNBRObvP/W5jPoAh5H9bHrqayZyEVGaYOk/toddJJAQHJIXu/8YSxnUnC0FbTtZ5s2JO/3Big5/IpW5m5NsHCOqVPjHkKkgkT |