GegoXaren

wav2mp4.sh

Feb 18th, 2020 (edited)
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 24.45 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. ######
  4. # FILE NAME: wav2mp4.sh
  5. #
  6. # Changes
  7. #
  8. # 2021-01-31:
  9. #   * Fixed up if statments
  10. #   * Removed eval.
  11. #
  12. ######
  13.  
  14. ARGS=()
  15. ARGS="${@}"
  16.  
  17. __TMP_IMAGE_NAME=__SPEAKER_IMAGE.PNG
  18. __OUT_NAME=
  19. __IN_NAME=
  20.  
  21. __USE_DIFFERENT_IMAGE=false
  22. __OTHER_IMAGE_NAME=
  23.  
  24. __help () {
  25.   echo "wav2mp4.sh --- Convert audio to a video for upload. "
  26.   echo " "
  27.   echo "-i <audio.wav>        The input audio."
  28.   echo " "
  29.   echo "-o <video.mp4>        The output for the video."
  30.   echo " "
  31.   echo "--image <image.png>   Image to use. If non is provided a standard image"
  32.   echo "                      will be used."
  33.   echo " "
  34.   echo ""
  35.   exit
  36. }
  37.  
  38. __do_cleanup () {
  39.   rm $__TMP_IMAGE_NAME
  40. }
  41.  
  42. ___do_convertion () {
  43.   ffmpeg -loop 1\
  44.          -i "$__TMP_IMAGE_NAME"\
  45.          -i "$__IN_NAME"\
  46.          -c:v libx264 -tune stillimage\
  47.          -c:a aac -b:a 256k -pix_fmt yuv420p\
  48.          -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" -shortest\
  49.          "$__OUT_NAME"
  50. }
  51.  
  52.  
  53. __parse_args() {
  54.   if [[ -z "$1" ]]
  55.   then
  56.     echo "Try --help or -h."
  57.     exit 1
  58.   fi
  59.  
  60.  
  61.   while [[ $# -gt 0 ]]
  62.   do
  63.    
  64.     case "${1}" in
  65.       -i)
  66.       __IN_NAME="$2"
  67.       shift
  68.       shift
  69.       ;;
  70.       -o)
  71.       __OUT_NAME="$2"
  72.       shift
  73.       shift
  74.       ;;
  75.       --image)
  76.       __USE_DIFFERENT_IMAGE=true
  77.       __OTHER_IMAGE_NAME="$2"
  78.       shift
  79.       shift
  80.       ;;
  81.       -h|--help)
  82.       __help
  83.       exit
  84.       shift
  85.       ;;
  86.       *)
  87.       __help
  88.       exit 1
  89.       shift
  90.       ;;
  91.       --)
  92.       shift
  93.       break
  94.       ;;
  95.     esac
  96.   done
  97. }
  98.  
  99.  
  100. __write_image () {
  101.   __IMAGE_BASE64="iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAQAAABh3xcBAAAZEHpUWHRSYXcgcHJvZmlsZSB0eXBl
  102. IGV4aWYAAHja1ZtZdhy3GYXfsYosAfOwHIznZAdZfr6LalEURdmmnDyYdNRks7oK+Ic7AIjZ//n3
  103. Mf/iKxebTUyl5paz5Su22Hznh2qfr+fV2Xj/vV8nvn5yP75v3v7geQ28hucPeT+vrvN++v6BEl/v
  104. jx/fN2U+P/j6utHrD9z4fgU9WT+v1yBfNwr+ed+9fjft9YGe303n9T8/36bx3PvD77EQjJW4X/DG
  105. 7+CCvf/650mBUYQWut7nXx+aLuS3zu/PO/nn+JnXOD4N4NtPH+Jnv40sfA/Hc6Nv08of4vR636UP
  106. 74e3x/gfRuT825P9+xG55pp9//Uufueses5+ZtcjddRifk3q21TuT1w4CGe4H8t8U3Sku/Kq78Z3
  107. td1OsraY6jB28EtznsgeF91y3R237+t0kyFGv33h1ftJxPVeDcU3P29Sor7d8cWQnxUqmZhkLvC2
  108. fxuLu89teh4Pqzx5Oa70jpuR4x+/zcc3fvf7hxudozJ3zta3WDEur/piGMqc/uUqEuLOK6bpxteZ
  109. 58V+/FJiAxlMN8yVCXY7nluM5L7XVrh5DjYZLo326RdX1usGhIhnJwbjAhmw2YXksrPF++Iccazk
  110. pzNyH6IfZMAlk/xilD6GkElO9Xo2nynuXuuTf94GXkhECjkUUkMDkawYU8z0W6WEukkhxZRSTiXV
  111. 1FLPIceccs4lC6d6CSWWVHIppZZWeg011lRzLbXWVnvzLQBjybTcSquttd55aI+de3Wu77wx/Agj
  112. jjTyKKOONvqkfGacaeZZZp1t9uVXWECAWXmVVVdbfbtNKe2408677Lrb7odaO+HEk04+5dTTTn/L
  113. 2iurP2btY+b+OGvulTV/E6Xryves8XYp327hBCdJOSNjPjoyXpQBCtorZ7a6GL0yp5zZ5oMJIXlG
  114. mZSc5ZQxMhi38+m4t9x9z9wv82aI7lfz5j/LnFHq/heZM0rdu8z9nLdPsrb6hdtwE6QuJKYgZKD9
  115. TtndV/6DTn7v1di/eYN/+o0OVVXbOq5se+yubcS8gIzYTsqbymnHbC4apZ+VgOpu99kNWbFr6f3U
  116. XsQRO6daUlzZK9N8MsYS4uwdQkqzpJnSGcaPM2jfvpLffeZN0bdRyhmDcvG2pHAqQ6pl7863P/yb
  117. Rh+9tZ0bo/Hz+FgXMJLD7nGVQhnUwd1LAQeOm6muzhg2dZdca3l1Kpu6nrPkTqcMZydD29Qx9WP6
  118. 2IpFl7D5+OqjxFeoKIcWUGRzFx5wJves82wfW5n+5BFiy+bQWjTMyTWlUE9Yq0W15e5dpasonIGg
  119. As+bTSe1tcIgrGtFFyCetaG56qqpTNr3yeOCGpsp9rx2pEP5zfk11iS2xccBppCfcFI/JGI7dQwx
  120. c4MxjGw2OBFS4aEu7wwn5+NWB60WfXMiodZwSonJxSSB9otX82cXRCFGIsICv0zEFhAx9FWGHQRn
  121. 81XqRkSUmuKYqIK6+IgNo4V0QgZW16lcD5Tn4PeFw9ny6WGXzPVlrTKEBt2XUUx5leAYx4WCjhgU
  122. RZEmqSmXNVydPR6wyW0iDCYykL242u8ZTxUQtwkjGZ9fnbDWsamcCeagas4Ztq1Rzq4rgWU//RkS
  123. eHeBdDZt83MhVepwZws45ub1Y67bVQ/x3jqeLqVoqWNC5kellp2hpujLM/Yc0kXMNK9D9REOgLJQ
  124. J7NEcE/TX3tRlMRgh+lGSbn13Q43pWWQfqB+dT6MGrisN57lqdvu+YkyhqMBT8pfuN1J1R6J8fal
  125. QRLklmCT4qfJCL9U3d627hHnglyo5JVG3GC95Q4QCveokRprGAcuDFFEu1KeZGRMOmVt45ifpTL7
  126. yXadMcEaxGSDJzodf7w72QdSZE/uo+3QaW26pnqVhzo2uFyqvXi0uq5dsFkh670CRouege54MAVX
  127. EyDTQJMRA5CTNoqUMaYVs1u05VTPmDZzaSgoewhS6qpFxZ8Y9nJgyRE8PkwYOVMHwDL/+Vng1uFW
  128. QGjD++S3mA6luUH9p9sVX3iFiYHWvdvYbi5MDUMcymAkJRkwGIHEhkU6SvIUte1dguc4CDNsO0Hb
  129. Tj4YOOU1a82L/t7m+Jwxf+EAnZU0p0ioD10CEIMQw8KwybaQp28NdB+km5pUQYDQbW+A6azHixCX
  130. TXbmTf4srmBMadg8egAMEQlg2Oa2uIEI7AY+S1wA3vSuI4x+AOwpevWPp7Mr0L+nL/l2FOFnWP3b
  131. JR8v0J+B4r2M+8BjFNAAdxudyLBP3EoFvYcOUmkXGqFVu0PBO0Jv7gA8xYVqwGS3ITUgtKxM1iPy
  132. H92SyUVdI09LFfQEjFJvDpkNT4WdaSKqF/YA8PZq/RhQbJEUYCs0x/UEEGTOtDo9MzXslamWVuqZ
  133. IAbwCAgd+GkQ2HSgVoBk72kQXTAbGI95OmEWxNVhHowHpdkbFkB3xAgsiGsIwgPop+jVyMBxXiNN
  134. aMRQEHBqdCXRX+Dq8bPpMgTUOguxz09lpgyswbf6aAFk2/Z29baaRYPyOBCScWPbiAuNN4Gm00Lo
  135. hGsRN98hw3Tol8Oj0w4X5dZmAhnOBPBwg0XMqYJ0TJN7kqAM8It72pmO0aEHmRCDxbkgGqJs5Yqb
  136. UmAAeP5N/SFpK5QQlzMiCh7HE4Yn1QwnT8CH+gwMiPyBFPDlwABR8vCG09oFRIHCFgAtCYKCqnWM
  137. hR8GlqmgZ1HQlBfIc+F9x0vWrr1jO4RMmbEiAvwdDTnK/G6WzwibWggIAqgAxnlSe6EUtCt5tODN
  138. VhUMJ8RVftFc/BD1MUwwcVfjGXJE5TGTnqAykBBdc5Mr/MV5n07J0MCkA4ACpZjX8F2SadEpDigi
  139. lwSbKlrPR61XdgCS37hNzeY3bjOq7BfXEZoFdtuV0zAOXTg3dqKLECMKUVwG5U1EIbUCw7oTxLF+
  140. kiyCucA2dA03Ig5Pja/sTIIG10LLoYHSggLpfiAp+DbHxIggDdGGO4JdiXsylUozkH6ozdPNSNI5
  141. 4BMzjtYxkiua+p5AMU38qcBJY1CNGkFjjDPgA3HfsAHvUJAd4kzfrnm7wtrXNaDiuKxUF62AJrSI
  142. P2SRfqTgLU7dY618NA3AABvqowgsUiltR4lEEIDpciVYUBkk0M87GzGCyJ3ypo3RXmDzcWOzii23
  143. wyAX+o76n0g+JKrrdJ87AOra2au5brVTx8QRCVBcQiIiTyhiGb+ISxWnV4ukrsVTnAgGhDZdDwpQ
  144. 88JIB34kVMFmwqeN4CI2EfSh3wbSCWI11MruYU3G2B/fdtqks1GEfmacKfocRT18HQ5CRKzlDW+A
  145. exLyN/k4dLyIZMtIBzLMgOgg1ocUQ0SeGfJyqiKtr1Ur3bUDUCz4csoB0ytFiFXMhFD5EDKD8mCS
  146. wH2XXkDI2HjEEAde7DtURhBWdQC2lDkA1wn+GI1m384a/hoFRHAvhgjMqigTpLm7AML0CdHMDBNh
  147. QzmCT5K2IDAtELemFvnoiQh2CnLTd7QhLLs7JTm4HmKSJAHtXRAFe2QZGZZWIkhoGD7fjkclOxTZ
  148. WubSPBmTe0rV5uSDFo8otCvL0H8MF7fWTsSxoTSptByqJgRVptK4TSA9BqiicyTGMCh2CfGQHiuF
  149. WCkFLwk4B8pw9xzCRIgRVIRUvfWuoGFcQq/JIAKTBHgGU8C6xPzpxw5iY/dDQqA2jBXuBu3Z0doK
  150. skX5T+ibtGR69iDyyRqyuOOnYL7Sw23Op0VQCtDlkWJAW2KEkpNl0Do61STNDtVf7Y65DFA2MhYP
  151. a9ufupv0h6BgftHx7yDhc9h4AwUYSDRqjsXg3UrGRQIQCdGhRRoHdTS0DC2FR76ijux3qXGaMowF
  152. eaUns5iRCtSORRngqpjwIafocrQxehtFkPkAfIRKgb+n1pnoAWJJkxWpQnjTTwUIrDSrYlytc4Me
  153. cijoCuh3Zs5oVdogkEP4ogydZPKeZL5quRRfbzdQruZ3rRxjUS0CeuoZoDiIbnIzidMh9QISx6Ud
  154. teJAsjCxOCSVJ9K15GvJxOqJ04wHbBA9ETd7ANHmtKC1uFGddJrXcl1raNt59VlWO1HREugMFPW3
  155. m/XbXAXhAFsmjNT2PL/O1c4Y9HGwl/PQtBGYgpiJ+EJiApt5tJXpd1BkC0UNKEdtghdIuNkSuhxd
  156. BOAg5nEJ8RJ9pwmjjTwDvQBo48xB6ecRdmgxIKGzsXLPAOv2C0BtGl/3GeDpElSNeaAj+Fx0qK7Z
  157. ySiqoUWtkNGJcCDlPExALVLkUK8ogUgsehKLhNDDH2ou1GTmbSCidPxjgG60VrAYKD5xHnwi9WfO
  158. lrnRg/AEEn5lY+lQY02Vs3ykeTqKrTJSXNRBEwl0L/cX6Ot+EnI1Ev4TmUpzn1MPopPXcYqEDjcu
  159. cnpUQ6dDJI7UKfsAgQcCkLx3L0ttPlmk+ZPXzw2H+ZrjcG9GI8looArJeve7JdNnRzIzJRQt+Zih
  160. 48m1RYPHxXKp0w8SCQeKw5AeBdOQJVMoWrd1Gd2eIBVTxLvo5Box623c9bWlskraRAF2s9Zu6Gus
  161. tEUzU2RlaBctunrASEEiNZ7MVb3Y5I2kWANBL7kbtZSLZ0V6iz4oigbM8JHq0STrPm/SoslSeRk1
  162. Z5dB0FetR6PeXIM79tAGkMJDybrDw8B0cQA4Y5EDUHoGpYRpw7fuJ1AeQAfDtTgYL+JfosGk9V+E
  163. NM4GGQJpxQRNMB8q3+q2YmhNZiEFPFiRC81zLq+RgCCsozho96F1EeCLBvEaH0rCow+AXszrAQuQ
  164. 8ZDCgJxIWm13jbBWwB+EDb3Qpw1qJZFyCtoVLRUF5VwRuMKvuEQ7OjpAS1CD1E2GBalSrzQteIQv
  165. P1rEg+DB0ogl8aQDN35vCgU+DNW+MdQoHxlqiaHMQ1EChPVaYLo09WWWMl/Trr+Wruajdn0WLJ7A
  166. ByQ8IQADcU6Uj7B2NUXbyeMdia4DJuFyk0GKYG3xzqPWjgrBdcNNZ+ORcaXpiTomgFTNiwyrYuEZ
  167. Rsz9FW0iMoNJC3CAsmoLHTwFsWlv6WAuClpA5aN0/J6xa0UPpYgDCHk3xJWzoxFOhoepAZaka0ig
  168. sLDKujI2Gf4GPUCuk0lZveOoLGxy00pNWbP1DI6A6zBEp47cBfEop2nRMZhZmXZ7iwHNlWBNsFWu
  169. GbhQXWmnB0zr3cksyiId7ZXi+7WKIYlOb7cnNxGGdkW9cgvD5XzVo9Qgggwx770qKYabS9n47Y1W
  170. RSAxykY4YGlF/kNGjNW1FGDlwhJa29HP2DdMvdR0selDnZpfFOonUuqPa9T8dSn1x0rK/AUpxe3Q
  171. CgfWKQtvdQbSCqGOqoG5F+pZ/tBYyovU0NJWzHOB3YcL7AVmBWn8EAXCZD45cC3LseSjJTiKw2mV
  172. HUKLBkFDM1BT2g2oKPRENEMhBVqF6aL1hpiJbvp+mKGWjLwQAg5O46I/wnqQfjqqa+XeaaFzpUZp
  173. lpiY66byzkpxNh7PpEhSevw4+MQ1FYoQrKcoOWZ68QiWG0CQSot+Z7VbPxThwDrw6EpbztRrW1IK
  174. NfeeROWeR7aSN+VHHeHVmcizEoLWgZKkbYq8qCgdZiEWVssjgCs8ELsMwF2TK9oZ8kfjrd6ov1EG
  175. 2Din3nWTP2aomfLREg166JQYrF8oS63zSIsOwIUU9EssWDK3sOse3B92wGp8hjaJed5zDHgYjCco
  176. fP2WPB6RjEg5hC0SjOCHJH8qBZqmkxXVgzwPWvaaaxLsPU9iRp6eaxJoiDual2dXJ7Vz2xwJtLt2
  177. gwggbG5wYTBvhNJAJ1sthSph1DSlhFjGxlas4saIHYGjTfvqUOQy/QPlZa0TrW1SWzVj57PmDsDu
  178. GOczJ//wh7+JYKQ0oQvaeKNenOsUECaBkIC3VTq7FUvzH4ooyh7CyGANCjqHLBpr2D3p/HMNQSTQ
  179. OVZ0Nxb5MRBz8dQ4DOJ2T0Fq0nZuaeA9enYv7aDNqPNIFAFoC9FrhRkjBmiIZauQXYPSxu1BjZwH
  180. vHT3UJPufrX1Zxe/XfvuXtY+F5iXlLri8ny830+Xf7z6+x3Np0/8wuiS5ArJMuBj71oHREfHDk4E
  181. qg6tpHJHm99nC02Q/VrduusxbvyMgebvEfV3njYvP1m1foJ+AKRw4gIzfkUMQWdUoDaJBGeJCsnk
  182. MBQo+UyLDuRieadptFphkWbo2agVkblwjlo2jmIEmq/SIFqC9Txy06xd3QUNSy6nJbduKwE08APs
  183. CTgOv6CIxWMwQE3mTJxVIMMEXoEGYek2ItJByyPTKECJ7Ay152bwX1oIAGy2CjM8qZoeNUD5o9oG
  184. /lhbGqGChpR8BXaoShqBcUXE5SphNqBWO4HP7nUeGQijK9AjLZPqoPV6eqUSPR2bwPxKA6agpd9w
  185. tFzusqSugC1v8WXAKKxtg/gFvXtzJ58UfEFTCPEbxYIhrJWAtKEggaS4VzleCBy/Ro3EmSeW0IcF
  186. LE/pPzwBaN0bBm35F6dpHxFHWfDJHuXkPOztc9YONU81qmLQiPiMLtMukartae+ddnxp1CLS61pb
  187. 0hkRrYqNS0nAjzQyaihEWIToE6SaG7VcgzaNvVZ5pjagbdC2bAv0vVYbloJTg1Z68UAJH+0j9nQI
  188. L4iR7FCySCBm8HQZYUQV5yiT4eyOI+FJEPqNKQM2oJkWz05DADpsDpPoh6lR/8QNotWiVqPzKurf
  189. 5qalJ9y90A55HhnV3L2DmmVsIrEx91pLwUIkTFE1WWdj6KUmGWrdeKTrhcpCCzN7p7MvJKAKVphE
  190. XhKRE6laKMQ27pmDCUEeLRTe8KF5/4IV7QPMlgrTHitaAXu3xP1oDnK0V/O+2RzDbY2wdgeMFTKP
  191. AoV7agql0bk0KHoMa6r1BOeW5oncpNfiiVpcQTeT2W03vcLgaXVMmRYp0ZraFkNmVN/lVe9yLq0r
  192. YsOgyQYD9kYoQNNTPtEuT9w8/rXpMJI94D5qfmh3sAy5c7fD/29p7LVJar7tljKKGGv22tIriaJD
  193. QuXbAN0+u6Mw6COXw5jcAEw+9G5D4M3ba/BvsDQehYOIRq/RDe2g8Aqgoc1mQkG7DXqOjs8JpdOG
  194. qw//znHaIUvTGbKiYwuvPTUPYWi1SuvioTycPQA0V6Z8u/ahO9jhpLwJ7QpVhyYaDh+bhb7j4cSX
  195. saCktACf0U6lb/wPtJ1ThXFyWtrZA6NQEBNnSexpn3Yk9ClqI+EUJDNcxL0vbk4EGUhFMJQWdJIy
  196. MGPUIN6YQn/24CQTVelSJUFoYAW1gCoBBeN39zrnUvF6tFvHgCxw36867+oesyS0RLhTyaBLmIi1
  197. GbSfUYq5een3RAheZF5PnbRUOIBSHEUfQQcYwUt056TpdDKC4SNQCjErXqsvbXaz65i24e9AUlCj
  198. 04YS19TjxO+TP+6BW7sb4MzOCvFrR8Jp4epoVW9eBWVgAVpF+8XF1qAFBp1HGg70IDI8s03tuOtw
  199. 2daJZSequMegdZxvahfsnvIwXz6MFSbe6emweheEjhpsGSErLXo7DC8CaPcW1cHwEQzCnAhF9s1b
  200. WIOnByxDjFn9uzGYUZyjLWYzKOiuozS4YzDT65xScGN3LXNow0s1JahAI0J+DiJfbhxlTweHWwYZ
  201. wNhqpDEBVHgXMgKx8rmnlKZdw1+xCHhITulYCY/OF20/US/mq/Llh5Z/dbzbcP89IyLlz+AXxJR1
  202. DIUQBq1WVZ0dc40Aw/szw7wHT4/sd/TyoCeA/oiVrmmbs2rdrcFFdJYEBd3sEEvyVVUrOxDx3ZeO
  203. Z2qhKC+tjeuEQNLGLr5bxs5vA9XL0AStQV+0oWbhgA2xjZXusR+YPgCNYmF8kLYqY9aW9pqB50KQ
  204. NMs0w5fstA+pRqYMbqVQ5toXwy8g1sBapwW4ohX53SLEEDwV3Ry4Tq1qXRhVq2WKo+VMuoIHMfEV
  205. 6YCEfVOzYIRrU7dw40IP9TLAnBv0rhNNS6AOfW7j7ZVq2o7T6TuM4eDpCIUl6KA1rJwVpmZLWGrz
  206. Hk2rhW44cmmtcHVt/EW6fwk2UMpJewEyrMBH1ErdUQPC+X5vpBz8DKTuBLE8Sx9Vx2t19uQgLraZ
  207. 7nfO1XyoowkeVQLr1qaRAphOA3SUMmHCH0anbeITHqPlpekggwwpa1sB7AN5gFVtYG8HQabOhHVM
  208. p8B+iP0eLBOISYcloBbis9BZ2F1yH+VkURUN9gRQG6F2VBN1iIWoMgizKyPxHppyJWVKz0dgW5pY
  209. C+DPVkH4TqCwU60BPa2zEDEPo+N1S+fCdLgyjiyo1+mxogMqaWohoOtMbb/7jcLYidZECqUFfT67
  210. 5Kg9a3QqEuW9coUwkKIRzYdNbzqAjlYSaeIKihc0rl+u5xxvIIxidc5TSt4naqAhptQyOoqoXesa
  211. AEY6HnoG9Lx4WFtbxK6Xjtw6qF/oqKP6gAmfh+s4T55wd0VUyw2zgXdmGhttbHVCbDqdi3qEd/Nj
  212. POcVEmhuxBxM0+rUKF1/dKgKCTmQ/rG0ivtB2w8djXRaTCjoxFNdURND/EDfwciBOIbIolHnPto4
  213. QUHNDpc/ev90ujtomZkCszqIqWV7INVJT2vxBvrdTcdBczawuBoQa9Cf/3QeML/+PyE9/eWtDvO1
  214. PZF/7o2OlrPg8f8CyqsjP0CD3mIAAAEiaUNDUElDQyBwcm9maWxlAAB4nJ2QsUrDUBSGv1TRUnSy
  215. OIhCBteCi5lcqkIQLMRYweqUJikWkxiSlOIb+Cb6MB0EwRfwDRSc/W90cDCLFw7/x+Gc/7/3QstO
  216. wrRc3oM0qwrX748uR1f26hsddugC7SAs877nndJ4Pl+xjL70jFfz3J9nJYrLULpQZWFeVGAdiJ15
  217. lRtW0b0d+kfiB7EdpVkkfhLvRmlk2Oz6aTILfzzNbdbi7OLc9FXbuJwwwMNmzIwpCRU9aabOMQ77
  218. UpeCgHtKQmlCrN5cMxU3olJOLoeioUi3acjbqvM8pYzlMZWXSbgjlafJw/zv99rHWb1pbS7yoAjq
  219. 1pKqNZnA+yOsj2DjGTrXDVnt329rmHHqmX++8QurQ1BGua8mmQAAAAJiS0dEAP7wiPwpAAAACXBI
  220. WXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4wodFAAbJY2WLwAAIABJREFUeNrtnXm8jmX+xz/H1gnH
  221. LnIiaWQZTUJSI9M6RgyjbSpUslcyIpEJRRNKpJqGoZqiftEylEq2fqU6oyijrD87ydKxHMuxnfP7
  222. w3iZFs7zXN/P/dzX89yf95/1XN/7ei7P+9z3fS3fb1pePoQQKU4hDYEQEl0IIdGFEBJdCCHRhRAS
  223. XQgh0YUQEl0IIdGFkOhCCIkuhJDoQgiJLoSQ6EIIiS6EkOhCCIkuhEQXQkh0IYREF0JIdCGERBdC
  224. SHQhhEQXQkh0ISS6EEKiCyEkuhBCogshJLoQQqILISS6EEKiCyEkuhASXQgh0YUQEl0IIdGFEBJd
  225. CCHRhRASXQgh0YWQ6EIIiS6EkOhCCIkuhJDoQgiJLoSQ6EIIiS6ERBdCSHQhhEQXQkh0IYREF0JI
  226. dCGERBdCSHQhhEQXQqILISS6EEKiCyEkuhBCogshJLoQQqILISS6EBJdCCHRhRASXQgh0YUQEl0I
  227. IdGFEBJdCHEKimgIok4uVmM1NmA99iIdVVEVv8C5KKWBkegiVViHd/E3bP7Jf0/HXWiDunrg+xFH
  228. sRN7cBCFkYEyOD2Jep6Wl69/vmiyA89jxCk/0QG9cI4GCgCwC19iPqb+4I/izbgCjXA20iS68JWF
  229. 6IwNMXxuLP4Y+ce+bXgLjyHnJP/3DtyOX0l04eMD6Cv4U8yf7ofeKBbhsZqBPsgu4FN90R1lJbrw
  230. iVyMLeCR/cf8CQMielffg5F4LqZPNsDTqC3RhT/vmkPwctytRqBzBMcqG30xLeZPl8MUXCjRhQ98
  231. i96Y7dTyAzSM2FjtRy+8GVeLDMxELU+/jdZPIsQy3OioOdAf+yM1Vvl4Ok7NgRx0ww6JLsJlPlpg
  232. uXPrRZgTqdH6DCMdWi3Bozgk0UV496e30OakC0SxMdrTn3AQ5GKoY8uXMFmii3A4hGcJk2mLsTQy
  233. I/YRFji37YssiS4Sz14MxWBKpIURGbE8TDK174pNEl0klm3oib+SYr0fkTHbgBmm9pvxEA5IdJE4
  234. 1uJ2TKdFm+vdzzcYlpkjTMc45Et0kRi+RBvDu+bPkROJcVtOiDHUs1UKiZ6i5OM9XP0zB1BtHIzE
  235. 2C2hROmMNRJdBMtRvIz2gcSNAhxBc9DHoycgiZ6C5OIJ9NYwOLONFOcjTJDoIih24QGnXV3iOLxk
  236. G8PwqUQXQbAZXYyrwIJ53PQ+bJfogs0yXI+5GgYjdYixVmG0FzMbEj2FyEILrNIwmKlLjTYOMyW6
  237. YJGHN9AyIuvcQcM+U34X1kt0weAQ/oquGgYS5XEvNV4OBiFXogsre/Ew6diKOMZ15HjvYIpEFza2
  238. oSf+pmGgUg+dyBF742uJLtxZg3bEYyviGGm4FxnkmA9gn0QXbixEKyzSMATAWfSnpCz8j0QX8ZOP
  239. 6fgttmogAqI5HiJH7IcVEl3Ex2GMR0cNQ6CP713RkhxzaGjn/yR6UrIPj+JBDUPAFMdjyKRGfA/v
  240. SHQRKztwH57WMCSATFoaruP0wUaJLmJhPW7H6xqGBNE0zjp1BZGDJ0LZ+y7Rk4yv8Acv0wmnLreh
  241. AzXeJMyT6OLUzEHLmKqaCx7FMJB8zOVeWmoLiZ6CHMUk3BT6nukoUhFjqfG2hpAjVqInCbkYjV4a
  242. hpC4EGOo8cbgC4kufspuDMBjGoYQuYl80GVYgp/NJHoS8C264iUNQ6ichsEoR4w3P8HpKCS69yzH
  243. H52rmgseZ5Hf1AckNJucRPecLPwuQlVM/aY5ehKjbcXLEl0Ax6qaKz2UPxRCT2qG2EexUqKLw/gb
  244. oaq5YFIeo6jxEpchVqJ7yj4MxZ81DN7RBA8To01JWIGHtLx8/eP5xw70x1se9mshqifBC896rMA3
  245. WIl/YQMa4XzUQW3Uoc2Z70U7zKf1tgH+iRISPZqsxV3kcsdREf0APsHfT7JGcTduQl3KI+xiXEns
  246. 8zO4RaJHkS9xO73ccRREz0cWhhSw46wzeuIsyrv1MFq/M5CFynpHjxpzAqhqHgX2YRRaFbixdAKa
  247. YjZhn/mdxGMuOXgtAeMj0T3iKF7CTRoGB3ajb4xbhHPwR4w3z3WXpm5IfiQBlVwkujeoqrn7PbFn
  248. XAUSHsSL5rv6pbib+A2Cr3+rd3RP2IUhCd0plTrv6EcwCOPibvUqfmu87lZcQczBm4WauqOnPpvR
  249. JQk095N3HTQHumKd8bqVqJtnJgR8Ql2ie8DX+IOqmjuyzbEgYg4Gmw+KXoObiaJ/I9FTmyy0whoN
  250. gyNvOp8FeAeTjdcugvuJ32Q88iR6qqKq5jZ2Y7ihdT8sNl6/OkbSvstkfCXRUxNVNbey0PhHsi92
  251. G3twI3ES7ekAj7hI9NBQVXM71iMhi/CM8YG5FIbSvs10/EuipxrbVdXczFG8Yo7xJD40RrgcrWnf
  252. 6JnA7ukSPRTW4FZVNTeTTVnHvscYpSjuo32jmfhSoqfSm6WqmnNefhhsxVPGx/fz0Y/2nSYGNPcu
  253. 0RPOHFU1J8EqQTzOfL78dmSQ+jIloAyBEj3Bb5Uv6NgKjSK0SH3wval9ZWIpxskSPdnZh6Hoq2Gg
  254. UZwWaQ0mGiO0QgNSX8ZjtURPZr5XVXMyzIIKI4xFkkrgAVpf3pDoyct63Kaq5mTScSMx2kDj5pvL
  255. 0Iz2R2ezRE9OFquqeSBcTYz1hfHt+DTiMtvbEj0ZmYNrVdU8EC6iRhtofDu+BK1IPRmKHRI9uTiK
  256. yapqHhhnowM13lOmnWlFcA+pH7n4QKInE7kY7XheWsQGt5bNZHxiat+Qtnj6OPZL9GRhNwaqqnnA
  257. /JL4ZgwAQ0xTcoXQg9SPDfhcoicH36IbXtQwBEwa7iKmXgYW401T+/NxJ6knL1OTSyk5ZECsQOcU
  258. LHfsZwGHz/E7YrR0fIZqhvbL8WtSTz5FLd3R/SYLzVXVPGFcRDwTDuTiOdPBktq0e/q7enT3GVU1
  259. Tzwd0ZwYbbwxqRNrJWAYcZFNopNRVfMwOB3DkE6MNwZHDK3r4TpSPz6R6H6iquZhUQNjidFmmJJU
  260. FUInUj+ewSGJ7h870AvPahhCog1188wI0yanRqTCyovMeWolOp216IC3NAyhUQT9aOkfgCxTSY0i
  261. uIvUj9ckul98iTZYoGEIlSoYTYz2iGlC9RLS+fQXsEmi+4OqmvtBK+LB1VWYYWidjj+R+vGZRPcD
  262. VTX3h6LUIkkPmRJM/QY1KL143rQCINFJ5GKUqpp7xLl4ihYr23RPL0n6XSzACokeNrvQn5gWUDC4
  263. njTjDQBDsdPQ+gpSL+ZK9HBRVXMfOR0Diff09w2tz0RPSi9GEfZZSnRnluEmVTX3kvrEl6nHTGUY
  264. 21L6kENYTZfojmShBZZrGDylC21FfTNmGVrXI2W1mybRw0BVzX2nErFu+SPY49y2MDpS+vC8ubaP
  265. RI+bw3hOVc29pzUt+fJmzDO0vpSUfT5LoieWvRiCQRoG70nHAFqskYb8baXQh9KHScbiixI9LlTV
  266. PHm4iHaGbLnpfso5KT8XayR6oliD9qpqnjSkoQst1gRDGuhz0I7Sh4W20VDOuFhZhPaRL3fMyhl3
  267. CJuxCdnIBlAO5XAWMlEsgP6OoE3KzcUFzm3n4QZCD5rhDcN9uYgEjo052s9OIR/LMRcTflK5pho6
  268. 40rURhr1au1pok81iN4QGYQ1mo+wwfBnVo/uMXAUL0pzCivRC00x6GcKVG3AIDRFL6ykXi+Tllf/
  269. OUNRrVKkIh6L9I4eJAcwkjRzGm0OYiIuKaCQ4WRcgok4SLzq9bTiypbNsFdRevCmIdO7RC+AnXgA
  270. T2gYzOxGH/SL6ZP90Me07fSHlMcwUqTHDb2qa3jwP8F7hpwHEv2UrEd7YzFdAQC70BOvxvzpV9ET
  271. u2jXboFMSpxsfOzctigpM/CXEj0IVNWcQy6GxHmyewaG0CrQlqJtnXnBsMjGqd7ivrhLWV47jNVY
  272. heVYnWLplBap3PGPcFtee94p78vjtIonO9EY2ZRIHzvXectHF0rq0G9Q2amdeXltB2bjWZUfEidl
  273. hWN6p/vRhFQ+sSweIh1c/cC5R2m4iSL6V4515kyP7rl4HY1wtzQXJyUPzzm3HUabf7+WdGx1jGFC
  274. jpMVdnbi39G3oBe66bCmOCUrDTl4ZuJtUi8qkOrn5BiqllfAbZR5gpzEir4M1+J1/Y5FQHegY/Qi
  275. ZTUHfk+KM9mwls0p7vx/iRR9OVobdgqJqHAYE03tczHGeDzzOJXQnxJnOlY7t72A0oMvEyf6VnQh
  276. zWKK1Gaj+XbwAv5F6ktrUpwPnVtWplRZneb0TOEg+lGM0vSbiIlvCTGGYB+lL+fhZkqcCYYpQsYf
  277. m/nYkhjRPzI+jonosJ0Q4wu8R+lLGtpT4qwyJAW9kNKD5YkQPZeYdk+kOnspUfriO0qchmhMifOR
  278. c8tMtCBcPysRoi9SzVARx12UQQ5eocQpRipm/BwOOI8H4y19ksPLQ9yiv6Nfr4iZEqQ4j2ItJU5T
  279. pBOibMXXzm0bUK6/JmjR9+If+vWKmKlIi/R3MHKelSUVM3av0FOVssj2ddCib9AxDxEHVWiRxmEZ
  280. JQ5n08pzzjtCC1MquM8JWvQt+u2KuO5f1YiqM7bO1MGllFmDJaE+vE+Ne5ozTtG1TUbEQ1FabnVg
  281. kkGuExQh9egT55bnUa6/IVjR9+u3K+LiamIszns6JwXEeOeX2LKURKOrghX9qH65Is77VwdarFcp
  282. 7+kVKVXLs+NWjfvHb2GwogsR7w+sOzEaZ82nBSWKe+WUeoSrv47DEl34RG08Qos1gZL3vR4lBfRr
  283. zpOD1QnpKrfGmbZNoovA6UA6oAkAbxJilKDskFvgfDLvNNxKuP4aiS78ohQttzrwOGXf++WUvix2
  284. bsnYc/9viS58owlplzkAfECIUYeyvu9eu+VcwtVnxLUGIdFFAiiE7pRd5gDwBCFPYTq6EXoyxTlV
  285. ZCbhD80ibJPowjd45Q4341NClKaUvrimlSqCPxCuvk6iC/+4DueTIr1A2Axbk/Lw7r5Xr6FEF6lJ
  286. SQwiRZqFFeYYp1GSL7/r3PIXhKt/LdGFj1yGa0iRGBNylxBizHZOlsV4nngnjp2qEl0kjKKk0+DA
  287. SEK1VU65J9e39OK4xXztDXEcMpPoIoFcREmlBOQSEpqVopxj+8q5JeNwzRaJLnykMHqQIk0lxLiK
  288. EGOa88RgLcLV10t04ScXoA0lzpvYaI7BOFyyINS39BUSXfh6T+9GimSv4FIFTQj9cN3xXp4wSzBP
  289. ogtfaYTmlDgvm7MjpFFKL65yvrr9XHoW9kh04es9vSslznxDucPj1Kc8vLvyS8LVt0h04SsXozYl
  290. zhfmCIzDJVOdk0qdTbj6JokufOV09KLEmWzeCluRsIUnN84UEP89R2Bno0QX/nIlJUqWuSgzJ63U
  291. Osd2ZxAy3ayW6MJfKqAvJc5X5giMJbZvHNsVRSvCHzuJLjymJSXKdHMExnvyHOeW9snARTFWj5fo
  292. IhTqUiqmTMMOY4TyaGTuxXzn8tA1CGOQLdGFvxTBnZQ41gOraZRqbNsc2zGm47ZLdOEzjSlR7Ets
  293. jNVs13l3RtrpbRJd+Ewm2hGivIojxgjnEHqx3rFdaUKG940SXfhNa0KMVebDLZmEXix1bFcIV5iv
  294. vVKiC7+5kBLFWrulOKHo4awQD6t+HFPaZ4kuQqM8pQDjl+YI9kSNa5wLilclPNPkSHThN4wZ7zfM
  295. p9gYb+lbHdtVJlx7l0QXfvMrQow1+NaDt3TXBbaKhGvvlujCb6pQ8sKuMbavROjDFsd25SS6iAKt
  296. CDGWGduXIZSWcJ37zyAc2d0p0UUUHt6tJZrSCNVVlzhf275xaLtEF75zLqH44owYD3acnDrmPszD
  297. YceW9iSR30l04TslcCshinU6zr7nPNe5pIR9hmC9RBf+czEhhnV3XAVCH1xX0u3TcQskuvAfRv44
  298. a5pIxty364HZsuYrb8ABiS58h5H6YamxfdkQRS9NuHaORBe+k0FYYptp3B1XjJDF7nvHdqUkuogG
  299. 9gLGW2NaSz4VF5j74Lo3LoMwgnskuvCf8wgxthnb218gNjm2K0FQfb9EF/7DKDe41djevuf8a8d2
  300. hdDUfO19El34TyUPRC9j7sESHArtaUKiiyQgg7AN1LplhjH37ZoLtqxEF9HAnvp5lbF9Roii2+fd
  301. NesukoKa5gifxJRQ6eSUDFF0+x+ZXRJdJAP2veabY0qodHJKEL7Ffsd29j8yOyW6SAYYW1BtJ9iK
  302. Eiq2uJZPLm6+8naJLpIBxhbUvcb29vJI+0MTfb1EF8lAGUKMHGP78qGJfrr5yosLTDct0YUHlCBs
  303. mtljbJ+IRa6gRAcOSnSRDNgLCO82trfPfeeEKPoRiS6SgaqhaXackqH1oBhh/I5KdJEM2AsZWCfj
  304. 7AtsrsmkChPGT+/oIikokwKi7wtRdN3RRVJgX2KyTsadZu7BQYkuxKmxT0hZJ+MKhyY6Q0I9uouI
  305. iL4ndNFzQ7uy7ugiSbA/OB8IXXTXd/RCEl1EhcIpIPp+iS6Er5rxepAT2pUluoiM6Dmh98A14bPu
  306. 6CIypIV+R7erkO383e2FJvMlukgGjpojlA69B65JLvOc5+tjF1miCy/IM0coGbro5UP77gW/eEh0
  307. kSJ39OKh96BkaFeW6CJJOGKOcHroorv+qdEdXUQG+1tqeuiiny7RhTg1B8wRyiat6Hp0FxI9Zqyz
  308. 7vaXB9dtvIw7umbdRVKwzxzBmgrK/qfG9eVBd3QRGbabI1iX1/aae5Ah0YU4Nd+ZI1gzxOw396BU
  309. iKLr0V0kBWtC04x3R3ftQS5h/HRHF0nAUWSZY1gn43abe1AyRNGLSXThPzmEH7v1jp5t7oHrhhn7
  310. RGQ5iS6SgV2EGNbJuB2hiW7/I1fb/A4vRALI9kD0r0IT3T4NeJZEF8nADkIM2zp6LjaYe+C6jm5/
  311. dC8v0UUysNEcoYFxr/tewrdwvaPnmK9cVqKLZGApQXQbOYRvUSq0a5eW6MJ/8jDLHOMcY/s9hO/h
  312. OktgX9jLkOjCf7Kx2Ryjcuiipzs/un9vvnZxiS7851tCjErG9jvNPWjsnEfW/uJSQqIL/1nrgej2
  313. PzbnObY7jAW6o4sosJwQo6KxvX2v/ZmO7Rjz/bqjC+/Jx0xzjEbm0+ifmftwhmO7xMz3S3QRMlux
  314. 2ByjqbH9XsJ7cjnHdrsluogC6wgxzjO230noQ4UQRS8p0YXvfE2IYV1F/z5E0e3XboyiEl34zixC
  315. jExj++2EPpQNTfS6MXxGootQ2YbZhLdj6+LaenMfqjlvgN1ivnZViS58ZyUhRlsUMUb4t7kPzZzr
  316. wdp3EZwh0YXvfE6IUd/Y/gimm/tQ07HdUcITTXmJLvzmMF4jRKltbL+dsJZ9lmO7nYRrl5Howm/+
  317. D6sIUaob228h9MF1loAx3y/Rhed8QYhxtfNWleNsIvTCdV/cNsK1S0l04TN5mEKIco05AuOpwvWO
  318. zji5V1aiC59Zh08JUX5pjjDXHKGpc9IJ+8Jes5iSaEl0ERqfUqL8wtj+e0LxiMucW9oX9hrG9CmJ
  319. LkLiCJ4nRGluPqC6gdAL18W1w5hnvnYNiS58Zjnh1BrQyhxhNaEXVR3bZROKN5wp0YXPfEiJ8itz
  320. hC8JvXCdituRsGtLdBEKe/AEIUpGjA+up3p4ts/8pzsvrm0kjEF5iS78ZQEls0pn58yrx9lCKAfV
  321. NoZjoj8PY6d/WYkufCUPL1Pi/MaLN/Qmzi3t6w4tCqyjKtFFaKzEO5Q49jX0hYReuM657yOcxY91
  322. jkKiixCYRonS0bz59QjlUE01x3bfEa59tkQXvrIVIylxfmuOsJGQ5rlmqFNxEl14y2xSnPrmCCsI
  323. vWjtXKFlDeHqVSS68BPOwhrQ0flOeoIsQj8ucG65yHzt2Bf2JLpIMLMom06B1uYIBzGZ0A/XlfxD
  324. hAnJ38dcFV6ii4SyF8MpcdIJD+5rCGvo7rllthJ2EjSM+ZMSXSSUOZQ3U+Be56yrJ2Bsfr3JuRgU
  325. o7TkuRJd+Pl+PowUyT7jno83CP240rklo3BFVYkufORd0v28MeqZY2yiHKup69xyJuHqlSW68I9s
  326. PEKK1NV5d/kJllBmCqo7ttyB+earN4vjtUGii4QxFVtJkX5NmS2w0y6GyuQ/zzrC1ZvF8VmJLhLE
  327. OjxIitSTsIK+Cy+G+geHsVXnPIkufCMPz9JiXUeI8W9KT+o4t5xPuHp1iS5843NKhjgAaE44swa8
  328. T4hRLuad5j9mLyXRdTWJLvxiH21ZDejivLf8BNkYR+hJJ5zm2JKxN/C6uFbwJbpIAFNIqZ2BmoY0
  329. DydYROlLuG/o8aWYlugicFajLy1Wb5xOiDKd0hf3NfR5hKvXlujCJw6TTp8DQAahABPwHeUwyy0x
  330. pmX8Kbsp168epOhF9bsVcfK/eJ0Wa4g5pwzASR8FNHduyUgJ2TjOwhVxil5Sv1sRFwcwghYrHS0J
  331. UfIo91NLRnnGDEELpAUpekX9ckWcd89FtFiDKb+/lZRd5pc6V2fJwz8J1z8/zs/HKXoV/XJFXEyn
  332. RUonpJoAOFtfgRudp7c2YwHh+jWCFb2quTKGiBI5mEh8P69M6dEYSm8ucm65jHD1zLhvuXFPxt2u
  333. X6+ImQ20SOUoG1+BzylZZRo453LnFIu+Me5p8bifP67Wr1fEzBZapKHOi1n/TT4ljztwO4o4tjxA
  334. OUxzSdwt4ha9Fjrq9ytiZCcpTg1cS4mzlrTU5747bwWl5lzt4EVPQxf9fkWM7CfFGUzIEAcA71Ki
  335. NDPMVH1GuH5jh0lxh6nDWqS83CL1KUaJcjVlPxywk/TLbec8434I/yBc/3qH6zv1+Bbcpt+wiIEM
  336. SpR+zqfEfsg8ymOzZcZ9FVYRrn+hQxsn0dMxGK30KxYFwlgQ644GlL7kYiwlTgvnooqcyjDALxIl
  337. OlAGY9FOv2NRAGeZI6Sje5ybPU/G55R0kMAtzv05Qtl82wGlEyc6UBpP6F1dFEAlXG6MMNx5q+kP
  338. ycMLpO/kPuO+GosJ17/CqZXhmGoxdEQW2uvXLE5KmvG5rymuJ/XkG1JN9r6G9fwvKD2ol2jRAaAm
  339. xuATDNPGWHFSVdMNrYegOKUX+ZTZ7mNv6K4cxSuE69dwnCEoYr1wGmqjNjphCzZhB3YiL0V+oGvx
  340. V1lK4AwMQX/Htv2d5pd/juWkB/dGhsSU6ylTcbc65oQowhnIYjjbOSOmn+ShPrrKUwI34EUsd2hX
  341. G51ofZhEitPFkHrlE9ITkhtKJXXSgbkeM0jrwNGmLEY5tRtFySYDAKvwN9qLiCuHMJ5w/QznTPIS
  342. /RQ0wXuGU0rixDiOddC8Ce36U0lxuhr2BXyDpYQedHfO8STRT0kdvGEojCuOczOGx/X54ehAu/Za
  343. xyeKn2I5KDuL0oNmzi0legFk4u9aQjRTGJ0wIeZPT0AnQpGG47Dm2y9Ffee2u/EUoQfphmLREr1A
  344. ymAE+mkYjBRCW3wcQzaDq/Ex2hJ/lsvwNCnSXYaJuIXIJfSgk+EMn0SP6S9pX4zWMJipi5cwGY1P
  345. +v8bYzJeMpRF+Cl5tGm4SoaJONYswVWGtml5+foBxsYc3BT5MVgYZ9mAn+MQliILM36QUulStEQT
  346. 1CUdaz3BF4bs6z9kFO5wbrvR8ND/36wyrEMUkcCx/z2djduxWQNhpBjqoz66Yzf2YC+AkijldEyj
  347. YA6TEkECMJ2I59Sdu9O03CjR4+BCTEN30o5lUTogvU8wH++RIv0JmYYnmAmUPtieTfSOHhfnYBLa
  348. ahiSgv1xLumdCsvC2lekEhYXSPREUhFjcJeGIQmYRnv2usF5PxoATKH0oZuxSo1Ej5uSGIRhGgbP
  349. +Q4DaLG6GDRZRzpOY83oJNEdKIrupPcuEQz5GEfKDwe0MJ2h4+yIq2R8cJfojqShrY68eMwiUn44
  350. ALjHsEsvh7T/oidKSPSwaIL3HRLpi+DJJU7DXYNGhtafYSulF5ebI0h0A7UxVSWqPOQ9zCXez91X
  351. oI/ieUofLsV5Ej1cqmC8ctx7xrfEkwnNTrFht2CWkt7QOxKO+Eh0I6XxmHOqJMHnKJ6k1Es9xr2m
  352. TbnTSL1gnMyX6GbScR/lEKJgMI+W1hm4HL82tN5Imohr71BpTaIHQmG0J22LEDa2435itPtN9/Pp
  353. pF5w6sJLdBJXYY5hP7RgkI+/YgMt2o2GGmvANvyF0otypIJUEp1GfUwn5jkT8fMpcfUcuNs0BfY+
  354. JdUE8ABpt4ZEJ1Id/yA9aIn4+Z46KdrVkLYJ2E1byb+GFEeiU6mAMeipYQiBPDxNybN6nC6m0o6z
  355. SRtl7qBVS5DoZEpgIOntTMTDTFpuOADobyoyth9PkvrBy2kk0ekURVfSjigRKxvQgxgt3Zj39yOn
  356. yjQ/5QJaSSqJHghpaIMZtDojoiAO4hHaWTUAeBxnmnrDSiR6DzGHnkQPiCaYSVoYEQXxGt4iRmuE
  357. Nqb282kJL5oRv5VED4wamIzWGobAWYbe1HiDTUdCD9Dm2weggkRPDs7A0+imYQiUXPyZGu8O416I
  358. uaQMcUBL6veS6IFSEkMwRMMQIB/iQ2q8u01K7KXdz1uilkRPJorhbozTMATEYXIFnRGmZTXgfdpa
  359. fieymhI9cArhBsxAugYiAL6mZtmvbVy33oVHSD1pRN9MLdETQhPMVqX1AFhAjfaooYghALxNq+PT
  360. G6dJ9OSkDt4gZP4SP+RNYqxuxuWsHXiI1JOauCyA50qRIDIxUZXWqewhPriXw71GGd6gbdq535zz
  361. VaKHShmMoCZGiDq7iLGeQmVT+4209/NypvLIEt0L0nE/7cCDyKVFutF4HDQfE2m9eQhlJHryUxi3
  362. K+2Ud39++6OoKcIi4tm55oF8R4keAldhltJOUQRlPbZXN7U/iJG07/QwKkn01KEBppkqgAgApEfc
  363. 1vi9McIHmE37Tm0CGiuJHhLnYFJg/6hRoRThj2UGBhvXrLMxkPaN+qCqRE81KmKsKq0bsWfoe9b4
  364. 2A68QtsmA7QLbKQkeoiUxCAM1TAYaGxs3w06Oo7fAAAGKUlEQVS/M0ZYhcG0b/NnWoY4ie4ZRdFD
  365. ldYN1DM9vNdAb2NVs6N4hvht/hjgSEn0kElDW/xTR16c/1DeZ2j9NCoar/8xJtG+y18opZckusdc
  366. hjmqtO7Ib5xPEAw2nxDLJmaSzwi4IoBE9wJVWnclHcOc2l2OO83XnoBVtO8x1Px0IdGTAlVad6WO
  367. wyxHJkahpPG6CzGC9h0yzWv5Ej1pUKV1V9rEWTIjAy+ZF9X2YRDxGwwKZH+7RPf2MVSV1t1+xF0w
  368. JuZP18A7qG++5qvIIr64/S4BYyQ8QpXWXX/GHfBuTDl8bsbbpvKJx1iBB4i9f9D8GiHRkxBVWnfj
  369. YryPR0+5UHkBXjOfOweAg9Tqek0DOX/+Y9Ly8vUT8Y916EHOh8ZhofndNmi24yP8D+b+5L93xbW4
  370. iLRf4Q10Jfb4XVws0aPLDgygZkSLiugAkI9t2Iht+B6HUQIVUBlVjWkf/5u1aEpMeXEnRiTksbqI
  371. lPKTChiDTGop4OiQhkoBneoGcjGUqDnQI0Fvz3pH95YSGIhHNQye8SqmEaMNNxaMkOgpQVF0U6V1
  372. r/gKfYnRquGGhPVconv+ENoGM5ChgfCC3dRFNWAEykp0cZwmmIm6GobQycd4agGoaxJa0EOiJwG1
  373. MMWYjljY+V9apdRjPIhiEl38kDMxHh01DCGyFb2p8XrjVwntv0RPEkrhL6q0HhqHMRwbiPHKoVOC
  374. v4FETxpUaT08puAlarwncaZEFyf/x1Kl9TD4F+6lxmubgNNqEj3JaYJZqrSeULbgHnLEB4wFoCR6
  375. JKirSusJJBcPYw014uhQ/lBL9CQkExMDTPUvTpCPCZhKjdgsgbvhJHrSUwYjVWk9AXxILM9wjIdR
  376. XKKL2ElHX2JyQvFzrKeeOweABxO8ei7RU4Ai6Ky0UwGyF/2QTY1YF51D+zYSPam5CrMCO3kd9bfz
  377. Z4nFkI8xHKUlunCjAWao0noAfIaR5Ig9cUmI30eiJz2qtM4nl17lti7uDVU2iZ4CVMRY9NAwEPmI
  378. nppzNMqF+o0kekpQEoNVaZ1GHrFG6jGGhP56JdFThKLogb9rGChswAxqvCsJBR0luvgPabhOaaco
  379. LCPHexQlJLpg0gTvq9K6meXUaONwngffSaKnGKq0bmcJMVY7T1ZEJHrKUQXj0UHDYIB3Wq0S+odw
  380. JFWiR4TSGE5OTBwtttEiPYMqnnwniZ6SpKMPRunn4sg5pDj9PMobINFTlMK4I4AjL6dFYuw405nX
  381. 4G6P9JLoKQz/yEuJSIxbHUKMchiBkh59J4me0nCPvDTx6qcbHIy6OBNxtlffSaKn/PvmZFxHitUy
  382. ImNWyxxhGJp59p0kespTAaNxFyVSw4iMWHljeufrPKyqk5aXLxVSn8OYiIHGGNXwKU6PyHgtMcyX
  383. 18Q/Udm7b6Q7eiQoim6YYIzRLzKaA/UMJZOe8VBziR4Z0tAWbxuOvNSIzBv6sdHq5Xh+fLSn+X4k
  384. eoS41FBp/XGUitRYZeJZh1bdcKun30eiR4paeM2p0vr93s0iB881cWeNa4kBKCLRhQ9UwTjcEWeb
  385. W9Argj+UNHTEE3F8vi2e8jgbgGbdI0gunsFjMX/6NgyNyEaZn5KPOeiMnBg+OQA9vN43KNEjyVHM
  386. QA/kxvDJYegY8ULNm/B0ASsWjTAETZDm9/OJRI8qa/AkXj3lJ5rhITTQQCEPSzHlJJNzV6MLfp0E
  387. C48SPdL39X/jFTz/s/+vFe5Ek4icVouNbCzDcizDEnyBargY5+GXqIWzPb+TS3TxH7ZjOZZiJRZi
  388. CWqiIWqiHmrhrCT5AQuJLoT4D1peE0KiCyEkuhBCogshJLoQQqILISS6EEKiCyEkuhASXQgh0YUQ
  389. El0IIdGFEBJdCCHRhRASXQgh0YWQ6EIIiS6EkOhCCIkuhJDoQgiJLoSQ6EIIiS6ERNcQCCHRhRAS
  390. XQgh0YUQEl0IIdGFEBJdCCHRhRASXQiJLoSQ6EIIiS6EkOhCCIkuhJDoQgiJLoSQ6EJIdCGERBdC
  391. SHQhhEQXQkh0IYREF0JIdCGERBdCogshJLoQQqILISS6EEKiCyEkuhBCogshJLoQQqILIdGFEBJd
  392. CCHRhRASXQgh0YUQbP4fNTo1Xfmeq0IAAAAASUVORK5CYII="
  393.  
  394.   echo $__IMAGE_BASE64 | base64 -d -i > $__TMP_IMAGE_NAME
  395.  
  396. }
  397.  
  398.  
  399. __main () {
  400.  
  401.   if [[ $__USE_DIFFERENT_IMAGE == true ]]
  402.   then
  403.     # Let's not make this any more complicated.
  404.     __TMP_IMAGE_NAME=$__OTHER_IMAGE_NAME
  405.   else
  406.     __write_image
  407.   fi
  408.  
  409.   if [[ ! -e "$__IN_NAME" ]]
  410.   then
  411.     echo "missing input audio. Please provide."
  412.     exit 1
  413.   fi
  414.  
  415.   if [[ $__OUT_NAME == "" ]]
  416.   then
  417.     echo "missing output file name. Please provide."
  418.     exit 1
  419.   fi
  420.  
  421.  
  422.   ___do_convertion
  423.  
  424.   if [[ $__USE_DIFFERENT_IMAGE == false ]]
  425.   then
  426.     __do_cleanup
  427.   fi
  428. }
  429.  
  430. __parse_args "${@}"
  431. __main
Add Comment
Please, Sign In to add comment