看板 FB_current 關於我們 聯絡資訊
T24gV2VkbmVzZGF5LCBKdW5lIDE4LCAyMDE0IDI6NDY6MDkgcG0gRWR3YXJkIFRvbWFzeiBOYXBp ZXJhxYJhIHdyb3RlOgo+IE9uIDA2MThUMTMwMywgSm9obiBCYWxkd2luIHdyb3RlOgo+ID4gT24g V2VkbmVzZGF5LCBKdW5lIDE4LCAyMDE0IDEyOjEzOjE1IHBtIEVkd2FyZCBUb21hc3ogTmFwaWVy YcWCYSB3cm90ZToKPiA+ID4gT24gMDYxOFQwOTQ3LCBKb2huIEJhbGR3aW4gd3JvdGU6Cj4gPiA+ ID4gT24gTW9uZGF5LCBKdW5lIDE2LCAyMDE0IDM6MjE6NTUgcG0gRWR3YXJkIFRvbWFzeiBOYXBp ZXJhxYJhIHdyb3RlOgo+ID4gPiA+ID4gSGkuICBQYXRjaCBiZWxvdyBzaG91bGQgZml4IGEgcHJv YmxlbSB3aGVyZSBVU0Igc3RvcHMgd29ya2luZyBhZnRlcgo+ID4gPiA+ID4gX3NlY29uZF8gc3Vz cGVuZC9yZXN1bWUsIHdoaWNoIGhhcHBlbnMgb24gdmFyaW91cyBUaGlua1BhZCBtb2RlbHMuCj4g PiA+ID4gPiBQbGVhc2UgdGVzdCwgYW5kIHJlcG9ydCBib3RoIHN1Y2Nlc3Mgc3RvcmllcyBhbmQg ZmFpbHVyZXMuICBJZiBub3RoaW5nCj4gPiA+ID4gPiBjb21lcyB1cCwgSSdsbCBjb21taXQgaXQg aW4gYSB3ZWVrIG9yIHNvLgo+ID4gPiA+IAo+ID4gPiA+IEdvb2QgZmluZC4gIEhhdmUgeW91IHRo b3VnaHQgYWJvdXQgYSBtb3JlIGdlbmVyaWMgZml4IGZvciB0aGlzIHdoZXJlaW4geW91IAo+ID4g PiA+IHRyYWNrIHBvd2VyIHJlc291cmNlcyBhbmQgZmxpcCB0aGVtIG9uIGR1cmluZyByZXN1bWUg aW4gQUNQSSBiZWZvcmUgZG9pbmcKPiA+ID4gPiBERVZJQ0VfUkVTVU1FKCkgb24gdGhlIHJvb3Qg YnVzPwo+ID4gPiAKPiA+ID4gVGhpbmcgaXMsIGFmdGVyIHJlc3VtZSB0aGlzIGRldmljZSBjbGFp bXMgdG8gYmUgb24gYWxyZWFkeS4gIFRoZSBmb2xsb3dpbmcKPiA+ID4gc2ltcGxlIGhhY2sgd2Fz IGVub3VnaCB0byBtYWtlIGl0IHdvcms6Cj4gPiAKPiA+IEFoaCwgSSB0aGluayBJIHNlZS4gIFRy eSB0aGlzIGluc3RlYWQ6Cj4gPiAKPiA+IEluZGV4OiBzeXMvZGV2L2FjcGljYS9hY3BpX3Bvd2Vy cmVzLmMKPiA+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KPiA+IC0tLSBhY3BpX3Bvd2VycmVzLmMJKHJldmlzaW9uIDI2 NzU1MCkKPiA+ICsrKyBhY3BpX3Bvd2VycmVzLmMJKHdvcmtpbmcgY29weSkKPiA+IEBAIC02NDUs NyArNjQ1LDcgQEAgYWNwaV9wd3Jfc3dpdGNoX3Bvd2VyKHZvaWQpCj4gPiAgCQkJICAgICAgYWNw aV9uYW1lKHJwLT5hcF9yZXNvdXJjZSksIHN0YXR1cykpOwo+ID4gIAkgICAgLyogWFhYIGlzIHRo aXMgY29ycmVjdD8gIEFsd2F5cyBzd2l0Y2ggaWYgaW4gZG91YnQ/ICovCj4gPiAgCSAgICBjb250 aW51ZTsKPiA+IC0JfSBlbHNlIGlmIChycC0+YXBfc3RhdGUgPT0gQUNQSV9QV1JfVU5LKQo+ID4g Kwl9IGVsc2UKPiA+ICAJICAgIHJwLT5hcF9zdGF0ZSA9IGN1cjsKPiA+ICAKPiA+ICAJLyoKPiA+ IEBAIC02ODksNyArNjg5LDcgQEAgYWNwaV9wd3Jfc3dpdGNoX3Bvd2VyKHZvaWQpCj4gPiAgCQkJ ICAgICAgYWNwaV9uYW1lKHJwLT5hcF9yZXNvdXJjZSksIHN0YXR1cykpOwo+ID4gIAkgICAgLyog WFhYIGlzIHRoaXMgY29ycmVjdD8gIEFsd2F5cyBzd2l0Y2ggaWYgaW4gZG91YnQ/ICovCj4gPiAg CSAgICBjb250aW51ZTsKPiA+IC0JfSBlbHNlIGlmIChycC0+YXBfc3RhdGUgPT0gQUNQSV9QV1Jf VU5LKQo+ID4gKwl9IGVsc2UKPiA+ICAJICAgIHJwLT5hcF9zdGF0ZSA9IGN1cjsKPiA+ICAKPiA+ ICAJLyoKPiA+IAo+ID4gKFdlIHdlcmUgaWdub3Jpbmcgd2hhdCBfU1RBIHRvbGQgdXMgYW5kIGJl bGlldmVkIGl0IHdhcyBPTiBiZWNhdXNlIHdlIGhhZAo+ID4gIGNhY2hlZCB0aGF0IHN0YXRlIHBy ZXZpb3VzbHkuKQo+IAo+IFdvcmtzIQoKSG1tbS4gIElmIHdlIGdvIHRoaXMgcm91dGUsIGFwX3N0 YXRlIGlzIGFjdHVhbGx5IHVzZWxlc3MgYW5kIHNob3VsZCBqdXN0IGJlCnJlbW92ZWQuICBIZXJl IGlzIGFuIHVwZGF0ZWQgdmVyc2lvbiB0aGF0IGRvZXMgdGhhdC4gIElmIHRoaXMgd29ya3MgYXMg d2VsbAp0aGVuIHRoaXMgaXMgcHJvYmFibHkgYSBjb21taXQgY2FuZGlkYXRlLgoKSW5kZXg6IGFj cGlfcG93ZXJyZXMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBhY3BpX3Bvd2VycmVzLmMJKHJldmlzaW9uIDI2 NzU1MCkKKysrIGFjcGlfcG93ZXJyZXMuYwkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNiBA QCBBQ1BJX01PRFVMRV9OQU1FKCJQT1dFUlJFUyIpCiAvKiBSZXR1cm4gdmFsdWVzIGZyb20gX1NU QSBvbiBhIHBvd2VyIHJlc291cmNlICovCiAjZGVmaW5lIEFDUElfUFdSX09GRgkwCiAjZGVmaW5l IEFDUElfUFdSX09OCTEKLSNkZWZpbmUgQUNQSV9QV1JfVU5LCSgtMSkKIAogLyogQSByZWxhdGlv bnNoaXAgYmV0d2VlbiBhIHBvd2VyIHJlc291cmNlIGFuZCBhIGNvbnN1bWVyLiAqLwogc3RydWN0 IGFjcGlfcG93ZXJyZWZlcmVuY2UgewpAQCAtOTAsNyArODksNiBAQCBzdHJ1Y3QgYWNwaV9wb3dl cnJlc291cmNlIHsKICAgICBBQ1BJX0hBTkRMRQkJCQlhcF9yZXNvdXJjZTsKICAgICBVSU5UNjQJ CQkJYXBfc3lzdGVtbGV2ZWw7CiAgICAgVUlOVDY0CQkJCWFwX29yZGVyOwotICAgIGludAkJCQkJ YXBfc3RhdGU7CiB9OwogCiBzdGF0aWMgVEFJTFFfSEVBRChhY3BpX3Bvd2VycmVzb3VyY2VfbGlz dCwgYWNwaV9wb3dlcnJlc291cmNlKQpAQCAtMTczLDcgKzE3MSw2IEBAIGFjcGlfcHdyX3JlZ2lz dGVyX3Jlc291cmNlKEFDUElfSEFORExFIHJlcykKICAgICB9CiAgICAgcnAtPmFwX3N5c3RlbWxl dmVsID0gb2JqLT5Qb3dlclJlc291cmNlLlN5c3RlbUxldmVsOwogICAgIHJwLT5hcF9vcmRlciA9 IG9iai0+UG93ZXJSZXNvdXJjZS5SZXNvdXJjZU9yZGVyOwotICAgIHJwLT5hcF9zdGF0ZSA9IEFD UElfUFdSX1VOSzsKICAgICAKICAgICAvKiBTb3J0IHRoZSByZXNvdXJjZSBpbnRvIHRoZSBsaXN0 ICovCiAgICAgc3RhdHVzID0gQUVfT0s7CkBAIC02MzgsNyArNjM1LDYgQEAgYWNwaV9wd3Jfc3dp dGNoX3Bvd2VyKHZvaWQpCiAJICAgIGNvbnRpbnVlOwogCX0KIAotCS8qIFdlIGNvdWxkIGNhY2hl IHRoaXMgaWYgd2UgdHJ1c3RlZCBpdCBub3QgdG8gY2hhbmdlIHVuZGVyIHVzICovCiAJc3RhdHVz ID0gYWNwaV9HZXRJbnRlZ2VyKHJwLT5hcF9yZXNvdXJjZSwgIl9TVEEiLCAmY3VyKTsKIAlpZiAo QUNQSV9GQUlMVVJFKHN0YXR1cykpIHsKIAkgICAgQUNQSV9ERUJVR19QUklOVCgoQUNQSV9EQl9P QkpFQ1RTLCAiY2FuJ3QgZ2V0IHN0YXR1cyBvZiAlcyAtICVkXG4iLApAQCAtNjQ1LDggKzY0MSw3 IEBAIGFjcGlfcHdyX3N3aXRjaF9wb3dlcih2b2lkKQogCQkJICAgICAgYWNwaV9uYW1lKHJwLT5h cF9yZXNvdXJjZSksIHN0YXR1cykpOwogCSAgICAvKiBYWFggaXMgdGhpcyBjb3JyZWN0PyAgQWx3 YXlzIHN3aXRjaCBpZiBpbiBkb3VidD8gKi8KIAkgICAgY29udGludWU7Ci0JfSBlbHNlIGlmIChy cC0+YXBfc3RhdGUgPT0gQUNQSV9QV1JfVU5LKQotCSAgICBycC0+YXBfc3RhdGUgPSBjdXI7CisJ fQogCiAJLyoKIAkgKiBTd2l0Y2ggaWYgcmVxdWlyZWQuICBOb3RlIHRoYXQgd2UgaWdub3JlIHRo ZSByZXN1bHQgb2YgdGhlIHN3aXRjaApAQCAtNjUzLDcgKzY0OCw3IEBAIGFjcGlfcHdyX3N3aXRj aF9wb3dlcih2b2lkKQogCSAqIGVmZm9ydDsgd2UgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGlmIGl0 IGZhaWxzLCBzbyBjaGVja2luZyB3b3VsZG4ndAogCSAqIGhlbHAgbXVjaC4KIAkgKi8KLQlpZiAo cnAtPmFwX3N0YXRlICE9IEFDUElfUFdSX09OKSB7CisJaWYgKGN1ciAhPSBBQ1BJX1BXUl9PTikg ewogCSAgICBzdGF0dXMgPSBBY3BpRXZhbHVhdGVPYmplY3QocnAtPmFwX3Jlc291cmNlLCAiX09O IiwgTlVMTCwgTlVMTCk7CiAJICAgIGlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgewogCQlBQ1BJ X0RFQlVHX1BSSU5UKChBQ1BJX0RCX09CSkVDVFMsCkBAIC02NjEsNyArNjU2LDYgQEAgYWNwaV9w d3Jfc3dpdGNoX3Bvd2VyKHZvaWQpCiAJCQkJIGFjcGlfbmFtZShycC0+YXBfcmVzb3VyY2UpLAog CQkJCSBBY3BpRm9ybWF0RXhjZXB0aW9uKHN0YXR1cykpKTsKIAkgICAgfSBlbHNlIHsKLQkJcnAt PmFwX3N0YXRlID0gQUNQSV9QV1JfT047CiAJCUFDUElfREVCVUdfUFJJTlQoKEFDUElfREJfT0JK RUNUUywgInN3aXRjaGVkICVzIG9uXG4iLAogCQkJCSBhY3BpX25hbWUocnAtPmFwX3Jlc291cmNl KSkpOwogCSAgICB9CkBAIC02ODIsNyArNjc2LDYgQEAgYWNwaV9wd3Jfc3dpdGNoX3Bvd2VyKHZv aWQpCiAJICAgIGNvbnRpbnVlOwogCX0KIAotCS8qIFdlIGNvdWxkIGNhY2hlIHRoaXMgaWYgd2Ug dHJ1c3RlZCBpdCBub3QgdG8gY2hhbmdlIHVuZGVyIHVzICovCiAJc3RhdHVzID0gYWNwaV9HZXRJ bnRlZ2VyKHJwLT5hcF9yZXNvdXJjZSwgIl9TVEEiLCAmY3VyKTsKIAlpZiAoQUNQSV9GQUlMVVJF KHN0YXR1cykpIHsKIAkgICAgQUNQSV9ERUJVR19QUklOVCgoQUNQSV9EQl9PQkpFQ1RTLCAiY2Fu J3QgZ2V0IHN0YXR1cyBvZiAlcyAtICVkXG4iLApAQCAtNjg5LDggKzY4Miw3IEBAIGFjcGlfcHdy X3N3aXRjaF9wb3dlcih2b2lkKQogCQkJICAgICAgYWNwaV9uYW1lKHJwLT5hcF9yZXNvdXJjZSks IHN0YXR1cykpOwogCSAgICAvKiBYWFggaXMgdGhpcyBjb3JyZWN0PyAgQWx3YXlzIHN3aXRjaCBp ZiBpbiBkb3VidD8gKi8KIAkgICAgY29udGludWU7Ci0JfSBlbHNlIGlmIChycC0+YXBfc3RhdGUg PT0gQUNQSV9QV1JfVU5LKQotCSAgICBycC0+YXBfc3RhdGUgPSBjdXI7CisJfQogCiAJLyoKIAkg KiBTd2l0Y2ggaWYgcmVxdWlyZWQuICBOb3RlIHRoYXQgd2UgaWdub3JlIHRoZSByZXN1bHQgb2Yg dGhlIHN3aXRjaApAQCAtNjk3LDcgKzY4OSw3IEBAIGFjcGlfcHdyX3N3aXRjaF9wb3dlcih2b2lk KQogCSAqIGVmZm9ydDsgd2UgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGlmIGl0IGZhaWxzLCBzbyBj aGVja2luZyB3b3VsZG4ndAogCSAqIGhlbHAgbXVjaC4KIAkgKi8KLQlpZiAocnAtPmFwX3N0YXRl ICE9IEFDUElfUFdSX09GRikgeworCWlmIChjdXIgIT0gQUNQSV9QV1JfT0ZGKSB7CiAJICAgIHN0 YXR1cyA9IEFjcGlFdmFsdWF0ZU9iamVjdChycC0+YXBfcmVzb3VyY2UsICJfT0ZGIiwgTlVMTCwg TlVMTCk7CiAJICAgIGlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgewogCQlBQ1BJX0RFQlVHX1BS SU5UKChBQ1BJX0RCX09CSkVDVFMsCkBAIC03MDUsNyArNjk3LDYgQEAgYWNwaV9wd3Jfc3dpdGNo X3Bvd2VyKHZvaWQpCiAJCQkJIGFjcGlfbmFtZShycC0+YXBfcmVzb3VyY2UpLAogCQkJCSBBY3Bp Rm9ybWF0RXhjZXB0aW9uKHN0YXR1cykpKTsKIAkgICAgfSBlbHNlIHsKLQkJcnAtPmFwX3N0YXRl ID0gQUNQSV9QV1JfT0ZGOwogCQlBQ1BJX0RFQlVHX1BSSU5UKChBQ1BJX0RCX09CSkVDVFMsICJz d2l0Y2hlZCAlcyBvZmZcbiIsCiAJCQkJIGFjcGlfbmFtZShycC0+YXBfcmVzb3VyY2UpKSk7CiAJ ICAgIH0KCgotLSAKSm9obiBCYWxkd2luCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmZyZWVic2QtY3VycmVudEBmcmVlYnNkLm9yZyBtYWlsaW5nIGxpc3QK aHR0cDovL2xpc3RzLmZyZWVic2Qub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWJzZC1jdXJyZW50 ClRvIHVuc3Vic2NyaWJlLCBzZW5kIGFueSBtYWlsIHRvICJmcmVlYnNkLWN1cnJlbnQtdW5zdWJz Y3JpYmVAZnJlZWJzZC5vcmci