Giriş:

Sağ kalım analizi, tıp ve epidemiyolojide önemli bir analitik yöntemdir. Bu analiz, bireylerin veya grupların bir olaya (genellikle ölüm) bağlı olarak sağ kalma sürelerini incelemeyi sağlar. Sağ kalım analizi, hastalık seyrinin değerlendirilmesi, tedavi etkinliğinin belirlenmesi ve risk faktörlerinin etkisinin değerlendirilmesi gibi birçok alanda kullanılır.

I. Sağ Kalım Analizinde Kullanılan Temel İstatistiksel Yöntemler:

Kaplan-Meier Analizi:

  • Kaplan-Meier analizinin tanımı ve amacı

  • Kaplan-Meier eğrilerinin hesaplanması ve yorumlanması

  • Gruplar arasındaki sağ kalım farklılıklarının değerlendirilmesi

Kaplan-Meier analizi, sağ kalım analizinde sıklıkla kullanılan bir yöntemdir. Bu analiz, bireylerin veya grupların belirli bir süre boyunca sağ kalmalarını inceler. Kaplan-Meier analizi, eksik veri ve sansürleme durumlarını dikkate alarak sağ kalım eğrilerini hesaplar.

Sağ kalım eğrileri, zamana bağlı olarak bireylerin olaya (örneğin ölüm) maruz kalma olasılığını gösterir. Bu eğriler, zamanın ilerlemesiyle birlikte bireylerin sağ kalma olasılıklarının nasıl değiştiğini görselleştirir. Kaplan-Meier eğrileri, farklı gruplar veya alt gruplar arasındaki sağ kalım farklılıklarını değerlendirmek için karşılaştırılabilir.

Bu konuyla ilgili daha fazla bilgi için YouTube videosunu buradan izleyebilirsiniz: https://www.youtube.com/watch?v=IY-W3ECX8rw

Log-Rank Testi:

  • Log-rank testinin tanımı ve amacı

  • Log-rank testinin çalışma prensibi ve uygulanması

  • Sağ kalım eğrilerinin istatistiksel olarak karşılaştırılması

  • Log-rank testi sonuçlarının yorumlanması

Log-rank testi, sağ kalım eğrileri arasındaki istatistiksel farklılıkları değerlendirmek için kullanılan bir testtir. Bu test, farklı grupların sağ kalım eğrilerinin istatistiksel olarak farklı olup olmadığını belirlemek için kullanılır.

Log-rank testi, gözlem süresi ve olay durumu bilgilerini kullanarak beklenen ve gözlenen olay sayılarını karşılaştırır. Test istatistiği hesaplanır ve p değeri elde edilir. Eğer p değeri anlamlı bir şekilde küçükse, gruplar arasında sağ kalım farkı olduğu söylenebilir.

Cox Regresyonu:

  • Cox regresyonunun tanımı ve temel prensipleri

  • Değişken seçimi ve model oluşturma

  • Cox regresyonu sonuçlarının yorumlanması

  • Risk faktörlerinin etkisinin değerlendirilmesi

Cox regresyonu, sağ kalım analizinde kullanılan bir yöntemdir ve risk faktörlerinin etkisini değerlendirmek için kullanılır. Cox regresyonu, sağ kalım zamanını etkileyen bağımsız değişkenlerin etkisini kontrol ederken, diğer faktörleri dikkate alır.

Cox regresyonunda, hazard oranları (HR) ve 95% güven aralıkları hesaplanır. Hazard oranları, bir değişkenin risk faktörü olarak etkisini ölçer. Eğer hazard oranı 1’den büyükse, değişkenin artışı riski artırırken, 1’den küçükse riski azaltır.

Univariate Cox regresyonu: Sadece tek bir bağımsız değişkenin modele alınması ile olşturulur. Log-rank testi ile benzer sonuçlar verir.

Multivariable Cox regresyonu: Birden fazla bağımsız değişken ile model oluşturulur.

II. Sağ Kalım Analizi Uygulamaları:

Veri Yapıları ve Ön İşleme:

  • Sağ kalım analizinde kullanılan veri yapıları

  • Eksik veri yönetimi ve düşük sağ kalım oranlarıyla başa çıkma

Sağ kalım analizinde kullanılan veri yapıları, genellikle sağ kalım zamanını, olay durumunu ve diğer değişkenleri içerir. Veri hazırlığı aşamasında, eksik verilerin yönetimi ve düşük sağ kalım oranlarıyla başa çıkma önemlidir.

Eksik verilerin yönetimi, eksiklik mekanizmalarının anlaşılmasını ve uygun doldurma veya sansürleme yöntemlerinin kullanılmasını gerektirir. Düşük sağ kalım oranlarıyla başa çıkmak için ise örnekleme stratejileri veya ölçeklendirme yöntemleri gibi teknikler kullanılabilir.

Adım Adım Kaplan-Meier Analizi:

  • Veri hazırlığı ve tanımlayıcı istatistiklerin hesaplanması

  • Kaplan-Meier eğrilerinin hesaplanması ve görselleştirilmesi

  • Gruplar arasındaki sağ kalım farklılıklarının değerlendirilmesi

Sağ Kalım Analizi Örnek Uygulaması:

  • Bir sağlık çalışmasında sağ kalım analizi uygulanması

  • Veri hazırlığı, Kaplan-Meier analizi ve log-rank testi

  • Sonuçların yorumlanması ve klinik anlamı

III. Sağ Kalım Analizi Zorlukları ve Çözüm Önerileri:

Sansürleme ve Kayıp Veriler:

  • Sansürleme kavramı ve yönetimi

  • Kayıp verilerin etkileri ve yöntemlerle başa çıkma

Değişken Seçimi ve Model Olasılıkları:

  • Risk faktörlerinin belirlenmesi için değişken seçimi

  • Model olasılıklarının değerlendirilmesi ve doğruluk analizi

Sağ kalım analizinde, risk faktörlerini belirlemek için doğru değişkenleri seçmek önemlidir. Değişken seçimi, istatistiksel anlamlılık, klinik önemlilik ve değişkenler arasındaki ilişkileri dikkate almayı gerektirir.

Ayrıca, model olasılıklarının değerlendirilmesi de önemlidir. Model olasılıkları, farklı değişken kombinasyonlarının sağ kalım modeline uygunluğunu değerlendirir. AIC (Akaike Bilgi Kriteri) ve BIC (Bayes Bilgi Kriteri) gibi kriterler, model seçiminde kullanılan ölçütlerdir.

Diğer İleri Analiz Yöntemleri:

  • İleri sağ kalım analizi yöntemleri (stratifisye analiz, zaman bağımlı değişkenler)

  • Sağ kalım analizi yazılımları ve kaynaklarının kullanımı

Sonuç:

Sağ kalım analizi, tıp araştırmalarında önemli bir yer tutan bir analiz yöntemidir. Kaplan-Meier analizi, log-rank testi ve Cox regresyonu gibi istatistiksel yöntemler, sağ kalım analizinde sıklıkla kullanılan araçlardır. Bu analizler, hastalık seyrinin, tedavi etkinliğinin ve risk faktörlerinin değerlendirilmesinde önemli bir rol oynar. Ancak, sağ kalım analizi sürecinde karşılaşılan veri yapısı, eksik veri ve model seçimi gibi zorluklar da dikkate alınmalıdır. Bu nedenle, doğru analiz yöntemlerinin kullanılması ve sonuçların doğru bir şekilde yorumlanması büyük önem taşır.

LS0tCnRpdGxlOiAiU2HEnyBLYWzEsW0gQW5hbGl6aSB2ZSDEsHN0YXRpc3Rpa3NlbCBZw7ZudGVtbGVyIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKZWRpdG9yX29wdGlvbnM6IAogIG1hcmtkb3duOiAKICAgIHdyYXA6IDcyCi0tLQoKIyMgR2lyacWfOgoKU2HEnyBrYWzEsW0gYW5hbGl6aSwgdMSxcCB2ZSBlcGlkZW1peW9sb2ppZGUgw7ZuZW1saSBiaXIgYW5hbGl0aWsgecO2bnRlbWRpci4KQnUgYW5hbGl6LCBiaXJleWxlcmluIHZleWEgZ3J1cGxhcsSxbiBiaXIgb2xheWEgKGdlbmVsbGlrbGUgw7Zsw7xtKSBiYcSfbMSxCm9sYXJhayBzYcSfIGthbG1hIHPDvHJlbGVyaW5pIGluY2VsZW1leWkgc2HEn2xhci4gU2HEnyBrYWzEsW0gYW5hbGl6aSwKaGFzdGFsxLFrIHNleXJpbmluIGRlxJ9lcmxlbmRpcmlsbWVzaSwgdGVkYXZpIGV0a2lubGnEn2luaW4gYmVsaXJsZW5tZXNpIHZlCnJpc2sgZmFrdMO2cmxlcmluaW4gZXRraXNpbmluIGRlxJ9lcmxlbmRpcmlsbWVzaSBnaWJpIGJpcsOnb2sgYWxhbmRhCmt1bGxhbsSxbMSxci4KCiMjIyBJLiBTYcSfIEthbMSxbSBBbmFsaXppbmRlIEt1bGxhbsSxbGFuIFRlbWVsIMSwc3RhdGlzdGlrc2VsIFnDtm50ZW1sZXI6CgojIyMjIEthcGxhbi1NZWllciBBbmFsaXppOgoKLSAgIEthcGxhbi1NZWllciBhbmFsaXppbmluIHRhbsSxbcSxIHZlIGFtYWPEsQoKLSAgIEthcGxhbi1NZWllciBlxJ9yaWxlcmluaW4gaGVzYXBsYW5tYXPEsSB2ZSB5b3J1bWxhbm1hc8SxCgotICAgR3J1cGxhciBhcmFzxLFuZGFraSBzYcSfIGthbMSxbSBmYXJrbMSxbMSxa2xhcsSxbsSxbiBkZcSfZXJsZW5kaXJpbG1lc2kKCkthcGxhbi1NZWllciBhbmFsaXppLCBzYcSfIGthbMSxbSBhbmFsaXppbmRlIHPEsWtsxLFrbGEga3VsbGFuxLFsYW4gYmlyCnnDtm50ZW1kaXIuIEJ1IGFuYWxpeiwgYmlyZXlsZXJpbiB2ZXlhIGdydXBsYXLEsW4gYmVsaXJsaSBiaXIgc8O8cmUgYm95dW5jYQpzYcSfIGthbG1hbGFyxLFuxLEgaW5jZWxlci4gS2FwbGFuLU1laWVyIGFuYWxpemksIGVrc2lrIHZlcmkgdmUgc2Fuc8O8cmxlbWUKZHVydW1sYXLEsW7EsSBkaWtrYXRlIGFsYXJhayBzYcSfIGthbMSxbSBlxJ9yaWxlcmluaSBoZXNhcGxhci4KClNhxJ8ga2FsxLFtIGXEn3JpbGVyaSwgemFtYW5hIGJhxJ9sxLEgb2xhcmFrIGJpcmV5bGVyaW4gb2xheWEgKMO2cm5lxJ9pbiDDtmzDvG0pCm1hcnV6IGthbG1hIG9sYXPEsWzEscSfxLFuxLEgZ8O2c3RlcmlyLiBCdSBlxJ9yaWxlciwgemFtYW7EsW4gaWxlcmxlbWVzaXlsZQpiaXJsaWt0ZSBiaXJleWxlcmluIHNhxJ8ga2FsbWEgb2xhc8SxbMSxa2xhcsSxbsSxbiBuYXPEsWwgZGXEn2nFn3RpxJ9pbmkKZ8O2cnNlbGxlxZ90aXJpci4gS2FwbGFuLU1laWVyIGXEn3JpbGVyaSwgZmFya2zEsSBncnVwbGFyIHZleWEgYWx0IGdydXBsYXIKYXJhc8SxbmRha2kgc2HEnyBrYWzEsW0gZmFya2zEsWzEsWtsYXLEsW7EsSBkZcSfZXJsZW5kaXJtZWsgacOnaW4Ka2FyxZ/EsWxhxZ90xLFyxLFsYWJpbGlyLgoKQnUga29udXlsYSBpbGdpbGkgZGFoYSBmYXpsYSBiaWxnaSBpw6dpbiAqKllvdVR1YmUgdmlkZW9zdW51IGJ1cmFkYW4KaXpsZXllYmlsaXJzaW5pejoqKiA8aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1JWS1XM0VDWDhydz4KCiMjIyMgTG9nLVJhbmsgVGVzdGk6CgotICAgTG9nLXJhbmsgdGVzdGluaW4gdGFuxLFtxLEgdmUgYW1hY8SxCgotICAgTG9nLXJhbmsgdGVzdGluaW4gw6dhbMSxxZ9tYSBwcmVuc2liaSB2ZSB1eWd1bGFubWFzxLEKCi0gICBTYcSfIGthbMSxbSBlxJ9yaWxlcmluaW4gaXN0YXRpc3Rpa3NlbCBvbGFyYWsga2FyxZ/EsWxhxZ90xLFyxLFsbWFzxLEKCi0gICBMb2ctcmFuayB0ZXN0aSBzb251w6dsYXLEsW7EsW4geW9ydW1sYW5tYXPEsQoKTG9nLXJhbmsgdGVzdGksIHNhxJ8ga2FsxLFtIGXEn3JpbGVyaSBhcmFzxLFuZGFraSBpc3RhdGlzdGlrc2VsCmZhcmtsxLFsxLFrbGFyxLEgZGXEn2VybGVuZGlybWVrIGnDp2luIGt1bGxhbsSxbGFuIGJpciB0ZXN0dGlyLiBCdSB0ZXN0LApmYXJrbMSxIGdydXBsYXLEsW4gc2HEnyBrYWzEsW0gZcSfcmlsZXJpbmluIGlzdGF0aXN0aWtzZWwgb2xhcmFrIGZhcmtsxLEgb2x1cApvbG1hZMSxxJ/EsW7EsSBiZWxpcmxlbWVrIGnDp2luIGt1bGxhbsSxbMSxci4KCkxvZy1yYW5rIHRlc3RpLCBnw7Z6bGVtIHPDvHJlc2kgdmUgb2xheSBkdXJ1bXUgYmlsZ2lsZXJpbmkga3VsbGFuYXJhawpiZWtsZW5lbiB2ZSBnw7Z6bGVuZW4gb2xheSBzYXnEsWxhcsSxbsSxIGthcsWfxLFsYcWfdMSxcsSxci4gVGVzdCBpc3RhdGlzdGnEn2kKaGVzYXBsYW7EsXIgdmUgcCBkZcSfZXJpIGVsZGUgZWRpbGlyLiBFxJ9lciBwIGRlxJ9lcmkgYW5sYW1sxLEgYmlyIMWfZWtpbGRlCmvDvMOnw7xrc2UsIGdydXBsYXIgYXJhc8SxbmRhIHNhxJ8ga2FsxLFtIGZhcmvEsSBvbGR1xJ91IHPDtnlsZW5lYmlsaXIuCgojIyMjIENveCBSZWdyZXN5b251OiAKCi0gICBDb3ggcmVncmVzeW9udW51biB0YW7EsW3EsSB2ZSB0ZW1lbCBwcmVuc2lwbGVyaQoKLSAgIERlxJ9pxZ9rZW4gc2XDp2ltaSB2ZSBtb2RlbCBvbHXFn3R1cm1hCgotICAgQ294IHJlZ3Jlc3lvbnUgc29udcOnbGFyxLFuxLFuIHlvcnVtbGFubWFzxLEKCi0gICBSaXNrIGZha3TDtnJsZXJpbmluIGV0a2lzaW5pbiBkZcSfZXJsZW5kaXJpbG1lc2kKCkNveCByZWdyZXN5b251LCBzYcSfIGthbMSxbSBhbmFsaXppbmRlIGt1bGxhbsSxbGFuIGJpciB5w7ZudGVtZGlyIHZlIHJpc2sKZmFrdMO2cmxlcmluaW4gZXRraXNpbmkgZGXEn2VybGVuZGlybWVrIGnDp2luIGt1bGxhbsSxbMSxci4gQ294IHJlZ3Jlc3lvbnUsCnNhxJ8ga2FsxLFtIHphbWFuxLFuxLEgZXRraWxleWVuIGJhxJ/EsW1zxLF6IGRlxJ9pxZ9rZW5sZXJpbiBldGtpc2luaSBrb250cm9sCmVkZXJrZW4sIGRpxJ9lciBmYWt0w7ZybGVyaSBkaWtrYXRlIGFsxLFyLgoKQ294IHJlZ3Jlc3lvbnVuZGEsIGhhemFyZCBvcmFubGFyxLEgKEhSKSB2ZSA5NSUgZ8O8dmVuIGFyYWzEsWtsYXLEsQpoZXNhcGxhbsSxci4gSGF6YXJkIG9yYW5sYXLEsSwgYmlyIGRlxJ9pxZ9rZW5pbiByaXNrIGZha3TDtnLDvCBvbGFyYWsgZXRraXNpbmkKw7Zsw6dlci4gRcSfZXIgaGF6YXJkIG9yYW7EsSAxJ2RlbiBiw7x5w7xrc2UsIGRlxJ9pxZ9rZW5pbiBhcnTEscWfxLEgcmlza2kKYXJ0xLFyxLFya2VuLCAxJ2RlbiBrw7zDp8O8a3NlIHJpc2tpIGF6YWx0xLFyLgoKVW5pdmFyaWF0ZSBDb3ggcmVncmVzeW9udTogU2FkZWNlIHRlayBiaXIgYmHEn8SxbXPEsXogZGXEn2nFn2tlbmluIG1vZGVsZQphbMSxbm1hc8SxIGlsZSBvbMWfdHVydWx1ci4gTG9nLXJhbmsgdGVzdGkgaWxlIGJlbnplciBzb251w6dsYXIgdmVyaXIuCgpNdWx0aXZhcmlhYmxlIENveCByZWdyZXN5b251OiBCaXJkZW4gZmF6bGEgYmHEn8SxbXPEsXogZGXEn2nFn2tlbiBpbGUgbW9kZWwKb2x1xZ90dXJ1bHVyLgoKIyMjIElJLiBTYcSfIEthbMSxbSBBbmFsaXppIFV5Z3VsYW1hbGFyxLE6CgojIyMjIFZlcmkgWWFwxLFsYXLEsSB2ZSDDlm4gxLDFn2xlbWU6CgotICAgU2HEnyBrYWzEsW0gYW5hbGl6aW5kZSBrdWxsYW7EsWxhbiB2ZXJpIHlhcMSxbGFyxLEKCi0gICBFa3NpayB2ZXJpIHnDtm5ldGltaSB2ZSBkw7zFn8O8ayBzYcSfIGthbMSxbSBvcmFubGFyxLF5bGEgYmHFn2Egw6fEsWttYQoKU2HEnyBrYWzEsW0gYW5hbGl6aW5kZSBrdWxsYW7EsWxhbiB2ZXJpIHlhcMSxbGFyxLEsIGdlbmVsbGlrbGUgc2HEnyBrYWzEsW0KemFtYW7EsW7EsSwgb2xheSBkdXJ1bXVudSB2ZSBkacSfZXIgZGXEn2nFn2tlbmxlcmkgacOnZXJpci4gVmVyaSBoYXrEsXJsxLHEn8SxCmHFn2FtYXPEsW5kYSwgZWtzaWsgdmVyaWxlcmluIHnDtm5ldGltaSB2ZSBkw7zFn8O8ayBzYcSfIGthbMSxbSBvcmFubGFyxLF5bGEgYmHFn2EKw6fEsWttYSDDtm5lbWxpZGlyLgoKRWtzaWsgdmVyaWxlcmluIHnDtm5ldGltaSwgZWtzaWtsaWsgbWVrYW5pem1hbGFyxLFuxLFuIGFubGHFn8SxbG1hc8SxbsSxIHZlCnV5Z3VuIGRvbGR1cm1hIHZleWEgc2Fuc8O8cmxlbWUgecO2bnRlbWxlcmluaW4ga3VsbGFuxLFsbWFzxLFuxLEgZ2VyZWt0aXJpci4KRMO8xZ/DvGsgc2HEnyBrYWzEsW0gb3JhbmxhcsSxeWxhIGJhxZ9hIMOnxLFrbWFrIGnDp2luIGlzZSDDtnJuZWtsZW1lIHN0cmF0ZWppbGVyaQp2ZXlhIMO2bMOnZWtsZW5kaXJtZSB5w7ZudGVtbGVyaSBnaWJpIHRla25pa2xlciBrdWxsYW7EsWxhYmlsaXIuCgojIyMjIEFkxLFtIEFkxLFtIEthcGxhbi1NZWllciBBbmFsaXppOgoKLSAgIFZlcmkgaGF6xLFybMSxxJ/EsSB2ZSB0YW7EsW1sYXnEsWPEsSBpc3RhdGlzdGlrbGVyaW4gaGVzYXBsYW5tYXPEsQoKLSAgIEthcGxhbi1NZWllciBlxJ9yaWxlcmluaW4gaGVzYXBsYW5tYXPEsSB2ZSBnw7Zyc2VsbGXFn3RpcmlsbWVzaQoKLSAgIEdydXBsYXIgYXJhc8SxbmRha2kgc2HEnyBrYWzEsW0gZmFya2zEsWzEsWtsYXLEsW7EsW4gZGXEn2VybGVuZGlyaWxtZXNpCgojIyMjIFNhxJ8gS2FsxLFtIEFuYWxpemkgw5ZybmVrIFV5Z3VsYW1hc8SxOgoKLSAgIEJpciBzYcSfbMSxayDDp2FsxLHFn21hc8SxbmRhIHNhxJ8ga2FsxLFtIGFuYWxpemkgdXlndWxhbm1hc8SxCgotICAgVmVyaSBoYXrEsXJsxLHEn8SxLCBLYXBsYW4tTWVpZXIgYW5hbGl6aSB2ZSBsb2ctcmFuayB0ZXN0aQoKLSAgIFNvbnXDp2xhcsSxbiB5b3J1bWxhbm1hc8SxIHZlIGtsaW5payBhbmxhbcSxCgojIyMgSUlJLiBTYcSfIEthbMSxbSBBbmFsaXppIFpvcmx1a2xhcsSxIHZlIMOHw7Z6w7xtIMOWbmVyaWxlcmk6CgojIyMjIFNhbnPDvHJsZW1lIHZlIEthecSxcCBWZXJpbGVyOgoKLSAgIFNhbnPDvHJsZW1lIGthdnJhbcSxIHZlIHnDtm5ldGltaQoKLSAgIEthecSxcCB2ZXJpbGVyaW4gZXRraWxlcmkgdmUgecO2bnRlbWxlcmxlIGJhxZ9hIMOnxLFrbWEKCiMjIyMgRGXEn2nFn2tlbiBTZcOnaW1pIHZlIE1vZGVsIE9sYXPEsWzEsWtsYXLEsToKCi0gICBSaXNrIGZha3TDtnJsZXJpbmluIGJlbGlybGVubWVzaSBpw6dpbiBkZcSfacWfa2VuIHNlw6dpbWkKCi0gICBNb2RlbCBvbGFzxLFsxLFrbGFyxLFuxLFuIGRlxJ9lcmxlbmRpcmlsbWVzaSB2ZSBkb8SfcnVsdWsgYW5hbGl6aQoKU2HEnyBrYWzEsW0gYW5hbGl6aW5kZSwgcmlzayBmYWt0w7ZybGVyaW5pIGJlbGlybGVtZWsgacOnaW4gZG/En3J1CmRlxJ9pxZ9rZW5sZXJpIHNlw6dtZWsgw7ZuZW1saWRpci4gRGXEn2nFn2tlbiBzZcOnaW1pLCBpc3RhdGlzdGlrc2VsCmFubGFtbMSxbMSxaywga2xpbmlrIMO2bmVtbGlsaWsgdmUgZGXEn2nFn2tlbmxlciBhcmFzxLFuZGFraSBpbGnFn2tpbGVyaQpkaWtrYXRlIGFsbWF5xLEgZ2VyZWt0aXJpci4KCkF5csSxY2EsIG1vZGVsIG9sYXPEsWzEsWtsYXLEsW7EsW4gZGXEn2VybGVuZGlyaWxtZXNpIGRlIMO2bmVtbGlkaXIuIE1vZGVsCm9sYXPEsWzEsWtsYXLEsSwgZmFya2zEsSBkZcSfacWfa2VuIGtvbWJpbmFzeW9ubGFyxLFuxLFuIHNhxJ8ga2FsxLFtIG1vZGVsaW5lCnV5Z3VubHXEn3VudSBkZcSfZXJsZW5kaXJpci4gQUlDIChBa2Fpa2UgQmlsZ2kgS3JpdGVyaSkgdmUgQklDIChCYXllcwpCaWxnaSBLcml0ZXJpKSBnaWJpIGtyaXRlcmxlciwgbW9kZWwgc2XDp2ltaW5kZSBrdWxsYW7EsWxhbiDDtmzDp8O8dGxlcmRpci4KCiMjIyMgRGnEn2VyIMSwbGVyaSBBbmFsaXogWcO2bnRlbWxlcmk6CgotICAgxLBsZXJpIHNhxJ8ga2FsxLFtIGFuYWxpemkgecO2bnRlbWxlcmkgKHN0cmF0aWZpc3llIGFuYWxpeiwgemFtYW4KICAgIGJhxJ/EsW1sxLEgZGXEn2nFn2tlbmxlcikKCi0gICBTYcSfIGthbMSxbSBhbmFsaXppIHlhesSxbMSxbWxhcsSxIHZlIGtheW5ha2xhcsSxbsSxbiBrdWxsYW7EsW3EsQoKIyMgU29udcOnOgoKU2HEnyBrYWzEsW0gYW5hbGl6aSwgdMSxcCBhcmHFn3TEsXJtYWxhcsSxbmRhIMO2bmVtbGkgYmlyIHllciB0dXRhbiBiaXIgYW5hbGl6CnnDtm50ZW1pZGlyLiBLYXBsYW4tTWVpZXIgYW5hbGl6aSwgbG9nLXJhbmsgdGVzdGkgdmUgQ294IHJlZ3Jlc3lvbnUgZ2liaQppc3RhdGlzdGlrc2VsIHnDtm50ZW1sZXIsIHNhxJ8ga2FsxLFtIGFuYWxpemluZGUgc8Sxa2zEsWtsYSBrdWxsYW7EsWxhbgphcmHDp2xhcmTEsXIuIEJ1IGFuYWxpemxlciwgaGFzdGFsxLFrIHNleXJpbmluLCB0ZWRhdmkgZXRraW5sacSfaW5pbiB2ZSByaXNrCmZha3TDtnJsZXJpbmluIGRlxJ9lcmxlbmRpcmlsbWVzaW5kZSDDtm5lbWxpIGJpciByb2wgb3luYXIuIEFuY2FrLCBzYcSfCmthbMSxbSBhbmFsaXppIHPDvHJlY2luZGUga2FyxZ/EsWxhxZ/EsWxhbiB2ZXJpIHlhcMSxc8SxLCBla3NpayB2ZXJpIHZlIG1vZGVsCnNlw6dpbWkgZ2liaSB6b3JsdWtsYXIgZGEgZGlra2F0ZSBhbMSxbm1hbMSxZMSxci4gQnUgbmVkZW5sZSwgZG/En3J1IGFuYWxpegp5w7ZudGVtbGVyaW5pbiBrdWxsYW7EsWxtYXPEsSB2ZSBzb251w6dsYXLEsW4gZG/En3J1IGJpciDFn2VraWxkZSB5b3J1bWxhbm1hc8SxCmLDvHnDvGsgw7ZuZW0gdGHFn8Sxci4K